I am trying to bring multiple documents together into a single document 
in order to create a book in which each document is a separate chapter. 
However, I do not want the structure of the book to be stored in the 
sitemap, I want this in a separate XML file.

So what I have is a description of the chapters I want in an xml file 
(thanks to Joerg Heinicke):

<document>
   <header>
      ...
   </header>
   <body>
     <chapter href="introduction.xml"/>
     <chapter href="background.xml"/>
     ...
   </body>
</document>

A stylesheet to perform the inclusion:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Tranform";>

<xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>

<xsl:template match="chapter[@href]">
    <xsl:apply-templates select="document(@href)/document/header"/>
    <xsl:apply-templates select="document(@href)/document/body"/>
</xsl:template>

</xsl:stylesheet>

And a pipeline to create the pdf book:

<map:match pattern="**/full.pdf">
   <map:transform src="skins/saafe/xslt/conversion/document2book.xsl"/>
   <map:transfrom type="xinclude". <!-- the chapters have xincludes -->
   <map:transform src="skins/saafe/xslt/conversion/document2fo.xsl"/>
   <map:serialize type="fo2pdf"/>
</map:match>

However, the xslt transformer fails becasue it is looking for, and can;t 
find, the DTD for the included chapters, in the same directory as the 
XML file. The doctype line in each of the chapter documents is:

<!DOCTYPE document PUBLIC "-//APACHE/DTD Documentation V1.1//EN"
"document-v11.dtd">

Replacing "document-v11.dtd" with the path to the dtd does not work as 
it then looks for the entity files in the wrong place. Besides, doing 
this would mean I couldn't move any files without breaking the doctype 
so I'm not keen on this.

I don't know much about catalogs but I suspect what is happening is that
cocoon works fine as it is aware of my DTD catalog, but the XSL
transformer fails on the as it is not aware of the catalog. Any ideas 
how to solve this? (if indeed this is the problem).

Ross


---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>

Reply via email to