This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [docbook-apps] reference man pages as both seperate files + linked into one document


On Tue, Feb 24, 2004 at 10:50:56AM -0800, Mike Cooper wrote:
> Ahhh.  That's just what I'm looking for.  Unfortunately I'm having trouble 
> now with xmllint. :-(
> 
> When I run "xmllint --postvalid --xinclude RefMan.sgml" I get:
> 
> RefMan.sgml:1: parser error : Space required after the Public Identifier
> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
>                                                       ^
> RefMan.sgml:1: parser error : SystemLiteral " or ' expected
> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
>                                                       ^
> RefMan.sgml:1: parser error : SYSTEM or PUBLIC, the URI is missing
> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
> 
> I've fiddled with the prolog and can't seem to see why it's complaining. 

This might be an SGML/XML difference, but your document is not valid
XML; I'm sorry I didn't notice it the first time through.  It's
reasonably straightforward to fix - a public external identifier must
have an accompanying system identifier[0].  A system identifier is
typically a URL that can be used to obtain a copy of the constraining
DTD.  Note that the whole DocType declaration is optional[1]; having one
facilitates validation.  The fix is to replace

    <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN">

(which is a public identifier without the system identifier, and which
explains the parser errors you are getting) with

    <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"
    "http://www.oasis-open.org/docbook/xml/3.1/docbookx.dtd";>

or to remove it entirely.

You also might want to upgrade your DocBook version references, as there
is no supported XML version of DocBook prior to 4.0 (hence, the above
system identifier may not address an actual document).  For the most
recent version, 4.2, this would look like:

    <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>

Take care,

    John L. Clark

[0] http://www.w3.org/TR/2004/REC-xml-20040204/#NT-ExternalID

[1] http://www.w3.org/TR/2004/REC-xml-20040204/#NT-prolog

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]