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

Mukul Gandhi resolved XERCESJ-1601.
-----------------------------------

    Resolution: Later

there hasn't been a consensus on this issue so far. I might have been right 
with my previous comments on this issue. This is a design issue with Xerces-J 
IDC framework, and to my opinion modifying parts of IDC implementation logic 
which might achieve this functionality is not a trivial and risk free change. 
My suggestion is to take this up later, and hence I'm marking the resolution of 
this issue as 'Later'.
                
> Keyref to a key in a different scope
> ------------------------------------
>
>                 Key: XERCESJ-1601
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-1601
>             Project: Xerces2-J
>          Issue Type: Bug
>          Components: XML Schema 1.1 Structures
>    Affects Versions: 2.11.0
>            Reporter: Octavian Nadolu
>            Priority: Minor
>         Attachments: keyref1_1.xsd, keyref1_2.xsd, keyref1.xml, keyref2.xml, 
> keyref2.xsd
>
>
> If I validate the "instance.xml" with the XML Schema "test.xsd" I get the 
> following error:
> cvc-identity-constraint.4.3: Key 'kr' with value 'a2' not found for identity 
> constraint of element 'parent'.
> I tested on the xml-schema-1.1-dev branch.
> Xerces discards all the key defined on "child" elements except the ones 
> defined on the last "child" element. In the example only the "a1" and "a4" 
> values are used when the keyref is checked.
> The schema added below defines a key on the "child" element selecting the 
> "element/@id" attribute and a key reference on the "parent" element that 
> specifies that "test/@ref" points to "child/element/@id" attributes.
> All the keys defined in the "child" elements should be valid, except the ones 
> that are duplicates. There is a discussion about this on the XML Schema Dev 
> list:
> http://lists.w3.org/Archives/Public/xmlschema-dev/2013Jan/0004.html
> ---- instance.xml------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>   xsi:noNamespaceSchemaLocation="test.xsd">
>      <child>
>          <element id="a1"/>
>          <element id="a2"/>
>      </child>
>      <child>
>          <element id="a1"/>
>          <element id="a4"/>
>      </child>
>      <test ref="a2"/>
>      <test ref="a1"/>
> </parent>
> -------------------
> ------------test.xsd---------------
> <?xml version="1.0" encoding="UTF-8"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
> elementFormDefault="qualified">
>    <xs:element name="parent">
>      <xs:complexType>
>        <xs:sequence>
>          <xs:element name="child" maxOccurs="unbounded">
>            <xs:complexType>
>              <xs:sequence maxOccurs="unbounded">
>                <xs:element name="element">
>                  <xs:complexType>
>                    <xs:attribute name="id" use="required"/>
>                  </xs:complexType>
>                </xs:element>
>              </xs:sequence>
>            </xs:complexType>
>            <xs:key name="k">
>              <xs:selector xpath="element"/>
>              <xs:field xpath="@id"/>
>            </xs:key>
>          </xs:element>
>          <xs:element name="test" maxOccurs="unbounded">
>            <xs:complexType>
>              <xs:attribute name="ref"/>
>            </xs:complexType>
>          </xs:element>
>        </xs:sequence>
>      </xs:complexType>
>      <xs:keyref name="kr" refer="k">
>        <xs:selector xpath="test"/>
>        <xs:field xpath="@ref"/>
>      </xs:keyref>
>    </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]

Reply via email to