You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "Alberto Massari (JIRA)" <xe...@xml.apache.org> on 2006/05/02 17:19:47 UTC

[jira] Commented: (XERCESC-1281) Validation by restriction doesn't take into account substitution groups

    [ http://issues.apache.org/jira/browse/XERCESC-1281?page=comments#action_12377411 ] 

Alberto Massari commented on XERCESC-1281:
------------------------------------------

Hi Boris,
unfortunately this bug hasn't been scheduled for the 3.0 version. But you can improve its chances by casting a vote for it.

Alberto

> 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++
>         Type: Bug

>   Components: Validating Parser (Schema) (Xerces 1.5 or up only)
>     Versions: 2.5.0
>  Environment: Windows XP, Visual C++ 6.0
>     Reporter: Alberto Massari
>  Attachments: rT.xml, restrictionTest.xsd
>
> 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: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org