<?xml version="1.0"?>

<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements. See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership. The ASF licenses this file
  ~ to you 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" targetNamespace="http://test.json.axis2.apache.org"
xmlns="http://test.json.axis2.apache.org" xmlns:ns1="http://test.json.axis2.apache.org/employee"
xmlns:tns="http://test.json.axis2.apache.org" elementFormDefault="qualified">
    <xs:import namespace="http://test.json.axis2.apache.org/employee" schemaLocation="test-resources/custom_schema/testSchema_3.xsd"></xs:import>

    <xs:element name="echoPerson">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="arg0" type="Person"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="echoPersonResponse">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="return" type="Person"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="Person">
        <xs:sequence>
            <xs:element name="name" type="xs:string"/>
            <xs:element name="age" type="xs:string"/>
            <xs:element name="gender" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>

    <xs:element name="Offices" type="tns:Offices"></xs:element>

    <xs:complexType name="Offices">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Office" type="tns:Office"></xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Office">
        <xs:sequence>
            <xs:element name="phone" nillable="true" type="xs:string"></xs:element>
            <xs:element name="officeCode" nillable="true" type="xs:integer"></xs:element>
            <xs:element ref="ns1:Employees"></xs:element>
            <xs:element name="country" nillable="true" type="xs:string"></xs:element>
            <xs:element name="city" nillable="true" type="xs:string"></xs:element>
        </xs:sequence>
    </xs:complexType>


</xs:schema>