XML Schema

To describe the structure of an XML document, similar to a DTD, an XML Schema is used. A DTD or Document Type Definition is also used to define the structure and the legal elements and attributes of an XML document. A “Well Formed” XML document is the one with correct syntax, while an XML document validated against an XML Schema is both “Well Formed” and “Valid”.

XML Schema:

An XML-based alternative to DTD is what an XML Schema can be simply understood as.

Example: XML Document

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<note>
<to>Sapna</to>
<from>Tom</from>
<heading>Meeting</heading>
Meeting on Monday Morning at 9 AM.
</note>
<note> <to>Sapna</to> <from>Tom</from> <heading>Meeting</heading> Meeting on Monday Morning at 9 AM. </note>

Sapna
Tom
Meeting
Meeting on Monday Morning at 9 AM.

Example:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<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:element></xs:element></xs:element></xs:element></xs:sequence>
</xs:complextype>
</xs:element>
<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:element></xs:element></xs:element></xs:element></xs:sequence> </xs:complextype> </xs:element>



  
    
    
    
    
  



Explanation:

Interpretation of the above Schema:

  • <xs:element name=”note”>: Used to define the element called “note”.
  • <xs:complexType>: Used to define that the “note” element is a complex type.
  • <xs:sequence>: Used to define that the complex type is a sequence of elements.
  • <xs:element name=”to” type=”xs:string”>: Used to define that the element “to” is of type string (text).
  • <xs:element name=”from” type=”xs:string”>: Used to define that the element “from” is of type string.
  • <xs:element name=”heading” type=”xs:string”>: Used to define that the element “heading” is of type string.
  • <xs:element name=”body” type=”xs:string”>: Used to define that the element “body” is of type string.

Advantages of XML Schemas over 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?

The XML files with XML Schema can carry a description of its format. Along with verifying data, independent groups of people can also agree on a standard for interchanging data with XML Schema.

XML Schemas Support Data Types:

The support for data types is one of the greatest advantages of XML Schemas because of the below reasons:

  • Easy to describe document content.
  • Easy to define restrictions on data.
  • Easy to validate the correctness of data.
  • Easy to convert data between different data types.

XML Schemas use XML Syntax:

The XML Schemas are written in XML and that is another great advantage of XML Schemas because of the below reasons:

  • No need to learn a new language.
  • The XML editor can be used to edit the Schema files.
  • The XML parser can be used to parse the Schema files.
  • The Schemas can be manipulated with the XML DOM.
  • The Schemas can be transformed with XSLT.