On the notion of links -- active documents
Hypermedia documents are
often referred to as
hyperdocuments,
because of their associative structure
imposed by (hyper) links.
Links, in general, may be characterized
as a possibly conditional connection
between a source anchor
and destination anchor.
There has been an ongoing discussion as to
whether links must lead from byte to byte
or whether they must be defined
at some higher level.
On closer inspection, there appear
to be a number of choices
with respect to the kind of links
that may be supported.
See, for example, Halasz (1988, 1991).
Links
-- anchors
-
World Wide Web -- distributed hypermedia
- information retrieval
-- HTML
Active documents
slide: Links and activation
Perhaps the most important
distinction is that between
hard-wired links that act as a goto
in programming languages and
what may be called virtual links,
the destination of which is computed
when activating the source anchor.
This distinction is exemplified
in the World Wide Web (WWW)
distributed hypermedia system,
which was
initiated
by CERN (Switzerland).
The World Wide Web supports HTML
(HyperText Markup Language), a semi-official
hypermedia markup language in the SGML tradition.
The World Wide Web allows the user
to locate and retrieve documents
worldwide across the Internet.
However, a document may either be
stored physically somewhere on a
node in the network or may be generated
on the fly by some information retrieval
server producing HTML output.
The production of HTML documents
by some external program
as the result of accessing a link
somehow blurs the distinction between
programs and documents.
One step further in this direction is to allow
documents, whether stored or generated, to contain
embedded code that is executed
when the document is viewed.
Such documents may be characterized
as active documents.
Active documents are, for example,
proposed as an extension to the
MIME (Multipurpose Internet Mail)
standard, to allow
for `live mail'.
Embedding code in documents would allow
for synchronization facilities that
are currently beyond the scope of HTML
and MIME.
However, a standard (in development)
that provides features for synchronization
is the HyTime markup language,
which is another offspring of the
SGML family.
Summarizing,
active documents
are documents that result in
programmed actions
by being displayed.
From a systems programming point of view,
we may regard active documents as
program scripts that are executed
by a (hypermedia) interpreter.
(A well-know example of a
script-based hypermedia programming language is HyperTalk.)
Hypermedia programming, using scripts,
relies intrinsically on an event-driven
control mechanism.
In the following section, we will
explore how we may combine script-based
(event-driven) programming
with (more traditional) object-oriented
development (in C++).