[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: How to tokenize a string that contains space-deli

Subject: Re: How to tokenize a string that contains space-delimited tokens and a quoted string that must not be tokenized?
From: "David Carlisle d.p.carlisle@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 28 Nov 2022 14:48:37 -0000
Re:  How to tokenize a string that contains  space-deli
so long as you don't need  " aaaa \" bbb"  or other quoted forms...

<xsl:stylesheet version="3.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>

 <xsl:variable name="s">if machine = "Intel 386 or later processors and
compatible processors" then ground</xsl:variable>

 <xsl:template name="m">
  <xsl:analyze-string select="$s" regex='"([^"]*)"|([^ ]+)'>
   <xsl:matching-substring>
    <xsl:value-of select="'&#10;',regex-group(1),regex-group(2)"
separator=""/>
   </xsl:matching-substring>
  </xsl:analyze-string>
 </xsl:template>
</xsl:stylesheet>


$ saxon10 -it:m rc2.xsl
<?xml version="1.0" encoding="UTF-8"?>
if
machine
=
Intel 386 or later processors and compatible processors
then
ground


David


On Mon, 28 Nov 2022 at 14:21, Roger L Costello costello@xxxxxxxxx <
xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:

> Hi Folks,
>
> I want to tokenize this string:
>
> if machine = "Intel 386 or later processors and compatible processors"
> then ground
>
> into this sequence of tokens:
>
> if
> machine
> =
> Intel 386 or later processors and compatible processors
> then
> ground
>
> Unfortunately, this:
>
> tokenize(.,'\s+')
>
> does not do the desired tokenization, as it also breaks up:
>
> "Intel 386 or later processors and compatible processors"
>
> into pieces.
>
> Nor does this do the desired tokenization:
>
> tokenize(.,'(\s+)|(")')
>
> Is there a simple way in XSLT/XPath to tokenize the string into the
> desired sequence of tokens?
>
> /Roger

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.