I'm confused and need help on the following.
To copy and parse a string from the source attribute (multivalue) and
to copy it to another attribute, I've included the following code.
It loops through the multipule values by a Xpath expression. When I use
the xpath editor and have it fed with the input nds event source xml
file (which i'v copied from the log of the actual event), it displays
the "<value>" nodes like expected. With a single attribute value it
finds one item, and a modify with 2 elements (like the example below),
it displays 2 items.
All so far so good; However, when I test it on the system and add the
values to the attribute "aoUserRoleRelations", (exactly the same modify
xml as the one I've used in designer) the xpath expression does not work
and the resulting node-set stays empty.
I've tried 2 xpath expressions which I believe to work.
I must am doing something wrong, but can't see what.
What would be the best way to loop over a modify with multiple values?
any help welcome,
Greetings,
Sander

Xpath expressions configured in the XPATH editor return the correct
items:
descendant-or-self::modify-attr[@attr-name='aoUserRoleRelations']/*/value
Item Location
element("value") line (0}
element("value") line (0}

.//*/modify-attr/add-value/value
Item Location
element("value") line (0}
element("value") line (0}

Input xml for the modify (modify of GoO_2[aoUserRoleRelations])
<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.5.10.20070918 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<modify cached-time="20080128191926.549Z"
class-name="aoGroupOfObjects" event-id="nlxidm01_01#20080128191926#1#1"
qualified-src-dn="O=ao\OU=vault\OU=aoRBACstorage\OU=groupofobjec ts\CN=GoO_2"
src-dn="\IAARBAC_DEV\ao\vault\aoRBACstorage\groupofobj ects\GoO_2"
src-entry-id="34404" timestamp="1201547966#9">
<association
state="associated">\IAARBAC_DEV\ao\vault\aoRBACsto rage\groupofobjects\GoO_2</association>
<modify-attr attr-name="aoUserRoleRelations">
<add-value>
<value timestamp="1201547966#8" type="string">Test1</value>
</add-value>
<add-value>
<value timestamp="1201547966#9" type="string">Test2</value>
</add-value>
</modify-attr>
</modify>
</input>
</nds>

Exerpt of log file, both xpath expressions return simular logging:
empty token.
[01/28/08 20:19:26.597]:PostProcessing ST:Applying policy:
%+C%14CtranslateUserRole%-C.
[01/28/08 20:19:26.598]:PostProcessing ST: Applying to modify #1.
[01/28/08 20:19:26.599]:PostProcessing ST: Evaluating selection
criteria for rule 'filterOnUserRoleAttribute'.
[01/28/08 20:19:26.600]:PostProcessing ST: (if-class-name equal
"aoGroupOfObjects") = TRUE.
[01/28/08 20:19:26.600]:PostProcessing ST: (if-op-attr
'aoUserRoleRelations' available) = TRUE.
[01/28/08 20:19:26.601]:PostProcessing ST: (if-op-attr
'aoUserRoleRelations' changing) = TRUE.
[01/28/08 20:19:26.602]:PostProcessing ST: Rule selected.
[01/28/08 20:19:26.602]:PostProcessing ST: Applying rule
'filterOnUserRoleAttribute'.
[01/28/08 20:19:26.603]:PostProcessing ST: Action:
do-for-each(arg-node-set(token-xpath(".//*/modify-attr/add-value/value"))).
[01/28/08 20:19:26.604]:PostProcessing ST:
arg-node-set(token-xpath(".//*/modify-attr/add-value/value"))
[01/28/08 20:19:26.604]:PostProcessing ST:
token-xpath(".//*/modify-attr/add-value/value")
[01/28/08 20:19:26.605]:PostProcessing ST: Token Value: {}.
[01/28/08 20:19:26.606]:PostProcessing ST: Arg Value: {}.


--
sander
------------------------------------------------------------------------
sander's Profile: http://forums.novell.com/member.php?userid=2957
View this thread: http://forums.novell.com/showthread.php?t=309384