2013-06-26 7 views
3

Am использует <xsl:when> в моем коде. Мне нужно проверить значения для 2 разных атрибутов в состоянии «когда» ниже i.e (<xsl:when test="??">) Как мне это сделать?Использование xsl, когда для проверки значений атрибутов

Я попытался это, но он не работает:

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

Кроме того, это дает ошибку тоже:

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

msxml3.dll ошибка '80004005'

ошибка «80004005 '
Ожидаемый токен' eof 'found'! = '. ! @Attrb -> = < - '' и @ 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> 

Спасибо.

ответ

1

Используйте вместо этого:

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

Джим, я пытался это раньше, прежде чем отправлять этот question.It не work.Have отредактированный мои question.Thanks. – livehed

+1

На основании сообщения об ошибке «Ожидаемый токен» eof 'found'! = ''Я сильно подозреваю, что у вас есть несогласованная цитата где-то. В этом случае EOF ожидать не стоит. Используйте достойный редактор, который понимает XML (Notepad ++ - разумный старт) и обратите внимание на синтаксическую раскраску. –

+0

OK. Спасибо за предложение. – livehed

1

Или используйте:

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