<?xml version="1.0" encoding="UTF-8" ?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="ADDRESS">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Address_Line1" />
        <xs:element ref="Address_Line2" />
        <xs:element ref="City" />
        <xs:element ref="State_Province" />
        <xs:element ref="Zip_Postal_Code" />
        <xs:element ref="Country_Code" />
      </xs:sequence>
      <xs:attribute name="Type" type="xs:NMTOKEN" use="required" />
    </xs:complexType>
  </xs:element>

  <xs:element name="Address_Line1">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="Address_Line2" type="xs:string" />

  <xs:element name="CEWS_RESPONSE">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="MESSAGE_HEADER" />
        <xs:element ref="MESSAGE_PAYLOAD" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="City">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="Country_Code">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="CTEP_Institution_Code">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="GROUP_REQUEST_ID">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="Institution_Name">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="MESSAGE_HEADER">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="REQUEST_ID" />
        <xs:element ref="GROUP_REQUEST_ID" />
        <xs:element ref="REQUEST_TYPE" />
        <xs:element ref="REQUEST_BY" />
        <xs:element ref="RESPONSE_DATE" />
        <xs:element ref="RESPONSE_BY" />
        <xs:element ref="REQUEST_STATUS" />
        <xs:element ref="REQUEST_STATUS_TEXT" />
        <xs:element ref="PARAMETERS" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="MESSAGE_PAYLOAD">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="SITE" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="Name">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="Office_Email">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="Office_Fax">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="Office_Phone">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="PARAMETER">
    <xs:complexType>
      <xs:attribute name="VALUE" type="xs:NMTOKEN" use="required" />
      <xs:attribute name="NAME" type="xs:NMTOKEN" 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="PERSON">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="ADDRESS" />
        <xs:element ref="Name" />
        <xs:element ref="Office_Email" />
        <xs:element ref="Office_Fax" />
        <xs:element ref="Office_Phone" />
        <xs:element ref="Protocol_Number" />
      </xs:choice>
      <xs:attribute name="Role" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>

  <xs:element name="Protocol_Number">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="REQUEST_BY">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="REQUEST_ID">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="REQUEST_STATUS">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="REQUEST_STATUS_TEXT" type="xs:string" />

  <xs:element name="REQUEST_TYPE">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="RESPONSE_BY">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="RESPONSE_DATE">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="SITE">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="CTEP_Institution_Code" />
        <xs:element ref="Institution_Name" />
        <xs:element ref="PERSON" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="State_Province">
    <xs:complexType mixed="true" />
  </xs:element>

  <xs:element name="Zip_Postal_Code">
    <xs:complexType mixed="true" />
  </xs:element>

</xs:schema>
