XHL describes the syntax of link elements embedded in documents. Many applications may wish to process not only the links to external documents embedded in that document, but also links from other documents which point into the document currently being displayed. It may, for example, be desirable to highlight the located parts of such external links to make the fact that other documents have commented on the displayed document apparent.
Where it is important to know which other documents
qualify the current document, the Extended Link Group (XLG) element
may be used to reference documents that form an interlinked document group. Each
referenced document, which must have been declared as an external text entity in
the document's DTD, is identified using the DOC
attribute of an
Extended Link Document (XLD) element, which is a child element of the
XLG.
XLG and XLD elements can be recognized by the presence of an XHL-
attribute with a value of either XLG
or XLD
on the relevant element, through the use of two XML reserved element types,
-XML-XLG
and -XML-XLD
, or through other external
mechanisms.
The declaration for the XML form of the XLG and XLD elements is:
<!ELEMENT -XML-XLG (-XML-XLD+)> |
The PRESENCE
attribute can be used to indicated which entities
must be available to the client prior to display of the form. Where the XLD
entry is changed from the default PRESENCE=OPTIONAL
to the
alternative PRESENCE=REQUIRED
the entity must be retrievable from
the specified source, or the source associated with the local XML catalog,
before the referencing document can be displayed.
The SHOW
attribute can be used to indicate whether all
references from document should be displayed, or only those that represent
multi-headed links, or in-line links. By default the system will imply which
values should be defined, but users can override the default by specifying that
element whose XHL type is MLINK
or ALINK
should be
displayed. Where both options are required the SHOW=BOTH
option
can be used.
Question: Should a finer granularity be allowed so that, for instance, elements of a specific HRTYPE or GI can be associated with different rules?
The -XML-XLG
element should always be an immediate descendent
of the base document element that forms the root of the document tree. It should
be entered before any elements containing displayable text.
Question: Is it valid to have more than one -XML-XLG
element in a document?
To help software to find MLINK
type links efficiently, two
special elements have been defined, -XHL-LINKS
and -XHL-LINKSET
.
These elements are always immediate descendents of the base document element
that forms the root of the document tree. They should be entered before any
elements containing displayable text.
The -XHL-LINKS
element can be used to identify multilinks
which need to be known to the software, and available to the user, at all times
while the current document is being displayed. Whilst most links will need to be
identified during loading, whether defined at the start of the document or
within its contents, links requiring the identification of elements via TEI
locators, and other forms of query, will particularly benefit from being defined
as part of a separate -XHL-LINKS
element at the start of the
document rather than at the point of reference.
Where a set of MLINK
definitions is to be shared by an
extended link group the -XHL-LINKSET
element should be used as the
container for the link specifications. This tells the application that the links
are to remain valid while any document identified by a -XML-XLD
element associated with the current document is valid.
To promote the sharing of links sets, an XML document can consist of just
-XML-XLG
, -XML-XLD
and -XML-LINKSET
elements. Where such a document is referenced in an -XML-XLD
element in another document, all its linked documents and its links are
considered to form part of the link group being defined. If one of the documents
indentified by a -XML-XLD
in the link definition document is
itself an XML document that contains a -XML-LINKSET
, the
referenced linkset is appended to the local linkset.
The declaration for the XML form of the -XML-LINK
and -XML-LINKSET
elements is:
<!ELEMENT -XML-LINKS (MLINK+)> |