Tokenize returns strings, and strings do not have a parent.
The answer is to save the context node in a variable before going into the
for-each.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Spencer Tickner [mailto:spencertickner(_at_)gmail(_dot_)com]
Sent: 10 May 2007 17:52
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] using tokenize() and referencing parent elements
Hi list, thanks in advance for any help.
I'm using tokenize() but have to get the parent of the string
token to determine if the string is one thing, or another. I
came across a similiar post on the list.. but I can't seem to
get it working with my
case:
XML
<PS Class="SummaryKeyWords">
<em>Local Governments
Statutes Amendment Act</em>; <em>Municipal Act; Fish
Protection Act</em>Bill 25; riparian; endangered</PS>
XSL (not quite working)
<xsl:template match="PS[(_at_)Class = 'SummaryKeyWords']">
<xsl:variable name="me" select="."/>
<keywords>
<xsl:for-each select="tokenize(., ',|;')">
<xsl:choose>
<xsl:when test="$me[current()
eq text()/parent::em]">
<keyword><actname><xsl:value-of
select="normalize-space(.)"/></actname></keyword>
</xsl:when>
<xsl:otherwise>
<keyword><xsl:value-of
select="normalize-space(.)"/></keyword>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</keywords>
</xsl:template>
XML output wanted:
<keywords>
<keyword><actname>Local Governments Statutes Amendment
Act</actname></keyword>
<keyword><actname>Municipal Act</actname></keyword>
<keyword><actname>Fish Protection Act Bill 25</actname></keyword>
<keyword>riparian</keyword>
<keyword>endangered</keyword>
</keywords>
XML Output I'm getting:
<keywords>
<keyword>Local Governments Statutes Amendment Act</keyword>
<keyword>Municipal Act</keyword>
<keyword>Fish Protection Act Bill 25</keyword>
<keyword>riparian</keyword>
<keyword>endangered</keyword>
</keywords>
Much thanks,
Spencer
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--