xsl-list
[Top] [All Lists]

Re: [xsl] Could not use matches in Regular Expression (XSLT 2.0)

2010-05-01 09:18:47
The pattern must be a string, so enclose it in apostrophes. (Also,
there is one opening bracket missing.) To have an exact match, use '^'
and '$' to anchor at the beginning and the end. You may simplify using
a repeat count (and \d for digit). All together now:

   matches( ., '^4\d{6}$' )

-W

On Sat, May 1, 2010 at 3:56 PM, Jack Bush 
<netbeansfan(_at_)yahoo(_dot_)com(_dot_)au> wrote:

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






--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--