RE: Extension and Restriction of Wildcard Attribute

Here is a precise description of '[Case 2] B restricts A'. This is an
attempt to describe a feature without using complex terms such as,
'non-absent {attribute wildcard}', 'no attributeGroup[children]',
'otherwise', etc.

(d) is the derived wild card of B and (b) is the base wild card of A. And,
(e) is the computed effective wild card.

There are three possible wild cards at the component level

SERIAL		QUALIFIER		URIs
[0]			ANY			{}
[1]			NOT			{a, b, c, ..}
[2]			SPECIFIC		{i, j, k, ..}

-- computed effective wild card matrix --

			derived wild card (d)
			[0] any	[1] NOT		[2] SPECIFIC
base wild
card (b)

[0]	any		d		d			d
[1]	NOT		ERROR		d iff restrictive	d iff restrictive
[2] SPECIFIC	ERROR		ERROR			d iff restrictive

-- description of restrictive --

isRestrictive (baseWildCard, derivedWildCard)

	case baseWildCard isNOT and derivedWildCard isNOT:
		true if derivedWildCard.uris is a subset of baseWildCard.uris

	case baseWildCard isNOT and derivedWildCard isSpecific:
		true if derivedWildCard.uris INTERSECTION baseWildCard.uris is empty

	case baseWildCard isSpecific and derivedWildCard isSpecific:
		true if baseWildCard.uris is a subset of derivedWildCard.uris

-- benefits --

(1) Everything is expressible
(2) Real restriction

Regards, Asir S Vedamuthu
-----Original Message-----
From: www-xml-schema-comments-request@w3.org
[mailto:www-xml-schema-comments-request@w3.org]On Behalf Of Asir S
Vedamuthu
Sent: Friday, December 08, 2000 10:20 AM
To: Www-Xml-Schema-Comments@W3. Org
Cc: W3c-Xml-Schema-Ig; Ningang chen
Subject: Extension and Restriction of Wildcard Attribute


First, I would like to observe that extension of wildcard attribute is not
the same as restriction of wildcard attribute. And, these two items are
clearly under specified in the structures draft.

In the structures draft, both extension and restriction of wild card
attribute is described using an arbitrary intensional ( or in tensional :-/,
Microsoft spell check accepts the latter) intersection [1]. Nothing is
specified in the context, extension or restriction. This is quite confusing
(or you are in the middle of no where) if you attempt to map a complex type
surface syntax to components [2].

For discussion, I use two complex types A and B. B is derived from A. These
two types have wild card attributes in the surface syntax.

[Case 1] B extends A. Spec says that the resulting wild card attribute of B
is the arbitrary
intersection of wild card attribute of A and B (found in surface syntax).
This is incorrect. Intuitively, resulting wild card attribute is the union
of wild card attribute of A and B.

[Case 2] B restricts A. Spec says that the resulting wild card attribute of
B is the atria intersection of wild card attribute of A and B (found in
surface syntax). This is incorrect. Intuitively, resulting wild card
attribute is the intersection of wild card attribute of A and B iff,

Wild Card Attribute of [A] intersection [B] = Wild Card Attribute of [B]. If
not it is an error 'cos B is stepping outside the space of A.


Proposed resolutions
(a) Clearly specify what does extension or restriction of wild card
attribute mean?
(b) If extension, it is the union of wild card attribute of A and B
(c) If restriction, it is the intersection of wild card attribute of A and
B, iff the result is the wild card attribute of B

[1] http://www.w3.org/TR/2000/CR-xmlschema-1-20001024/#cos-aw-intersect
[2] http://www.w3.org/TR/2000/CR-xmlschema-1-20001024/#declare-type


Regards, Asir S Vedamuthu
webMethods, USA

Received on Monday, 11 December 2000 08:29:26 UTC