<?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
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xml:lang="EN"
    targetNamespace="http://ws.apache.org/jaxme/examples/misc/address"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">
  <xs:element name="Address">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Name">
          <xs:annotation><xs:documentation>
              A name consists of two required (first and last name)
              and two optional parts (middle name and initials).
          </xs:documentation></xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="First" type="xs:string"/>
              <xs:element name="Middle" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
              <xs:element name="Last" type="xs:string"/>
              <xs:element name="Initials" minOccurs="0" type="xs:string"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="id"/>
    </xs:complexType>
  </xs:element>
</xs:schema>
