Re: [xsl] Regex in @select Escaping Puzzle

Subject: Re: [xsl] Regex in @select Escaping Puzzle
From: "Eliot Kimber ekimber@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 16 Aug 2020 18:03:00 -0000
Thanks--Martin's solution seems like the easiest to work with and it works for
me. I didn't even consider putting the expression into a variable to avoid the
worst of the double escaping heck.

Cheers,

E.

--
Eliot Kimber
http://contrext.com


o;?On 8/16/20, 11:15 AM, "Martin Honnen martin.honnen@xxxxxx"
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:

    Am 16.08.2020 um 18:06 schrieb Martin Honnen martin.honnen@xxxxxx:

    > Part of the problem I think is that the "regexp" attribute of
    > "xsl:analyze-string" allows attribute value templates so you either
have
    > to double curly braces or better declare your pattern as a parameter or
    > variable before the element e.g. using Michael's suggestion
    >
    >    <xsl:param name="pattern"
    > as="xs:string">\{\{image_[^}]+\}\}([^{]+)\{\{/image\}\}</xsl:param>

    And to be safe in XSLT 3 in any context you probably want

    <xsl:param name="pattern"
    as="xs:string"
    expand-text="no">\{\{image_[^}]+\}\}([^{]+)\{\{/image\}\}</xsl:param>


    otherwise the use of expand-text="yes" higher up the tree causes the
    same problem you run in with using the regular expression in the
attribute.

Current Thread