我想要一个使用XInclude创建多重嵌套XML文档的可移植解决方案。我正在使用<xi:include href="foo.xml">
元素并从流中获取输入。到目前为止,这失败了(我使用的XOM有自己的XIncluder)报告它无法找到href
的基本URL。我想知道这是否是一个普遍问题(见XercesDOMParser and XIncludes)。如果有,一般的解决方法是什么?
答案 0 :(得分:3)
像foo.xml
这样的相对URI在没有基本URI的上下文的情况下是无用的,可以通过它来解决这个问题。如果基URI是http://example.net/bar/baz.xml
,那么资源的绝对URI是http://example.net/bar/foo.xml
。
此基本URI可以来自:
xml:base
<base />
元素不必要地重复xml:base
且灵活性较低,但是兼容性需要使用HTML4.01及更早版本。