Re: [xsl] Create word elements from a string

Subject: Re: [xsl] Create word elements from a string
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 28 Oct 2009 16:49:28 -0400
At 2009-10-28 13:44 -0700, Larry Hayashi wrote:
Is there a function in XSLT 1.1

XSLT 1.1 was formally abandoned in August 2001 and should not be used ... read the notice in the status section of this document:


http://www.w3.org/TR/2001/WD-xslt11-20010824/

that will extract words from a string?
I'd like to be able to take <text>Jill ran up the hill.</text> and get
the following:

<words>
  <word>Jill</word>
  <word>ran</word>
  <word>up</word>
  <word>the</word>
  <word>hill.</word>
</words>

In XSLT 2.0 you can use tokenize().


I hope this helps.

. . . . . . . . . . . Ken

T:\ftemp>type larry.xsl
<?xml version="1.0" encoding="US-ASCII"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                version="2.0">

<xsl:output indent="yes"/>

<xsl:template match="/">
  <words>
    <xsl:for-each select="tokenize('Jill ran up the hill.','\s+')">
      <word>
        <xsl:value-of select="."/>
      </word>
    </xsl:for-each>
  </words>
</xsl:template>

</xsl:stylesheet>

T:\ftemp>xslt2 larry.xsl larry.xsl con
<?xml version="1.0" encoding="UTF-8"?>
<words>
   <word>Jill</word>
   <word>ran</word>
   <word>up</word>
   <word>the</word>
   <word>hill.</word>
</words>
T:\ftemp>

--
Upcoming:  hands-on XSLT, XQuery and XSL-FO Washington DC Nov 2009
Interested in other classes?  http://www.CraneSoftwrights.com/s/i/
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

Current Thread