[Prev][Next][Index][Thread]

ERB decision, 31 October 1996



The ERB met today, 31 October 1996.  Present:  Bosak, Bray, Clark,
Hollander, Kimber, Maler, Paoli, Sharpe, Sperberg-McQueen.  Absent:
DeRose, Magliery.

We discussed the issue of external text entities and agreed
unanimously to rescind the decision of 23 October on question A.17
making support for external text entities an optional feature of XML.
Instead, the XML spec will distinguish the treatment required for
external text entities in validating and non-validating systems,
using language something like this:

    a reference to an external text entity is a signal to an XML
    processor that the entity's contents are to be included at the
    point of the reference.  For purposes of *validation*, an XML
    processor must fetch and read the external text entity at the
    point of reference; for other purposes, processor behavior is
    not constrained.

This is draft, not final, wording.

If a network client chooses to fetch and process external entities
at the point of reference, it may do so; if it chooses instead to
insert a small icon instead, and fetch and display the entity only
on request, or behave in some other way, it may do that too.  This
has the effect that, if they wish, browsers may from a technical
point of view treat external text entities much the way they treat
links to other documents or links to embedded graphics -- the user
interface may well differ, but text entities do not require a
browser to change its internal organization or way of working.

Rationale:  distinguishing validation behavior from other behavior
allows us to reduce the number of optional features in XML to zero,
while retaining (a) the information provider's ability to segment
documents into several files and (b) the network client's ability to
handle documents without required waits during network fetches.
Since text entities in XML must be synchronous, adding an entity to
the data structure requires only the replacement of a leaf with one
or more subtrees; this allows entity fetching to be delayed if delay
is useful to the application.

As usual, the rationale just given is subject to correction.

-C. M. Sperberg-McQueen


Follow-Ups: