RE: [xsl] sorting question

Subject: RE: [xsl] sorting question
From: "Americo Albuquerque" <aalbuquerque@xxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2003 18:08:35 +0100
Hi

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Lars Huttar
> Sent: Tuesday, May 27, 2003 9:17 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] sorting question
> 
> 
> >   I want to process all 'sd:Service' nodes that have
> > sd:ServiceDescription/@ServiceName='Y', 
> > except the one with min 'sd:ServiceID'.
> > 
> >   What is the condition returning the node-set I want ?
> > (I have done it by " xsl:sort + xsl:if test='position() > 
> 1'>  ", but 
> > I would like more elegant solution -> only one xsl:for-each)
> 
> I don't know of any way more elegant.
> 
> Maybe you're thinking of something that uses simply a select 
> expression without any xsl:sort or xsl:if, e.g.
> 
>   select="/*/sd:Service[sd:ServiceDescription/@ServiceName='Y'
> 	and ../sd:Service[sd:ServiceID &lt; current()/sd:ServiceID]]"
> 

  select="sd:Service[sd:ServiceDescription/@ServiceName='Y' and
sd:ServiceID &gt; ../sd:Service/sd:ServiceID]" will work too if the
current node is sd:Services. It is similar to yours but with just one
predicate.

(...)




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread