1

次の問題があります。これを処理して出力を生成するための XML ファイルと XSLT ファイルがあります。

このプロセスの出力には、制御文字「0B」が含まれている必要があります。私の知る限り、XML には制御文字が埋め込まれていません。

4

3 に答える 3

2

結果は XML ファイルである必要がありますか? おっしゃるとおり、XML では文字 U+000B は使用できません。したがって、定義上、その文字を含むファイルは有効な XML ファイルではありません。ここでの全体像は何ですか?なぜそのキャラクターが必要なのですか?どのような代替案が利用できるでしょうか?

XSLT 変換の結果としてテキストファイルを作成しようとしている場合、それは別の問題です。

于 2009-09-11T09:08:07.813 に答える
0

XML ドキュメントに追加する前に、0x0B を含むペイロードをBase64にエンコードすることもできます。

これは、出力変換の消費者が Base64 から元のエンコーディングに変換できることに依存します。

于 2009-09-11T09:11:09.380 に答える
0

関連する XML 形式がそのような文字をサポートしている場合、それらは CDATA をサポートする要素に存在すると予想されます。

文字を CDATA セクション内に配置できますか? XSLT には、CDATA セクション (<xsl:cdata>) を作成するための構造があります。内部では、XML エンティティ参照 <xsl:entity-ref/> を使用して文字をエンコードできます。

XML ファイルを読み取るパーサーは、これらのエンティティ参照を適切な文字に変換できる必要があります。

于 2009-09-11T09:55:14.047 に答える