Name

xs:extension(simple content) — Extension of a simple content model.

Synopsis

<xs:extension
           base          = xs:QName
           id          = xs:ID
           {any attributes with non-schema namespace}
           >
           Content: (xs:annotation?, ((xs:attribute | xs:attributeGroup)*,                      xs:anyAttribute?))
</xs:extension>

May be included in: xs:simpleContent

Description

This element is used to extend either a simple type or a simple content complex type into a simple content complex type (i.e., the content model of an element with a text nodes and some attributes). The type to extend is specified in the base attribute, and the list of the attributes to add to the content model is given as xs:attributes, xs:attributeGroup, and xs:anyAttribute embedded in the xs:extension element.

Such a derivation by extension of a simple type is the only way to create a complex type simple content content model.

Restrictions

The definition of the base type cannot be embedded in the xs:extension element, and the base type needs to be a global type.

The same element name (xs:extension) is used by W3C XML Schema for the extension of simple content and complex content complex types with a different content model.

Example

<xs:element name="title">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="string255">
        <xs:attribute ref="lang"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Attributes

base

Qualified name of the base type (simple type or simple content complex type).

id

W3C XML Schema’s element ID.

Get XML Schema now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.