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.