RE: [xsl] Is it possible to create xsl:sort from input parameters using XSLT 2.0 (Saxon)?

Subject: RE: [xsl] Is it possible to create xsl:sort from input parameters using XSLT 2.0 (Saxon)?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 1 Aug 2006 11:01:58 +0100
A good guide to XML Schema is Priscilla Walmsley's book Definitive XML
Schema published by Prentice Hall. 

It's probably overkill to learn all about XML Schema just for this problem,
but I mentioned it because there are hundreds of errors that people make
with path expressions which would be diagnosed much more quickly if people
used schema-aware stylesheets and queries. Of course, you still need to
understand the XSLT/XPath rules to get things right.

I still think the right solution for this problem might be to generate the
stylesheet before running it. You said that wasn't possible, but you didn't
say why.

Michael Kay
http://www.saxonica.com/



> -----Original Message-----
> From: Nick Glenister [mailto:NGlenister@xxxxxxxxxxxxxxxx] 
> Sent: 01 August 2006 08:57
> To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'
> Subject: RE: [xsl] Is it possible to create xsl:sort from 
> input parameters using XSLT 2.0 (Saxon)?
> 
> Hi,
> 
> thanks for info, unfortunatly I don't know how to make a 
> schema... at the risk of being off topic does anyone have any 
> good references to get me started?
> 
> cheers
> 
> Nick
> 
> 
> -----Original Message-----
> From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
> Sent: 31 July 2006 17:53
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] Is it possible to create xsl:sort from 
> input parameters using XSLT 2.0 (Saxon)?
> 
> 
> > <xsl:param name="sortField"/>
> > 
> > And into this param i pass the XML:
> > 
> > <SortFields>
> > 	<SortField>
> > 		<Sort>lendername</Sort>
> > 		<Order>ascending</Order>
> > 		<DataType>text</DataType>
> > 		<CaseOrder>lowercasefirst</CaseOrder>
> > 	</SortField>
> > </SortFields>
> > 
> > 
> > rather than use 12 parameters (four for each <xsl:sort/>), 
> I had hoped 
> > that using this XML I would be able to read the values out like so:
> > 
> > 	<xsl:sort select="$sortField/SortField[1]/Sort"
> > order="{$sortField/SortField[1]/Order}"/>
> 
> You want $sortField/SortFields/SortField[1]/Order
> > 
> > 
> > As far as I can tell the order attribute should read 
> "acsending" out 
> > of the XML but I've no real way of finding out what it is reading.
> 
> Take a look at the trace() function, or simply do 
> <xsl:copy-of select="$sortField"/>.
> 
> Better still, write a little schema for this XML document and 
> make your stylesheet schema-aware, and then the error will be 
> reported to you at compile time.
> 
> Michael Kay
> http://www.saxonica.com/
> 
> 
> 
> This inbound message has been scanned for viruses by 
> MailControl for Moneyfacts Group plc.
> 
> 
> The Investment, Life & Pensions Annual Awards Lunch 2006 will 
> take place on Wednesday 20th September at The Brewery, 
> Chiswell Street, London. To book your table or for more 
> information, contact Miranda Siliprandi on 0870 2250 491 or 
> email msiliprandi@xxxxxxxxxxxxxxxx
> 
> The Moneyfacts 11th Annual Conference takes place on Tuesday 
> 7th November 2006 at the Shaw Centre, Novotel Euston London 
> in association with our Platinum Sponsors, CACI. For 
> sponsorship and general enquires please email Anne Joyce at 
> ajoyce@xxxxxxxxxxxxxxxx or to reserve your place, call our 
> ticket hotline on 0870 2250 100.
> 
> E-mail Disclaimer: This e-mail message contains confidential 
> information and is intended only for the individual entity or 
> organisation named. If you are not the named addressee you 
> should not disseminate, distribute, print or copy this e-mail 
> and/or attachments (either whole or partial). To do so may 
> constitute a breach of confidence and/or privilege. Please 
> notify the sender immediately by e-mail if you have received 
> this e-mail by mistake and delete this e-mail permanently 
> from your system. E-mail transmissions cannot be guaranteed 
> to be secure or error-free as information could be 
> intercepted, corrupted, lost, destroyed, maliciously altered, 
> arrive late or incomplete, or contain viruses. The sender 
> therefore does not accept liability for any errors or 
> omissions in the contents of this message, which arise as a 
> result of e-mail transmission. If verification is required 
> please request a hard-copy version. Please note that any 
> views or opinions presented in this e-mail are !
>  those of the author and do not necessarily represent those 
> of Moneyfacts Group plc or their affiliates. Whilst every 
> step is taken to ensure e-mails are virus free when they 
> leave Moneyfacts Group systems, we accept no liability for 
> any damage caused by any virus received.   This outbound 
> message has been scanned for viruses by MailControl for 
> Moneyfacts Group plc.  

Current Thread