<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification::19990205//EN" "dtds/xmlspec.dtd" [
<!ENTITY doc-type "WD">
<!ENTITY iso6.doc.date "29-May-1999">
]>
<!--ArborText, Inc., 1988-1998, v.4002-->
<?Pub UDT _bookmark _target?>
<?Pub Inc?>
<?xml-stylesheet href="file:///C|/Program%20Files/SoftQuad/XMetaL%201/display/xmlspec.css"
type="text/css"?>
<spec>

<!-- Last edited: 27 May 1999 by bent -->
<header><?Pub Dtl?>
	<title>XML Linking Language (XLink)</title>
	<version>Version 1.0</version>
	<w3c-designation><!-- &doc-type;-&iso6.doc.date; --> WD-xlink-19990527</w3c-designation>
	<w3c-doctype>World Wide Web Consortium Working Draft</w3c-doctype>
	<pubdate><day>29</day><month>May</month><year>1999</year></pubdate>
	<notice>
	<p>This draft is for public discussion.</p>
	</notice>
	<publoc><loc href="http://www.w3.org/XML/Group/1999/05/WD-xlink-current">http://www.w3.org/XML/Group/1999/05/WD-xlink-current</loc></publoc>
	<prevlocs>
	<!--Check: was it actually August?-->
	<loc href="http://www.w3.org/XML/Group/1999/05/WD-xlink-19990527">http://www.w3.org/XML/Group/1999/05/WD-xlink-19990527</loc>
	<loc href="http://www.w3.org/XML/Group/1999/05/WD-xlink-19990505">http://www.w3.org/XML/Group/1999/05/WD-xlink-19990505</loc>
	<loc href="http://www.w3.org/TR/1998/WD-xlink-19980303">http://www.w3.org/TR/1998/WD-xlink-19980303</loc>
	<loc href="http://www.w3.org/TR/WD-xml-link-970630">http://www.w3.org/TR/WD-xml-link-970630</loc></prevlocs>

	<authlist>
		<!--Updated author hrefs  dorchard-->
		<!-- Update Steve's email - bent --> 
		<author>
			<name>Steve DeRose</name>
			<affiliation>Inso Corp. and Brown University</affiliation>
			<email href="mailto:Steven_DeRose@Brown.edu">Steven_DeRose@Brown.edu</email>
		</author>
		<author>
			<name>David Orchard</name>
			<affiliation>IBM Corp.</affiliation>
			<email href="mailto:dorchard@ca.ibm.com">dorchard@ca.ibm.com</email>
		</author>
		<author>
			<name>Ben Trafford</name>
			<affiliation>Invited Expert</affiliation>
			<email href="mailto:bent@exemplary.net">bent@exemplary.net</email>
		</author>
		<!-- I suggest we move Eve and Tim down to the Acknowledgements section. We
		also ought to add Gabe Beged-Dov there, as well. bent
		how shall we cite Tim? sjd What about with an Acknowledgments section?
		-elm <AUTHOR> <NAME>Tim Bray</NAME> <AFFILIATION>Textuality</AFFILIATION>
		<EMAIL>tbray@textuality.com</EMAIL> </AUTHOR>-->
	</authlist>

	<status>
		<p>This is a W3C Working Draft for review by W3C members and other interested parties. It is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than &quot;work in progress&quot;. A list of current W3C working drafts can be found at <loc href="http://www.w3.org/TR">http://www.w3.org/TR</loc>.</p>
		<p><emph>Note:</emph> Since working drafts are subject to frequent change, you are advised to reference the above URI, rather than the URIs for working drafts themselves. Some of the work remaining is described in <specref ref="unfinished"/>. </p>
		<p>This work is part of the W3C XML Activity (for current status, see <loc href="http://www.w3.org/MarkUp/SGML/Activity">http://www.w3.org/XML/Activity 		  </loc>). For information about the XPointer language which is expected to be used with XLink, see <loc href="http://www.w3.org/MarkUp/SGML/Activity">http://www.w3.org/TR/WD-xptr</loc>.
		</p>
		<p>See <loc href="http://www.w3.org/TR/NOTE-xlink-principles">http://www.w3.org/TR/NOTE-xlink-principles </loc> for additional background on the design principles informing XLink.</p>
		<p>Also see <loc href="http://www.w3.org/TR/NOTE-xlink-req/">http://www.w3.org/TR/NOTE-xlink-req/</loc> for the XLink requirements that this document attempts to satisfy.</p>
	</status>

	<abstract>
		<!-- edited the abstract for further clarity - bent -->
		<p>This specification defines constructs that may be inserted into XML DTDs, schemas and document instances to describe links between objects. It uses XML syntax to create structures that can describe the simple unidirectional hyperlinks of today's HTML as well as more sophisticated links.</p>
	</abstract>

	<pubstmt>
		<p>Burlington, Seekonk, et al.: World-Wide Web Consortium, XML Working Group, 1998.</p>
	</pubstmt>

	<sourcedesc>
		<p>Created in electronic form.</p>
	</sourcedesc>

	<langusage>
		<language id="en">English</language>
		<language id="ebnf">Extended Backus-Naur Form (formal grammar)</language>
	</langusage>

	<revisiondesc>
		<slist>
			<sitem>1997-01-15 : Skeleton draft by TB</sitem>
			<sitem>1997-01-24 : Fleshed out by sjd</sitem>
			<sitem>1997-04-08 : Substantive draft</sitem>
			<sitem>1997-06-30 : Public draft</sitem>
			<sitem>1997-08-01 : Public draft</sitem>
			<sitem>1997-08-05 : Prose/organization work by sjd</sitem>
			<sitem>1997-10-14: Conformance and design principles; a bit of cleanup by elm</sitem>
			<sitem>1997-11-07: Update for editorial issues per issues doc, by sjd.</sitem>
			<sitem>1997-12-01: Update for editorial issues per issues doc in preparation for F2F meeting, by sjd.</sitem>
			<sitem>1998-01-13: Editorial cleanup, addition of new design principles, by elm.</sitem>
			<sitem>1998-02-27: Splitting out of XLink and XPointer, by elm.</sitem>
			<sitem>1998-03-03: Moved most of the XPointer locator stuff here. elm</sitem>
			<sitem>1999-04-24: Editorial rewrites to represent new ideas on XLink, especially the inclusion of arcs. bent</sitem>
			<sitem>1999-05-05: Prose/organization work by dorchard. Moved much of the semantics section around, from: locators, link semantics, remote resource semantics, local resource semantics; to: resource semantics, locators, behavior semantics, link semantics, arc semantics</sitem>
			<sitem>1999-05-12: Prose/organization work. Re-organized some of the sections, removed XML constructs from the document, added descriptive prose, edited document text for clarity. Rewrote the link recognition section. bent</sitem>
			<sitem>1999-05-17: Further prose work. Added non-normative examples. Clarified arcs. bent</sitem>
			<sitem>1999-05-23: Edited for grammar and clarity. bent</sitem>
			<sitem>1999-05-27: Final once-over before sending to group. Fixed sjd's email address. bent</sitem>
		</slist>
	</revisiondesc>
</header>

<body>
	<div1><?Pub Dtl?>
		<head>Introduction</head>
		<p>This specification defines constructs that may be inserted into XML DTDs, schemas, and document instances to describe links between objects. A <termref def="dt-link">link</termref>, as the term is used here, is an explicit relationship between two or more data objects or portions of data objects. This specification is concerned with the syntax used to assert link existence and describe link characteristics. Implicit (unasserted) relationships, for example that of one word to the next or that of a word in a text to its entry in an on-line dictionary are obviously important, but outside its scope.</p>
		<p>Links are asserted by <xtermref href="WD-xml-lang.html#dt-element">elements </xtermref> contained in <xtermref href="WD-xml-lang.html#dt-xml-doc">XML document instances</xtermref>. The simplest case is very like an HTML <code>A</code> link, and has these characteristics:
			<ulist>
				<item><p>The link is expressed at one of its ends (similar to the <code>A</code> element in some document)</p></item>
				<item><p>Users can only initiate travel from that end to the other</p></item>
				<item><p>The link's effect on windows, frames, go-back lists, stylesheets in use, and so on is mainly determined by browsers, not by the link itself. For example, traveral of <code>A</code> links normally replaces the current view, perhaps with a user option to open a new window.</p></item>
				<item><p>The link goes to only one destination (although a server may have great freedom in finding or dynamically creating that destination).</p></item>
			</ulist>
		</p>
		<p>While this set of characteristics is already very powerful and obviously has proven itself highly useful and effective, each of these assumptions also limits the range of hypertext functionality. The linking model defined here provides ways to create links that go beyond each of these specific characteristics, thus providing features previously available mostly in dedicated hypermedia systems.
		</p>

<div2>
	<head>Origin and Goals</head>
	<p>Following is a summary of the design principles governing XLink:
		<olist>
			<item><p>XLink must be straightforwardly usable over the Internet. </p></item>
			<item><p>XLink must be usable by a wide variety of link usage domains and classes of linking application software.</p></item>
			<item><p>XLink must support HTML 4.0 linking constructs.</p></item>
			<item><p>The XLink expression language must be XML.</p></item>
			<item><p>The XLink design must be formal, concise, and illustrative.</p></item>
			<item><p>XLinks must be human-readable and human-writable.</p></item>
			<item><p>XLinks may reside within or outside the documents in which the
			participating resources reside. </p></item>
			<item><p>XLink must represent the abstract structure and significance of links.</p></item>
			<item><p>XLink must be feasible to implement.</p></item>
			<item><p>XLink must be informed by knowledge of established hypermedia systems and standards.</p></item>
		</olist>
	</p>
</div2>
<!--Changed the list of requirements to reflect current XLink requirements
document. bent-->

<div2>
	<head>Relationship to Existing Standards</head>
	<p>Three standards have been especially influential:
		<ulist>
			<item><p><emph>HTML:</emph> Defines several SGML element types that represent links.</p></item>
			<item><p><emph>HyTime:</emph> Defines inline and out-of-line link structures and some semantic features, including traversal control and presentation of objects. <!--Changed from "placement of objects into a display or other space" -elm-->
			</p></item>
			<item><p><emph>Text Encoding Initiative Guidelines (TEI P3):</emph> Provides structures for creating links, aggregate objects, and link collections out of them.</p></item>
		</ulist>
	</p>
	<p>Many other linking systems have also informed this design, especially Dexter, FRESS, MicroCosm, and InterMedia.</p>
</div2>

<div2>
	<head>Terminology</head>
	<p>The following basic terms apply in this document. <!--<IMG
	SRC="local://./linkdiag.gif">(figure to be inserted)-->
		<glist>
			<gitem>
			<label><termdef id="dt-arc" term="Arc">arc</termdef></label>
			<def><p>A symbolic representation of traversal behavior in links, especially the direction, context and timing of traversal.</p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-eltree" term="Element Tree">element tree</termdef></label>
				<def><p>A representation of the relevant structure specified by the tags and attributes in an XML document, based on &quot;groves&quot; as defined in the ISO DSSSL standard. </p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-inline" term="In-Line Link">inline link</termdef></label>
				<def><p>Abstractly, a <termref def="dt-link">link</termref> which serves as one of its own <termref def="dt-resource">resources</termref>. Concretely, a link where the content of the <termref def="dt-linkel">linking	element</termref> serves as a <termref def="dt-particip-resource">participating resource</termref>.
				HTML <code>A</code>, HyTime <code>clink</code>, and TEI	<code>XREF</code>
				are all inline links.</p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-link" term="Link">link</termdef></label>
				<def><p>An explicit relationship between two or more data objects or portions of data objects.</p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-linkel" term="Linking Element">linking element </termdef></label>
				<def><p>An <xtermref href="WD-xml-lang.html#dt-element">element</xtermref> that asserts the existence and describes the characteristics of a <termref def="dt-link"> link</termref>.</p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-local-resource" term="Local Resource">local resource</termdef></label>
				<def><p>The content of an <termref def="dt-inline">inline</termref>linking element. Note that the content of the linking element could be explicitly pointed to by means of a regular <termref def="dt-locator">locator</termref> in the same linking element, in which case the resource is considered <termref def="dt-remote-resource"> remote</termref>, not local.</p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-locator" term="Locator">locator</termdef> </label>
				<def><p>Data, provided as part of a link, which identifies a
				<termref def="dt-resource">resource</termref>.</p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-multidir" term="Multi-Directional Link">multidirectional link</termdef></label>
				<def><p>A <termref def="dt-link">link</termref> whose <termref def="dt-traversal"> traversal</termref> can be initiated from more than one of its <termref def="dt-particip-resource"> participating resources</termref>. Note that being able to &quot;go back&quot; after following a one-directional link does not make the link multidirectional.</p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-outofline" term="Out-of-line Link">out-of-line link</termdef></label>
				<def><p>A <termref def="dt-link">link</termref> whose content does not serve as one of the link's <termref def="dt-particip-resource">participating resources </termref>. Such links 						presuppose a notion like <termref def="dt-xlg">extended link groups</termref>, which instruct application software where to look for links. Out-of-line links are generally required for supporting multidirectional <termref def="dt-traversal">traversal</termref> and for allowing read-only resources to have outgoing links.</p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-parsedq" term="Parsed">parsed</termdef></label> <def><p>In the context of link behavior, a parsed link is any link			whose content is transcluded into the document where the link originated. The	use of the term &quot;parsed&quot; directly refers to the concept in XML of a
				parsed entity.</p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-particip-resource" term="Participating Resource"> participating resource</termdef></label>
				<def><p>A <termref def="dt-resource">resource</termref> that belongs to a link. All resources are potential contributors to a link; participating	resources are the actual contributors to a particular link.</p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-remote-resource" term="Remote Resource">remote resource</termdef></label>
				<def><p>Any participating resource of a link that is pointed to with a locator. </p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-resource" term="Resource">resource</termdef></label>
				<def><p>In the abstract sense, an addressable unit of information or service that is participating in a <termref def="dt-link">link</termref>. Examples include files, images, documents, programs, and query results. Concretely, anything reachable by the use of a <termref def="dt-locator">locator</termref> in some <termref def="dt-linkel">linking	element</termref>. Note that this term and its definition are taken from the basic specifications governing the World Wide Web. <!--Joel notes: need link here. bent asks: A link?-->
				 </p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-subresource" term="sub-Resource">sub-resource</termdef></label>
				<def><p>A portion of a resource, pointed to as the precise	destination of a link. As one example, a link might specify that an entire	document be retrieved and displayed, but that some specific part(s) of it is the specific linked data, to be treated in an application-appropriate manner such as indication by highlighting, scrolling, etc.</p></def>
			</gitem>
			<gitem>
				<label><termdef id="dt-traversal" term="Traversal">traversal</termdef></label>
				<def><p>The action of using a <termref def="dt-link">link</termref>; that is, of accessing a <termref def="dt-resource">resource</termref>. Traversal may be initiated by a user action (for example, clicking on the displayed content of a <termref def="dt-linkel">linking element</termref>) or occur under program control.</p></def>
			</gitem>
		</glist>
	</p>
</div2>

<div2>
	<head>Notation</head>
	<p>The formal grammar for <termref def="dt-locator">locators</termref> is given using a simple Extended Backus-Naur Form (EBNF) location, as described in <xspecref href="http://www.w3.org/TR/REC-xml#sec-notation">the XML specification</xspecref>.</p>
	<!-- fixed link to XML spec - bent -->
</div2>
</div1>

<div1 id="addressing"><?Pub Dtl?>
	<head>Locator Syntax</head>
	<p>The locator for a <termref def="dt-resource">resource</termref> is typically provided by means of a Uniform Resource Identifier, or URI. XPointers can be used in conjunction with the URI structure, as fragment identifiers, to specify a more precise sub-resource. </p>
	<!-- Removed the discussion of queries from the previous paragraph, due to contention within the WG. bent -->
	<p>A locator generally contains a URI, as described in IETF RFCs <bibref ref="rfc1738"/> and <bibref ref="rfc1808"/>. As these RFCs state, the URI may include a trailing <emph>query</emph> (marked by a leading &quot;<code>?</code>&quot;), and be followed by a &quot;<code>#</code>&quot; and a <emph>fragment identifier</emph>, with the query interpreted by the host providing the indicated resource, and the interpretation of the fragment identifier dependent on the data type of the indicated resource.</p>
	<!--Is there some restriction on URNs having queries and/or fragment identifiers?  Since these RFCs don't mention URIs explicitly, should the wording here lead from URLs to URIs more explicitly? -elm-->
	<p>In order to locate XML documents and portions of documents, a locator value may contain either a <xtermref href="http://www.w3.org/Addressing/rfc1738.txt"> URI</xtermref> or a fragment identifier, or both. Any fragment identifier for pointing into XML must be an <xtermref href="http://www.w3.org/TR/WD-xptr#dt-xpointer"> XPointer</xtermref>.</p>
	<p>Special syntax may be used to request the use of particular processing models in accessing the locator's resource. This is designed to reflect the realities of network operation, where it may or may not be desirable to exercise fine control over the distribution of work between local and remote processors. 
		<scrap id="locator" lang="ebnf">
			<head>Locator</head>
			<prod id="nt-locator">
				<lhs>Locator</lhs>
				<rhs><nt def="nt-uri">URI</nt></rhs>
				<rhs>| <nt def="nt-connector">Connector</nt> (<xnt href="http://www.w3.org/TR/WD-xptr">XPointer</xnt> | <xnt href="WD-xml-lang.html#NT-Name">Name</xnt>)</rhs>
				<rhs>| <nt def="nt-uri">URI</nt> <nt def="nt-connector">Connector</nt> (<xnt href="http://www.w3.org/TR/WD-xptr">XPointer</xnt> | <xnt href="WD-xml-lang.html#NT-Name">Name</xnt>)</rhs>
			</prod>
			<prod id="nt-connector">
				<lhs>Connector</lhs><rhs>'#' | '|'</rhs>
			</prod>
			<prod id="nt-uri">
				<lhs>URI</lhs><rhs><xnt href="WD-xml-lang.html#NT-URLchar">URIchar*</xnt></rhs>
			</prod>
		</scrap>
	</p>
	<p><termdef id="dt-designated" term="Designated Resource">In this discussion, the term <term>designated resource</term> refers to the resource which an entire locator serves to locate.</termdef> The following rules apply:
		<ulist>
			<item>
				<p><termdef id="dt-containing-resource" term="Containing Resource">		  The URI, if provided, locates a resource called the <term>containing resource</term>.</termdef></p>
			</item>
			<item>
				<p>If the URI is not provided, the containing resource is considered to be the document in which the linking element is contained. 
				</p></item>
			<item>
				<p><termdef id="dt-sub-resource" term="Sub-Resource">If an XPointer				  is provided, the designated resource is a <term>sub-resource</term>
				of the containing resource; otherwise the designated resource is the
				containing resource.</termdef></p>
			</item>
			<!--Is this now incorrect, given the nature of the switch from here() to origin()? -elm 
			Oy, yes, i think so. it will require some fun wording, though, so i haven't fixed it yet here -sjd-->
			<item>
				<p>If the <nt def="nt-connector">Connector</nt> is followed directly by a <xnt href="http://www.w3.org/TR/REC-xml#NT-Name">Name</xnt>, the <xnt href="http://www.w3.org/TR/REC-xml#NT-Name">Name</xnt> is shorthand for the XPointer&quot;<code>id(Name)</code>&quot;; that is, the sub-resource is the element in the containing resource that has an XML <xtermref href="http://www.w3.org/TR/REC-xml#sec-attrtypes">ID attribute</xtermref> whose value <xtermref href="http://www.w3.org/TR/REC-xml#dt-match">matches</xtermref> the 				  <xnt href="http://www.w3.org/TR/REC-xml#NT-Name">Name</xnt>. This shorthand is to encourage use of the robust <code>id</code> addressing mode.</p>
			</item>
			<!-- fixed links to the XML recommendation - bent -->
			<item>
				<p>If the connector is &quot;<code>#</code>&quot;, this signals an intent that the containing resource is to be fetched as a whole from the host that provides it, and that the XPointer processing to extract the sub-resource
				is to be performed on the client, that is to say on the same system where the linking element is recognized and processed.</p>
			</item>
			<item>
				<p>If the connector is &quot;<code>|</code>&quot;, no intent is signaled as to what processing model is to be used to go about accessing the designated resource.</p>
			</item>
		</ulist>
	</p>
	<p>Note that the definition of a URI includes an optional query component. </p>
	<p>In the case where the URI contains a query (to be interpreted by the server), information providers and authors of server software are urged to use queries as follows: 
		<scrap id="querysyntax" lang="ebnf">
			<head>Query</head>
			<prod id="nt-query">
				<lhs>Query</lhs><rhs>'XML-XPTR=' (<xnt href="http://www.w3.org/TR/WD-xptr"> XPointer</xnt> | <xnt href="http://www.w3.org/TR/REC-xml#NT-Name">Name</xnt>)</rhs>
			</prod>
		</scrap>
	</p>
	<!-- fixed link to XML recommendation - bent -->
</div1>

<div1><?Pub Dtl?>
	<head>Link Recognition</head>
	<p>The existence of a <termref def="dt-link">link</termref> is asserted by a <termref def="dt-linkel">linking element</termref>. Linking elements must be recognized reliably by application software in order to provide appropriate display and behavior. There are several ways link recognition could be accomplished: for example, reserving element type names, reserving attributes names, leaving the matter of recognition entirely up to stylesheets and application software, or using the XLink <xtermref href="http://www.w3.org/TR/REC-xml-names/">namespace</xtermref> to specify element names and attribute names that would be recognized by namespace and XLink-aware processors. Using element and attribute names within the XLink namespace provides a balance between giving users control of their own markup language design and keeping the identification of linking elements simple and unambiguous.</p>
	<p>The two approaches to identifying linking elements are relatively simple to implement. For example, here's how the HTML <code>A</code> element would be declared using attributes within the XLink namespace, and then how an element within the XLink namespace might do the same:
		<eg>&lt;A xlink:type=&quot;simple&quot; xlink:href=&quot;http://www.w3.org/TR/wd-xlink/&quot;
xlink:title=&quot;The Xlink Working Draft&quot;&gt;The XLink Working Draft.&lt;/A&gt;</eg>
		<eg>&lt;xlink:simple href=&quot;http://www.w3.org/TR/wd-xlink/&quot;
title=&quot;The XLink Working Draft&quot;&gt;The XLink Working Draft&lt;/xlink:simple&gt;</eg>
	Any arbitrary element can be made into an XLink by using the <code>xlink:type</code> attribute. And, of course, the explicit XLink elements may be used, as well. This document will go on to describe the linking attributes that are associated with linking elements. It may be assumed by the reader that these attributes would require the <code>xlink</code> namespace prefix if they existed within an arbitrary element, or that they may be used directly if they exist within an explicit Xlink element.</p>
		<!-- heavily modified this section to accomodate namespace-aware link recognition - bent -->
</div1>

<!-- Rewrote this entire section. - bent -->
<div1>
	<head>Linking Attributes</head>
	<p>XLink has several attributes associated with the variety of links it may represent. These attributes define four main concepts: locators, arcs, behaviors, and semantics. <emph>Locators</emph> define where the actual resource is located. <emph>Arcs</emph> define the traversal of links. Where does the link come from? Where does it go to? All this information can be stored in the arc attributes. <emph>Behaviors</emph> define how the link is activated, and what the application should do with the resource being linked to. <emph>Semantics</emph> define useful information that the application may use, and enables the link for such specalized targets as constricted devices and accessibility software.</p>
	
	<div2 id="link-locators">
		<head>Locator Attributes</head>
		<p>The only locator attribute at this time is <code>href</code>. This attribute must contain either a string in the form of a URI that defines the remote resource being linked to, a string containing a fragment identifier that links to a local resource, or a string containing a URI with a fragment identifier concacenated onto it.</p>
	</div2>

	<div2 id="link-arcs">
		<head>Arc Attributes</head>
		<p>Arcs contain two attributes, <code>from</code> and <code>to</code>. The <code>from</code> attribute may contain a string containing the content of a <code>role</code> attribute from the resource being linked from. The purpose of the <code>from</code> attribute is to define where this link is being actuated from.</p>
		<p>The <code>to</code> attribute may contain a string containing the content of a <code>role</code> attribute from the resource being linked to. The purpose of the <code>to</code> attribute is to define where this link traverses to.</p>
		<p>The application may use this information in a number of ways, especially in a complex hypertext system, but it is mainly useful in providing context for application behavior.</p>
		<!-- I'm at a loss as to how to describe arcs more clearly than this. I don't want to devolve into discussions of directed graphs and n-ary links. -bent -->
	</div2>

	<div2 id="link-behaviors">
		<head>Behavior Attributes</head>
		<p>There are two attributes associated with behavior: <code>show</code> and <code>actuate</code>. The <code>show</code> attribute defines how the remote resource is to be revealed to the user. It has three options: <code>new</code>, <code>parsed</code>, and <code>replace</code>. The <code>new</code> option indicates that the remote resource should be shown in a new window (or other device context) without replacing the previous content. The <code>parsed</code> option, relating directly to the XML concept of a parsed entity, indicates that the content should be integrated into the document from which the link was actuated. The <code>replace</code> option is the one most commonly seen on the World Wide Web, where the document being linked from is entirely replaced by the object being linked to.</p>
		<p>The <code>actuate</code> attribute defines how the link is initiated. It has two options: <code>user</code> and <code>auto</code>. The <code>user</code> option indicates that the link must be initiated by some sort of human-initiated selection, such as clicking on an HTML anchor. The <code>auto</code> option indicates that the link is automatically initiated when the application deems that the user has reached the link. It then follows the behavior set out in the <code>show</code> option.</p>
		<!-- Something should be put here in terms of an example. Idea: "A" link versus automatically updating encyclopedia. -bent -->
	</div2>

	<div2 id="link-semantics">
		<head>Semantic Attributes</head>
		<p>There are two attributes associated with semantics, <code>role</code> and <code>title</code>. The <code>role</code> attribute is a generic string used to describe the function of the link's content. For example, a poem might have a link with a <code>role=&quot;stanza&quot;</code>. The <code>role</code> is also used as an identifier for the <code>from</code> and <code>to</code> attributes of arcs.</p>
		<p>The <code>title</code> attribute is designed to provide human-readable text describing the link. It is very useful for those who have text-based applications, whether that be due to a constricted device that cannot display the link's content, or if it's being read by an application to a visually-impaired user, or if it's being used to create a table of links. The <code>title</code> attribute contains a simple, descriptive string.</p>
	</div2>
</div1>

<div1 id="linking-elements">
	<head>Linking Elements</head>
	<p>There are several kinds of linking elements in XLink: <code>simple</code> links, <code>locators</code>, <code>arcs</code>, and <code>extended</code> links. These elements may be instantiated via element declarations from the XLink namespace, or they may be instantiated via attribute declarations from the XLink namespace. Both kinds of instantiation are described in the definition of each linking element.</p>
	<p>The <code>simple</code> link is used to declare a link that approximates the functionality of the HTML <code>A</code> element. It has, however, a few added features to increase its value, including the potential declaration of semantics and behavior. The <code>locator</code> elements are used to define the resource being linked to. Some links may contain multiple locators, representing a choice of potential links to be traversed. The <code>arcs</code> are used to define the traversal semantics of the link. Finally, an <code>extended</code> linking element differs from a simple link in that it can connect any number of resources, not just one local resource (optionally) and one remote resource, and in that extended links are more often out-of-line than simple links.</p>

<div2 id="simple-links">
	<head>Simple Links</head>
	<p id="dt-simplelink"><termdef id="dt-simpleline" term="Simple Link"><term>Simple links</term> can be used for purposes that approximate the functionality of a basic HTML <code>A</code> link, but they can also support a limited amount of additional functionality. Simple links have only one locator and thus, for convenience, combine the functions of a linking element and a locator into a single element.</termdef> As a result of this combination, the simple linking element offers both a locator attribute and all the behavior and semantic attributes.</p>
	<p>The following are two examples of linking elements, each showing all the possible attributes that can be associated with a simple link. Here is the explicit XLink simple linking element.
	<eg>&lt;!ELEMENT xlink:simple ANY&gt;
&lt;!ATTLIST xlink:slink
    href           CDATA    				#REQUIRED
    role           CDATA    				#IMPLIED
    title          CDATA    				#IMPLIED
    show           (new|parsed|replace)  	&quot;replace&quot;
    actuate        (user|auto) 				&quot;user&quot;
&gt;</eg>
	And here is how to make an arbitrary element into a simple link.
	<eg>&lt;!ELEMENT xlink:simple ANY&gt;
&lt;!ATTLIST foo
	xlink:type     (simple|extended|locator|arc) #FIXED &quot;simple&quot;		
    xlink:href     CDATA    				#REQUIRED
    xlink:role     CDATA    				#IMPLIED
    xlink:title    CDATA    				#IMPLIED
    xlink:show     (new|parsed|replace)  	&quot;replace&quot;
    xlink:actuate  (user|auto) 				&quot;user&quot;
&gt;</eg>
	Here is how the first example might look in a document:
<eg>&lt;xlink:simple href=&quot;http://www.w3.org/TR/wd-xlink&quot; role=&quot;working draft&quot; 
	title=&quot;The XLink Working Draft&quot; show=&quot;replace&quot; actuate=&quot;user&quot;&gt;
The XLink Working Draft.&lt;/xlink:simple&gt;</eg>
<eg>&lt;foo xlink:href=&quot;http://www.w3.org/TR/wd-xlink&quot; xlink:role=&quot;working draft&quot;
	xlink:title=&quot;The XLink Working Draft&quot; xlink:show=&quot;new&quot; xlink:actuate=&quot;user&quot;&gt;
The XLink Working Draft.&lt;/foo&gt;</eg>
	Alternately, a simple link could be as terse as this:
<eg>&lt;foo xlink:href=&quot;#stanza1&quot;&gt;The First Stanza.&lt;/foo&gt;</eg>
	</p>
	<p>
	There are no constraints on the contents of a simple linking element. In
	the sample declaration above, it is given a content model of <code>ANY</code>
	to illustrate that any content model or declared content is acceptable. In
	a valid document, every element that is significant to XLink must still conform
	to the constraints expressed in its governing DTD.</p>
	<p>Note that it is meaningful to have an out-of-line simple link, although
	such links are uncommon. They are called &quot;one-ended&quot; and are typically used
	to associate discrete semantic properties with locations. The properties might
	be expressed by attributes on the link, the link's element type name, or in
	some other way, and are not considered full-fledged resources of the link.
	Most out-of-line links are extended links, as these have a far wider range
	of uses.</p>
</div2>

<div2 id="extended-link">
<head>Extended Links</head>
	<p><termdef id="dt-extendedlink" term="Extended Link">An <term>extended link</term> differs from a simple link in that it can connect any number of resources, not just one local resource (optionally) and one remote resource, and in that extended links are more often out-of-line than simple links.</termdef></p>
	<p>These additional capabilities of extended links are required for:  
		<ulist>
			<item>
				<p>Enabling outgoing links in documents that cannot be modified to add an inline link</p>
			</item>
			<item>
				<p>Creating links to and from resources in formats with no native support for embedded links (such as most multimedia formats)</p>
			</item>
			<item>
				<p>Applying and filtering sets of relevant links on demand</p>
			</item>
			<item><p>Enabling other advanced hypermedia capabilities</p></item>
		</ulist>
	</p>
	<p>Application software might be expected to provide traversal among all of a link's participating resources (subject to semantic constraints outside the scope of this specification) and to signal the fact that a given resource or sub-resource participates in one or more links when it is displayed (even though there is no markup at exactly that point to signal it).</p>
	<p>A linking element for an extended link contains a series of <xtermref href="http://www.w3.org/TR/REC-xml/#dt-parentchild">child elements</xtermref> that serve as locators and arcs. Because an extended link can have more than one remote resource, it separates out linking itself from the mechanisms used to locate each resource (whereas a simple link combines the two).</p>
	<p>The <code>xlink:type</code> attribute value for an extended link must be <code> extended</code>, if the link is being instantiated on an arbitrary element. Note that extended links introduce variants of the <code>show</code> and <code>actuate</code> behavior attributes. These attributes, the <code>showdefault</code> and <code>actuatedefault</code> define the same behavior as their counterparts. However, in this case, they are considered to define the default behavior for all the linking elements that they contain.</p>
	<p>However, when a linking element within an extended link has a <code>show</code> or <code>actuate</code> attribute of its own, that attribute overrides the defaults set on the extended linking element.</p>
	<p>The extended linking element itself retains those attributes relevant to the link as a whole, and to its local resource if any. Following are two sample declaration for an extended link. The first is an example of the explicit XLink extended link:
	
<eg>&lt;!ELEMENT xlink:extended ((xlink:arc | xlink:locator)*)&gt;
&lt;!ATTLIST xlink:extended
	role           CDATA    				#IMPLIED
	title          CDATA    				#IMPLIED
	showdefault    (new|parsed|replace)    	#IMPLIED 
    actuatedefault (user|auto) 				#IMPLIED &gt;</eg>

	The second is an example of an arbitrary element being used an extended link:

<eg>&lt;!ELEMENT foo ((xlink:arc | xlink:locator)*)&gt;
&lt;!ATTLIST foo
	xlink:type     	(simple|extended|locator|arc) 	#FIXED &quot;extended&quot;
	xlink:role           CDATA    					#IMPLIED
	xlink:title          CDATA    					#IMPLIED
	xlink:showdefault    (new|parsed|replace)    	#IMPLIED 
    xlink:actuatedefault (user|auto) 				#IMPLIED &gt;</eg>

	The following two examples demonstrate how each of the above might appear within a document instance. Note that the content of these examples would be other elements. For brevity's sake, they've been left blank. The first example shows how the link might appear, using an explicit XLink extended link:

<eg>&lt;xlink:extended role=&quot;address book&quot; title=&quot;Ben's Address Book&quot; showdefault=&quot;replace&quot; actuatedefault=&quot;user&quot;&gt; ... &lt;/xlink:extended&gt;</eg>

	And the second shows how the link might appear, using an arbitrary element:

<eg>&lt;foo xlink:type=&quot;extended&quot; xlink:role=&quot;address book&quot; xlink:title=&quot;Ben's Address Book&quot; xlink:showdefault=&quot;replace&quot; xlink:actuatedefault=&quot;user&quot;&gt; ... &lt;/foo&gt;</eg>
	</p>

</div2>

<div2 id="xlink-arcs">
	<head>Arc Elements</head>
	<p><termdef id="dt-arc" term="Arc">An <term>arc</term> is contained within an extended link for the purpose of defining traversal behavior.</termdef> More than one arc may be associated with a link. Otherwise, arc elements function exactly as the arc attributes might lead on to expect.</p>
	<!-- More here? -bent -->
</div2>

</div1>
<div1>
<head>Conformance</head>
<p>An element conforms to XLink if:  <olist>
<item><p>The element has an <code>xml:link</code> attribute whose value is
one of the attribute values prescribed by this specification, and</p></item>
<item><p>the element and all of its attributes and content adhere to the
syntactic
requirements imposed by the chosen <code>xml:link</code> attribute value,
as prescribed in this specification.</p></item>
</olist></p>
<p>Note that conformance is assessed at the level of individual elements,
rather than whole XML documents, because XLink and non-XLink linking mechanisms
may be used side by side in any one document.</p>
<p>An application conforms to XLink if it interprets XLink-conforming elements
according to all required semantics prescribed by this specification and,
for any optional semantics it chooses to support, supports them in the way
prescribed. <!--If/when we split out the XLinkfunctionality
(e.g. inline links and out-of-line links), the
conformance language will have to address the different
levels of support. -elm--> </p>
</div1>
</body><back>
<div1 id="unfinished">
<head>Unfinished Work</head>
<div2>
<head>Structured Titles</head>
<p>The simple title mechanism described in this draft is insufficient to cope
with internationalization or the use of multimedia in link titles. A future
version will provide a mechanism for the use of structured link titles.</p>
</div2>
</div1>
<div1>
<head>References</head>
<blist>
<bibl id="xptr" key="XPTR">Eve Maler and Steve DeRose, editors. <titleref>
XML Pointer Language (XPointer) V1.0</titleref>. ArborText, Inso, and Brown
University. Burlington, Seekonk, et al.: World Wide Web Consortium, 1998.
(See <loc href="http://www.w3.org/TR/WD-xptr">http://www.w3.org/TR/WD-xptr
 </loc>.)</bibl>
<bibl id="iso10744" key="ISO/IEC 10744">ISO (International Organization for
Standardization). <titleref>ISO/IEC 10744-1992 (E). Information technology
- Hypermedia/Time-based Structuring Language (HyTime).</titleref> [Geneva]:
International Organization for Standardization, 1992. <titleref>Extended
Facilities
Annex.</titleref> [Geneva]: International Organization for Standardization,
1996. (See  <loc href="http://www.ornl.gov/sgml/wg8/hytime/html/is10744r.html">http://www.ornl.go
v/sgml/wg8/hytime/html/is10744r.html </loc> <!--p m-r says this link is
broken. elm --> ).</bibl>
<bibl id="rfc1738" key="IETF RFC 1738">IETF (Internet Engineering Task
Force). <titleref>
RFC 1738: Uniform Resource Locators</titleref>. 1991. (See  <loc href="http://www.w3.org/Addressing/rfc1738.txt">
http://www.w3.org/Addressing/rfc1738.txt</loc>).</bibl>
<bibl id="rfc1808" key="IETF RFC 1808">IETF (Internet Engineering Task
Force). <titleref>
RFC 1808: Relative Uniform Resource Locators</titleref>. 1995. (See  <loc href="http://www.w3.org/Addressing/rfc1808.txt">http://www.w3.org/Addressing/rfc
1808.txt </loc>).</bibl>
<bibl id="tei" key="TEI">C. M. Sperberg-McQueen and Lou Burnard, editors.
<titleref>
Guidelines for Electronic Text Encoding and Interchange</titleref>. Association
for Computers and the Humanities (ACH), Association for Computational
Linguistics
(ACL), and Association for Literary and Linguistic Computing (ALLC). Chicago,
Oxford: Text Encoding Initiative, 1994. <!-- add cite to DOM work --> </bibl>
<bibl id="chum" key="CHUM">]Steven J. DeRose and David G. Durand. 1995. &quot;The
TEI Hypertext Guidelines.&quot; In <titleref>Computing and the Humanities
</titleref>29(3).
Reprinted in <titleref>Text Encoding Initiative: Background and
Context</titleref>,
ed. Nancy Ide and Jean ronis <!-- fix this name -->, ISBN 0-7923-3704-2. </bibl>
</blist></div1>
</back></spec>
<?Pub *0000052575?>
