如何在XSL中查明属性是否存在

时间:2011-02-07 07:10:55

标签: xml xslt

如何确定XSL中是否存在属性。

3 个答案:

答案 0 :(得分:27)

只需使用

<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>,{{1} },...等)接近于零。在此解决方案中, 0。

答案 1 :(得分:19)

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

答案 2 :(得分:1)

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

如果需要选择一些没有属性的元素