This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 5192 - Terminology: "absent" (editorial)
Summary: Terminology: "absent" (editorial)
Status: CLOSED WONTFIX
Alias: None
Product: XML Schema
Classification: Unclassified
Component: Structures: XSD Part 1 (show other bugs)
Version: 1.1 only
Hardware: PC Windows XP
: P2 normal
Target Milestone: ---
Assignee: C. M. Sperberg-McQueen
QA Contact: XML Schema comments list
URL:
Whiteboard: terminology cluster / composition clu...
Keywords: editorial, noFurtherAction
Depends on:
Blocks:
 
Reported: 2007-10-14 17:02 UTC by Michael Kay
Modified: 2009-10-10 01:16 UTC (History)
1 user (show)

See Also:


Attachments

Description Michael Kay 2007-10-14 17:02:17 UTC
The term ·absent· (note the dots) is sometimes used loosely. According to the definition, the term should only be used as one of the possible values of a property of a schema component. However, we read for example in 3.2.4:

For an attribute information item to be locally ·valid· with respect to an attribute declaration all of the following must be true:
1 The declaration is not ·absent· 

This usage suggests that the set of all attribute declarations can be partitioned into those that are ·absent· and those that are not ·absent·, which is clearly nonsense. The rule ought somehow to say that it is invoked with a parameter whose value is either an attribute declaration or the special value ·absent·; or alternatively, that the parameter is optional.

So I looked for places where the rule is invoked. Unfortunately, none of the places where Attribute Locally Valid is invoked seem to mention the Attribute Declaration that is passed as the parameter ...

I wrote this thinking I would find other similar examples of misuse of ·absent·, but this seems to be the only one left. There were others in 1.0.

Some other points however:

* The definition of ·absent· suggests it is always a property value. Some properties however contain a set of values, in which ·absent· can appear alongside other values. And ·absent· is sometimes used as the value of local variables or parameters in rules. It might be appropriate to widen the definition a little.

* When discussing Infoset or PSVI properties, "absent" is usually written without dots, but in some cases the dots appear (incorrectly?): for example [expected element declaration] in 3.3.5, "If the [schema normalized value] is not ·absent· " also in 3.3.5, [document location] in 3.17.5. Perhaps it would be simpler to use ·absent· (with dots) throughout, and embrace this in the definition?

3.10.2 has "set consisting ·absent·" for "set consisting of ·absent·"

Michael Kay
Comment 1 Michael Kay 2007-10-14 17:36:08 UTC
Another example occurs in Element Locally Valid (Type):

"The type definition is not ·absent·;"
Comment 2 C. M. Sperberg-McQueen 2008-01-04 02:06:23 UTC
Note that this issue of the use of the term 'absent' (in particular, its
use to describe the presence or non-presence of particular declarations
in a schema) also touches on the problem of required (and non-required
components); see bug 5078.  

See also bug 5148 (also about the term 'absent', in a different context).
Comment 3 David Ezell 2008-01-25 20:56:03 UTC
The WG instructs the editors:
1) to widen the definition a little to fit current uses
2) to mark uses with dots where appropriate
3) fix typo in 3.10.2

There is some sentiment in the WG for revising some of the other uses of "absent" but the ultimate consensus is to allow it to stand as is.
Comment 4 Dave Peterson 2008-01-26 01:21:22 UTC
(In reply to comment #3)
> The WG instructs the editors:
> 1) to widen the definition a little to fit current uses
> 2) to mark uses with dots where appropriate

Note that the dots (meaning a pointer to a definition) is different from the handling in part 2.  In Datatypes, "absent" is a special value.  There is no definition.  How an implementation stores the value "absent" is up to the implementation; if it wishes to "store" that particular value by not storing a value, that's fine; if it wishes to store some internally recognizable bit-string, that's fine too.  We don't say how any values must be stored.

Shouldn't the two parts be harmonized?
Comment 5 C. M. Sperberg-McQueen 2009-10-10 01:16:25 UTC
In August and September 2009 the XML Schema working group performed
triage on the remaining open issues in a WBS poll [1], whose results
are summarized at [2] and accepted formally at [3]. In the course of
that triage we decided to close this issue without further action.
Since this is a WG issue, not an external one, I'm going both to mark
it resolved and to close it.

[1] http://www.w3.org/2002/09/wbs/19482/200908CRissues/
[2] http://lists.w3.org/Archives/Member/w3c-xml-schema-wg/2009Sep/0005.html
[3] http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2009Sep/att-0005/2009-09-11telcon.html#item04
(all links member-only)