0

ENTITYをexternaLDTDファイルに入れようとしていますが、解析時にXMLでENTITYの値が表示されません。

しかし、以下の1つのファイルでXMLDTDを組み合わせると、 XMLDTDのコードが機能します。

info.xml

<!DOCTYPE info SYSTEM "./Note.dtd">  <info>   
<info>
<company>&company_info;</company>   
<privacy_policy>&privacy_policy;</privacy_policy>  </info>
</info>

Note.dtd

<!ENTITY company_info "<name>Test Company</name><location>Berlin</location><phone>1800-000-000</phone>">
<!ENTITY privacy_policy "Lorem ipsum dolor sit amet, consectetur adipisicing elit, .">

info.xmlNote.dtdは同じフォルダーにあります

4

2 に答える 2

1

XML の解析に何を使用しているかはわかり<info>ませんが、ファイル拡張子「.dtd」を使用すると、Xerces が宣言されていないというエラーをスローすることはわかっています。

「Note.dtd」を「Note.ent」に変更してみてください。

サンプルファイルでこれを行ったところ、エラーはなくなりました。また、元の info.xml に対して Saxon を使用して ID 変換を行うことができ、エンティティ参照はエラーなしで解決されました。

于 2012-02-02T07:56:46.400 に答える