<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2004 The Apache Software Foundation

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License. -->

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="nitf">
    <xs:annotation>
      <xs:documentation>Copyright 2004 The Apache Software Foundation

        Licensed under the Apache License, Version 2.0 (the "License");
        you may not use this file except in compliance with the License.
        You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="head">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:string" name="title" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="body">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="body.head">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="headline">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element type="xs:string" name="hl1" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="byline">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element type="xs:string" name="bytag" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="dateline">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element type="xs:string" name="location" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
                          <xs:element type="xs:string" name="story.date" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>