【问题标题】:can XInclude be used on stream input?XInclude 可以用于流输入吗?
【发布时间】:2011-07-10 08:00:17
【问题描述】:

我想要一个使用 XInclude 创建多重嵌套 XML 文档的可移植解决方案。我正在使用 <xi:include href="foo.xml"> 元素并从流中获取输入。到目前为止,这失败了(我使用的是具有自己的 XIncluder 的 XOM),它报告它找不到href 的基本 URL。我想知道这是否是一个普遍问题(请参阅XercesDOMParser and XIncludes)。如果是,是否有一般的解决方法?

【问题讨论】:

    标签: xinclude


    【解决方案1】:

    foo.xml 这样的相对 URI 没有基本 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 应用程序的方法(不建议使用,但有时需要与其他格式兼容,例如 XHTML 中的 <base /> 元素不必要地重复 xml:base 且灵活性较低,但与 HTML4.01 兼容是必需的及更早)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-22
      • 2012-08-07
      • 1970-01-01
      • 2021-08-28
      • 2013-09-08
      • 2013-01-07
      • 2016-04-08
      • 1970-01-01
      相关资源
      最近更新 更多