Designing Your own XML Schema: Learn the Essentials - XML Schema: a simple practical example continued
(Page 5 of 6 )
In the previous section, I used only one employee detail in the XML document. Can we have more than one employee provided in the XML document according to the previous schema? The answer is NO. By default, every element can occur only once. We need to make a small modification to the above schema to make it accept a larger number of employee details. The modification could be as follows:
<?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:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Now you should observe the word “maxOccurs.” By default “maxOccurs” is set to 1. This means you can have only one employee detail provided within the XML document. Now, we specified “maxOccurs” with “unbounded.” This means a countless number of employee details can be provided within the XML document.
Let us check this with a sample XML document conforming to the above schema now.
<?xml version="1.0" encoding="UTF-8"?>
<Employees xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Employees.xsd">
<Employee>
<ID>1001</ID>
<Name>Jag</Name>
<Age>27</Age>
</Employee>
<Employee>
<ID>1001</ID>
<Name>Jag</Name>
<Age>27</Age>
</Employee>
<Employee>
<ID>1003</ID>
<Name>Dhan</Name>
<Age>48</Age>
</Employee>
</Employees>
Now, you can see that I am able to add any number of employees with the above-defined schema.
Next: XML Schema: a more practical example >>
More XML Articles
More By Jagadish Chaterjee