ここで友人を助けようとしています... xml ノードをファイルに出力する外部ツールによって生成された出力があります。彼は、この xml を整形式にして、xsl スタイルシートを適用する必要があります。
したがって、b.xml (ツールによって生成される) と、b.xml の内容をこのような XML 外部エンティティとしてインポートする Encomp.xml があります (これを試してみたい場合は、同じフォルダーに 3 つの xml ファイルを作成してください)。
Encomp.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE document [ <!ENTITY data SYSTEM 'b.xml'>]>
<Root-Element xmlns:log="http://log4net.sourceforge.net/">
&data;
</Root-Element>
b.xml
<log:MyNode Name="Node1"/>
<log:MyNode Name="Node2"/>
<log:MyNode Name="Node3"/>
a.xml
<MyNode Name="Node1"/>
<MyNode Name="Node2"/>
問題は、このアプローチが a.xml のようなコンテンツ (ノードが名前空間で修飾されていない) では機能するが、b.xml では機能しないことです。
私の推測では、名前空間が DOCTYPE 行で定義されていない可能性があり、次の行でのみ宣言されています。これを機能させるにはどうすればよいですか?