как узнать, существует ли атрибут в XSL - PullRequest
23 голосов
/ 07 февраля 2011

как узнать, существует ли атрибут в XSL.

Ответы [ 3 ]

27 голосов
/ 07 февраля 2011

Просто используйте :

<xsl:template match="someElement/@someAttrName">
  <!-- Whatever specific work when someElement has @someAttrName -->
</xsl:template>

<xsl:template match="someElement[not(@someAttrName)]">
  <!-- Whatever specific work when someElement has no @someAttrName -->
</xsl:template>

Обратите внимание : в хорошо написанном коде XSLT количество условных инструкций (таких как <xsl:choose>, <xsl:when>, <xsl:otherwise>, <xsl:if>, ... и т. Д.) Равно близко к нулю. В этом решении это равно 0.

19 голосов
/ 07 февраля 2011
<xsl:choose>
   <xsl:when test="element/@attribute">
     do one thing
   </xsl:when>
   <xsl:otherwise>
     do something else
   </xsl:otherwise>
</xsl:choose>
1 голос
/ 25 июня 2015
<xsl:value-of select="element[not(@attribute)]"/>

при необходимости выберите элемент без атрибута

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