0

たとえば、ノードの値を直接出力すると:

 <fo:inline><xsl:value-of select="isEnabled" /></fo:inline>

私はpdf "true"で出力された正しい文字列を取得します..

しかし、isEnabled の値を直接変数に設定してから比較しようとすると、ノードが存在しないかのように機能しないようです。

<xsl:variable name="isEnabled" select="isEnabled" />

<xsl:choose>
<xsl:when test="$isEnabled = 'true'">
   dostuff...

ここでは値が正しく受信されていないようで、テストは常に失敗します

何か案は?

4

3 に答える 3

3

isEnabled には空白が含まれていますか?

<isEnabled>true</isEnabled>

対。

<isEnabled>true </isEnabled>

また

<isEnabled>
true
</isEnabled>

テストに対して異なる結果が得られます。最初の 1 つは合格するはずですが、次の 2 つは合格しない可能性があります。ただし、value-of を使用すると、それらはすべて「true」というテキストとしてレンダリングされるように見える場合があります。

于 2009-12-15T17:07:33.120 に答える
1

どうですか?

<xsl:variable name="isEnabled">
    <xsl:value-of select="isEnabled" />
</xsl:variable>

<xsl:when test="normalize-space($isEnabled)='true'">
于 2009-12-15T16:52:32.510 に答える
0

わかりましたが、それは xsl の問題ではないことが判明しましたが、問題ははるかに早い.. 変換用の xml を生成する速度テンプレートにあります。この質問を閉じるにはどうすればよいですか?

于 2009-12-22T08:43:02.733 に答える