[ https://issues.apache.org/jira/browse/XERCESJ-1378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12718583#action_12718583 ]
Arthur De Magalhaes commented on XERCESJ-1378: ---------------------------------------------- Upon investigation, I found out this bug is a little bit bigger: seems like attributes are not taken into consideration AT ALL when making the decision on the ElementPSVI [validation attempted] property. The example below shows that, if I have an element that contains a not-declared attribute (but the element and its child are themselves declared), the parent element will have the incorrect [validation attempted] property set to FULL (instead of partial, because we never attempted to validate the attribute, since it was not declared). public static final String SCHEMA3 = "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'" + " xmlns:my='http://example.org'" + " targetNamespace='http://example.org'" + " elementFormDefault='qualified'>\n" + " <xs:attribute name='var' type='xs:integer'/>\n" + " <xs:element name='unknown'>\n" + " <xs:complexType>\n" + " <xs:sequence/>\n" + " </xs:complexType>\n" + " </xs:element>\n" + " <xs:element name='foo'>\n" + " <xs:complexType>\n" + " <xs:sequence/>\n" + " </xs:complexType>\n" + " </xs:element>\n" + "</xs:schema>\n"; public static final String INPUT3 = "<my:unknown xmlns:my='http://example.org' my:var2='7'><my:foo/></my:unknown>"; ======= Ouptut =========== Element my:unknown [validation attempted] == full [validity] == invalid Attr my:var2 [validation attempted] == none [validity] == not known Element my:foo [validation attempted] == full [validity] == valid > PSVI wrong for laxly validated element with validated attribute > ---------------------------------------------------------------- > > Key: XERCESJ-1378 > URL: https://issues.apache.org/jira/browse/XERCESJ-1378 > Project: Xerces2-J > Issue Type: Bug > Components: XML Schema API > Affects Versions: 2.9.1 > Reporter: Arthur De Magalhaes > Assignee: Arthur De Magalhaes > Priority: Minor > > Credit to Henry Zongaro for finding this bug. > If an element is laxly assessed and it has an attribute that is strictly > assessed, the [validation attempted] property of the element's PSVI should be > "partial" according to > <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#sic-e-outcome>. > However, Xerces seems to set that property to "none" unless the element also > had a child element whose [validation attempted] not "none". > Using the two instances below, they both should have the "unknown" element > with a validation attempted field as "partial", but only the second instance > has that (the first one has validation attempted field as "none") > ----- Problem recreation --------------- > public static final String SCHEMA = > "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'" + > " xmlns:my='http://example.org'" + > " targetNamespace='http://example.org'" + > " elementFormDefault='qualified'>\n" + > " <xs:attribute name='var' type='xs:integer'/>\n" + > " <xs:element name='foo'>\n" + > " <xs:complexType>\n" + > " <xs:sequence/>\n" + > " </xs:complexType>\n" + > " </xs:element>\n" + > "</xs:schema>\n"; > public static final String INPUT1 = > "<unknown xmlns:my='http://example.org' my:var='7'/>"; > public static final String INPUT2 = > "<unknown xmlns:my='http://example.org' > my:var='7'><my:foo/></unknown>"; -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: j-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: j-dev-h...@xerces.apache.org