Schema Elements

The W3C XML Schema Language defines 42 elements, which naturally divide into several categories:

One root element

xs:schema

Three declaration elements

xs:element, xs:attribute, and xs:notation

Eight elements for defining types

xs:complexContent, xs:complexType, xs:extension, xs:list, xs:restriction, xs:simpleContent, xs:simpleType, and xs:union

Seven elements for defining content models

xs:all, xs:any, xs:anyAttribute, xs:attributeGroup, xs:choice, xs:group, and xs:sequence

Five elements for specifying identity constraints

xs:field, xs:key, xs:keyref, xs:selector, and xs:unique

Three elements for assembling schemas out of component parts

xs:import, xs:include, and xs:redefine

Twelve facet elements for constraining simple types

xs:enumeration, xs:fractionDigits, xs:length, xs:maxExclusive, xs:maxInclusive, xs:maxLength, xs:minExclusive, xs:minInclusive, xs:minLength, xs:pattern, xs:totalDigits, and xs:whiteSpace

Three elements for documenting schemas

xs:appinfo, xs:annotation, and xs:documentation

Elements in this section are arranged alphabetically from xs:all to xs:whiteSpace. Each element begins with a sample implementation in the following form:

<xs:elementName
   attribute1 = "allowed attribute values"
   attribute2 = "allowed attribute values"
>
  <!-- Content model -->
</xs:elementName>

Most attribute values can be expressed as one of the 44 XML Schema built-in simple types, such as xs:string, xs:ID, or xs:integer. Values that should be replaced by an instance of the type are italicized. ...

Get XML in a Nutshell, 3rd Edition 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.