Ich versuche, untergeordnete Knoten in einem XML-Dokument zu durchlaufen, aber ich kann nicht die korrekte Syntax erhalten. Die XML-Dateien werden mit einem Namespace geliefert, so dass ich in meinem XSL-Dokument diesen Namespace mit einem Alias versehen habe. Eine einfache Version meiner XML-Dokument sieht wie folgt aus:Looping durch untergeordnete Knoten im XML-Dokument mithilfe von XSL
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="my.xsl"?>
<game id="4496878f-921c-41ab-9fcd-54906a9ed89c" status="closed">
<summary>
<quarter id="1" points="10"/>
<quarter id="2" points="3"/>
<quarter id="3" points="0"/>
<quarter id="4" points="6"/>
</summary>
</game>
Meine XSL-Dokument wie folgt aussieht:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:f="my.xsl">
<xsl:output method="text" indent="no" />
<xsl:template match="/">
<xsl:text>QUARTER,POINTS</xsl:text>
<xsl:apply-templates select="/f:game/f:summary" />
</xsl:template>
<xsl:template match="f:summary">
<xsl:text> </xsl:text>
<xsl:for-each select"/f:quarter">
<xsl:text>"</xsl:text><xsl:value-of select="@id"/><xsl:text>"</xsl:text>
<xsl:text>,"</xsl:text><xsl:value-of select="@points"/><xsl:text>"</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Pflegen Sie die gleichen Namensräume sowohl in XML als auch in XSLT, ansonsten unterscheiden sich Elemente wie 'f: summary' von' summary'. –