This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: sorting before transforming
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] sorting before transforming
- From: "Michael Kay" <mhkay at iclway dot co dot uk>
- Date: Sun, 22 Jul 2001 07:42:25 +0100
- Reply-To: xsl-list at lists dot mulberrytech dot com
> Is it possible to sort nodes in the input? If not, is there a way
> to "chain" stylesheets? [ XML1 -> XSL1 -> XML2 -> XSL2 -> XML3, etc]
>
There are two ways. One is to use temporary trees (result tree fragments)
and the node-set() extension function:
<xsl:variable name="temp">
<xsl:apply-templates select="/" mode="phase1"/>
</xsl:variable>
<xsl:template match="/">
<xsl:apply-templates select="xx:node-set($temp)" mode="phase2"/>
</xsl:template>
The other is to control it from the API. The JAXP 1.1 Java API has
particularly neat ways of doing chaining by passing data from one stylesheet
to the next as a SAX event stream.
(There's a third way, with saxon, the saxon:next-in-chain extension).
Mike Kay
Software AG
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list