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)".
>
Yes.
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
displayed.
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