XMLAnyAttribute
Map a one-dimensional dynamic array to wildcard XML attributes.
Example
DEFINE myVar RECORD ATTRIBUTES(XMLName="Root", XMLNamespace="http://tempuri.org")
val1 INTEGER ATTRIBUTES(XMLName="Val1"),
val2 FLOAT ATTRIBUTES(XMLName="Val2"),
attr STRING ATTRIBUTES(XMLName="Attr", XMLAttribute),
any DYNAMIC ARRAY ATTRIBUTES(XMLAnyAttribute, XMLNamespace="##other")OF RECORD
ns STRING,
name STRING,
value STRING
END RECORD
END RECORD
<pre:Root xmlns:pre="http://tempuri.org" pre:Attr="10"
xmlns:pre2="http://www.mycompany.com" pre2:AnyAttr1="10" pre2:AnyAttr2="">
<pre:Val1>148</pre:Val1>
<pre:Val2>0.58</pre:Val2>
</pre:Root>
Note:
- The attribute XMLAnyAttribute is only allowed on a one-dimensional dynamic array of a record with three members of type STRING. The first member is for the namespace of the wildcard attribute, the second member is for the name of the wildcard attribute, and the third member is for the value of the wildcard attribute. The name cannot be null.
- Associated with the XMLAnyAttribute, the XMLNamespace attribute requires either:
- A list of space-separated URIs to accept each attribute belonging to one of the namespace URIs as a wildcard attribute.
- The value ##any to accept any attribute as a wildcard attribute.
- The value ##other to accept any attribute not in the main schema namespace as a wildcard attribute.
For example:- If XMLNamespace="http://tmpuri.org http://www.mycompany.com", then only the attributes belonging to one of those namespaces will be accepted and serialized (or deserialized) into the array.
- If XMLNamespace="##any", then any attribute will be accepted and serialized (or deserialized) into the array.
- If XMLNamespace="##other", then any attributes not belonging to the targetNamespace of the XML Schema where the anyAttribute definition is used will be accepted and serialized (or deserialized) into the array.