<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://abz.nl/schemas/castor/bug1723"
            xmlns="http://abz.nl/schemas/castor/bug1723"
            elementFormDefault="qualified"
            attributeFormDefault="unqualified">

  <xsd:element name="TopValidationTag" nillable="true">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="RequiredDateTag" type="xsd:date"/>
        <xsd:element name="RequiredNillableDateTag" type="xsd:date" nillable="true"/>
        <xsd:element name="OptionalDateTag" type="xsd:date" minOccurs="0"/>
        <xsd:element name="OptionalNillableDateTag" type="xsd:date" nillable="true" minOccurs="0"/>
        <xsd:element name="RequiredMultipleDateTag" type="xsd:date" maxOccurs="unbounded"/>
        <xsd:element name="RequiredMultipleNillableDateTag" type="xsd:date" nillable="true" maxOccurs="unbounded"/>
        <xsd:element name="OptionalMultipleDateTag" type="xsd:date" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element name="OptionalMultipleNillableDateTag" type="xsd:date" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="TopTag" nillable="true">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="SingleSetTag" type="SingleSet" nillable="true"/>
        <xsd:element name="MultipleSetTag" type="SingleSet" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element name="RequiredSetTag" type="RequiredSet"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:complexType name="SingleSet">
    <xsd:sequence>
      <xsd:element name="StringTag" type="xsd:string" nillable="true"/>
      <xsd:element name="DateTag" type="xsd:date" nillable="true"/>
      <xsd:element name="DecimalTag" type="xsd:decimal" nillable="true"/>
      <xsd:element name="IntegerTag" type="xsd:integer" nillable="true"/>
      <xsd:element name="SKU" nillable="true">
        <xsd:simpleType>
          <xsd:restriction base="xsd:normalizedString">
            <xsd:pattern value="\d{3}-[A-Z]{2}"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="RequiredSet">
    <xsd:sequence>
      <xsd:element name="StringTag" type="xsd:string"/>
      <xsd:element name="DateTag" type="xsd:date"/>
      <xsd:element name="DecimalTag" type="xsd:decimal"/>
      <xsd:element name="IntegerTag" type="xsd:integer"/>
      <xsd:element name="SKU">
        <xsd:simpleType>
          <xsd:restriction base="xsd:normalizedString">
            <xsd:pattern value="\d{3}-[A-Z]{2}"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:element name="Ticket">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Code" type="TicketCode"/>
        <xsd:element name="Departure" type="FlightDate"/>
        <xsd:element name="Duration" type="NumberOfDays"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:simpleType name="TicketCode">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="10"/>
    </xsd:restriction>
  </xsd:simpleType>

  <xsd:simpleType name="FlightDate">
    <xsd:restriction base="xsd:date"/>
  </xsd:simpleType>

  <xsd:simpleType name="NumberOfDays">
    <xsd:restriction base="xsd:decimal">
      <xsd:totalDigits value="14"/>
      <xsd:fractionDigits value="2" fixed="true"/>
    </xsd:restriction>
  </xsd:simpleType>

  <xsd:element name="Airport">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="FlightNumber" nillable="true" type="FlightNumber" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="GateNumber" nillable="true" type="GateNumber" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="Ticket" nillable="true" type="TicketCode" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:simpleType name="GateNumber">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="3"/>
      <xsd:minLength value="1"/>
    </xsd:restriction>
  </xsd:simpleType>

  <xsd:simpleType name="FlightNumber">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="5"/>
      <xsd:minLength value="3"/>
    </xsd:restriction>
  </xsd:simpleType>
</xsd:schema>
----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to