This is the mail archive of the
docbook-apps@lists.oasis-open.org
mailing list .
Re: XInclude doesn't validate with xmllint
- From: Bob Stayton <bobs at caldera dot com>
- To: John Himpel <jwhimpel at tseinc dot com>, docbook-apps at lists dot oasis-open dot org
- Date: Wed, 02 Oct 2002 09:16:36 -0700
- Subject: Re: DOCBOOK-APPS: XInclude doesn't validate with xmllint
- References: <1033526159.15796.24.camel@himpel.linux.bogus>
On Tue, Oct 01, 2002 at 09:35:16PM -0500, John Himpel wrote:
> Greetings,
>
> I am trying to validate two xml files using the modular document
> technique that Bob Stayton shows in www.sagehill.net.
>
> My version of xmllint:
> xmllint: using libxml version 20423
>
> File: Caller.xml
> <?xml version='1.0' encoding='utf-8' ?>
> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
>
> "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" >
> <book id="XFree86">
> <title>XFree86 Documentation (Docbook Version)</title>
> <xi xmlns:xi="http://www.w3.org/2001/XInclude" href="Called.xml" />
> </book>
>
> File: Called.xml
>
> <?xml version="1.0"?>
> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
>
> "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" >
>
> <chapter id='Called'>
> <title>
> Chapter Title.
> </title>
>
> <section>
> <title>Preface</title>
> <para>Simple paragraph.</para>
> </section>
> </chapter>
>
> Command:
> xmllint --catalogs --noout --xinclude --valid --dtdvalid
> http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd Caller.xml
>
> Result:
> Variable $SGML_CATALOG_FILES not set
> Caller.xml:6: validity error: No declaration for attribute href on
> element xi
> <xi xmlns:xi="http://www.w3.org/2001/XInclude" href="Called.xml" />
> ^
> Caller.xml:6: validity error: No declaration for element xi
> <xi xmlns:xi="http://www.w3.org/2001/XInclude" href="Called.xml" />
> ^
> Caller.xml:7: validity error: Element book content doesn't follow the
> DTD
> Expecting ((title , subtitle? , titleabbrev?)? , bookinfo? , (dedication
> | toc | lot | glossary | bibliography | preface | chapter | reference |
> part | article | appendix | index | setindex | colophon)*), got (title
> xi )
> </book>
> ^
> Element book content doesn't follow the DTD
>
> I don't know if the problem is DocBook or if the problem is xmllint.
>
> Any pointers or suggestions would be welcome.
You can use the --postvalid option instead of --valid.
The --postvalid option to xmllint will run the
validation *after* the xincludes have been
processed and eliminated, leaving pure Docbook.
That's what I use.
xmllint --catalogs --noout --xinclude --postvalid [etc.]
It isn't a general solution, of course, so
if you use other validators (such as a validating
XML editor), you'll need to extend the DTD.
--
Bob Stayton 400 Encinal Street
Publications Architect Santa Cruz, CA 95060
Technical Publications voice: (831) 427-7796
Caldera International, Inc. fax: (831) 429-1887
email: bobs@caldera.com