[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Could not use matches in Regular Expression (XSLT

Subject: Re: Could not use matches in Regular Expression (XSLT 2.0)
From: Jack Bush <netbeansfan@xxxxxxxxxxxx>
Date: Sun, 2 May 2010 20:47:04 -0700 (PDT)
Re:  Could not use matches in Regular Expression (XSLT
Gentlemen,

Thank you very much for your suggestion that has worked perfectly.
I did left out the single quotes in the following line:

<xsl:when
test="$TELEPHONE_AREA_CODE = 'FAIRYLAND'">

It was a midnight cut-and-paste
minor blunder.

Btw, so if I want a combination of 2 pattern matching then it
would be along the line of the following:

          matches( ., '^4\d{6}$ |
^6\d{5}$' ) or <xsl:if test="matches(.,'^4\d{6}$') | matches(.,'^6\d{5}$')">
          matches(., '^4[0-9]{6} | ^6[0-9]{5}') or <xsl:if
test="matches(.,'^4[0-9]{6}') | matches(.,'^6[0-9]{5}">

At the sametime, is
it possible to setup dependencies between multiple pattern matches such as the
following:

          matches( ., '^4\d{6}$ & ^6\d{5}$' ) or <xsl:if
test="matches(.,'^4\d{6}$') & matches(.,'^6\d{5}$')">
          matches(.,
'^4[0-9]{6} & ^6[0-9]{5}') or <xsl:if test="matches(.,'^4[0-9]{6}') &
matches(.,'^6[0-9]{5}">

^6\d{5}$' won't be matched unless '^4\d{6} is
matched? Likewise, the same thing applies to '^4[0-9]{6} followed by
^6[0-9]{5}'?

Many thanks again,

Jack


----- Original Message ----
From:
Wolfgang Laun <wolfgang.laun@xxxxxxxxx>
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Sent: Sun, 2 May, 2010 12:18:21 AM
Subject: Re:  Could not use matches in
Regular Expression (XSLT 2.0)

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@xxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxxx>
>> --~--

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.