[Next] [Previous] [Up] [Top] [Contents] [Search]

2 - Design Features in WebLinker

2.3 - Interface between WebLinker and Automatic Document Converters


WebLinker needs to use information from the original non-HTML document so that it knows what information it must update in the infostructure. This needs to be translated into HTML in a uniform manner by the document converters. It should be relatively easy for this information to be added by hand to a HTML document, so that legacy documents can use WebLinker as well.

WebLinker defines the format in which such information should be presented inside the HTML document.

2.3.1 - Logical Names for External Infostructures

A mechanism is supplied to refer to an external infostructure using a logical name. This is signalled by a URN attribute containing a Logical Infostructure Name (LIN) inside a HTML anchor element, for example:

<A URN="Games#Basketball">the game of basketball</A>
This is converted to a physical reference in the form of a LRN, which is inserted into the HREF attribute of the anchor, for example:

<A URN="Games#Basketball" href="http://www.games.com/lrn/Games/ball_games.html#3">the game of basketball</A>
Currently a table of LIN to LRN mappings is used; this is created manually by the local infostructure maintainer. It contains entries of the form:

Games                  http://www.games.com/lrn/Games/Overview.html
One enhancement is a resolution daemon which handles some form of LIN to LRN conversion (See Section 4.2 for more details). This would even allow these external references to be resolved at the time of traversal of the link.

2.3.2 - Location of Infostructure Fragment Identifiers

A facility to mark points as infostructure fragment identifiers is also provided.

When the fragment identifier is placed in the non-HTML document, it is given a unique logical name. Thus, a

<A NAME="Frag-Id">...</A> 
is inserted into the HTML with the NAME tag containing the fragment identifier. Also, a

<META NAME="WebLinkerPublic" CONTENTS="Frag-Id"> 
element is added into the header to distinguish this from a normal internal cross-reference tag that is generated for navigation purposes. For example in the section of HTML in Section 2.3.3, the line

<META NAME="WebLinkerPublic" CONTENTS="Pastimes">
is generated to signify that the anchor with the NAME="Pastimes" attribute is an infostructure fragment identifier. These fragment identifiers are resolved at the time the link to them is traversed; thus we can rebuild the document, changing the location of any fragment identifier, and the corresponding LRN remains the same.

2.3.3 - Modifiable Elements in the Infostructure

WebLinker does not change any of the textual information in the infostructure. It will just modify the values of items within anchors. Suppose we have the following lines of HTML in a file called farming_33.html:

<HEAD>
<META NAME="WebLinkerPublic" CONTENTS="Pastimes">
<TITLE>Bolivian Sheep Farmers</TITLE>
</HEAD>
<BODY>
<A NAME="farming_33_start"></A>
<H1><A NAME="PASTIMES">Pastimes of sheep farmers</A></H1>
<P>Many people believe the health of Bolivian Sheep Farmers is due
to the amount of <A URN="Games#Basketball">Basketball</A> that
they play.
</BODY> 
Then consider what happens to this when we traverse it with WebLinker. The <A NAME="Pastimes"> element, along with corresponding META element, would mean that an entry in the internal mappings file would be generated:

Pastimes                    farming_33.html#PASTIMES 
Note that the

<A NAME="farming_33_start"> 
element does not generate an entry since there is no corresponding entry. This is an internal cross-reference marker, generated automatically by the converter.

Also, the

<A URN="Games#Basketball"> 
element means that an external reference is required, so the resolution service is called to return an absolute URL which is added into the HREF attribute of this element:

<A URN="Games#Basketball" href="http://www.games.com/lrn/Games/ball_games.html#3">

WebLinker@ptsun00.cern.ch - 16 SEP 94
[Next] [Previous] [Up] [Top] [Contents] [Search]

Generated with WebMaker