178 |
|
|
179 |
The dangling link problem has received a lot of attention |
The dangling link problem has received a lot of attention |
180 |
in hypermedia research [refs]. As examples, we examine the ways |
in hypermedia research [refs]. As examples, we examine the ways |
181 |
in which HTTP, Microcosm [ref] and Hyper-G [ref] deal with the problem. |
in which HTTP, Microcosm [ref], Hyper-G [ref] and URNs [ref] |
182 |
|
deal with the problem. |
183 |
|
|
184 |
In HTTP, servers are able to notify a client that a document |
In HTTP, servers are able to notify a client that a document |
185 |
has been moved, and redirect it accordingly [ref spec?]. However, |
has been moved, and redirect it accordingly [ref spec?]. However, |
746 |
indexing (Section 5): Keeping an index of all pointer blocks |
indexing (Section 5): Keeping an index of all pointer blocks |
747 |
about pointer ``P``, we can quickly find out the current one. |
about pointer ``P``, we can quickly find out the current one. |
748 |
|
|
749 |
UML to be drawn:: |
.. uml:: storm_pointers |
750 |
|
|
751 |
obsoleted block |
class Pointer |
752 |
* -----\ |
|
753 |
/ \ |
class PointerBlock |
754 |
+---------+ 1 * +---------------+ | |
assoc multi(*) - multi(1) Pointer |
755 |
| Pointer |----------| Pointer block |----/ |
assoc multi(*) - multi(1) role(target) Target |
756 |
+---------+ +---------------+ 1 |
|
757 |
* | |
ring = assoc PointerBlock multi(1) - multi(*) role(obsoleted) PointerBlock |
758 |
| |
|
759 |
| |
class Target |
760 |
1 | target |
|
761 |
+---------+ |
--- |
762 |
| Target | |
|
763 |
+---------+ |
Pointer.c = (0, 0); |
764 |
|
horizontally(100, foo, Pointer, PointerBlock); |
765 |
|
vertically(50, bar, foo, Target); |
766 |
|
ring.p = PointerBlock.e{right} .. PointerBlock.n{down}; |
767 |
|
|
768 |
|
|
769 |
In addition to the pointer and the target, pointer blocks contain |
In addition to the pointer and the target, pointer blocks contain |
770 |
a list of zero or more *obsoleted* pointer blocks. When a new version |
a list of zero or more *obsoleted* pointer blocks. When a new version |