[
https://issues.apache.org/jira/browse/XERCESJ-1596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13603416#comment-13603416
]
Mukul Gandhi commented on XERCESJ-1596:
---------------------------------------
Here's something I tried today while studying this issue.
Using your same schema document, I attempted validation with following XML
instance document,
<r:BookStore xmlns:r="http://www.books.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.books.org schema.xsd">
<r:Book>
<r:Title>Title0</r:Title>
<r:Author>Author0</r:Author>
<r:Date>2006</r:Date>
<r:ISBN>ISBN0</r:ISBN>
<r:Publisher>Publisher0</r:Publisher>
<r:Edition>First</r:Edition>
</r:Book>
</r:BookStore>
and I did not get an error. I've introduced a new element named "r:Edition" as
last sibling within children of element "r:Book".
If a new sibling element within "r:Book" is introduced after all currently
existing siblings, and a new sibling element has same name as one of the
already declared sibling elements (for e.g, r:Title etc), Xerces gives an error
as you've reported. This current implementation looks sensible to me, from a
schema author's point of view.
But I agree, that this behavior is against the spirit of xs:openContent schema
element (but I haven't crosschecked with the spec, the behavior which language
desires).
> Open content validation problem
> -------------------------------
>
> Key: XERCESJ-1596
> URL: https://issues.apache.org/jira/browse/XERCESJ-1596
> Project: Xerces2-J
> Issue Type: Bug
> Components: XML Schema 1.1 Structures
> Affects Versions: 2.11.0
> Reporter: Octavian Nadolu
> Priority: Minor
>
> If I validate the following XML file with the XML Schema I get an error:
> "cos-element-consistent.4: A wildcard matched a global element 'r:Title'
> ...."
> The problem is that in the "<r:Book>" element we have as last child the
> "<r:Title>" element. There should be no error because the "Book" element has
> an open content which specifies that elements from target namespace are
> permitted as last children.
> ------ XML Instance -------------------------
> <r:BookStore xmlns:r="http://www.books.org"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://www.books.org schema.xsd">
> <r:Book>
> <r:Title>Title0</r:Title>
> <r:Author>Author0</r:Author>
> <r:Date>2006</r:Date>
> <r:ISBN>ISBN0</r:ISBN>
> <r:Publisher>Publisher0</r:Publisher>
> <r:Title>Title1</r:Title>
> </r:Book>
> </r:BookStore>
> -----------------------------------------
> ----- XML Schema -------------------------
> <?xml version="1.0"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> targetNamespace="http://www.books.org"
> xmlns:r="http://www.books.org" elementFormDefault="qualified">
> <xs:element name="BookStore">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="Book" maxOccurs="unbounded">
> <xs:complexType>
> <xs:openContent mode="suffix">
> <xs:any processContents="lax"
> namespace="##targetNamespace"/>
> </xs:openContent>
> <xs:sequence>
> <xs:element name="Title" type="xs:string"/>
> <xs:element name="Author" type="xs:string"/>
> <xs:element name="Date" type="xs:gYear"/>
> <xs:element name="ISBN" type="xs:string"/>
> <xs:element name="Publisher" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
> ------------------------------------------
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]