2017-02-15 5 views
0

/カテゴリが空であっても、choose文はtest = "./ category"で肯定的になります。XSL選択しないでください。

カテゴリ値の値は<![CDATA []]>空白の場合は<![CDATA [some_code]]>満杯の場合。

CDATAのようなものが値のようなものになっているようです。

 <xsl:when test="./Category"> 
      <ref type="category"><xsl:value-of select="./Category" /></ref> 
    </xsl:when> 
    <xsl:otherwise> 
     <id_category_default>2</id_category_default> 
    </xsl:otherwise> 

</xsl:choose> 

答えて

3

テストtest="./Category"は、単にあなたのXMLにCategoryという名前の要素を既存のテストされ、その要素の子ノードになりません。

したいテストでは、これは何もなく、ホワイトスペースからなるテキストを無視しますおそらく、この(./はここでは必要ではないことに注意してください)

<xsl:when test="Category[normalize-space()]"> 

です。存在空白が「空でない」と考える場合は、代わりにこれを試してください。

<xsl:when test="Category[. != '']"> 
関連する問題