[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
RE: [xml-dev] XML schema : refer problem
- From: "Michael Kay" <mike@saxonica.com>
- To: "'Geert Delanote'" <geert.delanote@gmail.com>,<xml-dev@lists.xml.org>
- Date: Wed, 22 Apr 2009 14:57:15 +0100
Easy enough in XSD 1.1 (*)
On organisationType, define
xs:assert test="every $pp in ./person/poll satisfies
some $p in ./poll satisfies
($pp/@id = $p/@id
and every $a in $pp/answer satisfies $a/@id =
$p/question/@id)"
(*) Also easy to get it wrong - no guarantees offered!
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Geert Delanote [mailto:geert.delanote@gmail.com]
> Sent: 22 April 2009 14:13
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] XML schema : refer problem
>
> Suppose I have the following document :
> <?xml version="1.0" encoding="UTF-8"?>
> <organisation>
> <person id="1">
> <poll id="a">
> <answer id="1"/>
> <answer id="3"/>
> </poll>
> </person>
>
> <poll id="a">
> <question id="1"/>
> <question id="2"/>
> </poll>
> <poll id="b">
> <question id="1"/>
> <question id="3"/>
> </poll>
> </organisation>
>
> In my schema definition i want the following constraints :
> - a poll has a unique id within an organisation : key on id
> in organisation scope : No Problem
> - a question has a unique id within a poll : key on id in poll scope :
> No Problem
> - a person can only answer a defined poll : keyref to the key of poll
> : No problem
> - a person can only answer questions of the referenced poll : ...
> problem ... How do I do that? The combination poll-id
> question-id is unique but I can't define a key on that
> combination which I need to refer to.
>
> Extra question : how can I ensure that the person answers
> every question?
> The question element contains lots of information that I
> don't want to duplicate...
>
> ______________________________________________________________
> _________
>
> 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]