Article
Problem
An interesting bug/feature to watch out for in Designer revolves around XML Validation. One of the really nice features in Designer (and iManager as well) is that when you to see a rule you need to use, you can look at the XML view, copy it, and paste it where you need it.
Normally the XML validator is excellent and catches any mistakes, such as missing a closing tag. You know, you copied from <rule> to the end, but forgot to copy the closing </rule> element. (This happens to me a lot!)
What you should be aware of is that the validator is mostly looking for valid XML. You can still paste in 'stupid' XML that will break things. Here is an example:
Stupid XML Trick
I was copying the contents of an entire rule set, but I did not want the <policy> tag with the XML DTD definition at the top. I foolishly copied from the <description> tag to the very end. I pasted that into the middle of an existing Policy object.
So I did not copy the tag to start with, since it already was a policy. But I did grab the <definition> tag.
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE policy PUBLIC "policy-builder-dtd" "/data/programs/designer.201/designer/eclipse/plugins/com.novell.designer.idm.policybuilder_2.0.0.200705161501/DTD/dirxmlscript.dtd"><policy> <description>Transform NMAS attribute to password elements</description> <rule disabled="true"> <description>Convert adds of the nspmDistributionPassword attribute to password elements</description> <conditions> <and> <if-operation op="equal">add</if-operation> <if-op-attr name="nspmDistributionPassword" op="available"/> </and> </conditions> <actions> <!-- Change all add-attr elements for the nspmDistributionPassword attribute to password elements--> <do-set-dest-password> <arg-string> <token-xpath expression="add-attr[@attr-name='nspmDistributionPassword']//value"/> </arg-string> </do-set-dest-password> <!-- Remove all add-attr elements for the nspmDistributionPassword attribute --> <do-strip-op-attr name="nspmDistributionPassword"/> </actions> </rule> </policy>
I got this error message in trace, a new one to me! Too many descriptions - what?
DirXML Log Event ------------------- Driver: \TIDM\US\NYC\idm\treelink\Notes Channel: Subscriber Status: Error Message: Code(-9126) Error in vnd.nds.stream://TIDM/US/NYC/idm/treelink/Notes/Subscriber/Password%28Sub%29-Transform+Distribution+Password#XmlData:61 : Too many 'description' elements specified.
Well, my rule had a bit that looked like this, due to my poor copy:
&l<policy yada...>
<rule>
yada yada yada
</rule>
<description>Transform NMAS attribute to password elements</description>
<rule disabled="true">
<description>Convert adds of the nspmDistributionPassword attribute
to password elements</description>
Solution
You cannot have a <description> element between </rule> and the next <rule>, according to the DirXML engine.
But because it had the </description> closing tag, it was valid XML, and the validator was OK with it.
Thus, you need to watch out for "stupid" mistakes where the problem exists between keyboard and chair (PEBKAC)!
Disclaimer: As with everything else at Cool Solutions, this content is definitely not supported by Novell (so don't even think of calling Support if you try something and it blows up).
It was contributed by a community member and is published "as is." It seems to have worked for at least one person, and might work for you. But please be sure to test, test, test before you do anything drastic with it.
Related Articles
User Comments
You had me...
Submitted by aanthonisse on 11 March 2010 - 7:06am.
Just found out that defining rules with two elements get validated as well, but that does not mean that they work :)
- Be the first to comment! To leave a comment you need to Login or Register


1