|
Subject: RE: [xsl] Could not use matches in Regular Expression (XSLT 2.0) From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sat, 1 May 2010 15:12:10 +0100 |
I find it hard to believe that this stylesheet delivered anything other than
an error: the regular expression needs to be in quotes (as a string literal)
and it's also missing an opening square bracket. If you want the 4 to be at
the start, you should also anchor it to the start: matches(., '^4[0-9]{6}')
Regards,
Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay
> -----Original Message-----
> From: Jack Bush [mailto:netbeansfan@xxxxxxxxxxxx]
> Sent: 01 May 2010 14:56
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Could not use matches in Regular Expression (XSLT 2.0)
>
> Hi Forum members,
>
> I
> am new to XSLT 2.0 and would like to do the following basic
> numeric string pattern matching using regular expression:
>
> <xsl:template match="ns:p[ns:strong='Telephones:']">
> <xsl:choose>
> < -- If global parameter $TELEPHONE_AREA_CODE equals to
> FAIRYLAND -->
> <xsl:when test="$TELEPHONE_AREA_CODE = ''FAIRYLAND">
> <xsl:for-each select="ns:a">
> <-- Only accept the phone number that starts with 4
> follow by six digits.... --->
> <xsl:if test="matches(.,4[0-9][0-9][0-9]0-9][0-9][0-9])">
> <phone_number><xsl:value-of select='.'/></phone_number>
> </xsl:if>
> </xsl:for-each>/>
> ......
>
> However, it is picking up phone numbers starting with 1
> instead. Also tried the starts-with() with the same outcomes.
>
> I am using JDK1.6.19, Netbeans 6.7, JDOM 1.1, Saxon 9.1 on Windows XP.
>
> Your assistance would be much appreciated.
>
> Thanks in advance,
>
> Jack
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Could not use matches in Regu, Jack Bush | Thread | Re: [xsl] Could not use matches in , Wolfgang Laun |
| [xsl] Could not use matches in Regu, Jack Bush | Date | Re: [xsl] Could not use matches in , Wolfgang Laun |
| Month |