我需要一点 XSLT 帮助。无法弄清楚为什么实际输出与我的预期输出不同。非常感谢任何帮助!
XML
<?xml version="1.0"?>
<a>
<b c="d"/>
<b c="d"/>
<b c="d"/>
</a>
XSL
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="foo">
<xsl:param name="content"></xsl:param>
<xsl:value-of select="$content"></xsl:value-of>
</xsl:template>
<xsl:template match="/">
<xsl:call-template name="foo">
<xsl:with-param name="content">
<xsl:for-each select="a/b">
<e>
<xsl:value-of select="@c" />
</e>
</xsl:for-each>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
实际输出
<?xml version="1.0"?>
ddd
期望的输出
<?xml version="1.0"?>
<e>d</e>
<e>d</e>
<e>d</e>
注意:调用模板是强制性的。在我的情况下,模板在扩展功能方面做得更多。