|
=================================
MY SCHEMA
=================================
<?xml version="1.0" encoding="UTF-8"?> < xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!--################################ ELEMENTS ################################ --> <xs:element name="service"> <xs:complexType> <xs:sequence> <xs:element ref="parameters" minOccurs="0"/> <xs:element ref="default" minOccurs="0"/> <xs:element ref="latest" minOccurs="0"/> </xs:sequence> <xs:attribute name="id" type="ServiceId" use="required"/> <xs:attribute name="type" type="ServiceType" use="required"/> <xs:attribute name="clientId" type="RegisteredClient" use="required"/> <xs:attribute name="entityId" type="ServiceEntity" use="required"/> <xs:attribute name="name" type="xs:normalizedString" use="required"/> <xs:attribute name="object" type="xs:normalizedString" use="required"/> <xs:attribute name="clientName" type="xs:normalizedString" use="required"/> <xs:attribute name="entityName" type="xs:normalizedString" use="required"/> </xs:complexType> </xs:element> <xs:element name="parameters"> <xs:complexType> <xs:sequence> <xs:element ref="parameter" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="parameter"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:normalizedString"> <xs:attribute name="name" type="xs:ID" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="default"> <xs:complexType> <xs:sequence> <xs:element ref="start"/> <xs:element ref="interval"/> <xs:element ref="comments"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="latest"> <xs:complexType> <xs:sequence> <xs:element ref="start"/> <xs:element ref="interval"/> <xs:element ref="comments"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="start" type="CustomDateFormat"/> <xs:element name="interval" type="xs:integer"/> <xs:element name="comments"> <xs:complexType mixed="true"> <xs:simpleContent> <xs:extension base="xs:string"/> </xs:simpleContent> </xs:complexType> </xs:element> <!--################################ CUSTOM TYPES ################################ --> <xs:simpleType name="ServiceId"> <xs:restriction base="xs:ID"> <xs:enumeration value="ADVANTAGE_PUSH"/> <xs:enumeration value="ADVANTAGE_PULL_CLAIM_FEED"/> <xs:enumeration value="ADVANTAGE_PULL_UPDATE_FEED"/> <xs:enumeration value="HORIZON_PUSH"/> <xs:enumeration value="HORIZON_PULL"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="ServiceType"> <xs:restriction base="xs:ID"> <xs:enumeration value="SCHEDULABLE"/> <xs:enumeration value="NONSCHEDULABLE"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="RegisteredClient"> <xs:restriction base="xs:ID"> <xs:enumeration value="AVIATION"/> <xs:enumeration value="PLATTS"/> <xs:enumeration value="SP"/> <xs:enumeration value="EDUCATION"/> <xs:enumeration value="CONSTRUCTION"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="ServiceEntity"> <xs:restriction base="xs:ID"> <xs:enumeration value="AN.C_33_BOX"/> <xs:enumeration value="AN.C_20_BOX"/> <xs:enumeration value="AN.C_DEV_BOX"/> <xs:enumeration value="AN.C_STAGE_BOX"/> <xs:enumeration value="AW_33_BOX"/> <xs:enumeration value="AW_20_BOX"/> <xs:enumeration value="AW_DEV_BOX"/> <xs:enumeration value="AW_STAGE_BOX"/> <xs:enumeration value="MGE_APP1_PROD"/> <xs:enumeration value="MGE_APP2_PROD"/> <xs:enumeration value="MGE_APP1_STAGING"/> <xs:enumeration value="MGE_APP2_STAGING"/> <xs:enumeration value="MGE_APP1_DEV"/> <xs:enumeration value="MGE_APP2_DEV"/> <xs:enumeration value="MHC_SWEETS_PROD"/> <xs:enumeration value="MHC_SWEETS_STAGE"/> <xs:enumeration value="MHC_SWEETS_DEV"/> <xs:enumeration value="MHC_PNP_PROD"/> <xs:enumeration value="MHC_PNP_STAGE"/> <xs:enumeration value="MHC_PNP_DEV"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="CustomDateFormat"> <xs:annotation> <xs:documentation>matches this format Wed, Oct 30 2002 16:10</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][a-z][a-z],\s[A-Z][a-z][a-z]\s[0123][0-9]\s\d{4}\s[012][0-9]:[012345]0"/> </xs:restriction> </xs:simpleType></ xs:schema> |
