<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

<!-- definition of simple elements -->

<xs:element name="state_code" type="xs:string"/>
<xs:element name="state_name" type="xs:string"/>

<xs:element name="judicial_district_short_name" type="xs:string"/>
<xs:element name="judicial_district_formal_name" type="xs:string"/>

<xs:element name="org_id" type="xs:string"/>
<xs:element name="organization_name" type="xs:string"/>
<xs:element name="agency_name_address" type="xs:string"/>
<xs:element name="agency_web_site_url" type="xs:string"/>

<xs:element name="service_method_name" type="xs:string"/>
<xs:element name="phone_number" type="xs:string"/>
<xs:element name="phone_extension" type="xs:string"/>
<xs:element name="web_site_url" type="xs:string"/>
<xs:element name="location_address_street_address1" type="xs:string"/>
<xs:element name="location_address_street_address2" type="xs:string"/>
<xs:element name="location_address_city" type="xs:string"/>
<xs:element name="location_address_state_code" type="xs:string"/>
<xs:element name="location_address_postal_code" type="xs:string"/>
<xs:element name="location_address_phone_number" type="xs:string"/>
<xs:element name="doing_business_as" type="xs:string"/>
<xs:element name="location_language_name" type="xs:string"/>
<xs:element name="translator_only_flag" type="xs:string"/>
<xs:element name="written_material_only_flag" type="xs:string"/>
<xs:element name="full_service_flag" type="xs:string"/>


<!-- definition of complex elements -->

<xs:element name="service_method">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="service_method_name"/>
      <xs:element ref="phone_number"/>
      <xs:element ref="phone_extension"/>
      <xs:element ref="web_site_url"/>
      <xs:element ref="location_address_street_address1"/>
      <xs:element ref="location_address_street_address2"/>
      <xs:element ref="location_address_city"/>
      <xs:element ref="location_address_state_code"/>
      <xs:element ref="location_address_postal_code"/>
      <xs:element ref="location_address_phone_number"/>
      <xs:element ref="doing_business_as"/>
      <xs:element ref="location_language_name"/>
      <xs:element ref="translator_only_flag"/>
      <xs:element ref="written_material_only_flag"/>
      <xs:element ref="full_service_flag"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>


<xs:element name="agency">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="org_id"/>
      <xs:element ref="organization_name"/>
      <xs:element ref="agency_name_address"/>
      <xs:element ref="agency_web_site_url"/>

      <xs:element ref="service_method" minOccurs="0" maxOccurs="unbounded"/>

    </xs:sequence>
  </xs:complexType>
</xs:element>


<xs:element name="judicial_district">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="judicial_district_short_name"/>
      <xs:element ref="judicial_district_formal_name"/>

      <xs:element ref="agency" minOccurs="0" maxOccurs="unbounded"/>

    </xs:sequence>
  </xs:complexType>
</xs:element>


<xs:element name="state">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="state_code"/>
      <xs:element ref="state_name"/>

      <xs:element ref="judicial_district" minOccurs="0" maxOccurs="unbounded"/>

    </xs:sequence>
  </xs:complexType>
</xs:element>


<xs:element name="cc_agencies">
  <xs:complexType>
    <xs:sequence>

      <xs:element ref="state" minOccurs="0" maxOccurs="unbounded"/>

    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>