[ 
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]

Reply via email to