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]

[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


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