Re: [xsl] Create word elements from a string

Subject: Re: [xsl] Create word elements from a string
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Wed, 28 Oct 2009 14:09:49 -0700
You can use the str-split-to-words template of FXSL 1,x

Here is an example of using it:

<xsl:stylesheet version="1.0"

   <xsl:import href="strSplit-to-Words.xsl"/>

   <xsl:output indent="yes" omit-xml-declaration="yes"/>

    <xsl:template match="/">
      <xsl:variable name="vwordNodes">
        <xsl:call-template name="str-split-to-words">
          <xsl:with-param name="pStr" select="/"/>
          <xsl:with-param name="pDelimiters"
                          select="', &#9;&#10;&#13;'"/>

      <xsl:apply-templates select="ext:node-set($vwordNodes)/*"/>

    <xsl:template match="word" priority="10">
      <xsl:value-of select="concat(position(), ' ', ., '&#10;')"/>


When applied on the following XML document:

<t>Use FXSL to do this</t>

the result is:

1 Use
3 to
4 do
5 this

Dimitre Novatchev
Truly great madness cannot be achieved without significant intelligence.
To invent, you need a good imagination and a pile of junk
Never fight an inanimate object
You've achieved success in your field when you don't know whether what
you're doing is work or play

On Wed, Oct 28, 2009 at 1:44 PM, Larry Hayashi <lhtrees@xxxxxxxxx> wrote:
> Is there a function in XSLT 1.1 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>
> B <word>Jill</word>
> B <word>ran</word>
> B <word>up</word>
> B <word>the</word>
> B <word>hill.</word>
> </words>
> Thanks,
> Larry

Current Thread