Subject: Re: [xsl] Chewy key problem From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Tue, 01 Mar 2005 17:53:46 -0500 |
Still I'll avoid answering that (because explaining the 2 pass version is easier:-)first do an identity template
<xsl:template match="*"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template>
Then add a template to work out your sorting key which is, I think
<xsl:template match"b"> <xsl:copy-of select="@*"/> <xsl:variable name="x"> <xsl:copy-of select=".//desc"/> </xsl:variable> <b sort="$x"> <xsl:apply-templates/> </b> </xsl:template>
that's all you need the first transform, now you have an intermediate file that's like your original except every b has a sort attribute. Now you can just sort/group on that as usual as described in www.jenitennison.com/xslt/grouping. You are in a better situation now as your grouping key is just a singke Xpath @sort.
If you are doing this from java you should be able to avoid the costs of writing out the intermediate document as a file and parsing it back again and just pass it as an in memory object from the first transform to the next. The details of that depend on the API you are using (and anyway there are others who can tell you a lot more about java.
I hope that helps, Wendell
====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Chewy key problem, David Carlisle | Thread | [xsl] Ordering my HTML output, Aaron McGrath |
RE: [xsl] Triming in XSLT, Pieter Reint Siegers | Date | Re: [xsl] xsl:template: error dupli, Wendell Piez |
Month |