XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
RE: [xml-dev] key and keyref issues

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]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS