xsl-list
[Top] [All Lists]

RE: [xsl] check the type of the $pattern argument to a regular expression?

2007-04-16 15:50:08
There's a large common subset. In the regex appendix of my XPath 2.0
Programmer's Reference there's a list of the main things you'll find in Java
regexes that aren't in XPath. Of course there are also differences with .NET
regexes, perl regexes and so on. XPath has left out some things that aren't
relevant to Unicode, some things that are simply legacy (like octal
character escapes), some things that aren't relevant to the three regex
functions matches(), replace(), and tokenize(), some things that are
hopelessly ill-specified, some things that are excessively oriented to US
English text.

Michael Kay
http://www.saxonica.com/

-----Original Message-----
From: bryan rasmussen [mailto:rasmussen(_dot_)bryan(_at_)gmail(_dot_)com] 
Sent: 16 April 2007 13:53
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] check the type of the $pattern argument to 
a regular expression?

Is there a concise description somewhere as to how they 
differ, are there a large number of xslt regular expressions 
that are compatible with Java regular expressions or are they 
basically incompatible? I would suppose the main difference 
is that XSL-T regular expressions are Unicode compatible 
regex's  - correct?

Cheers,
Bryan Rasmussen

On 4/16/07, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
This is one way to way check if a pattern is valid:

<xsl:stylesheet version="2.0"
      xmlns:regex="java.util.regex.Pattern"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
      xmlns:saxon="http://saxon.sf.net/";>

<xsl:template match="/">
      <xsl:value-of select="saxon:try(regex:compile(']['),
'false')"/> </xsl:template>

</xsl:stylesheet>

This attempts to compile the regex using Java, and catches the 
PatternSyntaxException using Saxon SA's saxon:try() function.  In 
this case it returns "false" because "][" is invalid.

Java regular expressions and XPath regular expressions are not the 
same thing!

Michael Kay
http://www.saxonica.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>
--~--



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