Home | History | Annotate | Download | only in schemas
      1 <?xml version="1.0" encoding="ISO-8859-1" ?>
      2 <!-- 
      3 	Schema Component Constraint: Derivation Valid (Restriction, Complex)
      4 
      5 	4 If there is an {attribute wildcard}, all of the following must be true:
      6 
      7 	4.1 The {base type definition} must also have one.
      8 
      9 	4.2 The complex type definition's {attribute wildcard}'s {namespace constraint} 
     10 	must be a subset of the {base type definition}'s {attribute wildcard}'s {namespace 
     11 	constraint}, as defined by Wildcard Subset (3.10.6).
     12 
     13 	4.3 Unless the {base type definition} is the ur-type definition, the complex type 
     14 	definition's {attribute wildcard}'s {process contents} must be identical to or stronger 
     15 	than the {base type definition}'s {attribute wildcard}'s {process contents}, 
     16 	where strict is stronger than lax is stronger than skip.
     17 -->
     18 <schema xmlns="http://www.w3.org/2001/XMLSchema" 
     19 	targetNamespace="http://FOO" 
     20 	xmlns:foo="http://FOO"
     21 	>
     22 	
     23 	<element name="foo">
     24 		<complexType>
     25 			<sequence>
     26 				<element name="bar.A" type="foo:type.A" />
     27 				<element name="bar.B" type="foo:type.B" />
     28 				<element name="bar.C" type="foo:type.C" />
     29 			</sequence>
     30 		</complexType>    
     31 	</element>  
     32 
     33 	<complexType name="type.A">
     34 		<complexContent>
     35 			<restriction base="foo:base.type.A">				  	  			
     36 				<anyAttribute namespace="##any" processContents="skip" />
     37 			</restriction>
     38 		</complexContent>
     39 	</complexType>    
     40 
     41 	<complexType name="base.type.A">
     42 		<attribute name="bar" type="string"/>		
     43 	</complexType>    
     44 
     45 	<complexType name="type.B">
     46 		<complexContent>
     47 			<restriction base="foo:base.type.B">				  	  			
     48 				<anyAttribute namespace="##any" processContents="skip" />
     49 			</restriction>
     50 		</complexContent>
     51 	</complexType>    
     52 
     53 	<complexType name="base.type.B">
     54 		<anyAttribute namespace="http://FOO" processContents="skip" />		
     55 	</complexType>    
     56 
     57 	<complexType name="type.C">
     58 		<complexContent>
     59 			<restriction base="foo:base.type.C">				  	  			
     60 				<anyAttribute namespace="##any" processContents="skip" />
     61 			</restriction>
     62 		</complexContent>
     63 	</complexType>    
     64 
     65 	<complexType name="base.type.C">
     66 		<anyAttribute namespace="##any" processContents="lax" />		
     67 	</complexType>    
     68 
     69 </schema>
     70