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: 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 < current()/sd:ServiceID]]"
>
select="sd:Service[sd:ServiceDescription/@ServiceName='Y' and
sd:ServiceID > ../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
|