[
https://issues.apache.org/jira/browse/XERCESJ-1378?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arthur De Magalhaes updated XERCESJ-1378:
-----------------------------------------
Attachment: XMLSchemaValidator_patch3.txt
This latest patch fixes yet another issue found related to this: we have to
make sure that our attribute flag for declared vs undeclared attributes doesn't
vary depending on the order of attributes (also when mixed in with namespace
declarations). Having one undeclared attribute followed by a declared
attribute should leave the parent chain with a partial validation attempted
(not full).
> 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
> Attachments: XMLSchemaValidator_patch.txt,
> XMLSchemaValidator_patch2.txt, XMLSchemaValidator_patch3.txt
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]