Annotation of embedaddon/libxml2/test/schemas/derivation-ok-restriction-4-1-err_0.xsd, revision 1.1.1.1

1.1       misho       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>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>