Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - Re: [xsl] Escaping Curly Braces in Regex [Thread Next] Re: [xsl] Escaping Curly Braces in RegexTo: xsl-list@-----.------------.--- Date: 10/1/2009 12:02:00 PM rowan@s... wrote:
> I found it very confusing that one requires the {} to be doubled and the
> other doesn't. Where is it documented which attributes require braces to be
> doubled up and which do not?
If you look at
http://www.w3.org/TR/xslt20/#analyze-string
then it has the following definition:
<xsl:analyze-string
select = expression
regex = { string }
flags? = { string }>
<!-- Content: (xsl:matching-substring?, xsl:non-matching-substring?,
xsl:fallback*) -->
</xsl:analyze-string>
so the attribute definition in the form of
regex = { string }
shows you that an attribute value template is expected while
select = expression
only takes an XPath expression.
There is even a prose warning note in there:
Because the regex attribute is an attribute value template, curly
brackets within the regular expression must be doubled. For example, to
match a sequence of one to five characters, write regex=".{{1,5}}". For
regular expressions containing many curly brackets it may be more
convenient to use a notation such as
regex="{'[0-9]{1,5}[a-z]{3}[0-9]{1,2}'}", or to use a variable.
--
Martin Honnen
http://msmvps.com/blogs/martin_honnen/
--~------------------------------------------------------------------
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@l...>
--~--
| ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
