xsl-list
[Top] [All Lists]

Re: Re: How to match a element + part of an immediate text sibling?

2004-01-14 13:27:05

"Wendell Piez" <wapiez(_at_)mulberrytech(_dot_)com> wrote in message
news:6(_dot_)0(_dot_)0(_dot_)22(_dot_)0(_dot_)20040114111525(_dot_)02b728e0(_at_)earthlink(_dot_)net(_dot_)(_dot_)(_dot_)
At 04:59 AM 1/14/2004, Mike wrote:
...
Secondly, there is nothing in XSLT 1.0 that allows you to split a string
into its component words. You can do it yourself using a recursive
template (there are examples in my book XSLT Programmers Reference), or
you can use a vendor- or third-party extension function xx:tokenize().

This may seem obvious and gratuitous (for which I apologize), but I hasten
to add that this is only a *particular* notion of what a "word" is (a
substring delimited by white space), which may not be robust enough for
all
purposes. For example, if your input reads

<p> the quick <em>brown</em> fox, ears up, jumps </p>

you may want your output to read not

<p> the <em>quick brown fox,</em> ears up, jumps </p>

but

<p> the <em>quick brown fox</em>, ears up, jumps </p>

which will require a more sophisticated definition of the concept of a
"word", and which will not be so tractable using basic substringing around
whitespace (or a simple tokenize function either, FTM).

This kind of thing is not impossible to work around in most real-world
cases, but since XSLT 1.0 is not designed for up-conversion, it can get
pretty hairy.


For such cases the usefulness of the "str-split-to-words" template from FXSL
has been well established.

 FXSL deals successfully with the "heariness" of most such problems.


Dimitre Novatchev.
FXSL developer

http://fxsl.sourceforge.net/ -- the home of FXSL
Resume: http://fxsl.sf.net/DNovatchev/Resume/Res.html




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list