OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [docbook-apps] Catalogs

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:
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 BASE_DIR "file:///root/doc/">



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"/>



<!-- Resolve DTD PUBLIC identifiers -->

<nextCatalog catalog="file:///../../doctools/&DB_VER;/catalog.xml"/>


In a message dated 10/13/08 07:12:20 Pacific Daylight Time, russell.seymour@turtlesystems.co.uk 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.html

and 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"

<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="styles/cpsltdonline-order.xsl" />

 <!-- DTD and stylesheet files installed under /usr/share/xml -->
  <group  xml:base="file:///usr/share/xml/">

    <!-- Resolve DTD URL system ID to local file -->
        rewritePrefix="docbook/schema/dtd/4.5/" />
    <!-- Resolve stylesheet URL to local file -->
        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 -->
         uri="docbook/schema/dtd/4.5/docbookx.dtd" />

    <!-- To resolve short stylesheet references -->
        uri="docbook/stylesheet/nwalsh/fo/docbook.xsl" />



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]