Hash :
3646d646
Author :
Date :
2004-06-02T19:19:14
applied a patch from Kasimier Buchcik implementing attribute uses and * xmlschemas.c include/libxml/schemasInternals.h include/libxml/xmlerror.h: applied a patch from Kasimier Buchcik implementing attribute uses and wildcards. * test/schemas/* result/schemas/*: added/fixed a bunch of tests Daniel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://FOO" targetNamespace="http://FOO">
<xs:element name="foo">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="typeA">
<xs:attribute name="barA_1" type="xs:string" use="optional"/>
<!-- OK -->
<xs:attribute name="barA_2" type="xs:string" use="required"/>
<!-- OK -->
<xs:attribute name="barA_3" type="xs:string" use="prohibited"/>
<!-- OK -->
<xs:attribute name="barB_1" type="xs:string" use="optional"/>
<!-- 2.1.1 inconsistent ( OR 3 ) -->
<xs:attribute name="barB_2" type="xs:string" use="required"/>
<!-- OK -->
<xs:attribute name="barB_3" type="xs:string" use="prohibited"/>
<!-- 3 -->
<xs:attribute name="barC_1" type="xs:string" use="optional"/>
<!-- 2.2 no match in base -->
<xs:attribute name="barC_2" type="xs:string" use="required"/>
<!-- 2.2 no match in base -->
<xs:attribute name="barC_3" type="xs:string" use="prohibited"/>
<!-- OK -->
<xs:attribute name="barD_1" type="xs:string" use="optional"/>
<!-- 2.2 no match in base -->
<xs:attribute name="barD_2" type="xs:string" use="required"/>
<!-- 2.2 no match in base -->
<xs:attribute name="barD_3" type="xs:string" use="prohibited"/>
<!-- OK -->
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="typeA">
<xs:attribute name="barA_1" type="xs:string" use="optional"/>
<xs:attribute name="barA_2" type="xs:string" use="optional"/>
<xs:attribute name="barA_3" type="xs:string" use="optional"/>
<xs:attribute name="barB_1" type="xs:string" use="required"/>
<xs:attribute name="barB_2" type="xs:string" use="required"/>
<xs:attribute name="barB_3" type="xs:string" use="required"/>
<xs:attribute name="barC_1" type="xs:string" use="prohibited"/>
<xs:attribute name="barC_2" type="xs:string" use="prohibited"/>
<xs:attribute name="barC_3" type="xs:string" use="prohibited"/>
</xs:complexType>
</xs:schema>