使用xsl何时测试属性值

时间:2013-06-26 19:23:17

标签: xml xslt

在我的代码中使用<xsl:when>。我需要在下面的“when”条件中测试2个不同属性的值,即(<xsl:when test="??">) 我该怎么办?

我试过这个,但它不起作用:

<xsl:when test="@Attrb1[.!=''] and @Attrb2[.!='']">

此外,这也会出错:

<xsl:when test="@Attrb1 !='' and @Attrb2 !=''"> 

msxml3.dll错误'80004005'

错误'80004005'
预期的标记'eof'找到'!='。 @Attrb - &gt;!=&lt; - ''和@ Attrb2!=''

代码:

<xsl:when test="Condition1"> 
<xsl:choose> 
    <xsl:when test="??"> 
         <xsl:value-of select="somtext1"/> </xsl:when> 
    <xsl:otherwise> 
          <xsl:value-of select="somtext2"/> 
</xsl:otherwise> 
</xsl:choose>
</xsl:when>

感谢。

2 个答案:

答案 0 :(得分:1)

改为使用:

<xsl:when test="@Attrb2!='' and @Attrb2!=''">

答案 1 :(得分:1)

或使用:

<xsl:when test="not(@Attrb1='') and not(@Attrb2='')">