selecting current element name in XSLT

2019-04-06 04:33发布

问题:

I need to output the element name which is being returned after applying the xpath expression for example

<xsl:for-each select="//element">
      <xsl:value-of select="**{elementname}**"></xsl:value-of>
      <xsl:text>:</xsl:text>
      <xsl:value-of select="current()"/>
      <xsl:value-of />
</xsl:for-each>

How can i replace {elementname} to some xpath so that I can get the element name instead of current value

回答1:

<xsl:value-of select="name()" />

Side note: Avoid the // shorthand unless you absolutely have no other possibility. It seems quick and easy, but it isn't - it is computationally very expensive, and 90% of the time you don't need it.

Write a canonical replacement XPath expression whenever you can. Even something as generic as /*/*/node runs much faster than //node.



标签: xslt xpath