Xml验证和命名空间通常在Xml架构(XSD)规范的上下文中设置问题,但在文档类型定义(DTD)规范上下文中可以回答这个问题。
正在根据验证
docbook.dtd
如果根据验证
文档簿.dtd
您必须使用
xmlns:xlink
正如回答的那样
here
,但首先要仔细考虑为什么必须使用
Document Type Declaration and namespaces
因为XMLSchema是DTD的继承者,而XSD支持命名空间,DTD不支持它们。
正在根据验证
docbook.xsd
如果根据验证
文档.xld
你可以用任何你喜欢的,但保留
three-letter sequence x, m, l, in any case combination
。例如
test.xml
,直接从
DocBook V5.0 - The Transition Guide
成功验证:
$ ls
docbook.xsd test.xml xlink.xsd xml.xsd
$ xmllint --schema docbook.xsd test.xml
<?xml version="1.0"?>
<article xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink" version="5.0">
<title>Test</title>
<section>
<title>LS command</title>
<para xml:id="ls">
This command is a synonym for <command linkend="dir">DIR</command> command.
</para>
<para xml:id="dir">
This command is a synonym for <command linkend="ls">LS</command> command.
</para>
<para>
<application xl:href="http://www.gnu.org/software/emacs/">Emacs</application>
</para>
</section>
</article>
test.xml validates
$