blob: ab0e249c352869d5b6184aacdd7e73905873133a [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
*/
-->
<xsd:schema
targetNamespace="http://www.example.com/Bad"
xmlns:other="http://www.example.com/Other"
xmlns:this="http://www.example.com/Bad"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.example.com/Other" schemaLocation="Other.xsd"/>
<xsd:complexType/>
<xsd:complexType name="bad:name"/>
<xsd:complexType name="badAbstract" abstract="fasle"/>
<xsd:complexType name="badBlock" block="resiction"/>
<xsd:complexType name="badFinal" final="xtension"/>
<xsd:complexType name="badID" id="id:id"/>
<xsd:complexType name="badMixed" mixed="fasle"/>
<xsd:complexType name="badContent">
<xsd:bad/>
</xsd:complexType>
<xsd:complexType name="badEmptyComplexContent">
<xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badComplexContent">
<xsd:complexContent>
<xsd:bad/>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badAnnotations">
<xsd:complexContent>
<xsd:extension>
<xsd:annotation/>
<xsd:annotation/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badBase">
<xsd:complexContent>
<xsd:extension base="badTypeReference">
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badSimpleBaseForComplexContent">
<xsd:complexContent>
<xsd:extension base="xsd:string">
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badSimpleBaseForRestrictionSimpleContent">
<xsd:simpleContent>
<xsd:restriction base="xsd:string">
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="badComplexBaseForRestrictionSimpleContent">
<xsd:simpleContent>
<xsd:restriction base="this:okayTrivialComplexType">
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="badWildcardIntersection">
<xsd:attributeGroup ref="this:AG"/>
<xsd:attributeGroup ref="other:AG"/>
</xsd:complexType>
<xsd:complexType name="badDuplicateIDAttributes">
<xsd:attribute name="a"/>
<xsd:attribute name="x" type="xsd:ID"/>
<xsd:attribute name="a"/>
<xsd:attribute name="y" type="xsd:ID"/>
</xsd:complexType>
<xsd:complexType name="badCircularType">
<xsd:complexContent>
<xsd:restriction base="this:badCircularType">
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badFinalExtension">
<xsd:complexContent>
<xsd:extension base="this:okayFinalTrivialComplexType">
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badComplexExtension">
<xsd:complexContent>
<xsd:extension base="this:okayComplexTypeSimple">
<xsd:sequence>
<xsd:element name="x"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badAttributeType">
<xsd:complexContent>
<xsd:extension base="this:okayComplexTypeComplex">
<xsd:attribute name="a" type="xsd:int"/>
<xsd:anyAttribute namespace="http://c.x"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badComplexExtensionMixed" mixed="false">
<xsd:complexContent>
<xsd:extension base="this:okayComplexTypeComplex">
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badFinalRestriction">
<xsd:simpleContent>
<xsd:restriction base="this:okayComplexTypeSimple">
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="badRestrictedAttributeType">
<xsd:complexContent>
<xsd:restriction base="this:okayComplexTypeComplex">
<xsd:attribute name="a" type="xsd:int"/>
<xsd:attribute name="b">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="1*"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute ref="other:A"/>
<xsd:attribute name="B" type="xsd:int"/>
<xsd:anyAttribute namespace="http://c"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badSimpleBaseForRestrictionSimpleContent">
<xsd:simpleContent>
<xsd:restriction base="this:okayComplexTypeSimpleWithAttribute">
<xsd:simpleType>
<xsd:restriction base="xsd:long">
<xsd:pattern value="11"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:attribute name="b" type="xsd:string" use="required"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="badComplexBaseForRestrictionSimpleContent">
<xsd:simpleContent>
<xsd:restriction base="this:okayComplexTypeComplex">
<xsd:simpleType>
<xsd:restriction base="xsd:long">
<xsd:pattern value="11"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:attribute name="b" type="xsd:string" use="required"/>
<xsd:attribute name="c" type="xsd:string" use="required"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="badEmptyRestrictionOfSimpleContent">
<xsd:complexContent>
<xsd:restriction base="this:okayTrivialComplexTypeSimple">
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badComplexRestrictionOfSimpleContent">
<xsd:complexContent>
<xsd:restriction base="this:okayTrivialComplexTypeSimple">
<xsd:sequence>
<xsd:element name="e"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badMixedRestrictionOfComplexContent" mixed="true">
<xsd:complexContent>
<xsd:restriction base="this:okayTrivialComplexTypeComplex">
<xsd:sequence>
<xsd:element name="e1" nillable="true"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badNonRestrictionOfComplexContent">
<xsd:complexContent>
<xsd:restriction base="this:okayTrivialComplexTypeComplex">
<xsd:sequence>
<xsd:element name="e1" nillable="true"/>
<xsd:element name="e2" nillable="true"/>
<xsd:element name="e3" nillable="true"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badRestrictionOfComplexContent">
<xsd:complexContent>
<xsd:restriction base="this:okayTrivialComplexTypeComplex">
<xsd:sequence>
<xsd:element name="e2" nillable="true"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badNotNillableRestrictionOfComplexContent">
<xsd:complexContent>
<xsd:restriction base="this:okayTrivialComplexTypeComplex">
<xsd:sequence>
<xsd:element name="e1"/>
<xsd:element name="e2" nillable="true"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badNotRestrictedFixedComplexTypeComplex">
<xsd:complexContent>
<xsd:restriction base="this:okayFixedComplexTypeComplex">
<xsd:sequence>
<xsd:element name="e" type="xsd:token" fixed="xy"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badNotRestrictedTypeComplexTypeComplex">
<xsd:complexContent>
<xsd:restriction base="this:okayFixedComplexTypeComplex">
<xsd:sequence>
<xsd:element name="e" block="substitution" type="xsd:string" fixed="xx"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badNotRestrictedBlockComplexTypeComplex">
<xsd:complexContent>
<xsd:restriction base="this:okayRestrictedComplexTypeComplex">
<xsd:sequence>
<xsd:element name="e" type="xsd:token" fixed="xx"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="badAnySimpleTypeComplexType">
<xsd:simpleContent>
<xsd:extension base="xsd:anySimpleType">
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:attributeGroup name="AG">
<xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>
<xsd:complexType name="okayTrivialComplexType"/>
<xsd:complexType name="okayFinalTrivialComplexType" final="#all"/>
<xsd:complexType name="okayTrivialComplexTypeSimple">
<xsd:simpleContent>
<xsd:extension base="xsd:int">
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="okayTrivialComplexTypeComplex">
<xsd:sequence>
<xsd:element name="e1" nillable="true"/>
<xsd:element name="e2" nillable="true"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="okayRestrictionOfComplexContent">
<xsd:complexContent>
<xsd:restriction base="this:okayTrivialComplexTypeComplex">
<xsd:sequence>
<xsd:element name="e1" nillable="true"/>
<xsd:element name="e2" nillable="true"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="okayComplexTypeSimple" abstract="true" block="extension" final="restriction" id="x" mixed="true">
<xsd:simpleContent>
<xsd:extension base="xsd:int">
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="okayComplexTypeSimpleWithAttribute">
<xsd:simpleContent>
<xsd:extension base="xsd:int">
<xsd:attribute name="a" type="xsd:string"/>
<xsd:attribute name="b" type="xsd:string" use="required"/>
<xsd:anyAttribute namespace="http://a http://b"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="okayComplexTypeComplex" abstract="true" block="extension" final="" id="x" mixed="true">
<xsd:sequence>
<xsd:element name="e"/>
</xsd:sequence>
<xsd:attribute name="a" type="xsd:string"/>
<xsd:attribute name="b" type="xsd:string" use="required"/>
<xsd:attribute name="c" type="xsd:string" use="required"/>
<xsd:anyAttribute namespace="http://a http://b http://www.example.com/Other "/>
</xsd:complexType>
<xsd:complexType name="okayFixedComplexTypeComplex">
<xsd:sequence>
<xsd:element name="e" type="xsd:token" fixed="xx"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="okayRestrictedComplexTypeComplex">
<xsd:complexContent>
<xsd:restriction base="this:okayFixedComplexTypeComplex">
<xsd:sequence>
<xsd:element name="e" block="substitution" fixed="xx">
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:pattern value="x*"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>