xsl-list
[Top] [All Lists]

Re: Pattern Matching a sting value

2004-02-06 09:24:06
Michael Kay wrote:

In this specific example I would think you could use

substring-before(
   substring-after($x, 'font-family'),
   ";")

But of course what you really need is the regex handling offered by XSLT
2.0.

Michael Kay

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com [mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of scott gabelhart
Sent: 06 February 2004 02:06
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Pattern Matching a sting value


Jim Fuller wrote:

[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
scott gabelhart
Sent: 06 February 2004 01:14
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Pattern Matching a sting value


How in XSLT 1.0 do you interogate a specific portion of a string?


$stg = "font:...;font-family:Arial;color:#FFFFF;...."

I am only interested in the portion of this string that
contains Arial.
Not sure what interested means, if you want to test for the
existance
use the boolean contains() function;

        contains($stg,'Arial') would return true

Otherwise use the following string based functions

        string substring-before(string, string)
        string substring-after(string, string)
        string substring(string, number, number?)
        string concat(string, string, string*)
        number string-length(string?)

You might need these as well;

        string normalize-space(string?)
        string translate(string, string, string)

Check out here for specific techniques;

http://www.dpawson.co.uk/xsl/sect2/N7240.html

Otherwise if you want something with regular expressions or more advanced string handling like replacing text check out www.exslt.org.


Gl, Jim Fuller


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




Jim,

specifically I have a attribute that contains many values that I have to break apart and set to individual attribute values so a string that contains "color:#FFFFF;font-family:Arial;font-weight:bold;" I would need to select only the value begining after the : in font-family and ending with;before font-weight.

Do any of the string function above support the functionality I am looking for? Thanks for the tip on the contains function. Already using that function to determine if a attribute string value contains font-family in the first place.

- Scott

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



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


Michael,

your suggestion above worked perfectly. Thank you very much.

- Scott

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



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