ACTION-97: New proposal for SML-IF section 3.3.6 (and 3.3.4 and 3.3.5)

Here is a new proposal.

The definition for baseURI element comes before document aliases, since
it is used by them.
I introduced the notion of "document alias" more explicity, so that I
can reuse it in section 3.3.6.


[[
3.3.4 baseURI element

The baseURI element MUST be an absolute URI that inter-document
references using relative URIs are based on.

If any inter-document reference or any alias of any document in the
interchange set is a relative URI, the baseURI child of the identity
element MUST be present.

3.3.5 Document aliases

In addition to containing or referring to one of the documents in the
interchange set, each document element MAY (indirectly) contain a list
of alias elements. Each alias element contains a URI reference. Each URI
reference is resolved using the baseURI element (see 3.3.4, baseURI
element) to obtain a document alias. The set of document aliases for a
given document constitutes the set of identifiers by which documents
in the interchange set may make inter-document references to the
document in question.

A document element containing no alias elements signals that the
document in question has no document aliases. By implication having no
alias also signals that there can be no inter-document references to
it.

3.3.6 Resolving inter-document references

If the inter-document reference contains only a fragment, i.e. the
number sign ("#") separator followed by a fragment identifier, the
inter-document reference is to the document in which it occurs.

Otherwise, the URI reference representing the inter-document reference
is resolved using the baseURI element, as defined above. If the
resulting URI is equivalent to a URI that is a document 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."

If the URI representing a resolved inter-document reference has no
fragment, the reference is to the root element of the referred-to
document.

If the URI representing a resolved inter-document reference has a
fragment, the reference is to the element obtained by applying the
fragment to the referred-to document starting with its root element.

]]

Philippe

Received on Thursday, 19 July 2007 17:56:49 UTC