[Home] [By Thread] [By Date] [Recent Entries]
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@g...]
> Sent: 22 April 2009 14:13
> To: xml-dev@l...
> Subject: 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@l...
> subscribe: xml-dev-subscribe@l... 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] |

Cart



