[ 
https://issues.apache.org/jira/browse/XERCESJ-1594?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mukul Gandhi updated XERCESJ-1594:
----------------------------------
    Comment: was deleted

(was: I'm reopening this issue. The current development code on both trunk and 
xsd 1.1 branch, doesn't work fine for this issue. The fix, that was done for 
this issue earlier, breaks the solution that has been implemented for issue 
XERCESJ-1515.

As per my view, I'm preferring the solution that has been implemented for 
XERCESJ-1515, over this issue.

We can address this issue later (perhaps after the 2.12.1 release).)

> Key/Keyref are not validated correctly
> --------------------------------------
>
>                 Key: XERCESJ-1594
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-1594
>             Project: Xerces2-J
>          Issue Type: Bug
>          Components: XML Schema 1.0 Structures
>    Affects Versions: 2.11.0
>            Reporter: Octavian Nadolu
>            Assignee: Mukul Gandhi
>            Priority: Major
>
> The Key/Keyref it is not validated correctly. I tested on the 
> xml-schema-1.1-dev branch. 
> You can reproduce it if you validate the XML instance "instance.xml" with the 
> XML Schema "schema.xsd". When you validate the XML file there should be two 
> errors because the "ref" elements refers to invalid keys.
> As a hint, this happens only if the last "person" element does not have a 
> "ref" element as child.
> ----instance.xml-----------------
> <personnel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:noNamespaceSchemaLocation="schema.xsd">
>     <person id="111">
>         <name>name</name>
>         <ref>1</ref>
>     </person>
>     <person id="222">
>         <name>name</name>
>         <ref>2</ref>
>     </person>
>     <person id="333">
>         <name>name</name>
>     </person>
> </personnel>
> ----------------------------------------
> ----schema.xsd------------------
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";>
>   <xs:element name="personnel">
>     <xs:complexType>
>       <xs:sequence>
>         <xs:element ref="person" maxOccurs="unbounded"/>
>       </xs:sequence>
>     </xs:complexType>
>     <xs:key name="key">
>       <xs:selector xpath="person"/>
>       <xs:field xpath="@id"/>
>     </xs:key>
>     <xs:keyref refer="key" name="keyref">
>       <xs:selector xpath="person"/>
>       <xs:field xpath="ref"/>
>     </xs:keyref>
>   </xs:element>
>   <xs:element name="person">
>     <xs:complexType>
>       <xs:sequence>
>         <xs:element name="name" type="xs:string"/>
>         <xs:element name="ref" type="xs:integer" minOccurs="0"/>
>       </xs:sequence>
>       <xs:attribute name="id" type="xs:integer" use="required"/>
>     </xs:complexType>
>   </xs:element>
> </xs:schema>
> ----------------------------------------



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: j-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: j-dev-h...@xerces.apache.org

Reply via email to