2

XIncludeを使用して複数ネストされたXMLドキュメントを作成するための移植可能なソリューションが欲しいです。要素を使用し<xi:include href="foo.xml">て、ストリームから入力を取得しています。これまでのところ、これは失敗し(独自のXIncluderを持つXOMを使用しています)、のベースURLが見つからないと報告しますhref。これが一般的な問題であるかどうか疑問に思っています(XercesDOMParserおよびXIncludesを参照)。もしそうなら、一般的な回避策はありますか?

4

1 に答える 1

3

のような相対URIfoo.xmlは、ベースURIのコンテキストがないと役に立ちません。たとえば、ベースURIがの場合http://example.net/bar/baz.xml、リソースの絶対URIはですhttp://example.net/bar/foo.xml

このベースURIは、次のものから取得できます。

  1. 問題のXMLが由来するURI(明らかにストリームのみには適用されません)。
  2. パーサーに固有のメカニズムによってパーサーに渡されるURI。
  3. xml:base
  4. 特定のXMLアプリケーションに固有の手段(推奨されませんが、他の形式との互換性のために必要な場合があります。たとえば、<base />XHTMLの要素はxml:base不必要に複製され、柔軟性は低くなりますが、HTML4.01以前との互換性には必要です)。
于 2012-03-07T11:38:42.377 に答える