次のような内容のドキュメントを別のドキュメントに変換しようとしていますが、最初のドキュメントのようにCDATAをそのまま残していますが、 XSLTを使用してCDATAを保存します。XMLをXSLTで変換してCDATAを保存する(Rubyで)
初期XML:
決勝XML:
<newDoc>
<data>
<text>
<![CDATA[ HI THERE ]]>
</text>
<text>
<![CDATA[ SOME TEXT ]]>
</text>
</data>
</newDoc>
私はこのような何かを試してみたが、ない運、すべてがごちゃ混ぜないます:
<xsl:element name="subNode">
<xsl:value-of select="." disable-output-escaping="yes"/>
</xsl:element>
任意のアイデアはどのようにCDATAを保存するには?
ありがとうございます! ランス
ルビー/鋸山
Updateを使用:ここで働く何かです。私は必要なもののために働くCDATA、内のすべてのテキスト()ノードをラップし、それがテキスト内のHTMLタグを保持します
<text disable-output-escaping="yes"><![CDATA[</text>
<value-of select="normalize-space(text())" disable-output-escaping="yes"/>
<text disable-output-escaping="yes">]]></text>
。
私はxsltやその行に沿って何かをする前に、それらを前処理するためにルビと多分正規表現を使うべきですか?それ以外はどうやってやるの?私が変数などを使用しているので、cdata-section-elementsはそれをカットしていません。 チップをありがとう。 –
CDATAが絶対に必要な場合は、XSLT以外のものを探す必要があります。それは、私があなたがそれを必要とする理由について非常に興味があると言いました。 XDMでは、テキストとCDATAを区別することはありません。正当なXML処理アプリケーションでは、異なるセマンティクスを与えるべきではありません。したがって、CDATAと文字エスケープは互換的に使用できます。 –
私はこのデータをFlashで使用しています。CDATA/CDATAの問題が多いと聞いています。私はまだ実際には試していません:p –