blob: d07e62f306a40b8227f2a8eb1386d9ddc5582da7 [file] [log] [blame]
<!--
~ 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 elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://tempuri.org/"
xmlns:ns1="http://google.com"
targetNamespace="http://tempuri.org/">
<xsd:simpleType name="ChildSimpleType">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:simpleType name="ParentSimpleType">
<xsd:restriction base="tns:ChildSimpleType"/>
</xsd:simpleType>
<xsd:complexType name="TestSimpleAttribute">
<xsd:attribute name="attrib1" type="tns:ParentSimpleType" use="required"></xsd:attribute>
<xsd:attribute name="attrib2" type="tns:ParentSimpleType" use="optional"></xsd:attribute>
<xsd:all>
<xsd:element name="testElement1" type="xsd:QName"/>
<xsd:element name="testElement2" type="xsd:QName"/>
<xsd:element name="testElement3" type="xsd:QName"/>
</xsd:all>
</xsd:complexType>
<xsd:element name="TestSimpleAttributeElement" type="tns:TestSimpleAttribute"/>
<xsd:simpleType name="NormalSimpleType">
<xsd:restriction base="xsd:QName"/>
</xsd:simpleType>
<xsd:simpleType name="EnumerationSimpleType">
<xsd:restriction base="xsd:QName">
<xsd:enumeration value="ns1:test1"/>
<xsd:enumeration value="ns1:test2"/>
<xsd:enumeration value="ns1:test3"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ParentNormalSimpleType">
<xsd:restriction base = "tns:NormalSimpleType"/>
</xsd:simpleType>
<xsd:simpleType name="ParentEnumerationSimpleType">
<xsd:restriction base="tns:EnumerationSimpleType"/>
</xsd:simpleType>
<xsd:element name="NormalSimpleTypeElement" type="tns:ParentNormalSimpleType"/>
<xsd:element name="EnumerationSimpleTypeElement" type="tns:ParentEnumerationSimpleType"/>
<xsd:complexType name="BaseRestrictionType">
<xsd:sequence>
<xsd:element name="baseTypeElement1" minOccurs="0" type="xsd:string"/>
<xsd:element name="baseTypeElement2" minOccurs="0" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ParentRestrictionType">
<xsd:complexContent>
<xsd:restriction base="tns:BaseRestrictionType">
<xsd:sequence>
<xsd:element name="baseTypeElement1" type="xsd:string"/>
<xsd:element name="baseTypeElement2" type="xsd:int"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ComplexRestrictionTypeTestElement" type="tns:ParentRestrictionType"/>
<xsd:simpleType name="ErrorCodeType">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="30"/>
<xsd:minLength value="1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TestSimpleTypeRestrictionPattern">
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{4}((-\d{2}){0,1}-\d{2}){0,1}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
<xs:simpleType name="RFCProbabilityCodeType1">
<xs:restriction base="xs:double">
<xs:maxInclusive value="1.5"/>
<xs:minInclusive value="0.1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="RFCProbabilityCodeType2">
<xs:restriction base="xs:long">
<xs:maxExclusive value="5"/>
<xs:minExclusive value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="RFCProbabilityCodeType3">
<xs:restriction base="xs:integer">
<xs:maxExclusive value="5"/>
<xs:minExclusive value="1"/>
</xs:restriction>
</xs:simpleType>
<xsd:complexType name="Person">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"></xsd:element>
<xsd:element name="age" type="xsd:int"></xsd:element>
<xsd:element name="hairColor">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="black"></xsd:enumeration>
<xsd:enumeration value="brown"></xsd:enumeration>
<xsd:enumeration value="blonde"></xsd:enumeration>
<xsd:enumeration value="gray"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="birthDate" type="xsd:date"></xsd:element>
<xsd:element name="address" type="tns:Address" maxOccurs="1" minOccurs="0"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Address">
<xsd:sequence>
<xsd:element name="line1" type="xsd:string"></xsd:element>
<xsd:element name="line2" type="xsd:string" maxOccurs="1"
minOccurs="0">
</xsd:element>
<xsd:element name="city" type="xsd:string"></xsd:element>
<xsd:element name="state" type="xsd:string"></xsd:element>
<xsd:element name="zip">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="PersonElement" type="tns:Person"/>
<xsd:element name="SMSElement">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="EndDate" type="tns:WSTypeDate" nillable="true"/>
<xsd:element name="SMS_Provider" type="tns:WSTypeChar3" nillable="true"/>
</xsd:sequence>
<xsd:attribute name="MultipleRestriction">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="String"/>
<xsd:pattern value="Base64"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:simpleType name="WSTypeDate">
<xsd:restriction base="xsd:date">
<xsd:pattern value='[0-9]{4}-[0-9]{2}-[0-9]{2}'/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="WSTypeChar3">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="3"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="GetExemplarResponseTypeElement" type="tns:getExemplarResponseType"/>
<xsd:complexType name="getExemplarResponseType">
<xsd:complexContent>
<xsd:restriction base="xsd:anyType">
<xsd:sequence>
<xsd:element name="exemplar" type="xsd:string"/>
</xsd:sequence>
<xsd:attributeGroup ref="tns:ResponseAttributeGroup"/>
<xsd:attribute name="supportedMethods" type="xsd:string" use="optional"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:attributeGroup name="ResponseAttributeGroup">
<xsd:attribute name="responseCode" type="xsd:integer" use="optional" default="0"/>
<xsd:attribute name="responseMessage" type="xsd:string" use="optional"/>
</xsd:attributeGroup>
</xsd:schema>