[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Processing an element only if there are no better
Whoops, in my recent post, I forgot this part. > >i.e. If there is a Type1 product, then don't output Type2 or Type3. > >However, if there is no Type1, then output Type2, but not > Type3 if it's > >present. > Just change my example (see below) to output only the first of the first of the sorted types - <xsl:template match='Product[1]'> ... </xsl:template> This will give you just the one product whose priority is the highest, according to the priorities you have declared. This is what the original question was about, as I understand it. Cheers, Tom P ---------------------------------------------------------------------- I previously posted this - You can declare your own priorities for sorting like this. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc='local:sort'> <!-- arbitrary namespace URI --> <xsl:variable name='priorities' select='document("")/xsl:stylesheet/doc:priority/term'/> <doc:priority> <term name='Type1' priority='1'/> <term name='Type2' priority='2'/> <term name='Type3' priority='3'/> </doc:priority> .... Then for sorting, you can use your priorities like so - <xsl:apply-templates select='Product'> <xsl:sort data-type='number' select='$priorities[@name=current()/@Type]/@priority'/> </xsl:apply-templates> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|