XSLT Delimited Text Node

Discussion in 'XML' started by Mike King, Feb 28, 2005.

  1. Mike King

    Mike King Guest

    Is there a way in XSLT to match on numbers that are delimited by a character
    or space in a text node?
     
    Mike King, Feb 28, 2005
    #1
    1. Advertising

  2. Mike King wrote:

    > Is there a way in XSLT to match on numbers that are delimited by a character
    > or space in a text node?


    XSLT 2.0 can do that nicely with the tokenize XPath 2.0 function e.g.
    with the input being

    <?xml version="1.0" encoding="UTF-8"?>
    <root>
    <data-list>1 2 3 4 5</data-list>
    </root>

    and the stylesheet

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="2.0">

    <xsl:eek:utput method="xml" indent="yes" />

    <xsl:template match="@* | node()">
    <xsl:copy>
    <xsl:apply-templates select="@* | node()" />
    </xsl:copy>
    </xsl:template>

    <xsl:template match="data-list">
    <xsl:copy>
    <xsl:for-each select="tokenize(., '\s+')">
    <data><xsl:value-of select="." /></data>
    </xsl:for-each>
    </xsl:copy>
    </xsl:template>

    </xsl:stylesheet>

    the result using Saxon 8.3 is


    <?xml version="1.0" encoding="UTF-8"?>
    <root>
    <data-list>
    <data>1</data>
    <data>2</data>
    <data>3</data>
    <data>4</data>
    <data>5</data>
    </data-list>
    </root>


    If you want to use XSLT 1.0 then you need to write a recursive template
    taking the string with the numbers as the argument and splitting it up
    using XPath 1.0 functions like substring-before, substring-after etc.


    --

    Martin Honnen
    http://JavaScript.FAQTs.com/
     
    Martin Honnen, Mar 1, 2005
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    0
    Views:
    1,617
  2. Ralf Wahner
    Replies:
    2
    Views:
    2,445
    Ralf Wahner
    Jul 15, 2003
  3. Tjerk Wolterink
    Replies:
    2
    Views:
    1,478
    Dimitre Novatchev
    Aug 24, 2006
  4. Replies:
    3
    Views:
    3,909
    A. Bolmarcich
    Oct 20, 2006
  5. RyanL
    Replies:
    6
    Views:
    714
    Paul McGuire
    Aug 28, 2007
Loading...

Share This Page