[XML-SIG] Replacing a Java tool-chain with 4Suite?

Mike C. Fletcher mcfletch@rogers.com
Wed, 15 Jan 2003 08:29:41 -0500

I've got a whole mess (word chosen deliberately :) ) of DocBook-XML 
documents (or more properly, document fragments) which comprise the 
PyOpenGL manual.  This set of files was originally converted to pdf, 
html-help, latex, and html by a Java toolchain (which is no longer 
functional, for reasons I haven't yet tracked down) including:

	DocBook XSL
	Sun's Entity Resolver
	Oasis' Docbook Catalog
	WebEQ (for converting mathml to png)

Now, as far as I can see, 4Suite's 4xslt is an XSL processor similar to 
Saxon, with built-in entity resolution.  The XSL distro is just data, as 
is the Catalog (and the catalog's just for entity resolution anyway 
AFAICS). So, I would expect that I could just run 4xslt across the xml 
and xsl files and get a transformed file.

However, I note that the 4Suite docs talk about using a subset of 
DocBook, rather than DocBook itself.  And the 4suite parser seems to 
choke on the DocBook 4.2 dbcentx.mod file:

S:\pyopenglbuild\PyOpenGL2>4xslt --trace -v --outfile=doc/test.xml 
doc/manual/manual.xml doc/xsl/merge.xsl
Source document 
(file:///S|/pyopenglbuild/PyOpenGL2/doc/manual/manual.xml): XML
parse error in http://www.oasis-open.org/docbook/xml/4.2/dbcentx.mod at 
line 308, column 10: Internal error: External PE references not allowed 
in declarations

So, the question is; are (and/or how are) people using DocBook with 
4Suite?  Is it known to work? Is there some specialised version of 
DocBook's DTD for 4Suite? Basically I'm trying to decide whether to put 
my time into getting the Java toolchain to work (and then getting it 
working for all developers), or whether to jump ship to a Python version 
of the toolchain.

Basic problem description:

	Original OpenGL docs in DocBook format, a few hundred individual files 
with <refentry> trees.

	PyOpenGL call-signature docs, in DocBook format, again, a few hundred 
individual files with refentry trees.

	manual.xml, reference.xml (and a few similar files) which use SYSTEM 
entity refs to include the PyOpenGL-specific reference docs above.

	merge.xsl, which processes the PyOpenGL refentry trees to include the 
generic original documentation.

Once the files are in docbook format we're using standard (Linux) 
formatting programs to output the DocBook files AFAICS.

Suggestions welcome,

   Mike C. Fletcher
   Designer, VR Plumber, Coder