以下の構造の xml ドキュメントがあります。ノード B からテキストを出力したいが、要素 C とテキスト ノード「タイトル」を無視する変換を作成しています。基本的に、「テキストはここに入る」というテキストを抽出し、すべての空白を正規化して新しい要素に出力したいと思います。誰でも助けることができますか?以下は、私がこれまでに試したことです。
Input Doc
<A>
<B>
<C>title</C>
text goes here
</B>
</A>
Required output doc
<d>text goes here</d>
Solution A:
<xsl:template match="B">
<d>
<xsl:copy-of select="./text()"/>
</d>
</xsl:template>
問題: 要素間の空白が保持されるため、次のようになります。
<d>
Text goes here
</d>
また、ソリューション A のテンプレートで value-of ステートメント ( <xsl:value-of select="./text()"/>
) を使用しようとしましたが、これはテキストをまったく返しませんでした。発言に何か問題あるの?
以下を使用して、デフォルトのテキスト処理テンプレートをオーバーライドしたことに言及する必要があります。<xsl:template match="text()" />
ありがとう