Subject: Re: DOCBOOK-APPS: Transforming DocBook/XML with jade on Win32
OK, this is it! I have everything working with no errors now. In this posting I will describe (very) briefly what I did. Later I will make a more elaborate description and submit it to the FAQ. I use Windoze NT 4.0, DocBook/SGML 4.1, DocBook/XML 4.1.2, DSSSL 1.59 and jade 1.2.1/openjade 1.3. Furthermore I use a set of SGML ISO entities found at Oasis (http://www.oasis-open.org/cover/ISOEnts.zip). In the following I have assumed that you have already installed the packages mentioned above. Here is my placement of the files: NOTE: I have moved the XML versions of the ISO entities from the directory ....\docbook\xml\ent to the directory ....\ISOentities\XML C:\usr\packages\sgml +--DocBook | +--SGML | | +--4.1 | +--XML | +--4.1.2 +--DSSSL | +--ALOC | | +--IDEAS | +--DocBook | +--bin | +--common | +--contrib | | +--html | | +--imagemap | | +--print | | +--renumberinpart | | +--subdoc | +--doc | | +--html | | +--lib | | +--print | | +--testdata | +--docsrc | | +--htmlpr | | +--libref | | +--printpr | +--dtds | | +--dbdsssl | | +--decls | | +--html | | +--imagelib | | +--olink | +--frames | +--html | +--images | | +--callouts | +--lib | +--olink | +--print | +--test | +--cases | +--imagelib | +--xml +--ISOentities | +--SGML | +--XML +--jade +--OpenJade +--bin +--dsssl +--jadedoc | +--images +--pubtext I have a centralized catalog in the top SGML directory containing the lines CATALOG c:/usr/packages/SGML/jade/catalog CATALOG c:/usr/packages/SGML/DSSSL/docbook/catalog CATALOG c:/usr/packages/SGML/DocBook/SGML/4.1/docbook.cat CATALOG c:/usr/packages/SGML/DocBook/XML/4.1.2/docbook.cat If you use openjade, you must change the first line to CATALOG c:/usr/packages/SGML/openjade/dsssl/catalog I have set the following environment variables: SGML_CATALOG_FILES=c:/usr/packages/SGML/catalog SP_CHARSET_FIXED=yes I have not set the SP_ENCODING variable, since this is only necessary when using the unicode-encoding (correct?). I have edited docbook.cat for the XML version: I added the lines OVERRIDE YES SYSTEM "urn:x-oasis:docbook-xml-v4.1.2" "docbookx.dtd" just before the line PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "docbookx.dtd" so I can use the method suggested by Norm in his column "If You Can Name It, You Can Claim It!". See http://www.arbortext.com/Think_Tank/Norm_s_Column/Issue_three/issue_three.ht ml I have edited the public identifiers for the ISO entities from the form PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN" "ent/iso-dia.ent" to the form PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML" "../../../ISOentities/XML/iso-dia.ent" Note that two things were changed in the identifier: The path to the entitity file (use your own, if you don't like it :-) and "...//EN" -> "...//EN//XML". The last change is what made everything work! If you omit the "OVERRIDE" directive from above, you must change paths in the file dbcentx.mod too. I have also edited docbook.cat for the SGML version of DocBook: I commented out the DTDDECL directive, since jade doesn't supportit, and jade is what I use :-): From DTDDECL "-//OASIS//DTD DocBook V4.1//EN" "docbook.dcl" to -- DTDDECL "-//OASIS//DTD DocBook V4.1//EN" "docbook.dcl" -- I also edited the paths to the entities, e.g.: From: PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN" "iso-dia.gml" to PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN" "../../../ISOentities/SGML/ISOdia" Now my DocBook/XML documents contains the following document type declaration: <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "urn:x-oasis:docbook-xml-v4.1.2"> When using the XML version of DocBook, I invoke jade like this (line wrapped, don't try this at home :-) jade -t rtf -d /path/to/DSSSL/docbook/print/docbook.dsl /path/to/jade/xml.dcl docname Everything works perfectly, even when I use national (danish) characters in the input file. I hope you can use this, otherwise give me a call^H^H^H^Hmail! Best regards Rune Enggaard Jensen r.e.jensen@bigfoot.com
Powered by
eList eXpress
LLC