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 xe...@xml.apache.org on 2004/09/30 12:54:39 UTC

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

The following issue has been updated:

    Updater: Alberto Massari (mailto:amassari@progress.com)
       Date: Thu, 30 Sep 2004 3:54 AM
    Comment:
The XML file
    Changes:
             Attachment changed to rT.xml
    ---------------------------------------------------------------------
For a full history of the issue, see:

  http://issues.apache.org/jira/browse/XERCESC-1281?page=history

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/XERCESC-1281

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: XERCESC-1281
    Summary: Validation by restriction doesn't take into account substitution groups
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Xerces-C++
 Components: 
             Validating Parser (Schema) (Xerces 1.5 or up only)
   Versions:
             2.5.0

   Assignee: 
   Reporter: Alberto Massari

    Created: Thu, 30 Sep 2004 3:53 AM
    Updated: Thu, 30 Sep 2004 3:54 AM
Environment: Windows XP, Visual C++ 6.0

Description:
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


---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org