Assigned: (XERCESJ-1139) Validation of an optional substituted element in 2006-03-25 - By Michael Glavassevich (JIRA)
[ http://issues.apache.org/jira/browse/XERCESJ-1139?page=all ]
Michael Glavassevich reassigned XERCESJ-1139: ---------------------------------------------
Assign To: Sandy Gao
> Validation of an optional substituted element in a restriction fails > -------------------------------------------------------------------- > > Key: XERCESJ-1139 > URL: http://issues.apache.org/jira/browse/XERCESJ-1139 > Project: Xerces2-J > Type: Bug > Components: XML Schema Structures > Versions: 2.7.1 > Environment: Java [1.]5 > Reporter: Martin Thomson > Assignee: Sandy Gao
> > Xerces fails to validate when an optional element is replaced by one in its substitution group in a restriction. With a standalone element, this fails with the claim that there is not a complete mapping between particles. > That is, where X2 is a restriction of X1 and Y2 is substitutable for Y1, the following results in the rcase-RecurseLax.2 error: > X1 = (Y1?) > X2 = (Y2?) > The following also causes a rcase-Recurse.2 error: > X1 = (Y1?, Z) > X2 = (Y2?, Z) > The following are accepted: > X2 = (Y1?) > X2 = (Y2) > However, if I add Y3 (substitutable for Y2), the last also fails. > XSV (http://www.w3.org/2001/03/webdata/xsv) validates the schema successfully. > The only related issues I could find were XERCESJ-1066 (yes, mine) and XERCESJ-922, but I think that those are different. Although, like these issues , I think that this is related to the way that choices are introduced and subsequently collapsed. > -- Test Schema > <?xml version="1.0"?> > <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" > targetNamespace="urn:subs" xmlns="urn:subs" > xmlns:subs="urn:subs" > elementFormDefault="qualified"> > <xsd:element name="Y1" type="xsd:anyType"/> > <xsd:element name="Y2" type="xsd:anyType" substitutionGroup="Y1"/> > <xsd:element name="Y3" type="xsd:anyType" substitutionGroup="Y2"/> > <xsd:element name="X1" type="x1"/> > <xsd:complexType name="x1"> > <xsd:complexContent> > <xsd:restriction base="xsd:anyType"> > <xsd:sequence> > <xsd:element ref="Y1" minOccurs="0"/> > </xsd:sequence> > </xsd:restriction> > </xsd:complexContent> > </xsd:complexType> > <!-- Xerces Error --> > <xsd:element name="X2-a" type="x2-a"/> > <xsd:complexType name="x2-a"> > <xsd:complexContent> > <xsd:restriction base="x1"> > <xsd:sequence> > <xsd:element ref="Y2" minOccurs="0"/> > </xsd:sequence> > </xsd:restriction> > </xsd:complexContent> > </xsd:complexType> > <xsd:element name="X2-b" type="x2-b"/> > <xsd:complexType name="x2-b"> > <xsd:complexContent> > <xsd:restriction base="x1"> > <xsd:sequence> > <xsd:element ref="Y1" minOccurs="0"/> > </xsd:sequence> > </xsd:restriction> > </xsd:complexContent> > </xsd:complexType> > <!-- Xerces Error --> > <xsd:element name="X2-c" type="x2-c"/> > <xsd:complexType name="x2-c"> > <xsd:complexContent> > <xsd:restriction base="x1"> > <xsd:sequence> > <xsd:element ref="Y2"/> > </xsd:sequence> > </xsd:restriction> > </xsd:complexContent> > </xsd:complexType> > <xsd:element name="X2-d" type="x2-d"/> > <xsd:complexType name="x2-d"> > <xsd:complexContent> > <xsd:restriction base="x1"> > <xsd:sequence> > <xsd:element ref="Y3"/> > </xsd:sequence> > </xsd:restriction> > </xsd:complexContent> > </xsd:complexType> > </xsd:schema>
-- 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: j-dev-unsubscribe@(protected) For additional commands, e-mail: j-dev-help@(protected)
|
|