1
私はlxmlを使ってPythonでxmlファイルを解析しています。 xmlには自分のコードを設定する目的があります。わずかに異なる多くの異なる設定を使用する必要があるので、私はxi:include
機能を使用しています。lxmlとpython:グローバルエンティティの設定方法
"main" xmlファイルにいくつかのエンティティを宣言し、含まれているものにそれらについて知ってもらうことができれば、本当に便利です。ここ は私の作業例です:
main.xml:
<?xml version="1.0"?>
<!DOCTYPE doc>
<configuration xmlns:xi="http://www.w3.org/2001/XInclude" name="foo" version="0.1" >
<xi:include href="./external.xml" />
</configuration>
external.xml:
<?xml version="1.0"?>
<!DOCTYPE doc [
<!ENTITY bar "example">
]>
<objects>
<object name="&bar;" />
</objects>
私がやりたいことは、main.xml内のバーを宣言することです、これは可能ですか?事前に おかげで、 マッテオ
良い解決策はありません。 external.xmlからエンティティ宣言を削除すると、インクルードは失敗します。インクルードされたドキュメントはインクルードされる前に解析され、未解決のエンティティリファレンスはエラーを生成します。 – mzjn
こんにちは@mzjn、ご意見ありがとうございます。私は回避策を見つけました。私は新しいxmlのすべての異なる構成を収集し、xpointerの機能によって選択するいくつかの架空のノードです。これが一般的な関心事である可能性がある場合は、ここに例を置くことができます –
問題を解決するソリューションがあれば、回答として投稿する必要があります。 – mzjn