为什么我不能用以下xsl:
检索父的父的名字<xsl:value-of select="name(../$names[1])"/>
xml:
<root>
<hello>
<name>A</name>
<name>B</name>
</hello>
<bye>
<name>C</name>
<name>D</name>
</bye>
</root>
xsl:
<xsl:template match="root">
<xsl:call-template name="test">
<xsl:with-param name="names" select="descendant::name"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="test">
<xsl:param name="names" />
<xsl:value-of select="$names[1]"/>
<xsl:text> : </xsl:text>
<xsl:value-of select="name($names[1])"/>
<xsl:text> : </xsl:text>
<xsl:value-of select="name(../$names[1])"/>
<xsl:text>
</xsl:text>
<xsl:if test="count($names) > 1">
<xsl:call-template name="test">
<xsl:with-param name="names" select="$names[position() > 1]"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
电流输出:
A : name :
B : name :
C : name :
D : name :
期望输出:
A : name : hello
B : name : hello
C : name : bye
D : name : bye
要获得$names[1]
的父级名称,您应该这样做:
<xsl:value-of select="name($names[1]/..)"/>