1*7c568831SAndroid Build Coastguard Worker<?xml version="1.0" encoding="ISO-8859-1"?> 2*7c568831SAndroid Build Coastguard Worker<xsd:schema xmlns:foo="http://FOO" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:import="http://IMPORT" 3*7c568831SAndroid Build Coastguard Worker targetNamespace="http://FOO" elementFormDefault="qualified"> 4*7c568831SAndroid Build Coastguard Worker <xsd:import namespace="http://IMPORT" schemaLocation="anyAttr.importA.1_0.xsd"/> 5*7c568831SAndroid Build Coastguard Worker <xsd:import schemaLocation="anyAttr.importB.1_0.xsd"/> 6*7c568831SAndroid Build Coastguard Worker <xsd:element name="foo"> 7*7c568831SAndroid Build Coastguard Worker <xsd:complexType> 8*7c568831SAndroid Build Coastguard Worker <xsd:sequence> 9*7c568831SAndroid Build Coastguard Worker <!-- Import --> 10*7c568831SAndroid Build Coastguard Worker <xsd:element ref="import:imp.element"/> 11*7c568831SAndroid Build Coastguard Worker <xsd:element name="imp.attribute"> 12*7c568831SAndroid Build Coastguard Worker <xsd:complexType> 13*7c568831SAndroid Build Coastguard Worker <xsd:attribute ref="import:imp.attribute"/> 14*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 15*7c568831SAndroid Build Coastguard Worker </xsd:element> 16*7c568831SAndroid Build Coastguard Worker <xsd:element name="imp.group"> 17*7c568831SAndroid Build Coastguard Worker <xsd:complexType> 18*7c568831SAndroid Build Coastguard Worker <xsd:group ref="import:imp.group"/> 19*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 20*7c568831SAndroid Build Coastguard Worker </xsd:element> 21*7c568831SAndroid Build Coastguard Worker <!-- Basic --> 22*7c568831SAndroid Build Coastguard Worker <xsd:element name="basic.A" type="foo:type.basic.A"/> 23*7c568831SAndroid Build Coastguard Worker <xsd:element name="basic.B" type="foo:type.basic.B"/> 24*7c568831SAndroid Build Coastguard Worker <xsd:element name="basic.C" type="foo:type.basic.C"/> 25*7c568831SAndroid Build Coastguard Worker <xsd:element name="basic.D" type="foo:type.basic.D"/> 26*7c568831SAndroid Build Coastguard Worker <xsd:element name="basic.E" type="foo:type.basic.E"/> 27*7c568831SAndroid Build Coastguard Worker <!-- Attribute Wildcard Intersection --> 28*7c568831SAndroid Build Coastguard Worker <xsd:element name="inters.1_1" type="foo:type.inters.1_1"/> 29*7c568831SAndroid Build Coastguard Worker <xsd:element name="inters.1_2" type="foo:type.inters.1_2"/> 30*7c568831SAndroid Build Coastguard Worker <xsd:element name="inters.1_3" type="foo:type.inters.1_3"/> 31*7c568831SAndroid Build Coastguard Worker <xsd:element name="inters.1_4" type="foo:type.inters.1_4"/> 32*7c568831SAndroid Build Coastguard Worker 33*7c568831SAndroid Build Coastguard Worker <xsd:element name="inters.2_1" type="foo:type.inters.2_1"/> 34*7c568831SAndroid Build Coastguard Worker 35*7c568831SAndroid Build Coastguard Worker <xsd:element name="inters.3_1" type="foo:type.inters.3_1"/> 36*7c568831SAndroid Build Coastguard Worker 37*7c568831SAndroid Build Coastguard Worker <xsd:element name="inters.4_1" type="foo:type.inters.4_1"/> 38*7c568831SAndroid Build Coastguard Worker 39*7c568831SAndroid Build Coastguard Worker <!--xsd:element name="inters.5_1" type="type.inters.5_1"/--> 40*7c568831SAndroid Build Coastguard Worker <xsd:element name="inters.6_1" type="foo:type.inters.6_1"/> 41*7c568831SAndroid Build Coastguard Worker </xsd:sequence> 42*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 43*7c568831SAndroid Build Coastguard Worker </xsd:element> 44*7c568831SAndroid Build Coastguard Worker 45*7c568831SAndroid Build Coastguard Worker <!-- Basic --> 46*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.basic.A"> 47*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##any" processContents="lax"/> 48*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 49*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.basic.B"> 50*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##other" processContents="lax"/> 51*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 52*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.basic.C"> 53*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##local" processContents="lax"/> 54*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 55*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.basic.D"> 56*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##targetNamespace" processContents="lax"/> 57*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 58*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.basic.E"> 59*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##targetNamespace ##local http://BAR" processContents="lax"/> 60*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 61*7c568831SAndroid Build Coastguard Worker <!-- Attribute Wildcard Intersection --> 62*7c568831SAndroid Build Coastguard Worker 63*7c568831SAndroid Build Coastguard Worker <!-- 1. If O1 and O2 are the same value, then that value must be the value. --> 64*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.inters.1_1"> 65*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup ref="foo:attrGr.inters.1_1"/> 66*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##any" processContents="lax"/> 67*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 68*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup name="attrGr.inters.1_1"> 69*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##any"/> 70*7c568831SAndroid Build Coastguard Worker </xsd:attributeGroup> 71*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.inters.1_2"> 72*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup ref="foo:attrGr.inters.1_2"/> 73*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##other" processContents="lax"/> 74*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 75*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup name="attrGr.inters.1_2"> 76*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##other"/> 77*7c568831SAndroid Build Coastguard Worker </xsd:attributeGroup> 78*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.inters.1_3"> 79*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup ref="foo:attrGr.inters.1_3"/> 80*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##local ##targetNamespace" processContents="lax"/> 81*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 82*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup name="attrGr.inters.1_3"> 83*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##local ##targetNamespace"/> 84*7c568831SAndroid Build Coastguard Worker </xsd:attributeGroup> 85*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.inters.1_4"> 86*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup ref="foo:attrGr.inters.1_4"/> 87*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##local http://BAR ##targetNamespace " processContents="lax"/> 88*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 89*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup name="attrGr.inters.1_4"> 90*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace=" ##targetNamespace http://BAR ##local"/> 91*7c568831SAndroid Build Coastguard Worker </xsd:attributeGroup> 92*7c568831SAndroid Build Coastguard Worker 93*7c568831SAndroid Build Coastguard Worker <!-- 2. If either O1 or O2 is any, then the other must be the value. --> 94*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.inters.2_1"> 95*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup ref="foo:attrGr.inters.2_1"/> 96*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##any" processContents="lax"/> 97*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 98*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup name="attrGr.inters.2_1"> 99*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##local ##targetNamespace"/> 100*7c568831SAndroid Build Coastguard Worker </xsd:attributeGroup> 101*7c568831SAndroid Build Coastguard Worker <!-- 3. If either O1 or O2 is a pair of not and a value (a namespace name or �absent�) 102*7c568831SAndroid Build Coastguard Worker and the other is a set of (namespace names or �absent�), then that set, minus the 103*7c568831SAndroid Build Coastguard Worker negated value if it was in the set, minus �absent� if it was in the set, must be the value. --> 104*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.inters.3_1"> 105*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup ref="foo:attrGr.inters.3_1"/> 106*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##other" processContents="lax"/> 107*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 108*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup name="attrGr.inters.3_1"> 109*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##local ##targetNamespace http://BAR"/> 110*7c568831SAndroid Build Coastguard Worker </xsd:attributeGroup> 111*7c568831SAndroid Build Coastguard Worker <!-- 4. If both O1 and O2 are sets of (namespace names or �absent�), then the 112*7c568831SAndroid Build Coastguard Worker intersection of those sets must be the value. --> 113*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.inters.4_1"> 114*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup ref="foo:attrGr.inters.4_1"/> 115*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##local ##targetNamespace http://BAR" processContents="lax"/> 116*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 117*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup name="attrGr.inters.4_1"> 118*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##local ##targetNamespace"/> 119*7c568831SAndroid Build Coastguard Worker </xsd:attributeGroup> 120*7c568831SAndroid Build Coastguard Worker <!-- 5. If the two are negations of different namespace names, 121*7c568831SAndroid Build Coastguard Worker then the intersection is not expressible. --> 122*7c568831SAndroid Build Coastguard Worker <!-- 123*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.inters.5_1"> 124*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup ref="import:attrGr.inters.5_1"/> 125*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##other" processContents="lax"/> 126*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 127*7c568831SAndroid Build Coastguard Worker --> 128*7c568831SAndroid Build Coastguard Worker <!--6. If the one is a negation of a namespace name and the other is a negation of �absent�, 129*7c568831SAndroid Build Coastguard Worker then the one which is the negation of a namespace name must be the value. 130*7c568831SAndroid Build Coastguard Worker 131*7c568831SAndroid Build Coastguard Worker This one uses an attribute group from an imported schema with no targetNamespace. 132*7c568831SAndroid Build Coastguard Worker --> 133*7c568831SAndroid Build Coastguard Worker <xsd:complexType name="type.inters.6_1"> 134*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup ref="attrGr.inters.6_1"/> 135*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##other" processContents="lax"/> 136*7c568831SAndroid Build Coastguard Worker </xsd:complexType> 137*7c568831SAndroid Build Coastguard Worker 138*7c568831SAndroid Build Coastguard Worker <xsd:attributeGroup name="attrGrA"> 139*7c568831SAndroid Build Coastguard Worker <xsd:anyAttribute namespace="##targetNamespace"/> 140*7c568831SAndroid Build Coastguard Worker </xsd:attributeGroup> 141*7c568831SAndroid Build Coastguard Worker 142*7c568831SAndroid Build Coastguard Worker</xsd:schema> 143*7c568831SAndroid Build Coastguard Worker 144*7c568831SAndroid Build Coastguard Worker 145