<xs:maxLength>
defines maximum length of characters.
<xs:minLength>
defines minimum length of characters.
<!--
validate pin -->
<xs:element name="pin">
<xs:simpleType>
<xs:restriction
base="xs:string">
<xs:minLength
value="5" />
<xs:maxLength
value="8" />
</xs:restriction>
</xs:simpleType>
</xs:element>
As per
above snippet, pin can have characters of length 5 to 8.
employee.xsd
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- Schema for simple elements --> <xs:element name="id" type="xs:integer" /> <xs:element name="firstname" type="xs:string" /> <xs:element name="middlename" type="xs:string" /> <xs:element name="lastname" type="xs:string" /> <xs:element name="salary" type="xs:decimal" /> <xs:element name="married" type="xs:string" /> <xs:element name="department" type="xs:string" /> <xs:element name="pjtname" type="xs:string" /> <xs:element name="from" type="xs:date" /> <xs:element name="to" type="xs:date" /> <xs:element name="city" type="xs:string" /> <xs:element name="district" type="xs:string" /> <xs:element name="state" type="xs:string" /> <xs:element name="country" type="xs:string" /> <!-- validate pin --> <xs:element name="pin"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="5" /> <xs:maxLength value="8" /> </xs:restriction> </xs:simpleType> </xs:element> <!-- validate sex --> <xs:element name="sex"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="male" /> <xs:enumeration value="female" /> </xs:restriction> </xs:simpleType> </xs:element> <!-- Applying restriction on Employee age --> <xs:element name="age"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="19" /> <xs:maxExclusive value="56" /> </xs:restriction> </xs:simpleType> </xs:element> <!-- Schema for element details --> <xs:element name="details"> <xs:complexType> <xs:sequence> <xs:element ref="firstname" /> <xs:element ref="middlename" /> <xs:element ref="lastname" /> <xs:element ref="age" /> <xs:element ref="salary" /> <xs:element ref="married" /> <xs:element ref="sex" /> <xs:element ref="address" /> </xs:sequence> </xs:complexType> </xs:element> <!-- schema for address --> <xs:element name="address"> <xs:complexType> <xs:sequence> <xs:element ref="city" /> <xs:element ref="district" /> <xs:element ref="state" /> <xs:element ref="country" /> <xs:element ref="pin" /> </xs:sequence> </xs:complexType> </xs:element> <!-- Schema for element project --> <xs:element name="project"> <xs:complexType> <xs:sequence> <xs:element ref="department" /> <xs:element ref="pjtname" /> <xs:element ref="from" /> <xs:element ref="to" /> </xs:sequence> </xs:complexType> </xs:element> <!-- Schema for element employee --> <xs:element name="employee"> <xs:complexType> <xs:sequence> <xs:element ref="id" /> <xs:element ref="details" /> <xs:element ref="project" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <!-- Schema for element employees --> <xs:element name="employees"> <xs:complexType> <xs:sequence> <xs:element ref="employee" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
employee.xml
<?xml version="1.0" encoding="UTF-8"?> <employees xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="employees.xsd"> <employee> <id>1</id> <details> <firstname>Hari</firstname> <middlename>Krishna</middlename> <lastname>Gurram</lastname> <age>25</age> <salary>80000</salary> <married>single</married> <sex>male</sex> <address> <city>Ongole</city> <district>prakasam</district> <state>Andhra Pradesh</state> <country>India</country> <pin>523169</pin> </address> </details> <project> <department>aero</department> <pjtname>Flight Controls</pjtname> <from>2011-09-16</from> <to>2013-01-22</to> </project> <project> <department>banking</department> <pjtname>Online Transaction Processing System</pjtname> <from>2013-01-23</from> <to>2014-10-06</to> </project> <project> <department>mobile</department> <pjtname>Daily News Application</pjtname> <from>2014-10-07</from> <to>2015-05-06</to> </project> </employee> </employees>
Prevoius Next Home
No comments:
Post a Comment