<?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 "work in progress". 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 "groves" 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 "go back" 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 "parsed" 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 "<code>?</code>"), and be followed by a "<code>#</code>" 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"<code>id(Name)</code>"; 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 "<code>#</code>", 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 "<code>|</code>", 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="simple" xlink:href="http://www.w3.org/TR/wd-xlink/"
xlink:title="The Xlink Working Draft"&gt;The XLink Working Draft.&lt;/A&gt;</eg>
		<eg>&lt;xlink:simple href="http://www.w3.org/TR/wd-xlink/"
title="The XLink Working Draft"&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="stanza"</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)  	"replace"
    actuate        (user|auto) 				"user"
&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 "simple"		
    xlink:href     CDATA    				#REQUIRED
    xlink:role     CDATA    				#IMPLIED
    xlink:title    CDATA    				#IMPLIED
    xlink:show     (new|parsed|replace)  	"replace"
    xlink:actuate  (user|auto) 				"user"
&gt;</eg>
	Here is how the first example might look in a document:
<eg>&lt;xlink:simple href="http://www.w3.org/TR/wd-xlink" role="working draft" 
	title="The XLink Working Draft" show="replace" actuate="user"&gt;
The XLink Working Draft.&lt;/xlink:simple&gt;</eg>
<eg>&lt;foo xlink:href="http://www.w3.org/TR/wd-xlink" xlink:role="working draft"
	xlink:title="The XLink Working Draft" xlink:show="new" xlink:actuate="user"&gt;
The XLink Working Draft.&lt;/foo&gt;</eg>
	Alternately, a simple link could be as terse as this:
<eg>&lt;foo xlink:href="#stanza1"&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 "one-ended" 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)*)>
&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)*)>
&lt;!ATTLIST foo
	xlink:type     	(simple|extended|locator|arc) 	#FIXED "extended"
	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="address book" title="Ben's Address Book" showdefault="replace" actuatedefault="user"&gt; ... &lt;/xlink:extended&gt;</eg>

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

<eg>&lt;foo xlink:type="extended" xlink:role="address book" xlink:title="Ben's Address Book" xlink:showdefault="replace" xlink:actuatedefault="user"&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. "The
TEI Hypertext Guidelines." 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?>
