You may find it less confusing to put the regular expression in a variable:
<xsl:variable name="regex" select="'(.*)\{\$gemeente\}'"/>
<xsl:analyze-string regex="{$regex}">
Another solution is to write it as regex="{'........'}"
<xsl:analyze-string regex="{'(.*)\{\$gemeente\}'}">
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Paul Hermans [mailto:paul(_dot_)hermans(_at_)amplexor(_dot_)com]
Sent: 22 February 2006 16:42
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] regular expression issue in XSLT 2.0
In this snippet
<xsl:template match="test[matches(.,'(.*)\{\$gemeente\}')]">
<xsl:analyze-string select="." regex="(.*)\{\$gemeente\}">
<xsl:matching-substring>Blah</xsl:matching-substring>
</xsl:analyze-string>
</xsl:template>
The regular expression ((.*)\{\$gemeente\})is accepted within the
matches() function.
However an error is thrown (both in Saxon 8SA and XML Spy) on the same
regular expression within the attribute regex of xsl:analyze-string.
I suppose this has to do with the fact that the regex attribute value
acts as an attribute value template, where the {} braces have specific
semantics.
So
{} meaning attribute value template
{{ }} meaning regex occurrence indicator
But how do you escape then the curly sign as a character?
Regards,
Paul
--~------------------------------------------------------------------
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>
--~--