Re: [xsl] EXSLT replace to XSLT 2.0 replace

Subject: Re: [xsl] EXSLT replace to XSLT 2.0 replace
From: "Imsieke, Gerrit, le-tex" <gerrit.imsieke@xxxxxxxxx>
Date: Wed, 14 Apr 2010 10:56:36 +0200
Dear Patrick,

in addition to what Wolfgang said:

- There is an undocumented feature in Saxon that will allow you to preserve the passive group (?: ... ): http://www.biglist.com/lists/lists.mulberrytech.com/xsl-list/archives/201002/msg00365.html
- If you change (?: ... ) to ordinary groups, you'll have to increment the backreference numbers to '$2$3$4'



So either: <xsl:value-of select="replace( .,

'(?:(.+@.+\.[a-zA-Z]+)|([\p{Lu}|\p{Ll}]\p{Ll}+)-([\p{Ll}]+))',
                            '$1$2$3',
                            '!'
                          )"/>
or:
    <xsl:value-of select="replace(
                             .,

'((.+@.+\.[a-zA-Z]+)|([\p{Lu}|\p{Ll}]\p{Ll}+)-([\p{Ll}]+))',
                            '$2$3$4'
                          )"/>


Gerrit


On 14.04.2010 10:48, Wolfgang Laun wrote:
Omit the 'g', which replace() does anyway.

Omit the '(?: ... )" from the regular expression. (This is uncounted
grouping, which isn't important here.

The | in  (\p{Lu}|\p{Ll}]  looks suspicious. These are alternatives,
anyway, within []

-W

On Wed, Apr 14, 2010 at 9:48 AM, Szabo, Patrick (LNG-VIE)
<patrick.szabo@xxxxxxxxxxxxx>  wrote:
Hi,

I'm using Saxon 9 and XSLT 2.0

I'm currently updateing a few 1.0 Stylesheets to 2.0.
In one of those Stylesheets i've found this:

<xsl:value-of select="regexp:replace(.,
'(?:(.+@.+\.[a-zA-Z]+)|([\p{Lu}|\p{Ll}]\p{Ll}+)-([\p{Ll}]+))', 'g',
'$1$2$3')"/>

Is there a way to to that in 2.0 without EXSLT ?!
I - of course - wanted to try it with replace() but i cant seem to
figure it out.

best regards...

Patrick Szabo
  XSLT-Entwickler

Tel.: +43 (1) 534 52 - 1573
Fax: +43 (1) 534 52 - 146

Patrick.Szabo@xxxxxxxxxxxxx

LexisNexis Verlag ARD Orac GmbH&  Co KG
Marxergasse 25, 1030 Wien
FN 8333f, Handelsgericht Wien
http://www.lexisnexis.at/


-- Gerrit Imsieke Geschdftsf|hrer / Managing Director le-tex publishing services GmbH Weissenfelser Str. 84, 04229 Leipzig, Germany Phone +49 341 355356 110, Fax +49 341 355356 510 gerrit.imsieke@xxxxxxxxx, http://www.le-tex.de

Registergericht / Commercial Register: Amtsgericht Leipzig
Registernummer / Registration Number: HRB 24930

Geschdftsf|hrer: Gerrit Imsieke, Svea Jelonek,
Thomas Schmidt, Dr. Reinhard Vvckler

Current Thread