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

Mukul Gandhi updated XERCESJ-1594:
----------------------------------
    Fix Version/s:     (was: 2.12.0)

> 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