Attached is an adaptation of html/chunker.xsl from the DB stylesheets which provides support for processors that support EXSLT (http://exslt.org). e.g. Saxon and 4XSLT. -- Uche Ogbuji Principal Consultant [EMAIL PROTECTED] +1 303 583 9900 x 101 Fourthought, Inc. http://Fourthought.com 4735 East Walnut St, Ste. C, Boulder, CO 80301-2537, USA Software-engineering, knowledge-management, XML, CORBA, Linux, Python
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exslt="http://exslt.org/common" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" exclude-result-prefixes="doc" extension-element-prefixes="exslt" > <!-- This stylesheet works with any processor that supports EXSLT, e.g. Saxon and 4XSLT --> <!-- ==================================================================== --> <xsl:template name="make-relative-filename"> <xsl:param name="base.dir" select="'./'"/> <xsl:param name="base.name" select="''"/> <xsl:value-of select="concat($base.dir,$base.name)"/> </xsl:template> <xsl:template name="write.chunk"> <xsl:param name="filename" select="''"/> <xsl:param name="method" select="'html'"/> <xsl:param name="encoding" select="$default.encoding"/> <xsl:param name="indent" select="'no'"/> <xsl:param name="content" select="''"/> <xsl:message> <xsl:text>Writing </xsl:text> <xsl:value-of select="$filename"/> <xsl:if test="name(.) != ''"> <xsl:text> for </xsl:text> <xsl:value-of select="name(.)"/> <xsl:if test="@id"> <xsl:text>(</xsl:text> <xsl:value-of select="@id"/> <xsl:text>)</xsl:text> </xsl:if> </xsl:if> </xsl:message> <exslt:document href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" > <xsl:copy-of select="$content"/> </exslt:document> </xsl:template> <xsl:template name="write.chunk.with.doctype"> <xsl:param name="filename" select="''"/> <xsl:param name="method" select="'html'"/> <xsl:param name="encoding" select="$default.encoding"/> <xsl:param name="indent" select="'no'"/> <xsl:param name="doctype-public" select="''"/> <xsl:param name="doctype-system" select="''"/> <xsl:param name="content" select="''"/> <xsl:message> <xsl:text>Writing </xsl:text> <xsl:value-of select="$filename"/> <xsl:if test="name(.) != ''"> <xsl:text> for </xsl:text> <xsl:value-of select="name(.)"/> </xsl:if> </xsl:message> <exslt:document href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" doctype-public="{$doctype-public}" doctype-system="{$doctype-system}" > <xsl:copy-of select="$content"/> </exslt:document> </xsl:template> </xsl:stylesheet>