Subject: Re: [xsl] {} quantifiers in regex From: "Manfred Staudinger" <manfred.staudinger@xxxxxxxxx> Date: Sat, 12 Jan 2008 23:39:32 +0100 |
The regex attribute is an attribute value template, so curly braces must be doubled: <xsl:analyze-string select="$this-duration" regex="((\d{{2}}):)?(\d{{2}}):\d{{2}}"> Manfred On 12/01/2008, Geert Bormans <geert@xxxxxxxxxxxxxxxxxxx> wrote: > Hi all, > > I have this XML > <?xml version="1.0" encoding="UTF-8"?> > <test>43:12</test> > > and this non working XSLT > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> > <xsl:template match="test"> > <xsl:variable name="this-duration" select="."/> > <xsl:analyze-string select="$this-duration" > regex="((\d{2}):)?(\d{2}):\d{2}"> > <xsl:matching-substring> > <xsl:value-of select="regex-group(3)"></xsl:value-of> > </xsl:matching-substring> > </xsl:analyze-string> > </xsl:template> > </xsl:stylesheet> > > If I change it to this > (removing \d{2} in favour of \d\d) > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> > <xsl:template match="test"> > <xsl:variable name="this-duration" select="."/> > <xsl:analyze-string select="$this-duration" regex="((\d\d):)?(\d\d):\d\d"> > <xsl:matching-substring> > <xsl:value-of select="regex-group(3)"></xsl:value-of> > </xsl:matching-substring> > </xsl:analyze-string> > </xsl:template> > </xsl:stylesheet> > > it works > > Am I overlooking something? > I am using Saxon 9B in Oxygen, > I had the same issue with older versions, but failed to report it > > thanks > > Geert
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] {} quantifiers in regex, Geert Bormans | Thread | Re: [xsl] {} quantifiers in regex, Jesper Tverskov |
[xsl] {} quantifiers in regex, Geert Bormans | Date | Re: [xsl] {} quantifiers in regex, Jesper Tverskov |
Month |