XIncludeを使用して複数ネストされたXMLドキュメントを作成するための移植可能なソリューションが欲しいです。要素を使用し<xi:include href="foo.xml">
て、ストリームから入力を取得しています。これまでのところ、これは失敗し(独自のXIncluderを持つXOMを使用しています)、のベースURLが見つからないと報告しますhref
。これが一般的な問題であるかどうか疑問に思っています(XercesDOMParserおよびXIncludesを参照)。もしそうなら、一般的な回避策はありますか?
1 に答える
3
のような相対URIfoo.xml
は、ベースURIのコンテキストがないと役に立ちません。たとえば、ベースURIがの場合http://example.net/bar/baz.xml
、リソースの絶対URIはですhttp://example.net/bar/foo.xml
。
このベースURIは、次のものから取得できます。
- 問題のXMLが由来するURI(明らかにストリームのみには適用されません)。
- パーサーに固有のメカニズムによってパーサーに渡されるURI。
xml:base
- 特定のXMLアプリケーションに固有の手段(推奨されませんが、他の形式との互換性のために必要な場合があります。たとえば、
<base />
XHTMLの要素はxml:base
不必要に複製され、柔軟性は低くなりますが、HTML4.01以前との互換性には必要です)。
于 2012-03-07T11:38:42.377 に答える