W3C home > Mailing lists > Public > public-sml@w3.org > October 2007

RE: [Bug 5040] Hanlding of reference constraints on different kinds of elements

From: Smith, Virginia (HP Software) <virginia.smith@hp.com>
Date: Tue, 30 Oct 2007 19:33:24 -0000
Message-ID: <4ED4BEA3C04CAF4C8F9BEE10116D2E30035B9714@G3W0067.americas.hpqcorp.net>
To: <public-sml@w3.org>

I agree with Sandy. The scenario where the user does not want to require
a target to exist (no targetRequired) but, if it does exist, it must be
a specific type, cannot be supported if we choose 'violated'. This is
Sandy's #3.

I vote to choose 'satisfied'.

--
ginny



-----Original Message-----
From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On
Behalf Of bugzilla@wiggum.w3.org
Sent: Monday, October 29, 2007 12:40 PM
To: public-sml@w3.org
Subject: [Bug 5040] Hanlding of reference constraints on different kinds
of elements


http://www.w3.org/Bugs/Public/show_bug.cgi?id=5040





------- Comment #4 from sandygao@ca.ibm.com  2007-10-29 19:39 -------
> Thus, the most logical choice is 'Violated'.

Well, the most logical choice is "unknown". Whether we want to coerce it
to "satisfied" or "violated" is a decision we need to make.

> have already used this reasoning for targetRequired constraint where 
> we define the constraint to be violated for unresolved refs.

This is different. This is not an unknown situation. targetRequired is
specifically there to prevent unresolved references.

Actually, the *opposite* reasoning has already been used for acyclic
with unresolved references, where we mark it as "satisfied".

For targetElement/Type, there are 4 cases:
1 it is known to be satisfied
2 it is known to be violated
3 it's unknown but the schema author wants to tolerate it
4 it's unknown and the schema author doesn't want to tolerate it.

Do we know that #3 will *never* happen? If we go with the "violated"
answer, then #3 can never be achieved. But if we go with the "satisfied"
answer, then
#3 can be done by specifying the targetElement/Type constraints, and #4
can be done by also specifying targetRequirement="true".

This is another example of "separation of concern". There should be one
and only one constraint that governs whether a reference must resolve,
and that constraint is targetRequired.

So counter-proposal: make both '?' "satisfied".
Received on Tuesday, 30 October 2007 19:31:58 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:56:07 UTC