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]>