What is the correct xlink namesapce to use in Docbook 5?

If I have the following 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>

and I attempt to validate it against the Docbook 5 DTD downloaded from here with:

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

Everything validates just fine. Я получил xl namespace from the Docbook documentation here (and the example of using an article with an application that had a xref is straight from that documentation).

Так почему же xl fail when xlink succeeds?

1 ответ

Решение

На самом деле проблема заключалась в том, что в DocBook 5.0 DTD был указан атрибут xlink:href, а все остальные были недействительными.

Другие вопросы по тегам