另一个 XML 中的 xml "xinclude"d 是否需要完全有效?

Does the xml "xinclude"d in another XML need to be fully valid?

我正在尝试通过将相关位分组为更小的 XML 来将庞大的 XML 分解为更小的更易于维护的文件。例如,这是我的消息,其中包含 100 个 "message" 元素。

<messages>
 <message>...</message>
 <message>...</message>
 <message>...</message>
 <message>...</message>
 <message>...</message>
 ...
</messages>

所以我的计划是做类似的事情 -

<messages>
 <xi:include href="first_10_messages.xml" />
 <xi:include href="next_10.xml" />
 <xi:include href="another_10.xml" />
 ...
 <!-- other messages as is below -->
 <message>...</message>
 <message>...</message>
 ...
</messages>

xi:include 中的 XML 无效 XML,因为它们没有根元素。这可能吗?

当我对此应用架构验证时,出现以下错误 - "the markup in the document following the root element must be well-formed".

作为测试,如果我在包含的文件中有一个 <message>,它可以正常工作,因为它有效 XML。

我是 parsing/validating Java 中的 xml 使用 DocumentBuilder api。

是的,XInclude 的目标本身需要是格式正确的 XML 文档。