| <?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' |
| xmlns='http://xml.apache.org/test/selectChldAtt' |
| targetNamespace='http://xml.apache.org/test/selectChldAtt' |
| elementFormDefault='qualified'> |
| |
| <xs:element name='doc'> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:choice minOccurs='0' maxOccurs='unbounded'> |
| <xs:element name='int' type='xs:int' /> |
| <xs:element name='string' type='xs:string' /> |
| <xs:element name='elemA' type='typeA' /> |
| <xs:element name='elemB' type='typeB' /> |
| <xs:element name='elemC' type='typeC' /> |
| </xs:choice> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:complexType name="typeA"> |
| <xs:sequence> |
| <xs:any namespace="##any" processContents="lax" minOccurs='0' maxOccurs='unbounded' /> |
| </xs:sequence> |
| <xs:anyAttribute namespace="##any" processContents="lax" /> |
| </xs:complexType> |
| |
| <xs:complexType name="typeB"> |
| <xs:sequence> |
| <xs:element name="someElement" type='xs:int' /> |
| |
| <xs:any namespace="##other" processContents="lax" minOccurs='0' maxOccurs='unbounded' /> |
| </xs:sequence> |
| |
| <xs:attribute name='att1' type='xs:string' /> |
| |
| <xs:anyAttribute namespace="##other" processContents="lax" /> |
| </xs:complexType> |
| |
| <xs:complexType name="typeC"> |
| <xs:sequence> |
| <xs:element name="someElement" type='xs:string' /> |
| |
| <xs:any namespace="##other" processContents="lax" minOccurs='0' maxOccurs='unbounded' /> |
| </xs:sequence> |
| <xs:attribute name='att1' type='xs:string' /> |
| |
| <xs:anyAttribute namespace="##other" processContents="lax" /> |
| </xs:complexType> |
| |
| <xs:complexType name="typeExtendedC"> |
| <xs:complexContent> |
| <xs:extension base='typeC'> |
| <xs:sequence> |
| <xs:element name="aditionalElement" type='xs:string' /> |
| </xs:sequence> |
| <xs:attribute name='aditionalAtt' type='xs:string' /> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:element name='topLevelElement' type='xs:string' /> |
| |
| <xs:attribute name='price' type='xs:float' /> |
| <xs:attribute name='quant' type='xs:byte' /> |
| |
| </xs:schema> |