Xml Docbook xi:包括

Xml Docbook xi:包括,xml,xml-validation,docbook,Xml,Xml Validation,Docbook,我正在尝试创建一个docbook。我已经创建了一本主要的XML书籍,在里面我使用添加了不同的章节 我下面创建书籍和章节文件 这是我的主XML文件book1.XML <?xml version="1.0"?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"

我正在尝试创建一个docbook。我已经创建了一本主要的XML书籍,在里面我使用
添加了不同的章节

我下面创建书籍和章节文件

这是我的主XML文件
book1.XML

<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
                      "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<book>
  <title>MAIN NOTES</title>
  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="CH1.xml" />
</book>
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
                         "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<chapter id="CH1">
  <title>Chapter 1</title>
  <para>This is Test</para>
</chapter>
现在,当我验证这些XML文件时,
CH1.XML
就可以了。但我总是很高兴

未找到元素“xi:include”的声明


对于
book1.xml
。我错过了什么?请提供帮助。

在“DocBook XSL:完整指南”的另一节中介绍了如何在使用XInclude时进行DTD验证:

简言之,有两种选择:

  • XInclude处理后验证。使用xmllint,可以使用以下命令完成此操作:
    xmllint--xinclude--postvalid book1.xml
  • 自定义DTD以包含
    xi:include
    元素

  • 您使用哪种解析器?它是XInclude感知的,还是您可以检查XInclude功能是否已启用?我使用xsltproc选项--XInclude.Thank。这就解决了问题。我使用了
    xmllint--xinclude--postvalid book1.xml
    ,输出是有效的xml。