XML Schema anyAttribute Element

Definition and Usage

The anyAttribute element enables the author to extend the XML document with attributes not specified by the schema.

Element Information

  • Parent elements: complexType, restriction (both simpleContent and complexContent), extension (both simpleContent and complexContent), attributeGroup


any attributes



(The ? sign declares that the element can occur zero or one time inside the anyAttribute element)

Attribute Description
id Optional. Specifies a unique ID for the element
namespace Optional. Specifies the namespaces containing the attributes that can be used. Can be set to one of the following:
  • ##any - attributes from any namespace is allowed (this is default)
  • ##other - attributes from any namespace that is not the namespace of the parent element can be present
  • ##local - attributes must come from no namespace
  • ##targetNamespace - attributes from the namespace of the parent element can be present
  • List of {URI references of namespaces, ##targetNamespace, ##local} - attributes from a space-delimited list of the namespaces can be present
processContents Optional. Specifies how the XML processor should handle validation against the elements specified by this any element. Can be set to one of the following:
  • strict - the XML processor must obtain the schema for the required namespaces and validate the elements (this is default)
  • lax - same as strict but; if the schema cannot be obtained, no errors will occur
  • skip - The XML processor does not attempt to validate any elements from the specified namespaces
any attributes Optional. Specifies any other attributes with non-schema namespace

Example 1

The following example shows a declaration for an element called "person". By using the <anyAttribute> element the author can add any number of attributes to the "person" element:

<xs:element name="person">
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>