このようなxmlファイルを読み込もうとしています
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE dblp SYSTEM "dblp.dtd">
<dblp>
<incollection>
<author>José A. Blakeley</author>
</incollection>
</dblp>
問題のある外観を作成するポイントは、
José A. Blakeley
パート:パーサーは、キャラクターハンドラーを2回呼び出します。1回は「Jos」、もう1回は「A.Blakeley」です。今、私は、それがeacuteエンティティを知らない場合、これが正しい動作である可能性があることを理解しています。しかし、これは私が持っているdblp.dtdで定義されています。ただし、このファイルを使用するように海外駐在員を説得することはできないようです。私が言えるのは
p = xml.parsers.expat.ParserCreate()
# tried with and without following line
p.SetParamEntityParsing(xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS)
p.UseForeignDTD(True)
f = open(dblp_file, "r")
p.ParseFile(f)
しかし、海外駐在員はまだ私の実体を認識していません。どのDTDを使用するかを海外駐在員に伝える方法がないのはなぜですか?私はもう試した
- XMLと同じディレクトリにファイルを配置する
- ファイルをプログラムの作業ディレクトリに配置します
- xmlファイルの参照を絶対パスに置き換えます
私は何が欠けていますか?どうも。