Re: [xsl] using tokenize() and referencing parent elements

Subject: Re: [xsl] using tokenize() and referencing parent elements
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 10 May 2007 18:20:56 +0100
>  have to get the parent of the string token 
your problem essentially is that atomic values like strings are not in
the tree so don't have parents. You want the parent of the node from
which you extracted the string, which is $me/..

You don't say what test you want to do  so i can't tell you how to
change this

the current item at this point is a string in the sequence returned by
tokenize(). 

	<xsl:when test="$me[current() eq text()/parent::em]">

so 
$me is the PS element 
current() is the token (part of the string value of PS)
text() is the sequence of text node children of $me (eq will raise an
      error if there are more than one text node children)
text()/parent::* would be the parent of the text node children , which
would be $me, but as that is a PS element
text()/parent::em is the empty sequence.

Oh, I think you just want
	<xsl:when test=".=$me/em"

which tests if the current item (a token) is equal to the string value
of any of the em children of the PS element.

and to change your token regexp to ignore white space
		 <xsl:for-each select="tokenize(., '[,;]\s*')">


Davd

________________________________________________________________________
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