RE: [xsl] sorting before transforming

Subject: RE: [xsl] sorting before transforming
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Sun, 22 Jul 2001 07:42:25 +0100
> 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


Current Thread