how to find out if an attr开发者_Go百科ibute 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
精彩评论