Designing Your Own XML Schema: Indicators - The Sequence indicator in XML Schema
(Page 3 of 6 )
Another indicator from the XML Schema vocabulary is the “Sequence” indicator. We have been using this indicator right from the beginning of this series, but I never explained it completely. It is specially used to inform that all the elements under it should occur in the same order. None of the child elements could occur in a different order.
Let us consider the following schema:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault=
"unqualified">
<xs:element name="Employees">
<xs:annotation>
<xs:documentation>Contains All Employee
information</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Employee"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID"
type="xs:string" />
<xs:element name="Name"
type="xs:string" />
<xs:element name="Age"
type="xs:integer" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="PK_Employee_ID">
<xs:selector xpath=".//Employee" />
<xs:field xpath="ID" />
</xs:key>
</xs:element>
</xs:schema>
There exists nothing really important about the above schema. The only issue would be that the “Employee” element should be supported with “ID,” ”Name” and “Age” in the same order. For example, the following XML document would be invalid:
<?xml version="1.0" encoding="UTF-8"?>
<Employees xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="C:\Documents and
Settings\Administrator\Desktop\Employees.xsd">
<Employee>
<ID>1001</ID>
<Name>Jag</Name>
<Age>27</ Age >
</Employee>
<Employee>
<ID>1002</ID>
<Age>27</ Age >
<Name>Chat</Name>
</Employee>
</Employees>
Within the above XML, even though the initial “Employee” information is quite correct, the rest of the “Employee” details do not match with the order we specified in the above schema. Thus, the whole XML document becomes invalid!
Next: The maxOccurs and minOccurs indicators in XML Schema >>
More XML Articles
More By Jagadish Chaterjee