xsl-list
[Top] [All Lists]

RE: [xsl] XSLT1.0 and wildcards

2006-10-03 00:54:59

For example The address line is like this: melkweg 51a.

This means I have to map this like this:  street = melkweg, 
number = 51, extension = a
    I wanted to use the  'substring-before' function to 
filter out the street, and 'substring-after' function to 
filter out the extension. I could use the number 51 for this 
but that's only the case for this line. Can i use some kind 
of wildcard character say '*' that defines that It just has 
to be a number.
Are there such wildcards, and/or is there a better way to do this?


XSLT 1.0 is very limited for this kind of string manipulation, but you can
often achieve what you need with the help of translate(). For example,
translate($x, '012345789', '9999999999') will convert all digits to 9s,
which makes  it possible to use substring-before(translate($x, '012345789',
'9999999999'), '9') to find the text that precedes the first digit. Or given
the string "51a", you can extract the "a" using translate($x, '0123456789',
'').

Michael Kay
http://www.saxonica.com/


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>