=================================
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>

 

Reply via email to