[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: Fall back to network DTD if local one not found
Thomas Schraitle <tom_schr <at> web.de> writes:
>
> Hi John,
>
<snip/>
> According to Bob's book[1], »... you must include the drive letter in the
> full URI syntax if you want it to work across processors. A Windows URI
> has this form: file:///c:/xml/docbook/«.
>
That wasn't it. (See Bob Stayton's post). Actually, I deliberately wrote
it like that because I was getting an unusual result. The file:// syntax
does not work when describing the location of a DTD, but it works when
describing the location of a stylesheet.
C:\Book>xmllint --valid --noout book2.xml
Resolve: pubID -//OASIS//DTD DocBook XML V4.5//EN sysID http://www.oasis-open.or
g/docbook/xml/4.5/docbookx.dtd
692 Parsing catalog catalog.xml
catalog.xml added to file hash
Found system match http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd, using
file:///c:/msys/share/xml/docbook/4.5/docbookx.dtd
Resolve: pubID -//OASIS//ENTITIES DocBook Notations V4.5//EN sysID file:///c%3A/
msys/share/xml/docbook/4.5/dbnotnx.mod
Found public match -//OASIS//ENTITIES DocBook Notations V4.5//EN
Resolve URI dbnotnx.mod
file:///c:/msys/share/xml/docbook/4.5/docbookx.dtd:101: warning: failed to load
external entity "file:///c%3A/msys/share/xml/docbook/4.5/dbnotnx.mod"
%dbnotn;
It finds the DTD, but it cannot load any entities from it. It converts the
special character":" to hex "%3A", which I suppose it should do, but Windows
does not accept that. If you paste that URI into Internet Explorer, it won't
work. It *must* be the ":", not "%3A". I suppose that it is the fault of
Windows for not accepting a proper URI. After all, it accepts "%20" *or*
a space.
So I have in my catalog:
<group id="DocbookDTD" prefer="public">
<system systemId="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
uri="c:/msys/share/xml/docbook/4.5/docbookx.dtd"/>
<system systemId="http://docbook.org/xml/4.5/docbookx.dtd"
uri="docbookx.dtd"/>
</group>
BUT:
<group id="LocalStylesheets" prefer="public"
xml:base="file:///c:/msys/share/xml/docbook/stylesheet/xsl/nwalsh/">
<uri name="fo" uri="fo/docbook.xsl"/>
<uri name="html" uri="html/docbook.xsl"/>
<uri name="chunk" uri="html/chunk.xsl"/>
</group>
'xsltproc fo book2.xml' works as expected.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]