xsl-list
[Top] [All Lists]

RE: regular expression issue in XSLT 2.0

2006-02-22 11:09:49
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>
--~--



<Prev in Thread] Current Thread [Next in Thread>