XML schema wildcard support

Note: All of the schema built-in types are supported for substitution for xsd:anyType and anySimpleType. OCM’s that are compiled from 5.4.1 continue to work as before, without anyType support. Only those schemas that are compiled in 5.6 or later can use type substitution for types defined with anyType. Access to ##any and ##anyAttribute is only available for XML definitions that are compiled in 5.6 and later.

In XML Schema there are structures for targeted flexibility in content models and attribute declarations. This wildcard XML content was not handled fully by versions before 5.6. This content was not addressable within an XLT because there was no deterministic definition of what form this content may take.

There are four XML Schema structures that can have wildcard content:

  • ?any? schema tag

    See http://www.w3.org/TR/xmlschema-1/#Wildcards.

    This tag permits any XML element node content as long as ambiguity constraints are still satisfied. There is also an optional namespace constraint that can be specified in the ?namespace? attribute.

  • ?xsd:anyAttribute? schema tag

    See http://www.w3.org/TR/xmlschema-1/#declare-type.

    This tag permits any XML attribute node content as long as ambiguity constraints are satisfied. Similar to the ?any? tag, there is also an optional namespace constraint.

  • ?anyType? built-in schema type

    See http://www.w3.org/TR/xmlschema-1/#d0e9252.

    With this tag, the element that is defined using this type can use any XML element node or XML attribute node content for this node. This ?anyType? is also the root of all defined types.

  • ?anySimpleType? built-in schema type

    See http://www.w3.org/TR/xmlschema-1/#d0e16395.

    This is the root for all simple types. Any text content is permitted. Node content is not permitted.