2

一部の xml (dita) ドキュメントを変換する場合、特殊文字、アンパサンド、および「より小さい」文字 (<) に問題があります。しかし、アンパサンドを例にとると、何らかの理由で出力で何度も繰り返されます。&amp;問題は、 (xmlコンテンツで直接)置き換えられた場合&#38;、それが正常に機能し、繰り返しがないことを発見したことです。

何が原因なのかはわかりませんが、DTD でアンパサンドを宣言して に置き換えたいと考えています&#38;。グーグルで次のようにする必要があることがわかりました:

<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd" [
 <!ENTITY amp "&#38;#38;">
]>

簡単にするために、ここではインライン エンティティ宣言を含めていますが、実際の DTD (concept.dtd) でも宣言してみました。しかし、うまくいきません。私もそれを置き換えてみたので<!ENTITY amp "TEST">、それが何かをしたかどうかを確認するために、それがうまくいかなかったようです。

では、これを行うにはどうすればよいですか?を;&amp;に置き換えたいだけです。&#38そのため、すべてのドキュメントのすべての出現箇所を手動で置き換える必要はありません...

4

2 に答える 2

1

Oxygenサポートから回答を得ました。これが誰かの役に立つかどうかはわかりませんが、かなり異常な状況です... しかし、カスタム DITA OT の xercesImpl.jar ライブラリを変換シナリオに含める必要がありました。その後、うまくいきました。

于 2011-09-06T10:43:37.757 に答える
1

で正しいことを&#38;行い、 で間違ったことを行う XML 処理パイプラインがある場合は、XML 処理パイプライン&amp;が壊れています。コード内の何かがアンパサンドをぶち壊しています。XML ドキュメントを変更してコードを回避しようとするのではなく、コードを修正する必要があります。

于 2011-08-30T18:22:30.400 に答える