Dean, Thanks very much for this pointer, I think I will have do something as you have done and come up with a hybrid solution.
I think this is going to be very quick question, but when I put entities in my file and then process it with xsltproc it is not expanding them out, so none of my files are being found. I am using Linux. Any ideas? Thanks again, Russell 2008/10/13 DeanNelson <[EMAIL PROTECTED]> > Russell > > I struggled with that also. Here what I found worked best for me. I used a > relative path (mostly) instead of a fixed one. I also needed this to work > for Windows and Linux so I structured it so that I would only adjust the > base dir. Here is mine: > > Regards, > Dean Nelson > > > <? > xml version=*"1.0"* encoding=*"UTF-8"*?> > > <! > DOCTYPE catalog PUBLIC "-//OASIS/DTD Entity Resolution XML Catalog > V1.0//EN" > > "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd" [ > > <!ENTITY XSL_VER *"docbook-xsl-1.74.0"*> > > <!ENTITY DB_VER *"docbook-xml-4.5"*> > > <!ENTITY MATHML_VER *"MathML2"*> > > <!ENTITY BASE_DIR *"file:///root/doc/"*> > > ] > > > > <!-- ENTITIES > > BASE_DIR = this is the base of the whole doc tree including doctools > > Linux : "file:///root/doc/" > > Win32 : "../../" > > --> > > <!-- When changing the XSL version - make sure it is also changed in the > xml.pro file --> > > < > catalog prefer=*"public"* xmlns=* > "urn:oasis:names:tc:entity:xmlns:xml:catalog"*> > > <!-- DTD and stylesheet files installed under --> > > <group xml:base=*"&BASE_DIR;"*> <!-- configured above --> > > <!--<group prefer="public" xml:base="file:///root/doc/"> --> <!-- > UNIX/LINUX --> > > <!-- <group prefer="public" xml:base="../../"> --> <!-- Windows --> > > publicId=*"-//OASIS//DTD DocBook XML V4.4//EN"* uri=* > "doctools/&DB_VER;/docbookx.dtd"*/> > > <public publicId=*"-//W3C//DTD MathML 2.0//EN"* uri=* > "doctools/MathML2/mathml2.dtd"*/> > > <!-- Resolve DTD URL system ID to local file --> > > <rewriteSystem systemIdStartString=*" > http://www.oasis-open.org/docbook/xml/4.4/"* rewritePrefix=* > "doctools/&DB_VER;/"*/> > > <rewriteSystem systemIdStartString=*"http://www.docbook.org/xml/4.4/"* > rewritePrefix=*"doctools/&DB_VER;/"*/> > > <rewriteSystem systemIdStartString=*"http://www.docbook.org/xml/4.5/"* > rewritePrefix=*"doctools/&DB_VER;/"*/> > > <rewriteSystem systemIdStartString=*"http://www.w3.org/TR/MathML2/dtd/"* > rewritePrefix=*"doctools/&MATHML_VER;/"*/> > > <!-- Resolve stylesheet URL to local file --> > > <rewriteURI uriStartString=*" > http://docbook.sourceforge.net/release/xsl/current/"* rewritePrefix=* > "doctools/&XSL_VER;/"*/> > > <rewriteURI uriStartString=*" > http://docbook.sourceforge.net/release/slides/current/"* rewritePrefix=* > "doctools/&SLIDES_VER;/"*/> > > <rewriteURI uriStartString=*" > http://docbook.sourceforge.net/release/slides/"* rewritePrefix=* > "doctools/&SLIDES_VER;/"*/> > > <!-- To resolve short stylesheet references --> > > <uri name=*"html-docbook.xsl"* uri=*"doctools/&XSL_VER;/html/docbook.xsl"* > /> > > <uri name=*"chunk.xsl"* uri=*"doctools/&XSL_VER;/html/chunk.xsl"*/> > > <uri name=*"fo-docbook.xsl"* uri=*"doctools/&XSL_VER;/fo/docbook.xsl"*/> > > </group> > > > > <!-- Resolve DTD PUBLIC identifiers --> > > <nextCatalog catalog=*"file:///../../doctools/&DB_VER;/catalog.xml"*/> > > </ > catalog> > > > > In a message dated 10/13/08 07:12:20 Pacific Daylight Time, > [EMAIL PROTECTED] writes: > > Good afternoon all, > > I am trying to write a catalog file for my DocBook processing so all the > paths that I need are in one place. At the moment I have limited success. > > I have pretty much lifted the Catalog file from > 'Example DocBook catalog file' - > http://www.sagehill.net/docbookxsl/ExampleCatalog.htmland I have got the > system to find my customisation stylesheet in the correct location. > > However when my file then tries to import the Docbook XSL file, it does it > with the same path location as it did when it found my customisation, even > though in my catalog I have a different path for this file. > > I am using xsltproc to produce my FO file, the command I am using is: > > XML_CATALOG_FILES="catalog.xml" xsltproc -o output.fo cpsltdonline.xsl > c815ea1d111988cfc9e630e7feb3b6a6.xml > > If i re-run this command using fo-docbook.xsl instead it works perfectly > and I get the FO, trouble is that it is not what I want. I have appened the > Catalog file to the end of this email. > > Thanks, Russell > > > > <?xml version="1.0"?> > <!DOCTYPE catalog > PUBLIC "-//OASIS/DTD Entity Resolution XML Catalog V1.0//EN" > "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"> > > <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> > > > <group > xml:base="file:///home/russells/workspace/cpsltdonline/docbook/"> > <uri name="cpsltdonline.xsl" > uri="custom/cpsltdonline.xsl" /> > > <uri > name="cpsltdonline-order.xsl" > uri="styles/cpsltdonline-order.xsl" /> > </group> > > <!-- DTD and stylesheet files installed under /usr/share/xml --> > <group xml:base="file:///usr/share/xml/"> > > <!-- Resolve DTD URL system ID to local file --> > <rewriteSystem > systemIdStartString="http://www.oasis-open.org/docbook/xml/4.5/" > rewritePrefix="docbook/schema/dtd/4.5/" /> > > <!-- Resolve stylesheet URL to local file --> > <rewriteURI > uriStartString=" > http://docbook.sourceforge.net/release/xsl/current/" > rewritePrefix="docbook-xsl-1.73.1/" /> > > <!-- To resolve simple DTD SYSTEM identifiers. --> > <!-- Note: this does not work with Java resolver --> > <!-- classes in Saxon or Xalan --> > <system > systemId="docbook.dtd" > uri="docbook/schema/dtd/4.5/docbookx.dtd" /> > > <!-- To resolve short stylesheet references --> > <uri > name="fo-docbook.xsl" > uri="docbook/stylesheet/nwalsh/fo/docbook.xsl" /> > > > </group> > > > </catalog>* > * > > >
