This is the mail archive of the
docbook-apps@lists.oasis-open.org
mailing list .
[docbook-apps] resolving catalogs on Windows
- From: Georges Schmitz <georges dot schmitz at heitec dot de>
- To: docbook-apps <docbook-apps at lists dot oasis-open dot org>
- Date: Tue, 07 Dec 2004 16:47:16 +0100
- Subject: [docbook-apps] resolving catalogs on Windows
It really doesn't seem to be easy to get a catalog system running on
Windows. I studied the instructions of Bob's DocBook guide (which look
very detailed to me) and attempted to get whole thing running with saxon
or xsltproc.
*SAXON*
I use saxon with the -u switch, -Dxml.catalog.prefer='public' and the
resolver.jar from the 2.6.2 distro of xerces (should be recent enough?).
In my catalog (D:/DocBook/catalog.xml) I've set "file:///d:/DocBook/" as
xml:base. The DocType declaration uses no relative system identifier.
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN
"file:///d:/DocBook/dtds/docbkx4.2/docbookx.dtd"
[
<!ENTITY % xinclude SYSTEM "file:///D:/docbook/dtds/xinclude.mod">
%xinclude; ....
And yes, the resolving process works :-) , but the rest doesn't come to
a good end :-(
>>>>>
....
Processing file://D:/LHM/Doku/Spec/AdminTool/edit/admin.xml
Loading org.apache.xml.resolver.tools.ResolvingXMLReader
Building tree for file://D:/LHM/Doku/Spec/AdminTool/edit/admin.xml
using class com.icl.saxon.tinytree.TinyBuilder
Error
Failure reading file://D:/LHM/Doku/Spec/AdminTool/edit/admin.xml: D
Transformation failed: Run-time errors were reported
<<<<<<
If I don't use the resolver, my document produces no errors. xmllint too
doesn't report errors. So what is wrong with the resolver?
*XSLTPROC*
(libxslt 10112 was compiled against libxml 20615
libexslt 810 was compiled against libxml 20615)
With xsltproc, the same catalogs are running, and I get but I have 2
other restrictions:
(a)
if I omit the system identifier completely,
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
[
<!ENTITY % xinclude SYSTEM "file:///D:/docbook/dtds/xinclude.mod">
%xinclude; ....
the processor complains about
admin.xml:6: parser error : SystemLiteral " or ' expected
[
^
admin.xml:6: parser error : SYSTEM or PUBLIC, the URI is missing
[
^
admin.xml:8: parser warning : PEReference: %xinclude; not found
%xinclude;
^
Omitting the system idenitfier is valid, or am I wrong?
(b)
it seems, that it is not possible to use spaces in the filenames that
appear in catalog files. xsltproc *crashes* with the following message
as last output on the console:
file:///D:/DocBook/catalog.xml:0: element uri: Catalog error : uri
entry 'uri' broken ?: file:///C:/Dokumente und
Einstellungen/schmitz/styleDrivers/cDocBookHTML.xsl
this behavior vanishes, if I make the entry in the catalog file in the
following style:
file:///C%3A/Dokumente%20und%20Einstellungen/schmitz/styleDrivers/cDocBookHTML.xsl
But this is not really user friendly; is there an alternative?
Thanks for any advices,
Georges