Hello,

I'm trying to use IDM 3.5 Generic Resource object to create a
dictionary of "bad" user IDs. When I read it from the policy
(DirXML-Data attribute) it comes back as an octet type. See the XML
code and the trace:

<do-set-local-variable name="diction-word" scope="policy">
<arg-string>
<token-base64-decode charset="UTF-8">
<token-src-attr class-name="DirXML-Resource" name="DirXML-Data">
<arg-dn>
<token-text
xml:space="preserve">caa\Services\IDV-DriverSet\CAA-IDV-BUSINESS-LOGIC\UserID-Dict</token-text>
</arg-dn>
</token-src-attr>
</token-base64-decode>
</arg-string>
</do-set-local-variable>
<do-trace-message level="0">
<arg-string>
<token-text xml:space="preserve">Diction Words: </token-text>
<token-local-variable name="diction-word"/>
<token-text xml:space="preserve"> User ID: </token-text>
<token-local-variable name="user-id"/>
</arg-string>
</do-trace-message>
<do-set-local-variable name="diction-node" scope="policy">
<arg-node-set>
<token-split delimiter="|">
<token-local-variable name="diction-word"/>
</token-split>
</arg-node-set>
</do-set-local-variable>


<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.5.1.20070411 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<instance class-name="DirXML-Resource"
qualified-src-dn="O=caa\OU=Services\CN=IDV-DRIVERSET\CN=CAA-IDV-BUSINESS-LOGIC\CN=UserID-Dict"
src-dn="\IDV_LAB\caa\Services\IDV-DRIVERSET\CAA-IDV-BUSINESS-LOGIC\UserID-Dict"
src-entry-id="32912">
<attr attr-name="DirXML-Data">
<value timestamp="1184349262#7"
type="octet">YmFkfGFzc3xmdWN8Zm9vfG1vb3x0b298amxkf A==</value>
</attr>
</instance>
<status level="success"></status>
</output>
</nds>

Next, I decode it with Base64 Decode function, and it looks OK in
trace, but then it's not clear whether it a string or a node type:

ST: Token Value: "YmFkfGFzc3xmdWN8Zm9vfG1vb3x0b298amxkfA==".
ST: Arg Value: "YmFkfGFzc3xmdWN8Zm9vfG1vb3x0b298amxkfA==".
ST: Token Value: "bad|ass|fuc|foo|moo|too|jld|".
ST: Arg Value: "bad|ass|fuc|foo|moo|too|jld|".
ST: Action: do-trace-message(level="0","Diction Words:
"+token-local-variable("diction-word")+" User ID:
"+token-local-variable("user-id")).
ST: arg-string("Diction Words:
"+token-local-variable("diction-word")+" User ID:
"+token-local-variable("user-id"))
ST: token-text("Diction Words: ")
ST: token-local-variable("diction-word")
ST: Token Value: "bad|ass|fuc|foo|moo|too|jld|".
ST: token-text(" User ID: ")
ST: token-local-variable("user-id")
ST: Token Value: "jld".
ST: Arg Value: "Diction Words: bad|ass|fuc|foo|moo|too|jld| User ID:
jld".
STiction Words: bad|ass|fuc|foo|moo|too|jld| User ID: jld
ST: Action:
do-set-local-variable("diction-node",scope="policy",arg-node-set(token-split("|",token-local-variable("diction-word")))).
ST:
arg-node-set(token-split("|",token-local-variable("diction-word")))
ST: token-split("|",token-local-variable("diction-word"))
ST: token-split("|",token-local-variable("diction-word"))
ST: token-local-variable("diction-word")
ST: Token Value: "bad|ass|fuc|foo|moo|too|jld|".
ST: Arg Value: "bad|ass|fuc|foo|moo|too|jld|".
ST: Token Value:
{"","b","a","d","|","a","s","s","|","f","u","c","| ","f","o","o","|","m","o","o","|","t","o","o","|", "j","l","d","|",""}.
ST: Arg Value:
{"","b","a","d","|","a","s","s","|","f","u","c","| ","f","o","o","|","m","o","o","|","t","o","o","|", "j","l","d","|",""}.

The Split function does strange thing splitting it by letter and not
at the delimiter.

Any suggestions would be appreciated.

Slava.