2017-06-05 12 views
-1

私はキーが値を持っているかどうかをチェックしたいのですが、空の場合はデフォルト値を割り当てたいと思います。XSL if else文

<xsl:element name="xtc"> 
      <xsl:choose name="type"> 
       <xsl:when test="type!= ''"/> 
       <xsl:value-of select="value"/> 
       </xsl:when> 
       <xsl:otherwise> 
        NULL 
      </xsl:otherwise> 
      </xsl:choose> 
    </xsl:element> 

実際には私のために働いていない、誰かが親切に失敗する可能性があることを提案することができます。

更新 掘り出した後、私のコードがうまくいくはずですが、そうではありません。

 <xsl:for-each select="webservice/parameters/parameter"> 
      <xsl:element name="{key}"> 
      <xsl:choose> 
       <xsl:when test="{key} = ''"> 
       <xsl:text>NULL</xsl:text> 
       </xsl:when> 
       <xsl:otherwise> 
       <xsl:value-of select="value"/> 
       </xsl:otherwise> 
      </xsl:choose> 
      </xsl:element> 
     </xsl:for-each> 

しかし、私のアプリケーションがエラーを投げている、

トークン '{キー}' は予想外でした。 expression = '{key} =' ''残りのトークンは次のとおりです。( '{key}' '=' '' '') スタイルシートの解析中にエラーが発生しました。 testはすでに式を期待して

あなたはこれを交換する必要が

答えて

2

...これにより

<xsl:when test="{key} = ''"> 

...

<xsl:when test="key = ''"> 

属性値テンプレートは、ここでは適用されません。

+0

ありがとうございました。これにより、解析エラーが停止しました。 –

+0

@ J.Dしかし、テストが真であれば、スタイルシートは ''を作成しようとすると失敗します。 –

+0

@ michael.hor257kどうしてですか?/ –