This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: The longest node in a node set


To add to Jeni's reply:

In XPath 2.0, the way you do this is:

  max(for $n in $nodeset return string-length($n))

In Saxon 6.5.x, you can do it with an extension function:

  saxon:max($nodeset, saxon:expr('string-length(.)'))

(Both of these give you the length of the longest node, not the node
itself)

But for pure XSLT 1.0/XPath 1.0, Jeni has given you the answer.

Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com 

> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com 
> [mailto:owner-xsl-list@lists.mulberrytech.com] On Behalf Of 
> Antonio Fiol Bonnin
> Sent: 18 July 2002 19:05
> To: xsl-list@lists.mulberrytech.com
> Subject: [xsl] The longest node in a node set
> 
> 
> Hello,
> 
> I am trying to find an XPath expression that gives me the longest 
> element in a node set.
> 
> I know how to do that for an attribute. e.g //element[not(@attr < 
> following-sibling::element/@attr)]
> 
> But how can I do that for the string-length(element).
> 
> I tried //element[not(string-length(.) < 
> string-length(following-sibling::element))]
> 
> But this obviously does not work, because 
> following-sibling::element is 
> not an element or string, but a node-set.
> 
> Any ideas?
> 
> (I think this one is for Michael Kay... Am I wrong?)
> 
> Thank you very much.
> 
> 
> Antonio Fiol
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]