我正在编辑XSL文件,但无法获取元素的名称。
此处的所有内容均有效,但../../name()
除外。我尝试在那里做的是获取元素的名称。它下面的所有内容都成功获得了同一元素的属性,因此希望../../@name
(等)工作的事实应该清楚我要对../../name()
做些什么。
<tr>
<td><xsl:value-of select="../../name()" /></td>
<td><xsl:value-of select="../../@name"/></td>
<td><xsl:value-of select="../../@alias"/></td>
<td><xsl:value-of select="../../@comment"/><xsl:text>...</xsl:text></td>
<td><xsl:value-of select="../../dxl:wassignedby" /></td>
<td><xsl:apply-templates select="."/></td>
</tr>
这段XML(如果它可以帮助你想象我正在谈论的内容)是:
<form name="Extended Content" alias="CONTENT" hide="notes" nocompose="true" noquery="true" publicaccess="false" designerversion="8">
我使用../../@name
成功获取(例如)“扩展内容”,但未使用../../name()
获取“表单”。
答案 0 :(得分:2)
<xsl:value-of select="../../name()" />
仅适用于XPath 2.0,其中:
<xsl:value-of select="name(../..)" />
适用于XPath 1.0和2.0。所以我猜你正在运行XPath 1.0,你应该使用后者。
答案 1 :(得分:2)