私はいくつかの既存の質問を赤で示していますが、xmlに存在するスペースを参照していました。私はxsltコード形式のために発生するスペースを削除しようとしています。XSLTは出力間のスペースを削除します
私はCファイルを作成する必要があり、次のXSLコードを持っている:Cエラーを与える
#if (defined(NAME_TEST1) || \
defined(NAME_TEST2) || \
defined(NAME_TEST3) || \
defined(NAME_TEST4) || \
defined(NAME_TEST5) \
|| defined(NAME_TEST6) || \
defined(NAME_TEST7) || \
defined(NAME_TEST8)
)
:
#if (defined(<xsl:value-of select="./@Name"/>_TEST1) || \
defined(<xsl:value-of select="./@Name"/>_TEST2) || \
defined(<xsl:value-of select="./@Name"/>_TEST3) || \
defined(<xsl:value-of select="./@Name"/>_TEST4) || \
defined(<xsl:value-of select="./@Name"/>_TEST5) \
<xsl:if test="CONDITION1">
|| defined(<xsl:value-of select="./@Name"/>_TEST6) || \
defined(<xsl:value-of select="./@Name"/>_TEST7) || \
defined(<xsl:value-of select="./@Name"/>_TEST8)
</xsl:if>
<xsl:if test="CONDITION2">
|| defined(<xsl:value-of select="./@Name"/>_TEST9)
</xsl:if>
)
しかし、出力された上記構成の
。 所望の出力は次のようになります。#if (defined(NAME_TEST1) || \
defined(NAME_TEST2) || \
defined(NAME_TEST3) || \
defined(NAME_TEST4) || \
defined(NAME_TEST5) \
|| defined(NAME_TEST6) || \
defined(NAME_TEST7) || \
defined(NAME_TEST8))
UPDATE1
私はそれが動作する理由私は本当に理解していないものの、それは、次のように動作するように管理します。誰かが私を啓発できますか?
#if (defined(<xsl:value-of select="./@Name"/>_TEST1) || \
defined(<xsl:value-of select="./@Name"/>_TEST2) || \
defined(<xsl:value-of select="./@Name"/>_TEST3) || \
defined(<xsl:value-of select="./@Name"/>_TEST4) || \
defined(<xsl:value-of select="./@Name"/>_TEST5) \ <xsl:text></xsl:text>
<xsl:if test="CONDITION1">
|| defined(<xsl:value-of select="./@Name"/>_TEST6) || \
defined(<xsl:value-of select="./@Name"/>_TEST7) || \
defined(<xsl:value-of select="./@Name"/>_TEST8) <xsl:text></xsl:text>
</xsl:if>
<xsl:if test="CONDITION2">
|| defined(<xsl:value-of select="./@Name"/>_TEST9) <xsl:text></xsl:text>
</xsl:if>
<xsl:text>)</xsl:text>
'xsl:strip-space'おそらく? –
@KerrekSB 'xsl:strip-space'要素は、空白を削除する要素を定義するために使用します。私は私の要素に白いスペースがないので、それが助けになるとは思わない。 –
@AlexandruCimpanu **再現可能な**例を投稿してください - 参照:[mcve]。 –