Using an extended link, a number of resources can be cross-related. An extended link contains locator elements, each one pointing to a different resource. However, the extended link may still be an in-line element, containing one of the resources:
The ends of the link have equal status, even if one resource is a single word reference and the other is an entire book. It is also irrelevant which end of the link actually contains the linking markup.
Extended links refer to a number of resources by including embedded resource locators. Each locator is stored in a locator-type element, and all related locator elements are grouped within an extended-type element. If the link markup occurs at the point of one of the resources to be included, then a resource-type element is used to isolate and identify this (local) resource. The Type attribute is again used to identify the elements that take these roles.
A DTD author must ensure that the extended-type element can contain the locator-type element and the resource-type element, as well as any DTD-specific elements appropriate at this point:
<!ELEMENT para (#PCDATA | extendedLink | emph)* > <!ELEMENT extendedLink (#PCDATA | localResource | remoteResource | emph)* > <!ATTLIST extendedLink xlink:type="extended" ... > <!ELEMENT localResource (#PCDATA) > <!ATTLIST localResource xlink:type="resource" ... > <!ELEMENT remoteResource (#PCDATA) > <!ATTLIST remoteResource xlink:type="locator" ... > <para>Here are <extendedLink>some <emph>extended</emph> <localResource>links:</localResource> <remoteResource xlink:href="..."> Locator a </remoteResource>, <remoteResource xlink:href="..."> Locator b </remoteResource>. </extendedLink> </para>
Here are some extended links: Locator a, Locator b.
A browser should recognize that the embedded LocalResource and RemoteResource elements form a related group, and deduce that it would be useful to dynamically create arcs between them all (in this case, between the fragment shown above;, the fragment identified as 'Locator a' and the fragment identified as 'Locator b'.
Note
An assumption is being made here that when resource-type elements are not empty, their content text can act as jump-off points for hypertext links (just as it can in simple-type and resource-type elements).
The example link above creates three resources (one local, two remote). But it is possible for a link to contain a single, local resource, or even to contain no resources at all. This might be done simply to utilize XLink identification attributes that give the resource a role, title or label, or to create a placeholder for later updating.
3.16.51.3