PLEASE DO NOT REPLY TO THIS MESSAGE. TO FURTHER COMMENT
ON THE STATUS OF THIS BUG PLEASE FOLLOW THE LINK BELOW
AND USE THE ON-LINE APPLICATION. REPLYING TO THIS MESSAGE
DOES NOT UPDATE THE DATABASE, AND SO YOUR COMMENT WILL
BE LOST SOMEWHERE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3541

*** shadow/3541 Tue Sep 11 00:57:08 2001
--- shadow/3541.tmp.24008       Tue Sep 11 00:57:08 2001
***************
*** 0 ****
--- 1,102 ----
+ +============================================================================+
+ | schema error not reported for complexType on restricted substitutionGroup  |
+ +----------------------------------------------------------------------------+
+ |        Bug #: 3541                        Product: Xerces-J                |
+ |       Status: NEW                         Version: 1.4.3                   |
+ |   Resolution:                            Platform: Sun                     |
+ |     Severity: Minor                    OS/Version: Solaris                 |
+ |     Priority: Other                     Component: Schema-Structures       |
+ +----------------------------------------------------------------------------+
+ |  Assigned To: [EMAIL PROTECTED]                                  |
+ |  Reported By: [EMAIL PROTECTED]                                     |
+ |      CC list: Cc:                                                          |
+ +----------------------------------------------------------------------------+
+ |          URL:                                                              |
+ +============================================================================+
+ |                              DESCRIPTION                                   |
+ When the following Schema 
+ 
+ <?xml version="1.0" encoding="UTF-8"?>
+ <xsd:schema 
+     targetNamespace="http://www.example.com/Who"; 
+     xmlns="http://www.example.com/Who"; 
+     xmlns:xsd="http://www.w3.org/2001/XMLSchema";
+     finalDefault="restriction"
+     xml:lang="en-GB">
+ 
+     <xsd:annotation>
+         <xsd:documentation>
+             XML Schema to test SubstitutionGroups with xsd:anyType head 
+         </xsd:documentation>
+     </xsd:annotation>
+ 
+     <xsd:element
+         name="anyHead"
+         type="xsd:anyType"/>
+ 
+     <xsd:element
+         name="simpleSubstitute"
+         substitutionGroup="anyHead"
+         type="xsd:string"/>
+ 
+     <xsd:element
+         name="complexSubstitute"
+         substitutionGroup="anyHead">
+         <xsd:complexType>
+             <xsd:simpleContent>
+                 <xsd:extension base="xsd:string"/>
+             </xsd:simpleContent>
+         </xsd:complexType>
+     </xsd:element>
+ 
+     <xsd:element
+         name="MotherHen">
+         <xsd:complexType>
+             <xsd:sequence>
+                 <xsd:element 
+                     ref="anyHead"
+                     maxOccurs="unbounded"/>
+             </xsd:sequence>
+         </xsd:complexType>
+     </xsd:element>
+ 
+ </xsd:schema>
+ 
+ is used with the instance document
+ 
+ <?xml version="1.0" encoding="UTF-8"?>
+ <MotherHen 
+     xmlns="http://www.example.com/Who"; 
+     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+     xsi:schemaLocation="http://www.example.com/Who Substitution.xsd">
+     <complexSubstitute>John Entwhistle</complexSubstitute>
+     <simpleSubstitute>Pete Townsend</simpleSubstitute>
+ </MotherHen>
+ 
+ xerces reports an error on simpleSubstitute but fails to report an error on 
+ complexSubstitute.
+ 
+ NOTE: Bug report from query on xerces-j-user mailing list. 
+ http://marc.theaimsgroup.com/?l=xerces-j-user&m=100013535924476&w=2
+ Reply from Sandy Gao as follows :
+ 
+ In the declaration of "anyHead" element, no "final" is specified, so
+ "finalDefault" of the <schema> element is used, and {substitution group
+ exclusions} for "anyHead" is "restriction".
+ 
+ "Schema Component Constraint: Element Declaration Properties Correct",
+ point 3:
+ "3 If there is an {substitution group affiliation}, the {type definition}
+ of the element declaration must be validly derived from the {type
+ definition} of the {substitution group affiliation}, given the value of the
+ {substitution group exclusions} of the {substitution group affiliation}, as
+ defined in Type Derivation OK (Complex) (�3.4.6) (if the {type definition}
+ is complex) or as defined in Type Derivation OK (Simple) (�3.14.6) (if the
+ {type definition} is simple)."
+ 
+ That means, any element of a type that's derived by "restriction" from the
+ type of "anyHead" (anyType in this case) is not allowed to substitute
+ "anyHead". So the parser is correct to report an error on
+ "simpleSubstitute". For the same reason, the parser should also report an
+ error on "complexSubstitute", but it fails to, which is a bug. I'll look
+ into it, and fixed it if possible.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to