On Thu, 4 Sep 2003, Michael Kay wrote:
<a>
<b attr="w1 w3 w6">...</b>
<b attr="w2 w12 w3 w7">...</b>
... more <b>s here ...
</a>
when processing an <a> element, i need to calculate the
maximum number of whitespace-separated words for any
"b/@attr" attribute. so just what you see above, the value
would be 4, based on that second <b> child of <a>.
AFAICT, this will involve three steps:
1) collect the "b/@attr" attributes (easy)
2) normalize space and word count each of those attribute values
(again, easy, stealing from kay, p. 527, the "word-count"
template :-)
3) finding the maximum of those values
You can count the words without recursive processing:
$x := normalize-space(@attr)
$y := translate(@attr, ' ', '')
$wc := string-length($x) - string-length($y) +1
ok, thanks. that makes things easier.
since, as i understand it, you can't have a node-set of just
numbers,
Since numbers aren't nodes, how could you have a node-set containing
numbers?
but that was my point. the sample XSL i showed for calculating the
minimum value was *treating* a node-set as if the individual elements
were numbers, and was comparing them numerically.
<xsl:value-of select="$nodes[not($nodes < .)]"/>
how would this be interpreted? the book refers to this as calculating
"the minimum value of a node set", which to my mind is viewing the
"nodes" as numerical values. i wasn't trying to suggest that numbers
were actual nodes, only that they were being "treated" that way by
the above expression.
rday
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list