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 problems

Your XML isn't well-formed. But when I change it to this:

<travelAgency>
       <countries>
               <country name = "Brasil" code ="BR"/>
               <country name = "United States of America" code ="USA"/>
               <country name = "Norway" code ="NO"/>
       </countries>
       <travel>
               <country code = "NO"/>
               <country code = "BRAS"/>
       </travel>
</travelAgency>

and run it against this schema:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";>
<xs:element name = "travelAgency" type="xs:anyType">
       <xs:key name="countryID">
               <xs:selector xpath="./countries/country"/>
               <xs:field xpath="@code"/>
       </xs:key>

       <xs:keyref name="countryIDRef" refer="countryID">
               <xs:selector xpath="./travel/country"/>
               <xs:field xpath="@code"/>
       </xs:keyref>
</xs:element>
</xs:schema>

Saxon says:

Validation error on line 11 column 16 of file:/c:/temp/travel.xml:
  No referenced value found for keyRef {countryIDRef}: "BRAS" (See
  http://www.w3.org/TR/xmlschema-1/#cvc-identity-constraint clause 4.3)
Validation of source document failed

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: pau carre [mailto:pau.carre@gmail.com] 
> Sent: 02 February 2007 16:12
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] key and keyref problems
> 
> Hi all,
> I am trying to use key and refkey elements in a XML Schema.
> 
> The XML instances look like:
> 
> <travelAgency>
>        <countries>
>                <country name = "Brasil" code ="BR">
>                <country name = "United States of America" code ="USA">
>                <country name = "Norway" code ="NO">
>        </countires>
>        <travel>
>                <country code = "NO">
>                <country code = "BRAS">
>        <travel>
> </TravelAgency>
> 
> And the XML Schema is (omitting noise with "..."):
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";>
> <xs:element name = "travelAgency" ...>
>        <xs:complexType>
>                ...
>        </xs:complexType>
> 
>        <xs:key name="countryID">
>                <xs:selector xpath="./countries/country"/>
>                <xs:field xpath="@code"/>
>        </xs:key>
> 
>        <xs:keyref name="countryIDRef" refer="countryID">
>                <xs:selector xpath="./travel/country"/>
>                <xs:field xpath="@code"/>
>        </xs:keyref>
> </xs:element>
> 
> The problem is that even wrong XML instances (like the one 
> written above with BRAS code) are found right by the 
> validator. I have unsuccessfully tried to change the xpath 
> but I did not succeed.
> Searching for inet I found that the namespaces should be 
> added in xpath declaration but I do not know how to do it, 
> and if it is necessary in my case.
> 
> 
> Thanks in advance,
> 
> Pau
> 
> ______________________________________________________________
> _________
> 
> 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