XML Schema


  • An XML Schema describes the structure of an XML document, just like a DTD.
  • An XML document with correct syntax is called "Well Formed".
  • An XML document validated against an XML Schema is both "Well Formed" and "Valid".

XML Schema

XML Schema is an XML-based alternative to DTD:
<xs:element name="note">

<xs:complexType>
  <xs:sequence>
    <xs:element name="to" type="xs:string"/>
    <xs:element name="from" type="xs:string"/>
    <xs:element name="heading" type="xs:string"/>
    <xs:element name="body" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

</xs:element>
The Schema above is interpreted like this:
  • <xs:element name="note"> defines the element called "note"
  • <xs:complexType> the "note" element is a complex type
  • <xs:sequence> the complex type is a sequence of elements
  • <xs:element name="to" type="xs:string"> the element "to" is of type string (text)
  • <xs:element name="from" type="xs:string"> the element "from" is of type string
  • <xs:element name="heading" type="xs:string"> the element "heading" is of type string
  • <xs:element name="body" type="xs:string"> the element "body" is of type string

XML Schemas are More Powerful than DTD

  • XML Schemas are written in XML
  • XML Schemas are extensible to additions
  • XML Schemas support data types
  • XML Schemas support namespaces

Why Use an XML Schema?

With XML Schema, your XML files can carry a description of its own format.
With XML Schema, independent groups of people can agree on a standard for interchanging data.
With XML Schema, you can verify data.

XML Schemas Support Data Types

One of the greatest strength of XML Schemas is the support for data types:
  • It is easier to describe document content
  • It is easier to define restrictions on data
  • It is easier to validate the correctness of data
  • It is easier to convert data between different data types

XML Schemas use XML Syntax

Another great strength about XML Schemas is that they are written in XML:
  • You don't have to learn a new language
  • You can use your XML editor to edit your Schema files
  • You can use your XML parser to parse your Schema files
  • You can manipulate your Schemas with the XML DOM
  • You can transform your Schemas with XSLT