Viewing file: mb_20020715.py (2.31 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
""" Mike Brown reported a problem with minidom and children nodes """
from Xml.Xslt import test_harness
source_1="""<?xml version="1.0" encoding="utf-8"?> <docu><!--quotation--><t xml:lang="en">To be or not to be</t><?Question that-is-the?></docu>"""
sheet_1 = """<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="yes" encoding="us-ascii"/>
<xsl:template match="/"> <result> <xsl:apply-templates select="//node()"/> </result> </xsl:template>
<xsl:template match="*"> <xsl:text>Element: </xsl:text> <xsl:value-of select="name()"/> <xsl:call-template name="report"/> <xsl:apply-templates select="@*"/> </xsl:template> <xsl:template match="@*"> <xsl:text>Attribute: </xsl:text> <xsl:value-of select="name()"/> <xsl:call-template name="report"/> </xsl:template>
<xsl:template match="text()"> <xsl:text>Text node: </xsl:text> <xsl:value-of select="."/> <xsl:call-template name="report"/> </xsl:template>
<xsl:template match="comment()"> <xsl:text>Comment: </xsl:text> <xsl:value-of select="."/> <xsl:call-template name="report"/> </xsl:template>
<xsl:template match="processing-instruction()"> <xsl:text>P.I. node: </xsl:text> <xsl:value-of select="."/> <xsl:call-template name="report"/> </xsl:template>
<xsl:template name="report"> <xsl:text> # of descendants: </xsl:text> <xsl:value-of select="count(descendant::node())"/> <xsl:text> ----------------------------- </xsl:text> </xsl:template>
</xsl:stylesheet> """
expected = """Element: docu # of descendants: 4 ----------------------------- Comment: quotation # of descendants: 0 ----------------------------- Element: t # of descendants: 1 ----------------------------- Attribute: xml:lang # of descendants: 0 ----------------------------- Text node: To be or not to be # of descendants: 0 ----------------------------- P.I. node: that-is-the # of descendants: 0 ----------------------------- """
def Test(tester): source = test_harness.FileInfo(string=source_1) sheet = test_harness.FileInfo(string=sheet_1) test_harness.XsltTest(tester, source, [sheet], expected, title="Test Descendants of different node types") return
|