User interface

For substitutions, if anyType is the defined type for an element, every other built-in and user-defined type in the schema are valid for this type's substitution.

As there are over forty built-in types, only the user-defined types are included in the GUI’s list of substitutions.

To use a built-in schema type to substitute (for example, xsd:string), you must specify that type by hand.

Note: The substitution of built-in types using the GUI is not supported.

User-defined types that have no base type or whose base type is a built-in type have xsd:xsd:anyType or xsd:anySimpleType as their base type. This is because the only built-in type that may be substituted is xsd:anyType and xsd:anySimpleType.

All other built-in types are blocked from substitution by default.

Examples of user interface representations of wildcard contents

For any, an element is defined by a complex type containing any, such as:
<xs:element name="childAny">
          <xs:complexType>
               <xs:sequence>
                    <xs:any/>
               </xs:sequence>
          </xs:complexType>
</xs:element>

If a namespace constraint is specified, then its value is annotated with any of these possibilities:

  • ##any (##local)
  • ##any (uri1 uri2 uri3 list_of_uris)
  • ##any (##other)
  • ##any (##targetNamespace list_of_uris)
  • ##any (##other <targetNS>) 

    (if targetNamespace is specified in the schema.)

  • ##any (##targetNamespace <targetNS> list_of_uris) 

    (if targetNamespace is specified in the schema.)

For anyAttribute, an element is defined using a type containing xsd:anyAttribute, such as:

<xs:element name="childAnyAttribute">
          <xs:complexType>
               <xs:sequence>
                    .
                    .
                    .
               </xs:sequence>
               <xs:anyAttribute/>
          </xs:complexType>
</xs:element>

If a namespace constraint is specified, then its value is annotated with any of these possibilities:

  • ##anyAttribute (##local)
  • ## anyAttribute (uri1 uri2 uri3)
  • ## anyAttribute (##other)
  • ## anyAttribute (##targetNamespace list_of_uris)
  • ## anyAttribute (##other <targetNS>) 

    (if targetNamespace is specified in the schema.)

  • ## anyAttribute (##targetNamespace <targetNS> list_of_uris) 

    (if targetNamespace is specified in the schema.)

For anyType, an element (for example, childxsd:anyType) is defined using anyType, such as:
<xsd:element name="childAnyType" type="xsd:anyType"/>

Its content is represented as including an optional unbounded sequence of any and xsd:anyAttribute.

For anySimpletype, an element is defined using anySimpletype, such as:

<xsd:element name="childAnySimpleType" type="xsd:anySimpleType"/>