XML Schema
XML Scheme commonly known as XML Schema Definition. It is used to describe the elements and attribute for a class of XML document. They can also specifies the structure of an XML document. It is similar to a database schema that describes the data in a database. Syntax
<xs: schema xmlns:xs="http://www.w3.org/2001/XML Schema">
Example of schema file.
student.xsd<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://www.tutorialandexample.com"
xmlns="https://www.tutorialandexample.com"
elementFormDefault="qualified">
<xs:element name="student">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string" />
<xs:element name="lastname" type="xs:string" />
<xs:element name="address" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0"?>
<student
xmlns="https://www.tutorialandexample.com"
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation="https://www.tutorialandexample.com student.xsd">
<firstname>Ajay</firstname>
<lastname>Singh</lastname>
<address>2/4 A Minto road Civil lines Allahabad</address>
</student>
Types of Scheme
There are two types of XML SchemeSimple Type Complex typeSimple Type use only text based elements. It has some pre-defined simple types are:
xs:integer xs:boolean xs:string xs:date
Example
<xs:element name="Firstname" type="xs:string"/>
<xs:element name="Lastname" type="xs:string"/>
<xs:element name="Age" type="xs:integer"/>
Complex type
It is used to hold multiple attributes and elements. It contains additional sub elements and can be left empty. Example<xs: element name="Teacher">
<xs: complexType>
<xs: sequence>
<xs: element ref="Firstname" />
<xs: element ref="Lastname" />
<xs: element ref="Age" />
</xs: sequence>
<xs : attribute ref="Title" use="optional"/>
</xs: complexType>
</xs: element>
</xs: schema>