From: Tobias Reif <tobiasreif(_at_)pinkjuice(_dot_)com>
I set everything up so that the resolver runs and finds the catalog, but
it doesn't find some DTD modules:
Some questions:
Why is there saxon65.jar *and* saxon651.jar in the batch file?
This is getting a bit off topic since XML catalogs
are not an XSL topic.
Check the paths in the example. The saxon65.jar file
contains DocBook XSL extension functions, while saxon651.jar
is the Saxon XSLT processor.
(Also: On WinME, I had to join all lines, include the drive at the start
of the paths, and separate them with semicolons. I'm not sure which of
those steps was necessary, but it works now.)
Yes, semicolons in the CLASSPATH are required on Windows.
How do you deal with the problem I described above?
(More details in the other posts.)
To ensure all the DTD modules are looked up properly,
add something like this to your catalog (you will need
to fix the path):
<!-- Resolve DTD PUBLIC identifiers -->
<nextCatalog catalog="docbook42/catalog.xml" />
This lets the catalog file that ships with the DocBook
DTD handle the other DTD modules.
How can I get this to work offline?
Something like this replaces the URL prefix with
a local filename prefix for all the files under it:
<group xml:base="/usr/share/xml/" >
<!-- Resolve DTD URL system ID to local file -->
<rewriteSystem
systemIdStartString="http://www.oasis-open.org/docbook/xml/4.2/"
rewritePrefix="docbook42/" />
<!-- Resolve stylesheet URL to local file -->
<rewriteURI
uriStartString="http://docbook.sourceforge.net/release/xsl/current/"
rewritePrefix="docbook-xsl-1.56.1/" />
</group>
If you are using an "http://..." URL on the command
line, then add the -u option to Saxon so it treats it
as a URL.
Bob Stayton 400 Encinal Street
Publications Architect Santa Cruz, CA 95060
Technical Publications voice: (831) 427-7796
The SCO Group fax: (831) 429-1887
email: bobs(_at_)sco(_dot_)com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list