[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
RE: [xml-dev] key and keyref issues
- From: John Dziurlaj <john@hiltonroscoe.com>
- To: Ghislain Fourny <gfourny@inf.ethz.ch>, Michael Kay <mike@saxonica.com>
- Date: Wed, 30 May 2018 11:58:26 -0400
I added an explicit namespace (n1) and updated the constraints to use it:
New xsd:schema tag:
<xsd:schema xmlns="NIST_V2_election_results_reporting.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:n1="NIST_V2_election_results_reporting.xsd"
targetNamespace="NIST_V2_election_results_reporting.xsd"
elementFormDefault="qualified" version="2.0">
New constraints:
<xsd:key name="personKey">
<xsd:selector xpath="./n1:Person"/>
<xsd:field xpath="@ObjectId"/>
</xsd:key>
<xsd:keyref name="personKeyRef" refer="personKey">
<xsd:selector xpath="./n1:Election/n1:Candidate"/>
<xsd:field xpath="n1:PersonId"/>
</xsd:keyref>
And now the validation works as expected. I must say I'm not sure why I need
the namespace, when I'm not using it anywhere else in the XSD.
Thanks,
John.
-----Original Message-----
From: Ghislain Fourny <gfourny@inf.ethz.ch>
Sent: Wednesday, May 30, 2018 11:52 AM
To: Michael Kay <mike@saxonica.com>
Cc: John Dziurlaj <john@hiltonroscoe.com>; xml-dev@lists.xml.org; Sam Dana
<s.dana@prometheuscomputing.com>
Subject: Re: [xml-dev] key and keyref issues
Dear John,
I agree with Mike -- however I also do see that in your document you are
referring to types using no prefixes either, which may indicate that you are
declaring a default namespace.
Maybe if you would share your entire document, it would help narrow down the
issue, or at least all the attributes and xmlns/targetNamespace bindings,
usually all at the xsd:schema element.
Thanks and kind regards,
Ghislain
> On 30 May 2018, at 17:41, Michael Kay <mike@saxonica.com> wrote:
>
> The elements in the source document are all in a namespace but the path
> expressions in your key definitions are looking for elements in no
> namespace.
>
> Michael Kay
> Saxonica
>
>> On 30 May 2018, at 16:33, John Dziurlaj <john@hiltonroscoe.com> wrote:
>>
>> I’m attempting to constrain a schema, which has a lot of xsd:ID and
>> xsd:IDREF, so that, for example, a Person IDREF can only refer to a
>> Person ID.
>>
>> I wrote a key and keyref constraint thus:
>>
>> <xsd:element name="ElectionReport" type="ElectionReport">
>> <xsd:key name="personKey">
>> <xsd:selector xpath="./Person"/>
>> <xsd:field xpath="@ObjectId"/>
>> </xsd:key>
>> <xsd:keyref name="personKeyRef" refer="personKey">
>> <xsd:selector xpath="./Election/Candidate"/>
>> <xsd:field xpath="PersonId"/>
>> </xsd:keyref>
>> </xsd:element>
>>
>> However, when I try it against an example I wrote up (which should throw
>> a validation error), it succeeds with no errors.
>>
>> I’ve attached both my schema and example file. I am using XMLSpy to
>> validate my instances.
>>
>> Thanks,
>>
>> John Dziurlaj
>>
>> Elections Consultant
>> Hilton Roscoe LLC
>> Cell 330-714-8935 Work/Fax 234-706-6434
>>
>> <idc_test.xml><NIST_V2_election_results_reporting.xsd>_______________
>> ________________________________________________________
>>
>> XML-DEV is a publicly archived, unmoderated list hosted by OASIS to
>> support XML implementation and development. To minimize spam in the
>> archives, you must subscribe before posting.
>>
>> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
>> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
>> subscribe: xml-dev-subscribe@lists.xml.org List archive:
>> http://lists.xml.org/archives/xml-dev/
>> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]