how to find out if an attribute exists or not in XSL.
Just use:
<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>
Do note: In a well-written XSLT code the number of conditional instructions (such as <xsl:choose>
, <xsl:when>
, <xsl:otherwise>
, <xsl:if>
, ... etc.) is close to zero. In this solution it is 0.
<xsl:choose>
<xsl:when test="element/@attribute">
do one thing
</xsl:when>
<xsl:otherwise>
do something else
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="element[not(@attribute)]"/>
if need select some element without attribute
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With