[ http://issues.apache.org/jira/browse/XERCESC-1281?page=comments#action_12437051 ] Boris Kolpackov commented on XERCESC-1281: ------------------------------------------
Hi Alberto, Here are the answers to your questions: a) Boris Kolpackov / Code Synthesis Tools CC (http://www.codesynthesis.com). b) Yes. c) Yes. d) My employer encouraged and gave me the rights to contribute this code (our product depends on Xerces-C++ and having this patch in the official version will make our life easier). e) No, there should not be any third-party licenses or other restrictions. -boris > Validation by restriction doesn't take into account substitution groups > ----------------------------------------------------------------------- > > Key: XERCESC-1281 > URL: http://issues.apache.org/jira/browse/XERCESC-1281 > Project: Xerces-C++ > Issue Type: Bug > Components: Validating Parser (Schema) (Xerces 1.5 or up only) > Affects Versions: 2.5.0 > Environment: Windows XP, Visual C++ 6.0 > Reporter: Alberto Massari > Attachments: restrictionTest.xsd, rT.xml, > subst-group-in-restriction.patch > > > Running SaxCount -n -f -s rT.xml shows the following errors: > Error at file c:\testcase\schema-restriction/restrictionTest.xsd, line 42, > char 30 > Message: Recurse: There is not a complete functional mapping between the > particles > Error at file c:\testcase\schema-restriction/restrictionTest.xsd, line 63, > char 30 > Message: Forbidden restriction of 'choice': All,Seq,Leaf > The first error is caused by a restriction of A1_Type, replacing a sequence > of O1 with a sequence of O2, O2 being in the substitution group of O1. > The second error is caused by a restriction of B1_Type, replacing a sequence > of O1 with a sequence of a choice of O2. Here Xerces complains that a choice > should not be matched against a single element; but if Xerces had implemented > this rule from the spec (ยง 3.9.6 "Constraints on Particle Schema Components", > section "Schema Component Constraint: Particle Valid (Restriction)", point > 2.1 "Any top-level element declaration particle (in R or B) which is the > {substitution group affiliation} of one or more other element declarations > and whose - substitution group- contains at least one element declaration > other than itself is treated as if it were a choice group whose {min occurs} > and {max occurs} are those of the particle, and whose {particles} consists of > one particle with {min occurs} and {max occurs} of 1 for each of the > declarations in its - substitution group- ") the sequence of O1 would have > been replaced with a sequence of a choice between O1 and O2, and this would > have matched this choice with the one in the B2_Type declaration. > Alberto -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
