Viewing file: mb_20010913.py (2 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# Prior to development of this test, 4XSLT was not properly determining the # string-value for elements in a node-set that was generated from a result # tree fragment with exslt:node-set. Only text node children of the elements # were picked up; other text node descendants were not. This was fixed by a # minor patch to Ft/Xslt/RtfWriter.py.
from Xml.Xslt import test_harness
source_1 = """\ <?xml version="1.0"?> <foo/>"""
sheet_1 = """\ <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exslt="http://exslt.org/common" > <xsl:output method="text"/> <xsl:variable name="tree"> <x id="0">foo</x> <x id="1">foo<y/>bar</x> <x id="2"> <y>hello world</y> </x> <x id="3"> <y/> </x> <x id="4"> <y> <z>hrrmmmm</z> </y> </x> </xsl:variable> <xsl:variable name="all-non-empty-x" select="exslt:node-set($tree)/*[string()]"/>
<xsl:template match="/"> <xsl:for-each select="$all-non-empty-x"> <xsl:text>current element: '</xsl:text> <xsl:value-of select="name()"/> <xsl:text>' with id '</xsl:text> <xsl:value-of select="@id"/> <xsl:text>' </xsl:text> <xsl:text>string-value: '</xsl:text> <xsl:value-of select="."/> <xsl:text>' -------------------- </xsl:text> </xsl:for-each> </xsl:template> </xsl:stylesheet>"""
expected_1 = """\ current element: 'x' with id '0' string-value: 'foo' -------------------- current element: 'x' with id '1' string-value: 'foobar' -------------------- current element: 'x' with id '2' string-value: 'hello world' -------------------- current element: 'x' with id '4' string-value: 'hrrmmmm' -------------------- """
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="string-value test on node-set from exslt:node-set()") return
|