Eugene Eric Kim wrote:
> On Fri, 13 Apr 2001, Murray Altheim wrote:
> > If an editor adds a third paragraph to section four, what was,
> > say, "D3 (12)" now becomes "D4 (13)". Links made to this
> > paragraph in earlier versions of the document now point to
> > the newly added paragraph.
> Nope. The proper behavior should be that "D3 (12)" becomes "D4 (12)".
The existence of static, unique IDs makes the linking problem
as easy as "possible" to solve in the face of evolving documents.
There are a number of corollaries:
1) The ID should ideally be globally unique.
That requirement allows me to modify a document, while you
do likewise, and merge our additions with a minimum of
overlap problems. (The fact that we both created nodes in
the same place creates a decidable problem: Should your
change come before or after mine. But if we both create a
node with the same ID, the issue is realistically
undecidable: Who gets the original ID, who gets a different
ID, and what happens as a consequence of changing the ID
you *thought* you had created, if you are the loser.
2) A hierarchical link may be *displayed* as A.1.B.4, but it
can be internally *stored* as a root document (to define
the context) and a unique ID (for the node). When that link
is transmitted, it is the root and ID which is transferred.
At display time, the hierarchical path is *constructed* from
the root to the uniquely-specified node, and that path is
3) The alternative is nasty, but possible: The hierarchical
link is stored, along with the unique ID. Every change to
the organizational structure causes a ripple of:
a) All nodes affected by the change in a given document
b) All links that reference those nodes
The hierarchical paths are then modified in all of the
links which reference affected nodes. Ugly, ugly, ugly.
Especially in a distributed environment. But possible.
This archive was generated by hypermail 2.0.0 : Tue Aug 21 2001 - 17:58:05 PDT