Subject: Re: [xsl] N : M transformation|
From: Tobias Reif <tobiasreif@xxxxxxxxxxxxx>
Date: Mon, 03 Feb 2003 16:55:09 +0100
I don't need to decide between a processor-specific extension,
Note that it's fairly easy to write multiple-output stylesheets that work on a range of processors by using a named template that uses an xsl:choose with element-available or an xsl:fallback cascade that outputs the stuff using whatever is there.
see for example norm's version in the docbook sheets
which seems to have grown since last time I looked at it and now
<!-- This stylesheet works with XSLT implementations that support --> <!-- exsl:document, saxon:output, or xalanredirect:write -->
<xsl:choose> <!-- put Saxon first to work around a bug in libxslt --> <xsl:when test="element-available('saxon:output')"> <!-- Saxon doesn't make the chunks relative --> <xsl:value-of select="concat($base.dir,$base.name)"/> </xsl:when> <xsl:when test="element-available('exsl:document')"> <!-- EXSL document does make the chunks relative, I think --> ...