我正在尝试使用应用模板从多个相似的父节点迭代特定的子节点。下面的例子:
<test_report
xmlns:gml="http://www.opengis.net/gml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<countries>
<country name='sample1'>
<education>
<men>
<literacyRates>25,36,43</literacyRates>
</men>
</education>
</country>
<country name='sample2'>
<education>
<men>
<literacyRates>45,46,55,56</literacyRates>
</men>
</education>
</country>
</countries>
现在,我想在国家元素下的所有 literacyRates 元素上应用一个模板。我尝试了以下 XSL:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="countries">
<xsl:call-template name="countries" />
</xsl:template>
<xsl:template name="countries" match="literacyRate">
<xsl:call-template name="testoutput"><xsl:with-param name="list" select="." /> </xsl:call-template>
]
</xsl:template>
<xsl:template name="testoutput">
<xsl:param name="list" select="."/>
list=<xsl:value-of select="$list" />
</xsl:template>
我本来希望输出行以开头list=
出现两次,因为我们有两个 literacyRate 元素匹配项,但事实并非如此。在这里需要一些帮助。