Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

<xsl:choose>
   <xsl:when test="element/@attribute">
     do one thing
   </xsl:when>
   <xsl:otherwise>
     do something else
   </xsl:otherwise>
</xsl:choose>

Ответ 3

<xsl:value-of select="element[not(@attribute)]"/>

если нужно выбрать какой-либо элемент без атрибута