выбор текущего имени элемента в XSLT - PullRequest
10 голосов
/ 28 января 2010

Мне нужно вывести имя элемента, которое возвращается после применения выражения xpath, например

<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>

Как я могу заменить {elementname} на некоторый xpath, чтобы я мог получить имя элемента вместо текущего значения

1 Ответ

16 голосов
/ 28 января 2010
<xsl:value-of select="name()" />

Примечание: избегайте сокращения //, если у вас нет абсолютно никакой другой возможности. Это кажется быстрым и простым, но это не так - это вычислительно очень дорого, и в 90% случаев вам это не нужно.

Напишите каноническое выражение XPath замены, когда вы можете. Даже что-то общее /*/*/node работает намного быстрее, чем //node.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...