We now show how we defined the connection between conceptual model and
HTML structures.
The basic idea is to define a ``top-level'' predicate which generates
the entire WWW site description and use its preconditions to construct
the smaller site components. An example of a top-level site generator
and some smaller components is given below.
We have a site consisting of pages
if
is the set of main
pages, given the set
of topic clusters, and
is
the set of project pages, given the set
of project
identifiers. To construct these pages we also need
which
contains the hypertext references to each of the topic clusters and is
embedded within each page as a convenient means of navigation.
The main pages are the set of pages named P with
contents,
, for which we can satisfy the relation
where
is the navigator for the page.
Thus, if `people' is one of the elements of
and we can
satisfy
then
is an element of
.
This takes us down to the level of generating individual HTML pages. Rather than describing all of these for the site (there are six page templates in total) we describe a characteristic example, which deals with the people in the group. The expression which generates this page from our conceptual model is given below.
A page describing the people in the group is represented by the
sequence of HTML structures corresponding to: the page title,
; standard heading, H, for group pages; our group photo,
I; the navigator, N; another separator; a list of
current members,
, with heading; a list of past members,
with heading; a list of friends of the group,
, with
heading; a final separator; and a second instance of the navigator.
Our standard heading for pages consists of the group name, G, followed by a separator.
A separator consists of an appropriately aligned coloured bar.