Docbook 5中使用的正确xlink命名空间是什么?

时间:2014-01-16 03:12:24

标签: docbook-5

如果我有以下Docbook 5 XML:

<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>

我试图根据从here下载的Docbook 5 DTD验证它:

xmllint --noout --dtdvalid docbook.dtd test.xml

我收到以下错误:

test.xml:1: element article: validity error : No declaration for attribute xmlns:xl of element article
test.xml:11: element application: validity error : No declaration for attribute href of element application

但是,如果我将xl命名空间更改为xlink,请执行以下操作:

<article xmlns="http://docbook.org/ns/docbook" 
                 xmlns:xlink="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 xlink:href="http://www.gnu.org/software/emacs/">Emacs</application>
        </para>
    </section>
</article>

一切都验证得很好。我从Docbook文档here获得了xl命名空间(并且使用带有外部参照的应用程序的文章的示例直接来自该文档)。

那么xl成功后为什么xlink会失败?

1 个答案:

答案 0 :(得分:0)

问题实际上是DocBook 5.0 DTD专门列出了xlink:href属性,而其他任何属性都无效。