<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~ 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.
  -->

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
		xmlns:tns="http://shape.test.org" 
		xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"  jaxb:version="2.0"
		targetNamespace="http://shape.test.org">
			
		<xsd:complexType name="Shape" abstract="true">
			<xsd:sequence>
				<xsd:element name="xAxis" type="xsd:float" />
				<xsd:element name="yAxis" type="xsd:float" />
			</xsd:sequence>
		</xsd:complexType>
		
		<xsd:complexType name="Square" >
			<xsd:complexContent>
				<xsd:extension base="tns:Shape">
					<xsd:sequence>
						<xsd:element name="length" type="xsd:int" />
						<xsd:element name="width" type="xsd:int" />
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
		
		<xsd:complexType name="Circle" >
			<xsd:complexContent>
				<xsd:extension base="tns:Shape">
					<xsd:sequence>
						<xsd:element name="radius" type="xsd:int" />
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>	
</xsd:schema>
