我正在尝试创建一个docbook。我创建了一个主要的XML书籍,在其中我使用<xi:include>
添加不同的章节。
我正在关注DocBook XSL: The Complete Guide / Using XInclude创建书籍和章节文件。
这是我的主要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>
这是我的第1章(CH1.xml
)。
<?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
就可以了。但我总是得到
未找到元素&#34; xi:include&#34;
代表book1.xml
。我在这里错过了什么?请帮忙。
答案 0 :(得分:0)
如何在使用XInclude时使DTD验证工作在&#34; DocBook XSL:完整指南&#34;:http://www.sagehill.net/docbookxsl/ValidXinclude.html的另一部分中进行了描述。
简而言之,有两种选择:
xmllint --xinclude --postvalid book1.xml
xi:include
元素。