我在XSLT中有一個問題。我通常做下列檢查XML文檔的變量/節點的非無效需要以正確的方式確認
<Blocks>
<Block ID="1"/>
<Block ID="2"/>
<Block ID="3"/>
</Blocks>
<xsl:variable name="var1" select="Blocks/Block[@ID = 1]"/>
<xsl:if test="$var1 != ''">
<output>True</output>
</xsl:if>
人在我的公司說,$var1 != ''
不工作始終(指作品有時並不起作用有時)和不使用這樣的事情(但使用test="$var1"
)。需要確認,如果這是正確的,並使用$var1 != ''
。
如果有空格和換行字符出現在標籤中,例如' '。它不會是空的。添加一個'normalize-space()'函數來確保。 –
您能否顯示您認爲適用的地方以及您認爲不適用的地方的代碼。請包括預期的輸出。 –
這取決於你需要檢查什麼,如果你想檢查是否有任何節點已被選中,那麼檢查'',如果你想檢查所選節點是否包含一些內容,以便字符串值不是空字符串,然後使用您的檢查。 –