Revised text for Section 5 of XHL

The attached document contains a rewrite of Section 5 of the XML Links
specification that seeks to:

a) clarify the existing text
b) suggest two additional attributes for -XML-XLD
c) show how linksets can be nested

<!DOCTYPE HTML PUBLIC "-//SQ//DTD HTML 2.0 + all extensions//EN" "hmpro3.dtd">
<TITLE>Suggested update to Part 5 of XML specification</TITLE></HEAD>
<H2><A NAME="sec5.">5. Extended Link Groups </A></H2>
<H3><A NAME="sec5.1">5.1 Identifying Extended Link groups</A></H3>
<P>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. </P>
<P><A NAME="dt-xlg"></A>Where it is important to know which other documents
qualify the current document, the <EM>Extended Link Group</EM> (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 <CODE>DOC</CODE> attribute of an
<EM>Extended Link Document</EM> (XLD) element, which is a child element of the
<P>XLG and XLD elements can be recognized by the presence of an <CODE>XHL-</CODE>
attribute with a value of either <CODE><EM>XLG</EM></CODE> or <CODE><EM>XLD</EM></CODE>
on the relevant element, through the use of two XML reserved element types,
<CODE>-XML-XLG</CODE> and <CODE>-XML-XLD</CODE>, or through other external
<P>The declaration for the XML form of the XLG and XLD elements is: </P>
 -XML-XLD EMPTY&gt;<BR>&lt;!ATTLIST  -XML-XLG<BR>           XHL-     CDATA    
   #FIXED &quot;XLG&quot;
<BR>&gt;<BR>&lt;!ATTLIST  -XML-XLD<BR>           XHL-    	CDATA        #FIXED
 &quot;XLD&quot;<BR>           DOC      ENTITY               #REQUIRED<BR>    
       PRESENCE (REQUIRED|OPTIONAL)  &quot;OPTIONAL&quot;<BR>           SHOW   
<P>The <CODE>PRESENCE</CODE> 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 <CODE>PRESENCE=OPTIONAL</CODE> to the
alternative <CODE>PRESENCE=REQUIRED</CODE> 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.</P>
<P>The <CODE>SHOW</CODE> 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 <CODE>MLINK</CODE> or <CODE>ALINK</CODE> should be
displayed. Where both options are required the <CODE>SHOW=BOTH</CODE> option
can be used.</P>
<P><EM>Question: Should a finer granularity be allowed so that, for instance,
elements of a specific HRTYPE or GI can be associated with different rules?</EM></P>
<P>The <CODE>-XML-XLG</CODE> 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.</P>
<P><EM>Question: Is  it valid to have more than one <CODE>-XML-XLG</CODE> 
element in a document?</EM></P>
<H3><A NAME="sec5.2">5.2 LINKS and LINKSET Elements</A></H3>
<P>To help software to find <CODE>MLINK</CODE> type links efficiently, two
special elements have been defined, <CODE>-XHL-LINKS</CODE> and <CODE>-XHL-LINKSET</CODE>.
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.</P>
<P>The <CODE>-XHL-LINKS</CODE> 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 <CODE>-XHL-LINKS</CODE> element at the start of the
document rather than at the point of reference.</P>
<P>Where a set of <CODE>MLINK</CODE> definitions is to be shared by an
extended link group the <CODE>-XHL-LINKSET</CODE> 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 <CODE>-XML-XLD</CODE>
element associated with the current document is valid.</P>
<P>To promote the sharing of links sets, an XML document can consist of just
elements. Where such a document is referenced in an <CODE>-XML-XLD</CODE>
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 <CODE>-XML-XLD</CODE> in the link definition document is
itself an XML document that contains a <CODE>-XML-LINKSET</CODE>, the
referenced linkset is appended to the local linkset.</P>
<P>The declaration for the XML form of the <CODE>-XML-LINK</CODE> and <CODE>-XML-LINKSET</CODE>
elements is: </P>
 -XML-LINKSET  (MLINK+)&gt;<BR>&lt;!ATTLIST  -XML-LINK<BR>           XHL-    
CDATA        #FIXED &quot;LINKS&quot; &gt;<BR>&lt;!ATTLIST  -XML-LINKSET<BR>  
        XHL-    	CDATA        #FIXED  &quot;LINKSET&quot; &gt;</FONT></CODE></TD></TR></TABLE></BODY></HTML>
Martin Bryan, The SGML Centre, Churchdown, Glos. GL3 2PU, UK 
Phone/Fax: +44 1452 714029   WWW home page: http://www.u-net.com/~sgml/