[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: check the type of the $pattern argument to a regul
Abel Braaksma wrote: > Andrew Welch 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. > > Nice one! But note that there are quite some differences between Java > regexes and XSLT regexes. You may be able to compile regexes that are > valid in Java (i.e., matching emptiness, but there are also some > syntactic differences), but not valid in XSLT. > > Cheers, > -- Abel Braaksma > > So a similar thing using 'net.sf.saxon.regex.RegularExpression' as the regex class and calling 'compileRegularExpression("][", true, '')' should do the trick, methinks... (BTW, nice solution Andrew :-) -- Ronan Klyne Business Collaborator Developer Tel: +44 (0)870 163 2555 ronan.klyne@xxxxxxxxxxx www.groupbc.com
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|