You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by "Mukul Gandhi (Jira)" <xe...@xml.apache.org> on 2019/12/20 11:17:00 UTC

[jira] [Reopened] (XERCESJ-1585) Change in behavior when a keyref refers an out-of-scope unique or key

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

Mukul Gandhi reopened XERCESJ-1585:
-----------------------------------

I'm reopening this issue, as there's an issue with how it was addressed originally.

> Change in behavior when a keyref refers an out-of-scope unique or key
> ---------------------------------------------------------------------
>
>                 Key: XERCESJ-1585
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-1585
>             Project: Xerces2-J
>          Issue Type: Bug
>          Components: XML Schema 1.0 Structures
>    Affects Versions: 2.11.0
>            Reporter: Radu Coravu
>            Assignee: Mukul Gandhi
>            Priority: Major
>             Fix For: 2.12.0
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> If I have the following XML:
> <?xml version="1.0" encoding="UTF-8"?>
> <Top xmlns="www.bla.com"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation="www.bla.com test.xsd">
>     <Sub_1>
>         <Sub_2/>
>         <Sub_2/>
>     </Sub_1>
>     <Sub_1a>
>         <Sub_2a/>
>     </Sub_1a>
> </Top>
> and validate it with the following XML Schema:
> <?xml version="1.0" encoding="UTF-8"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
>     targetNamespace="www.bla.com" xmlns:ns="www.bla.com">
>     
>     <xs:element name="Top">
>         <xs:complexType>
>             <xs:sequence>
>                 <xs:element name="Sub_1">
>                     <xs:complexType>
>                         <xs:sequence>
>                             <xs:element maxOccurs="unbounded" name="Sub_2">
>                                 <xs:complexType>
>                                     <xs:attribute name="SubID" use="optional"/>
>                                 </xs:complexType>
>                             </xs:element>
>                         </xs:sequence>
>                     </xs:complexType>
>                     <xs:key name="newKey">
>                         <xs:selector xpath="Sub_2a"/>
>                         <xs:field xpath="@SubID"/>
>                     </xs:key>
>                 </xs:element>
>                 <xs:element name="Sub_1a">
>                     <xs:complexType>
>                         <xs:sequence>
>                             <xs:element name="Sub_2a">
>                                 <xs:complexType>
>                                     <xs:attribute name="SubIDPtr"/>
>                                 </xs:complexType>
>                             </xs:element>
>                         </xs:sequence>
>                     </xs:complexType>
>                     <xs:keyref name="newKeyref" refer="ns:newKey">
>                         <xs:selector xpath="Sub_2a"/>
>                         <xs:field xpath="SubIDPtr"/>
>                     </xs:keyref>
>                 </xs:element>
>             </xs:sequence>
>         </xs:complexType>
>     </xs:element>
> </xs:schema>
> In Xerces 2.9.0 the following error was reported:
> Identity Constraint error:  identity constraint "KeyRef@79ff89" has a keyref which refers to a key or unique that is out of scope. 
> @Line 11 Column 14
> In Xerces 2.11.0 (using the 'xerces-java-xml-schema-1.1-dev' branch) the sample is considered valid when validated either with XML Schema 1.0 or 1.1 support.
> Was there any functionality lost?



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

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