Subject: RE: [xsl] Pattern Matching a sting value From: "Kenny Akridge" <kakridge@xxxxxxxxxxxxx> Date: Thu, 5 Feb 2004 21:35:23 -0500 |
Jim is right... you need to substring. This will work: <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="string"> <xsl:call-template name="extractor"> <xsl:with-param name="string" select="'font-family:'"/> </xsl:call-template> </xsl:template> <xsl:template name="extractor"> <xsl:param name="string"/> <xsl:value-of select="substring-before(substring-after(., $string), ';')"/> </xsl:template> </xsl:stylesheet> -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of scott gabelhart Sent: Thursday, February 05, 2004 9:06 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Pattern Matching a sting value Jim Fuller wrote: >>[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of >>scott gabelhart >>Sent: 06 February 2004 01:14 >>To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx >>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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Pattern Matching a sting , scott gabelhart | Thread | Re: [xsl] Pattern Matching a sting , scott gabelhart |
Re: [xsl] Pattern Matching a sting , scott gabelhart | Date | Re: [xsl] Apply Template based on p, Karl J. Stubsjoen |
Month |