Hi!

I've got I problem, with the Replace All function in Designer(Version:
2.0.0, Build id: 20070315).

Somehow it seems to me that it ignores the case of the letters it should
replace.
i.e:


<do-set-local-variable name="cleanedGN">
<arg-string>
<token-replace-all regex="[]" replace-with="Ae">
<token-replace-all regex="[]" replace-with="ae">
<token-xpath
expression="normalize-space(./add-attr[@attr-name='Given Name']/value)"/>
</token-replace-all>
</token-replace-all>
</arg-string>
</do-set-local-variable>

Does this:


<?xml version="1.0" encoding="UTF-8"?><nds dtdversion="3.0"
ndsversion="8.x">
<source>
<product version="3.0.0.20051118 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add class-name="User"
src-dn="\FSTEST_DIT\DE\Fraunhofer\ZV\Test\People\Liese lotte Pulver"
src-entry-id="41437">
<add-attr attr-name="Given Name">
<value timestamp="1158925342#18" type="string">Test-,,,,,</value>
</add-attr>
<add-attr attr-name="Internet EMail Address">
<value timestamp="1158925342#19"
type="string">liese@lab.bi.fraunhofer.de</value>
</add-attr>
<add-attr attr-name="Surname">
<value timestamp="1158925342#14" type="string">Pulver</value>
</add-attr>
</add>
</input>
</nds>
ActiveThreeDev_v05 :Applying policy: %+C%14Cmatching-2-pruefeGivenName%-C.
ActiveThreeDev_v05 : Applying to add #1.
ActiveThreeDev_v05 : Evaluating selection criteria for rule 'Pruefe
die Anzahl der Werte in Given Name'.
ActiveThreeDev_v05 : (if-class-name equal "User") = TRUE.
ActiveThreeDev_v05 : (if-operation equal "add") = TRUE.
ActiveThreeDev_v05 : (if-op-attr 'Given Name' available) = TRUE.
ActiveThreeDev_v05 : Rule selected.
ActiveThreeDev_v05 : Applying rule 'Pruefe die Anzahl der Werte in
Given Name'.
ActiveThreeDev_v05 : Action:
do-set-local-variable("anzahl",token-xpath("count(add-attr[@attr-name =
'Given Name']/value)")).
ActiveThreeDev_v05 :
arg-string(token-xpath("count(add-attr[@attr-name = 'Given Name']/value)"))
ActiveThreeDev_v05 : token-xpath("count(add-attr[@attr-name =
'Given Name']/value)")
ActiveThreeDev_v05 : Token Value: "1".
ActiveThreeDev_v05 : Arg Value: "1".
ActiveThreeDev_v05 : Action:
do-set-local-variable("givennameValue",token-xpath("./add-attr[@attr-name
= 'Given Name']/value")).
ActiveThreeDev_v05 :
arg-string(token-xpath("./add-attr[@attr-name = 'Given Name']/value"))
ActiveThreeDev_v05 : token-xpath("./add-attr[@attr-name =
'Given Name']/value")
ActiveThreeDev_v05 : Token Value: "Test-,,,,,".
ActiveThreeDev_v05 : Arg Value: "Test-,,,,,".
ActiveThreeDev_v05 : Evaluating selection criteria for rule 'wenn das
Ergebnis leer ist'.
ActiveThreeDev_v05 : (if-class-name equal "User") = TRUE.
ActiveThreeDev_v05 : (if-operation equal "add") = TRUE.
ActiveThreeDev_v05 : (if-op-attr 'Given Name' available) = TRUE.
ActiveThreeDev_v05 : (if-local-variable 'givennameValue' equal "")
= FALSE.
ActiveThreeDev_v05 : Rule rejected.
ActiveThreeDev_v05 : Evaluating selection criteria for rule 'Wenn die
Anzahl groesser als 1 ist, veto und Mail verschicken'.
ActiveThreeDev_v05 : (if-class-name equal "User") = TRUE.
ActiveThreeDev_v05 : (if-operation equal "add") = TRUE.
ActiveThreeDev_v05 : (if-op-attr 'Given Name' available) = TRUE.
ActiveThreeDev_v05 : (if-xpath true "$anzahl > 1") = FALSE.
ActiveThreeDev_v05 : Rule rejected.
ActiveThreeDev_v05 : Evaluating selection criteria for rule 'Pruefe
ob GN laenger als 64 Zeichen ist'.
ActiveThreeDev_v05 : (if-class-name equal "User") = TRUE.
ActiveThreeDev_v05 : (if-xpath true
"string-length(./child::add-attr[@attr-name='Given Name']/value) >
'64'") = FALSE.
ActiveThreeDev_v05 : Rule rejected.
ActiveThreeDev_v05 : Evaluating selection criteria for rule 'Wenn es
genau einen Given Name gibt'.
ActiveThreeDev_v05 : (if-class-name equal "User") = TRUE.
ActiveThreeDev_v05 : (if-operation equal "add") = TRUE.
ActiveThreeDev_v05 : (if-op-attr 'Given Name' available) = TRUE.
ActiveThreeDev_v05 : (if-xpath true "$anzahl = 1") = TRUE.
ActiveThreeDev_v05 : Rule selected.
ActiveThreeDev_v05 : Applying rule 'Wenn es genau einen Given Name gibt'.
ActiveThreeDev_v05 : Action:
do-set-local-variable("cleanedGN",token-replace-all("[]","Ae",token-replace-all("[]","ae",token-xpath("normalize-space(./add-attr[@attr-name='Given
Name']/value)")))).
ActiveThreeDev_v05 :
arg-string(token-replace-all("[]","Ae",token-replace-all("[]","ae",token-xpath("normalize-space(./add-attr[@attr-name='Given
Name']/value)"))))
ActiveThreeDev_v05 :
token-replace-all("[]","Ae",token-replace-all("[]","ae",token-xpath("normalize-space(./add-attr[@attr-name='Given
Name']/value)")))
ActiveThreeDev_v05 :
token-replace-all("[]","Ae",token-replace-all("[]","ae",token-xpath("normalize-space(./add-attr[@attr-name='Given
Name']/value)")))
ActiveThreeDev_v05 :
token-replace-all("[]","ae",token-xpath("normalize-space(./add-attr[@attr-name='Given
Name']/value)"))
ActiveThreeDev_v05 :
token-replace-all("[]","ae",token-xpath("normalize-space(./add-attr[@attr-name='Given
Name']/value)"))
ActiveThreeDev_v05 :
token-xpath("normalize-space(./add-attr[@attr-name='Given Name']/value)")
ActiveThreeDev_v05 : Token Value: "Test-,,,,,".
ActiveThreeDev_v05 : Arg Value: "Test-,,,,,".
ActiveThreeDev_v05 : Token Value: "Test-ae,ae,,,,".
ActiveThreeDev_v05 : Arg Value: "Test-ae,ae,,,,".
ActiveThreeDev_v05 : Token Value: "Test-ae,ae,,,,".
ActiveThreeDev_v05 : Arg Value: "Test-ae,ae,,,,".
ActiveThreeDev_v05 : Action: do-reformat-op-attr("Given
Name",token-local-variable("cleanedGN")).
ActiveThreeDev_v05 : arg-string(token-local-variable("cleanedGN"))
ActiveThreeDev_v05 : token-local-variable("cleanedGN")
ActiveThreeDev_v05 : Token Value: "Test-ae,ae,,,,".
ActiveThreeDev_v05 : Arg Value: "Test-ae,ae,,,,".
ActiveThreeDev_v05 : Action: do-break().
ActiveThreeDev_v05 :Policy returned:
ActiveThreeDev_v05 :
<nds dtdversion="3.0" ndsversion="8.x">
<source>
<product version="3.0.0.20051118 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add class-name="User"
src-dn="\FSTEST_DIT\DE\Fraunhofer\ZV\Test\People\Liese lotte Pulver"
src-entry-id="41437">
<add-attr attr-name="Given Name">
<value>Test-ae,ae,,,,</value>
</add-attr>
<add-attr attr-name="Internet EMail Address">
<value timestamp="1158925342#19"
type="string">liese@lab.bi.fraunhofer.de</value>
</add-attr>
<add-attr attr-name="Surname">
<value timestamp="1158925342#14" type="string">Pulver</value>
</add-attr>
</add>
</input>
</nds>




My expected result was:


<add-attr attr-name="Given Name">
<value>Test-Ae,ae,,,,</value>
</add-attr>



When I use hexcodes except of 'normal' letters, its the same. He matches
\xC4 () and \xE4 () and replaces it with 'ae'.

If I change the order of the two Replace Alls, result is:

<add-attr attr-name="Given Name">
<value>Test-Ae,Ae,,,,</value>
</add-attr>



So what am I doing wrong?
Is it not possible to nest them?


Regards,
Christine