Re: [xsl] how to do set operations (intersection, unify, relative compelent) on sequences (or any other possible structure); runtime dynamical structures?

Subject: Re: [xsl] how to do set operations (intersection, unify, relative compelent) on sequences (or any other possible structure); runtime dynamical structures?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Sun, 10 May 2009 21:07:38 +0100
<xsl:variable name="Lst" >
	<xsl:for-each select="$root/html:tbody/html:tr[position()>1]">
	<xsl:sequence
select="string(normalize-space(current()/html:td[1]/uci:par))" />
	</xsl:for-each>
</xsl:variable>


if you use xsl:variable with no select or as attribute, it always
generaates a sequence of lngth 1, consisting of a single document node
(/).

In this case the / node will have a single text node child consisting of
the strings generated in the for-each, sparated by a single space.


I would guess you want

<xsl:variable name="Lst"  select="
$root/html:tbody/html:tr[position()>1]/html:td[1]/uci:par/normalize-space()"/>

so you get a sequence of strings.

> I have noticed Lst is sequence of Text types

xpath doesn't have a type called Text, as i say $Lst would have been a
document node with your definition.

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

Current Thread