[Bug 5117] unresolved references defined inconsistently

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

           Summary: unresolved references defined inconsistently
           Product: SML
           Version: unspecified
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Core+Interchange Format
        AssignedTo: cmsmcq@w3.org
        ReportedBy: johnarwe@us.ibm.com
         QAContact: public-sml@w3.org


SML says:
4.1.1.3 Unresolved Reference
An element information item in an SML model instance document is an SML
unresolved reference if and only if:
    *      It is a non-null SML reference.
    *      None of the recognized schemes resolves.

SMLIF says: ------
2.2 Inter-document References
If the element in a reference is not equivalent to the URI in any alias, the
reference is to some (element of a) document not included in the interchange
set. Such references are called unresolved references.

SML-IF specifies how sets of SML documents are interchanged. If and how an
SML-IF document's interchange set relates to a complete (i.e., "validatible")
model is implementation-defined and is not a part of this specification. One
common relationship is that the interchange set constitutes a complete SML
model. In such a case, the documents that unresolved references refer to are
simply unavailable to the validation process. When SML-IF documents are used in
other contexts, such as when they are the content of Web services requests or
responses, the set of documents constituting a complete model may include more
or fewer documents than those in the interchange set, and the conventions with
respect to unresolved references may be different. For example, the convention
may specify how to (attempt to) resolve such references.

and later in SMLIF 3.4.6 Resolving Inter-document References
If the URI representing an inter-document reference contains only a fragment,
the inter-document reference is to the document in which it occurs. Otherwise,
if the URI representing an inter-document reference is equivalent to a URI that
is an alias of some document in the interchange set, the inter-document
reference is to that document. In either case, such a reference is called "a
resolved inter-document reference." If neither of these cases applies, the
inter-document reference is to a document not included in the interchange set.
Such a reference is called "an unresolved inter-document reference."
---- end SMLIF quotes

It will completely confuse readers to see the same term used with different
definitions in such closely related specs.  Note that when SMLIF says
"unresolved reference" it could have 4 different meanings not 2, since
"reference" itself is multiply defined (see 5095).  "Model" is also context
dependent, since (for example) the SMLIF interchange set is itself trivially a
model.  The bit from SMLIF 2.2 makes _my_ head hurt it could be saying so many
different things.

I propose we clearly distinguish between "unresolved SML reference" in SML and
"unresolved SMLIF inter-document reference" in SMLIF by changing "unresolved"
(and "resolved" in SMLIF).
Resolved   -> internal (within interchange set)
Unresolved -> external (outside of interchange set)
I realize even these are imperfect, better suggestions happily accepted
including during the editorial process.

SMLIF 2.2 then becomes:
If the element in an inter-document reference is not equivalent to the URI in
any alias, the reference is to some (element of a) document not included in the
interchange set. Such references are called external references.

SML-IF specifies how sets of SML documents are interchanged. If and how an
SML-IF document's interchange set relates to a complete (i.e., "validatible")
model is implementation-defined and is not a part of this specification. One
common relationship is that the interchange set constitutes a complete SML
model. In such a case, the documents that external references refer to are
simply unavailable to the validation process [Arwe note: unless I just changed
the meaning, this conflicts with how I would read SML 4.1, where it says "An
SML reference is a link from one element in an SML model to another element
from the same model."]. When SML-IF documents are used in other contexts, such
as when they are the content of Web services requests or responses, the set of
documents constituting a complete model may include more or fewer documents
than those in the interchange set, and the conventions with respect to external
references may be different. For example, the convention may specify how to
(attempt to) resolve such references.

SMLIF 2.2 fragment after previous section
from "...is not equivalent to the URI in any alias. This means that it is an
unresolved reference."
to   "...is not equivalent to the URI in any alias. This means that it is an
external reference."

SMLIF 3.4.6 then becomes:
If the URI representing an inter-document reference contains only a fragment,
the inter-document reference is to the document in which it occurs. Otherwise,
if the URI representing an inter-document reference is equivalent to a URI that
is an alias of some document in the interchange set, the inter-document
reference is to that document. In either case, such a reference is called "an
internal inter-document reference." If neither of these cases applies, the
inter-document reference is to a document not included in the interchange set.
Such a reference is called "an external inter-document reference."

Received on Monday, 1 October 2007 15:30:46 UTC