我是XSL的新手,并且已经阅读了一些有关其工作方式的教程。我已经读过:是否有"优雅"测试属性值以字母开头的方法?基本上,这是我想要的,但是当我尝试它时它不起作用。这样做的目的是,如果 @extention.name的值将前2个字母作为" mm",我希望它显示 @Extention.name。如果不是,我想显示 @Extention.length。我确定这很简单,但无论如何都是我所拥有的。
</td>
<xsl:if test="@extension.name not contains('MM', substring(@value,1,1))" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:value-of select="@extension.name" />
</xsl:if>
<td style="text-align:center;">
<xsl:value-of select="@extension.length" />
</td>
目的是如果 @Extention.name的值有第一个2 字母为" mm",我希望它显示 @extention.name。如果不是,我想 显示 @Extention.length。
为此,您应该使用:
<xsl:choose>
<xsl:when test="starts-with(@extension.name, 'MM')">
<xsl:value-of select="@extension.name" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@extension.length" />
</xsl:otherwise>
</xsl:choose>
为此,您必须在引用属性的父元素的上下文中。
还请注意,extention
与extension
不同。