<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="ferc_tariff_filing" targetNamespace="http://ferc.gov/etariff.xsd" elementFormDefault="qualified" xmlns="http://ferc.gov/etariff.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" >
  <xs:element name="document">
    <xs:complexType>
      <xs:choice minOccurs="1" maxOccurs="1">
        <xs:element name="ferc_filing_data" minOccurs="1" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="schema_version" type="xs:string" nillable="true"/>
              <xs:element name="company_id" type="xs:string" nillable="true"/>
              <xs:element name="tariff_id" type="xs:integer" nillable="true"/>
              <xs:element name="tariff_title" type="xs:string" nillable="true"/>
              <xs:element name="filing_id" type="xs:integer" nillable="true"/>
              <xs:element name="filing_title" type="xs:string" nillable="true"/>
              <xs:element name="filing_type" type="xs:integer" nillable="true"/>
              <xs:element name="associated_filing_id" type="xs:integer" nillable="true"/>
              <xs:element name="validation_email" type="xs:string" nillable="true"/>
              <xs:element name="pay_confirm_code" type="xs:string" nillable="true"/>
              <xs:element name="suspend_motion" type="xs:string" nillable="true"/>
              <xs:element name="attachment_data" minOccurs="1"  maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="att_ref_code" type="xs:integer" nillable="true"/>
                    <xs:element name="att_desc" type ="xs:string" nillable="true"/>
                    <xs:element name="att_waiver_request" type="xs:string" nillable="true"/>
                    <xs:element name="att_raw_data" type="xs:base64Binary" nillable="true" />
                    <xs:element name="att_filename" type="xs:string" nillable="true"/>
                    <xs:element name="att_content_type_code" type="xs:integer" nillable="true"/>
                    <xs:element name="att_security_level" type="xs:string" nillable="true"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="record_data" minOccurs="0"  maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="record_id" type="xs:integer" nillable="true"/>
                    <xs:element name="option_code" type="xs:string" nillable="true"/>
                    <xs:element name="record_title" type="xs:string" nillable="true"/>
                    <xs:element name="record_content_desc" type="xs:string" nillable="true"/>
                    <xs:element name="record_version_num" type="xs:string" nillable="true"/>
                    <xs:element name="record_narrative_name" type="xs:string" nillable="true"/>
                    <xs:element name="collation_value" type="xs:string" nillable="true"/>
                    <xs:element name="record_parent_id" type="xs:integer" nillable="true"/>
                    <xs:element name="proposed_effective_date" type="xs:date" nillable="true"/>
                    <xs:element name="priority_order" type="xs:integer" nillable="true"/>
                    <xs:element name="record_content_type_code" type="xs:integer" nillable="true"/>
                    <xs:element name="record_binary_data" type="xs:base64Binary" nillable="true"/>
                    <xs:element name="record_plain_text" type="xs:string" nillable="true"/>
                    <xs:element name="record_change_type" type="xs:string" nillable="true"/>
                    <xs:element name="associated_filing_id" type="xs:integer" nillable="true" />
                    <xs:element name="associated_record_id" type="xs:integer" nillable="true" />
                    <xs:element name="associated_option_code" type="xs:string" nillable="true" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>