!C99Shell v. 1.0 pre-release build #16!

Software: Apache/2.0.54 (Fedora). PHP/5.0.4 

uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 

uid=48(apache) gid=48(apache) groups=48(apache)
context=system_u:system_r:httpd_sys_script_t
 

Safe-mode: OFF (not secure)

/usr/lib/4Suite/tests/Xml/Xslt/Borrowed/   drwxr-xr-x
Free 4.4 GB of 27.03 GB (16.26%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     uo_20010717.py (3.93 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#Uche Ogbuji tries out some wickedness with namespace

from Xml.Xslt import test_harness

source_1 = """\
<?xml version="1.0" encoding="utf-8"?>
<z:doc xmlns:z="http://example.com/z">
  <hello/>
</z:doc>
"""

# essentially just tests xsl:attribute with a namespace URI
# that comes from a top-level param, derived from hard-coded
# top-level variables
sheet_1 = """\
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:exslt="http://exslt.org/common"
  xmlns:ora="http://www.oracle.com/XSL/Transform/java/"
  >

  <xsl:variable name="exslt-ns" select="'http://exslt.org/common'"/>
  <xsl:variable name="ora-ns" select="'http://www.oracle.com/XSL/Transform/java/'"/>

  <xsl:param name="from" select="$exslt-ns"/>
  <xsl:param name="to">
    <xsl:choose>
      <xsl:when test="$from=$exslt-ns"><xsl:value-of select="$ora-ns"/></xsl:when>
      <xsl:otherwise><xsl:value-of select="$exslt-ns"/></xsl:otherwise>
    </xsl:choose>
  </xsl:param>

  <xsl:template match="/">
    <xsl:apply-templates mode="convert"/>
  </xsl:template>

  <xsl:template match="@*|node()" mode="convert">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()" mode="convert"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="/*" mode="convert" priority="10">
    <xsl:copy>
      <xsl:attribute name="exslt:dummy" namespace="{$to}"/>
      <xsl:apply-templates select="@*|node()" mode="convert"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>
"""

expected_1 = """<?xml version="1.0" encoding="UTF-8"?>
<z:doc xmlns:z="http://example.com/z" xmlns:exslt="http://www.oracle.com/XSL/Transform/java/" exslt:dummy="">
  <hello/>
</z:doc>
"""

# exact same test as #1, but param values are derived from namespace
# nodes in the stylesheet.
sheet_2 = """\
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:exslt="http://exslt.org/common"
  xmlns:ora="http://www.oracle.com/XSL/Transform/java/"
  xmlns:u="http://uche.ogbuji.net/tmp/20010717"
  >

  <!-- Just for documentation of which files need it right now -->
  <u:files>
    <u:file>heroic</u:file>
    <u:file>couplets</u:file>
  </u:files>

  <xsl:variable name="this" select="document('')"/>
  <xsl:variable name="exslt-ns" select="$this/*/namespace::exslt"/>
  <xsl:variable name="ora-ns" select="$this/*/namespace::ora"/>

  <xsl:variable name="files" select="$this/*/u:files/u:file"/>

  <xsl:param name="file"/>
  <xsl:param name="from" select="$exslt-ns"/>
  <xsl:param name="to">
    <xsl:choose>
      <xsl:when test="$from=$exslt-ns"><xsl:value-of select="$ora-ns"/></xsl:when>
      <xsl:otherwise><xsl:value-of select="$exslt-ns"/></xsl:otherwise>
    </xsl:choose>
  </xsl:param>

  <xsl:template match="/">
    <xsl:apply-templates mode="convert"/>
    <!--
    <xsl:for-each select="$files">
      <xsl:message>
        Processing: <xsl:value-of select="."/>
      </xsl:message>
      <xsl:apply-templates select="document(.)" mode="convert"/>
    </xsl:for-each>
    -->
  </xsl:template>

  <xsl:template match="@*|node()" mode="convert">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()" mode="convert"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="/*" mode="convert" priority="10">
    <xsl:copy>
      <xsl:attribute name="exslt:dummy" namespace="{$to}"/>
      <xsl:apply-templates select="@*|node()" mode="convert"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>
"""

source_2 = source_1
expected_2 = expected_1


def Test(tester):
    source = test_harness.FileInfo(string=source_1)
    sheet = test_harness.FileInfo(string=sheet_1)
    test_harness.XsltTest(tester, source, [sheet], expected_1,
                          title="xsl:attribute with namespace from top-level param 1")

    source = test_harness.FileInfo(string=source_2)
    sheet = test_harness.FileInfo(string=sheet_2)
    test_harness.XsltTest(tester, source, [sheet], expected_2,
                          title="xsl:attribute with namespace from top-level param 2")
    return


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0038 ]--