我注意到 xalan-c 和 xsltproc 之间的以下区别。其中哪一项是正确的?规范对此有何评论?
源xml:-
<a attr="val1">
<b d="5">
</b>
<b d="10">
</b>
</a>
样式表:-
<xsl:template match="@* | text() | comment() | processing-instruction()">
<xsl:copy/>
</xsl:template>
<xsl:template match="*">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="a">
<a>
<c>
<xsl:call-template name="gcd">
<xsl:with-param name="nums" select="./b/@d"/>
</xsl:call-template>
</c>
<xsl:apply-templates select="./@*"/>
<a>
</xsl:template>
xsltproc 给了我:-
<a attr="val1">
<c>5</c>
</a>
虽然 xalan-c 给了我:-
<a>
<c>5</c>
</a>