Kenneth,
your module is not a valid docbook document. Therefore you can not
include it via xinclude. It's missing the docbook header line. That's
why xmllint doesn't know where to lookup the definition of the module's
first element: chapter. Add a line like the following to your module:
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
If you want to include modules that are not valid docbook, but just
contain the actual elements that shall be pasted into your mother
document, then use entities.
As always, see Bob's XSL bible for more info on modular docbook:
http://www.sagehill.net/docbookxsl/ModularDoc.html
HTH,
Patrick
Kenneth Johansson schrieb:
> Hi,
>
> When compiling my modular docbook file I get this xmllint error message.
> What am I doing wrong?
>
> $ xmllint --xinclude --postvalid IDS5webUGbook.xml > out.xml
> IDS5web/1_Introduction/chapter_all_introduction.xml:3: No declaration for
> attribute base of element chapter .
> .
> .
> Document 3D_user_guide_book.xml does not validate
>
> My book-file:
> <?xml version="1.0"?>
> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
> "C:/tools/lib/docbook/xml/42/docbookx.dtd">
>
> <!--http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd-->
>
> <book>
>
> <bookinfo>
> stuff
> </bookinfo>
>
> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
> href="IDS5web/1_Introduction/chapter_all_introduction.xml" />
>
> More modules ....
>
> </book>
>
>
> A module:
> <?xml version="1.0" encoding="UTF-8"?>
> <chapter>
> <title>Introduction </title>
> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
> href="document_conventions.xml" /> <xi:include
> xmlns:xi="http://www.w3.org/2001/XInclude" href="precautions.xml" />
> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
> href="system_usage_safety_regulations.xml" /> <xi:include
> xmlns:xi="http://www.w3.org/2001/XInclude" href="using_help.xml" />
>
> </chapter>
>