IC Card Management System - IC Card XML Schema

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
attributeFormDefault="qualified"
elementFormDefault="qualified"
xmlns:dataType="org.eclipse.emf.ecore.xml.type.ID">
    
    <xs:element name="icCardList">
        <xs:complexType>
               <xs:sequence maxOccurs="unbounded" minOccurs="1">
               <xs:element name="icCardEntry">
                     <xs:complexType>          
                         <xs:sequence maxOccurs="unbounded" minOccurs="1">     
                               <xs:element name="icCard">
                                  <xs:complexType>
                                    <xs:sequence maxOccurs="unbounded" minOccurs="0">
                                <xs:element name="icOther">
                                 <xs:complexType>
                                 <xs:attribute name="otherId" type="xs:ID" use="required"/>
                                 <xs:attribute name="icOtherName" type="xs:string" use="optional"/>
                                 <xs:attribute name="icOtherMessage" type="xs:string" use="required"/>
                                      <xs:attribute name="icOtherTask" type="xs:string" use="required"/>
                                      </xs:complexType>
                                      </xs:element>
                                     </xs:sequence>
                                   <xs:attribute name="icName" type="xs:string" use="required"/>
                                   <xs:attribute name="icDescription" type="xs:string" use="required"/>
                                   <xs:attribute name="icIntPattern" use="required">
                                      <xs:simpleType>
                              <xs:restriction base="xs:string">
                                 <xs:enumeration value="quietstate"/>
                                 <xs:enumeration value="myselfnone"/>
                                 <xs:enumeration value="myselfwith"/>
                                 <xs:enumeration value="othersnone"/>
                                 <xs:enumeration value="otherswith"/>
                                 <xs:enumeration value="mixedstate"/>
                              </xs:restriction>
                              </xs:simpleType>
                             </xs:attribute>
                                   <xs:attribute name="icMyTask" type="xs:string" use="required"/>
                                   <xs:attribute name="icTimeCriticalCondition" type="xs:string" use="required"/>
                                   <xs:attribute name="icId" type="xs:ID" use="required"/>
                                   <xs:attribute name="icNumberCurrent" type="xs:positiveInteger" use="required"/>
                                   <xs:attribute name="icNumberTotal"  type="xs:positiveInteger" use="required" />
                                   </xs:complexType>
                                </xs:element>
                             </xs:sequence>
                             <xs:attribute name="icEntryName" type="xs:string" use="optional"/>
                             <xs:attribute name="entryId" type="xs:ID" use="required"/>
                          </xs:complexType>
                     </xs:element>   
                   </xs:sequence>
                  </xs:complexType>
                   <xs:unique name="icOther_id" msdata:ConstraintName="constraint3" msdata:PrimaryKey="true">
                 <xs:selector xpath=".//icOther"/>
                 <xs:field xpath="otherId" />
                 </xs:unique>
                 <xs:unique name="icCard_id" msdata:ConstraintName="constraint1" msdata:PrimaryKey="true">
                 <xs:selector xpath=".//icCard"/>
                 <xs:field xpath="icId" />
                 </xs:unique>
                 <xs:unique name="icCardEntry_groupId" msdata:ConstraintName="constraint2" msdata:PrimaryKey="true">
                 <xs:selector xpath=".//icCardEntry"/>
                 <xs:field xpath="entryId" />
                 </xs:unique> 
                </xs:element>  
</xs:schema>

Click here to download the above xsd file.