By using
<xs:enumeration> you can define a list of possible values.
<!-- 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>
The
example above defines an element called "sex" with a restriction. The
only acceptable values are: male, female.
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" /> <!-- 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: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> </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>
No comments:
Post a Comment