It seems that the Cleanse shape does not enforce qualifiers that are set on profile elements. Is that true? If it is true, then why aren't the qualifiers enforced? If it isn't true, what could I be doing wrong?
Thanks for taking a look. I'm dumping the cleanse shape as marginally useful. Going use business rule which is much more powerful, flexible and reports all the rule failures, not just the first one encounters. The business rule also allows the developer to define the error message text.
Are you trying to validate that the data in an element matches one of the specified qualifiers? I think the problem is that qualifiers aren't meant to describe "allowed" values for a profile element. They're simply used as a way to create identifier instances.
I'm trying this out to verify I get the same results as you.
Here's what I found:
When importing an XSD file with an enum restriction:
<?xml version="1.0" encoding="UTF-8" ?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="car"> <xs:complexType> <xs:sequence> <xs:element name="manf"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Audi"/> <xs:enumeration value="Golf"/> <xs:enumeration value="BMW"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType></xs:element></xs:schema>
Boomi will automatically populate the Qualifiers section with all enum values:
However, I've verified that the cleanse shape doesn't validate the document contains one of those values. Looks like they're only useful for creating identifier instances. Actually validating the enum string restrictions seems like a good idea to submit.
I did how ever find an interesting bug with the cleanse shape. If you have an xml document with only one element:
<?xml version="1.0" encoding="UTF-8"?><value>TEST</value>
No error is thrown and none of the shape's paths (clean or rejected) are followed.
Retrieving data ...