A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.w3.org/TR/2001/REC-xlink-20010627/ below:

XML Linking Language (XLink) Version 1.0

The following sections define the XLink elements and attributes.

5.1 Extended Links (extended-Type Element)

[Definition: An extended link is a link that associates an arbitrary number of resources. The participating resources may be any combination of remote and local.]

The only kind of link that is able to have inbound and third-party arcs is an extended link. Typically, extended linking elements are stored separately from the resources they associate (for example, in entirely different documents). Thus, extended links are important for situations where the participating resources are read-only, or where it is expensive to modify and update them but inexpensive to modify and update a separate linking element, or where the resources are in formats with no native support for embedded links (such as many multimedia formats).

The following diagram shows an extended link that associates five remote resources. This could represent, for example, information about a student's course load: one resource being a description of the student, another being a description of the student's academic advisor, two resources representing courses that the student is attending, and the last resource representing a course that the student is auditing.

Without the extended link, the resources might be entirely unrelated; for example, they might be in five separate documents. The lines emanating from the extended link represent the association it creates among the resources. However, notice that the lines do not have directionality. Directionality is expressed with traversal rules; without such rules being provided, the resources are associated in no particular order, with no implication as to whether and how individual resources are accessed.

The following diagram shows an extended link that associates five remote resources and one local resource (a special element inside the extended link element). This could represent the same sort of course-load example as described above, with the addition of the student's grade point average stored locally. Again, the lines represent mere association of the six resources, without traversal directions or behaviors implied.

The XLink element type for extended links is any element with an attribute in the XLink namespace called type with a value of "extended".

The extended-type element may contain a mixture of the following elements in any order, possibly along with other content and markup:

It is not an error for an extended-type element to associate fewer than two resources. If the link has only one participating resource, or none at all, it is simply untraversable. Such a link may still be useful, for example, to associate properties with a single resource by means of XLink attributes, or to provide a placeholder for link information that will be populated eventually.

Subelements of the simple or extended type anywhere inside a parent extended-type element have no XLink-specified meaning. Subelements of the locator, arc, or resource type that are not direct children of an extended-type element have no XLink-specified meaning.

The extended-type element may have the semantic attributes role and title (see 5.5 Semantic Attributes (role, arcrole, and title)). They supply semantic information about the link as a whole; the role attribute indicates a property that the entire link has, and the title attribute indicates a human-readable description of the entire link. If other XLink attributes are present on the element, they have no XLink-specified relationship to the link. If both a title attribute and one or more title-type elements are present, they have no XLink-specified relationship; a higher-level application built on XLink will likely want to specify appropriate treatment (for example, precedence) in this case.

Example: Sample extended-Type Element Declarations and Instance

Following is a non-normative set of declarations for an extended-type element and its subelements. Parts of this example are reused throughout this specification. Note that the type attribute and some other attributes are defaulted in the DTD in order to highlight the attributes that are changing on a per-instance basis.

<!ELEMENT courseload ((tooltip|person|course|gpa|go)*)>
<!ATTLIST courseload
  xmlns:xlink     CDATA           #FIXED "http://www.w3.org/1999/xlink"
  xlink:type      (extended)      #FIXED "extended"
  xlink:role      CDATA           #IMPLIED
  xlink:title     CDATA           #IMPLIED>

<!ELEMENT tooltip ANY>
<!ATTLIST tooltip
  xlink:type      (title)         #FIXED "title"
  xml:lang        CDATA           #IMPLIED>

<!ELEMENT person EMPTY>
<!ATTLIST person
  xlink:type      (locator)       #FIXED "locator"
  xlink:href      CDATA           #REQUIRED
  xlink:role      CDATA           #IMPLIED
  xlink:title     CDATA           #IMPLIED
  xlink:label     NMTOKEN         #IMPLIED>

<!ELEMENT course EMPTY>
<!ATTLIST course
  xlink:type      (locator)       #FIXED "locator"
  xlink:href      CDATA           #REQUIRED
  xlink:role      CDATA           #FIXED "http://www.example.com/linkprops/course"
  xlink:title     CDATA           #IMPLIED
  xlink:label     NMTOKEN         #IMPLIED>

<!-- GPA = "grade point average" -->
<!ELEMENT gpa ANY>
<!ATTLIST gpa
  xlink:type      (resource)      #FIXED "resource"
  xlink:role      CDATA           #FIXED "http://www.example.com/linkprops/gpa"
  xlink:title     CDATA           #IMPLIED
  xlink:label     NMTOKEN         #IMPLIED>

<!ELEMENT go EMPTY>
<!ATTLIST go
  xlink:type      (arc)           #FIXED "arc"
  xlink:arcrole   CDATA           #IMPLIED
  xlink:title     CDATA           #IMPLIED
  xlink:show      (new
                  |replace
                  |embed
                  |other
                  |none)          #IMPLIED
  xlink:actuate   (onLoad
                  |onRequest
                  |other
                  |none)          #IMPLIED
  xlink:from      NMTOKEN         #IMPLIED
  xlink:to        NMTOKEN         #IMPLIED>

Following is how XML elements using these declarations might look.

<courseload>

  <tooltip>Course Load for Pat Jones</tooltip>

  <person
    xlink:href="students/patjones62.xml"
    xlink:label="student62"
    xlink:role="http://www.example.com/linkprops/student"
    xlink:title="Pat Jones" />

  <person
    xlink:href="profs/jaysmith7.xml"
    xlink:label="prof7"
    xlink:role="http://www.example.com/linkprops/professor"
    xlink:title="Dr. Jay Smith" />
  <!-- more remote resources for professors, teaching assistants, etc. -->

  <course
    xlink:href="courses/cs101.xml"
    xlink:label="CS-101"
    xlink:title="Computer Science 101" />
  <!-- more remote resources for courses, seminars, etc. -->

  <gpa xlink:label="PatJonesGPA">3.5</gpa>

  <go
    xlink:from="student62"
    xlink:to="PatJonesGPA"
    xlink:show="new"
    xlink:actuate="onRequest"
    xlink:title="Pat Jones's GPA" />
  <go
    xlink:from="CS-101"
    xlink:arcrole="http://www.example.com/linkprops/auditor"
    xlink:to="student62"
    xlink:show="replace"
    xlink:actuate="onRequest"
    xlink:title="Pat Jones, auditing the course" />
  <go
    xlink:from="student62"
    xlink:arcrole="http://www.example.com/linkprops/advisor"
    xlink:to="prof7"
    xlink:show="replace"
    xlink:actuate="onRequest"
    xlink:title="Dr. Jay Smith, advisor" />

</courseload>
5.1.1 Local Resources for an Extended Link (resource-Type Element)

An extended link indicates its participating local resources by means of special subelements that appear inside the extended link. An entire subelement, together with all of its contents, makes up a local resource.

The XLink element for local resources is any element with an attribute in the XLink namespace called type with a value of "resource".

The resource-type element may have any content; whatever content is present has no XLink-specified relationship to the link. It is possible for a resource-type element to have no content; in cases where it serves as a starting resource expected to be traversed on request, interactive XLink applications will typically generate some content in order to give the user a way to initiate the traversal. If a resource-type element has anything other than an extended-type element for a parent, the resource-type element has no XLink-specified meaning.

The resource-type element may have the semantic attributes role and title (see 5.5 Semantic Attributes (role, arcrole, and title)) and the traversal attribute label (see 5.7 Traversal Attributes (label, from, and to)). The semantic attributes supply information about the resource in generic terms, outside of the context of a particular arc that leads to it; the role attribute indicates a property of the resource, and the title attribute indicates a human-readable description of the resource. The label attribute provides a way for an arc-type element to refer to it in creating a traversal arc.

Example: Sample resource-Type Element Declarations and Instance

Following is a non-normative set of declarations for a resource-type element.

<!ELEMENT gpa ANY>
<!ATTLIST gpa
  xlink:type      (resource)      #FIXED "resource"
  xlink:role      CDATA           #FIXED "http://www.example.com/linkprops/gpa"
  xlink:title     CDATA           #IMPLIED
  xlink:label     NMTOKEN         #IMPLIED>

Following is how an XML element using these declarations might look.

  <gpa xlink:label="PatJonesGPA">3.5</gpa>
5.1.2 Remote Resources for an Extended Link (locator-Type Element)

An extended link indicates remote resources that participate in it by means of locator elements.

The XLink element for locators is any element with an attribute in the XLink namespace called type with a value of "locator".

The locator-type element may have any content. Other than title-type elements that are direct children (see 5.1.4 Titles for Extended Links, Locators, and Arcs (title-Type Element)), whatever content is present has no XLink-specified relationship to the link. If a locator-type element contains nested XLink elements, such contained elements have no XLink-specified relationship to the parent link. If a locator-type element has anything other than an extended-type element for a parent, the locator-type element has no XLink-specified meaning.

Constraint: Attributes on Locator Element

The locator-type element must have the locator attribute (see 5.4 Locator Attribute (href)). The locator attribute (href) must have a value supplied.

The locator-type element may have the semantic attributes role and title (see 5.5 Semantic Attributes (role, arcrole, and title)) and the traversal attribute label (see 5.7 Traversal Attributes (label, from, and to)). The locator attribute provides a URI reference that identifies a remote resource. The semantic attributes supply information about the resource in generic terms, outside of the context of a particular arc that leads to it; the role attribute indicates a property that the resource has, and the title attribute indicates a human-readable description of the resource. The label attribute provides a way for an arc-type element to refer to it in creating a traversal arc.

Note:

A locator-type element, by itself, does not constitute a link just because it has a locator (href) attribute; unlike a simple-type element, it does not create an XLink-governed association between itself and the referenced resource.

Example: Sample locator-Type Element Declarations and Instance

Following is a non-normative set of declarations for a locator-type element.

<!ELEMENT person EMPTY>
<!ATTLIST person
  xlink:type      (locator)       #FIXED "locator"
  xlink:href      CDATA           #REQUIRED
  xlink:role      CDATA           #IMPLIED
  xlink:title     CDATA           #IMPLIED
  xlink:label     NMTOKEN         #IMPLIED>

<!ELEMENT course EMPTY>
<!ATTLIST course
  xlink:type      (locator)       #FIXED "locator"
  xlink:href      CDATA           #REQUIRED
  xlink:role      CDATA           #FIXED "http://www.example.com/linkprops/course"
  xlink:title     CDATA           #IMPLIED
  xlink:label     NMTOKEN         #IMPLIED>

Following is how XML elements using these declarations might look.

<person
  xlink:href="students/patjones62.xml"
  xlink:label="student62"
  xlink:role="http://www.example.com/linkprops/student"
xlink:title="Pat Jones" />

<person
  xlink:href="profs/jaysmith7.xml"
  xlink:label="prof7"
  xlink:role="http://www.example.com/linkprops/professor"
  xlink:title="Dr. Jay Smith" />

<course
  xlink:href="courses/cs101.xml"
  xlink:label="CS-101"
  xlink:title="Computer Science 101" />
5.1.3 Traversal Rules for an Extended Link (arc-Type Element)

An extended link may indicate rules for traversing among its participating resources by means of a series of optional arc elements.

The XLink element for arcs is any element with an attribute in the XLink namespace called type with a value of "arc".

The arc-type element may have any content. Other than title-type elements that are direct children (see 5.1.4 Titles for Extended Links, Locators, and Arcs (title-Type Element)), whatever content is present has no XLink-specified relationship to the link. If an arc-type element has anything other than an extended-type element for its parent, the arc-type element has no XLink-specified meaning.

The arc-type element may have the traversal attributes from and to (see 5.7 Traversal Attributes (label, from, and to)), the behavior attributes show and actuate (see 5.6 Behavior Attributes (show and actuate) ) and the semantic attributes arcrole and title (see 5.5 Semantic Attributes (role, arcrole, and title)).

The traversal attributes define the desired traversal between pairs of resources that participate in the same link, where the resources are identified by their label attribute values. The from attribute defines resources from which traversal may be initiated, that is, starting resources, while the to attribute defines resources that may be traversed to, that is, ending resources. The behavior attributes specify the desired behavior for XLink applications to use when traversing to the ending resource.

The semantic attributes describe the meaning of the arc's ending resource relative to its starting resource. The arcrole attribute corresponds to the [RDF] notion of a property, where the role can be interpreted as stating that "starting-resource HAS arc-role ending-resource." This contextual role can differ from the meaning of an ending resource when taken outside the context of this particular arc. For example, a resource might generically represent a "person," but in the context of a particular arc it might have the role of "mother" and in the context of a different arc it might have the role of "daughter."

When the same resource serves as a starting resource in several arcs (whether in a single link or across many links), traversal-request behavior is unconstrained by this specification, but one possibility for interactive applications is a pop-up menu that lists the relevant arc or link titles.

The following diagram shows an extended link that associates five remote resources and provides rules for traversal among them. All of the arcs specified are third-party arcs; that is, the arcs go exclusively between remote resources. The nondirectional solid lines indicate, as before, that the link is associating the five resources; the new dotted arrows indicate the traversal rules that the link provides. Notice that some resources share the same label value.

This diagram reflects directional traversal arcs created by the following settings, where both As and Cs are allowed to initiate traversal to all Bs. Because some labels appear on several resources, each arc specification potentially creates several traversal arcs at once:

<go xlink:type="arc" xlink:from="A" xlink:to="B" />
<go xlink:type="arc" xlink:from="C" xlink:to="B" />

As another example, assume an extended link that contains five locators, two with label values of "parent" and three with label values of "child":

<extendedlink xlink:type="extended">
  <loc xlink:type="locator" xlink:href="..." xlink:label="parent" xlink:title="p1" />
  <loc xlink:type="locator" xlink:href="..." xlink:label="parent" xlink:title="p2" />
  <loc xlink:type="locator" xlink:href="..." xlink:label="child"  xlink:title="c1" />
  <loc xlink:type="locator" xlink:href="..." xlink:label="child"  xlink:title="c2" />
  <loc xlink:type="locator" xlink:href="..." xlink:label="child"  xlink:title="c3" />
... <!-- arc-type elements would go here -->
</extendedlink>

The following specifies traversal from parent resources to child resources, which includes all of p1-c1, p1-c2, p1-c3, p2-c1, p2-c2, and p2-c3:

<go xlink:type="arc" xlink:from="parent" xlink:to="child" />

If no value is supplied for a from or to attribute, the missing value is interpreted as standing for all the labels supplied on locator-type elements in that extended-type element. For example, the following specifies traversal from parents to children and also from children to children, which includes all of p1-c1, p1-c2, p1-c3, p2-c1, p2-c2, p2-c3, c1-c1, c1-c2, c1-c3, c2-c1, c2-c2, c2-c3, c3-c1, c3-c2, and c3-c3:

<go xlink:type="arc" xlink:to="child" />

In this case, note that the traversal rules include arcs from some resources to other resources with the same label (from children to other children), as well as from some resources to themselves (from a child to itself); this is not an error.

If no arc-type elements are provided in an extended link, then by extension the missing from and to values are interpreted as standing for all the labels in that link. This would be equivalent to the following traversal specification:

When more than one locator has the same label, the set of locators with the same label are to be understood as individual locators, rather than as referring to an aggregate resource; the traversal behavior of such a link might be the same as for a link where all the locators have different roles and the appropriate arcs are specified to produce the identical traversal pairs.

If the arc traversal rules for an extended link leave out any possible traversal pairs, XLink defines no traversal for these pairs. A higher-level application may perform non-XLink-directed traversals; for example, a link-checking process might traverse all available pairs of resources.

Constraint: No Arc Duplication

Each arc-type element must have a pair of from and to values that does not repeat the from and to values (respectively) for any other arc-type element in the same extended link; that is, each pair in a link must be unique.

Example: Sample arc-Type Element Declarations and Instance

Following is a non-normative set of declarations for an arc-type element.

<!ELEMENT go EMPTY>
<!ATTLIST go
  xlink:type      (arc)           #FIXED "arc"
  xlink:arcrole   CDATA           #IMPLIED
  xlink:title     CDATA           #IMPLIED
  xlink:show      (new
                  |replace
                  |embed
                  |other
                  |none)          #IMPLIED
  xlink:actuate   (onLoad
                  |onRequest
                  |other
                  |none)          #IMPLIED
  xlink:from      NMTOKEN         #IMPLIED
  xlink:to        NMTOKEN         #IMPLIED>

Following is how XML elements using these declarations might look.

<go
  xlink:from="student62"
  xlink:to="PatJonesGPA"
  xlink:show="new"
  xlink:actuate="onRequest"
  xlink:title="Pat Jones's GPA" />
<go
  xlink:from="CS-101"
  xlink:arcrole="http://www.example.com/linkprops/auditor"
  xlink:to="student62"
  xlink:show="replace"
  xlink:actuate="onRequest"
  xlink:title="Pat Jones, auditing the course" />
<go
  xlink:from="student62"
  xlink:arcrole="http://www.example.com/linkprops/advisor"
  xlink:to="prof7"
  xlink:show="replace"
  xlink:actuate="onRequest"
  xlink:title="Dr. Jay Smith, advisor" />
5.1.4 Titles for Extended Links, Locators, and Arcs (title-Type Element)

The extended-, locator-, and arc-type elements may have the title attribute (more about which see 5.5 Semantic Attributes (role, arcrole, and title)). However, they may also have a series of one or more title-type elements. Such elements are useful, for example, for cases where human-readable label information needs further element markup, or where multiple titles are necessary. One common motivation for using the title-type element is to account for internationalization and localization. For example, title markup might be necessary for bidirectional contexts or in East Asian languages, and multiple titles might be necessary for different natural-language versions of a title.

The XLink element for titles is any element with an attribute in the XLink namespace called type with a value of "title".

The title-type element may have any content. If a title-type element contains nested XLink elements, such contained elements have no XLink-specified relationship to the parent link containing the title. If a title-type element has anything other than an extended-, locator-, or arc-type element for a parent, the title-type element has no XLink-specified meaning.

Example: Sample title-Type Element Declarations and Instance

Following is a non-normative set of declarations for a title-type element. The element has been given the xml:lang attribute, which may be used in conjunction with server settings or other contextual information in determining which title to present.

<!ELEMENT advisorname (name)>
<!ATTLIST advisorname
  xlink:type      (title)         #FIXED "title"
  xml:lang        CDATA           #IMPLIED>

<!ELEMENT name (honorific?, given, family)>
<!-- Further subelement declarations for names -->

Following is how XML elements using these declarations might look.

<advisor xlink:href="profs/jaysmith7.xml" ...>
  <advisorname xml:lang="en">
    <name>
      <honorific>Dr.</honorific>
      <given>Jay</given>
      <family>Smith</family>
    </name>
  </advisorname>
</advisor>
5.1.5 Locating Linkbases (Special Arc Role)

For an XLink application to traverse from a starting resource to an ending resource, it needs to locate both the starting resource and the link. Locating the two pieces is not a problem in the case of outbound arcs because the starting resource is either the linking element itself or a child of the linking element. However, in the case of inbound and third-party arcs, the XLink application needs to be able to find both pieces somehow.

In the course load example, extended links can associate pairs of remote resources representing students and courses. In order for the system to load and present a "student resource" (such as a description and picture of the person) in a way that offers traversal to related information (for example, by allowing users to click on the student's name to traverse to information about the courses in which she is enrolled), it needs to locate and use the extended links that contain the association.

Linkbases are often used to make link management easier by gathering together a number of related linking elements. XLink provides a way to instruct XLink applications to access potentially relevant linkbases. The instruction takes the form of an arc specification (whether an explicit one in an extended link, or an implicit one in a simple link) that has the following value for its arcrole attribute:

http://www.w3.org/1999/xlink/properties/linkbase

Constraint: Linkbases Must Be XML

Any linkbase specified as the ending resource of an arc with this special value must be an XML document.

(XLink applications may also use any other means to locate and process additional linkbases.)

The handling of a linkbase arc is much like the handling of a normal arc, except that traversal entails loading the ending resource (the linkbase) to extract its links for later use, rather than to present it to a user or to perform some other processing. Its handling is also special in that XLink applications must suspend traversal of linkbase arcs at user option.

Specifically, on loading a linkbase arc, an XLink application should keep track of what the starting resource is. Whenever a document containing that starting resource is loaded and traversal of the linkbase arc is actuated, the application should access the linkbase and extract any extended links found inside it. In the case that the extracted resource is a portion of a complete XML document, such as a range or a string range, only those extended links completely contained in the extracted portion should be made available.

The timing of linkbase arc traversal depends on the value of the actuate attribute on the arc. For example, if the value is "onLoad", the linkbase is loaded and its links extracted as soon as the starting resource is loaded. Any show attribute value on a linkbase arc must be ignored, because traversal does not entail presentation in this case.

Linkbases may be chained by virtue of serving as the starting resource of yet another linkbase arc. The application interpreting an initial linkbase arc may choose to limit the number of steps processed in the chain.

An application should maintain a list of extended links retrieved as a result of processing a linkbase, and should not retrieve duplicate resources or links in the case where a cyclic dependency exists. To ease XLink processing, document creators may wish to define linkbase arcs near the beginning of a document.

Example: Annotating a Specification

Following is a non-normative set of declarations for an extended link that specializes in providing linkbase arcs:

<!ELEMENT basesloaded ((startrsrc|linkbase|load)*)>
<!ATTLIST basesloaded
  xlink:type      (extended)      #FIXED "extended">

<!ELEMENT startrsrc EMPTY>
<!ATTLIST startrsrc
  xlink:type      (locator)       #FIXED "locator"
  xlink:href      CDATA           #REQUIRED
  xlink:label     NMTOKEN         #IMPLIED>

<!ELEMENT linkbase EMPTY>
<!ATTLIST linkbase
  xlink:type      (locator)       #FIXED "locator"
  xlink:href      CDATA           #REQUIRED
  xlink:label     NMTOKEN         #IMPLIED>

<!ELEMENT load EMPTY>
<!ATTLIST load
  xlink:type      (arc)           #FIXED "arc"
  xlink:arcrole   CDATA           #FIXED "http://www.w3.org/1999/xlink/properties/linkbase"
  xlink:actuate   (onLoad
                  |onRequest
                  |other
                  |none)          #IMPLIED
  xlink:from      NMTOKEN         #IMPLIED
  xlink:to        NMTOKEN         #IMPLIED>

Following is how an XML element using these declarations might look. This would indicate that when a specification document is loaded, a linkbase full of annotations to it should automatically be loaded as well, possibly necessitating re-rendering of the entire specification document to reveal any regions within it that serve as starting resources in the links found in the linkbase.

<basesloaded>
  <startrsrc xlink:label="spec" xlink:href="spec.xml" />
  <linkbase xlink:label="linkbase" xlink:href="linkbase.xml" />
  <load xlink:from="spec" xlink:to="linkbase" actuate="onLoad" />
</basesloaded>

Following is how an XML element using these declarations might look if the linkbase loading were on request. This time, the starting resource consists of the words "Click here to reveal annotations." If the starting resource were the entire document as in the example above, a reasonable behavior for allowing a user to actuate traversal would be a confirmation dialog box.

<basesloaded>
  <startrsrc
    xlink:label="spec"
    xlink:href="spec.xml#string-range(//*,'Click here to reveal annotations.')" />
  <linkbase xlink:label="linkbase" xlink:href="linkbase.xml" />
  <load xlink:from="spec" xlink:to="linkbase" actuate="onRequest" />
</basesloaded>
5.2 Simple Links (simple-Type Element)

[Definition: A simple link is a link that associates exactly two resources, one local and one remote, with an arc going from the former to the latter. Thus, a simple link is always an outbound link.]

The purpose of a simple link is to be a convenient shorthand for the equivalent extended link. A single simple linking element combines the basic functions of an extended-type element, a locator-type element, an arc-type element, and a resource-type element.

The following diagram shows the characteristics of a simple link; it associates one local and one remote resource, and implicitly provides a single traversal arc from the local resource to the remote one. This could represent, for example, the name of a student appearing in text which, when clicked, leads to information about the student.

Example: Simple Link Functionality Done with an Extended Link

A simple link could be represented by an extended link in approximately the following way:

<studentlink xlink:type="extended">
  <resource
    xlink:type="resource"
    xlink:label="local">Pat Jones</resource>
  <locator
    xlink:type="locator"
    xlink:href="..."
    xlink:label="remote"
    xlink:role="..."
    xlink:title="..." />

  <go
    xlink:type="arc"
    xlink:from="local"
    xlink:to="remote"
    xlink:arcrole="..."
    xlink:show="..."
    xlink:actuate="..." />
</studentlink>

A simple link combines all the features above (except for the types and labels) into a single element. In cases where only this subset of features is required, the XLink simple linking element is available as an alternative to the extended linking element. The features missing from simple links are as follows:

The XLink element for simple links is any element with an attribute in the XLink namespace called type with a value of "simple". The simple equivalent of the above extended link would be as follows:

<studentlink xlink:href="...">Pat Jones</studentlink>

The simple-type element may have any content. The simple-type element itself, together with all of its content, is the local resource of the link, as if the element were a resource-type element. If a simple-type element contains nested XLink elements, such contained elements have no XLink-specified relationship to the parent link. It is possible for a simple-type element to have no content; in cases where the link is expected to be traversed on request, interactive XLink applications will typically generate some content in order to give the user a way to initiate the traversal.

The simple-type element effectively takes the locator attribute href and the semantic attributes role and title from the locator-type element, and the behavior attributes show and actuate and the single semantic attribute arcrole from the arc-type element.

It is not an error for a simple-type element to have no locator (href) attribute value. If a value is not provided, the link is simply untraversable. Such a link may still be useful, for example, to associate properties with the resource by means of XLink attributes.

Example: Sample simple-Type Element Declarations and Instance

Following is a non-normative set of declarations for a simple-type element.

<!ELEMENT studentlink ANY>
<!ATTLIST studentlink
  xlink:type      (simple)        #FIXED "simple"
  xlink:href      CDATA           #IMPLIED
  xlink:role      NMTOKEN         #FIXED "http://www.example.com/linkprops/student"
  xlink:arcrole   CDATA           #IMPLIED
  xlink:title     CDATA           #IMPLIED
  xlink:show      (new
                  |replace
                  |embed
                  |other
                  |none)          #IMPLIED
  xlink:actuate   (onLoad
                  |onRequest
                  |other
                  |none)          #IMPLIED>

Following is how an XML document might use these declarations.

..., and <studentlink xlink:href="students/patjones62.xml">Pat
Jones</studentlink> is popular around the student union.
5.3 XLink Element Type Attribute (type)

The attribute that identifies XLink element types is type.

Constraint: type Value

The value of the type attribute must be supplied. The value must be one of "simple", "extended", "locator", "arc", "resource", "title", or "none".

When the value of the type attribute is "none", the element has no XLink-specified meaning, and any XLink-related content or attributes have no XLink-specified relationship to the element.

Example: Sample type Attribute Declarations

Following is a non-normative attribute-list declaration for type on an element intended to be simple-type.

<!ATTLIST xlink:simple
  xlink:type      (simple)        #FIXED "simple"
  ...>

For an element that serves as an XLink element only on some occasions, one declaration might be as follows, where the document creator sets the value to "simple" in some circumstances and "none" in others. The use of "none" might be useful in helping XLink applications to avoid checking for the presence of an href value.

<!ATTLIST commandname
  xlink:type      (simple|none)   #REQUIRED
  xlink:href      CDATA           #IMPLIED>
5.4 Locator Attribute (href)

The attribute that supplies the data that allows an XLink application to find a remote resource (or resource fragment) is href. It may be used on simple-type elements, and must be used on locator-type elements.

The value of the href attribute must be a URI reference as defined in [IETF RFC 2396], or must result in a URI reference after the escaping procedure described below is applied. The procedure is applied when passing the URI reference to a URI resolver.

Some characters are disallowed in URI references, even if they are allowed in XML; the disallowed characters include all non-ASCII characters, plus the excluded characters listed in Section 2.4 of [IETF RFC 2396], except for the number sign (#) and percent sign (%) and the square bracket characters re-allowed in [IETF RFC 2732]. Disallowed characters must be escaped as follows:

  1. Each disallowed character is converted to UTF-8 [IETF RFC 2279] as one or more bytes.

  2. Any bytes corresponding to a disallowed character are escaped with the URI escaping mechanism (that is, converted to %HH, where HH is the hexadecimal notation of the byte value).

  3. The original character is replaced by the resulting character sequence.

Because it is impractical for any application to check that a value is a URI reference, this specification follows the lead of [IETF RFC 2396] in this matter and imposes no such conformance testing requirement on XLink applications.

If the URI reference is relative, its absolute version must be computed by the method of [XML Base] before use.

For locators into XML resources, the format of the fragment identifier (if any) used within the URI reference is specified by the XPointer specification [XPTR].

Example: Sample href Attribute Declarations

Following is a non-normative attribute-list declaration for href on an element intended to be simple-type.

<!ATTLIST simplelink
  xlink:href      CDATA           #REQUIRED
  ...>
5.5 Semantic Attributes (role, arcrole, and title)

The attributes that describe the meaning of resources within the context of a link are role, arcrole, and title. The role attribute may be used on extended-, simple-, locator-, and resource-type elements. The arcrole attribute may be used on arc- and simple-type elements. The title attribute may be used on all of these types of elements.

The value of the role or arcrole attribute must be a URI reference as defined in [IETF RFC 2396], except that if the URI scheme used is allowed to have absolute and relative forms, the URI portion must be absolute. The URI reference identifies some resource that describes the intended property. When no value is supplied, no particular role value is to be inferred. Disallowed URI reference characters in these attribute values must be specially encoded as described in 5.4 Locator Attribute (href).

The title attribute is used to describe the meaning of a link or resource in a human-readable fashion, along the same lines as the role or arcrole attribute. (However, see also 5.1.4 Titles for Extended Links, Locators, and Arcs (title-Type Element).) A value is optional; if a value is supplied, it should contain a string that describes the resource. The use of this information is highly dependent on the type of processing being done. It may be used, for example, to make titles available to applications used by visually impaired users, or to create a table of links, or to present help text that appears when a user lets a mouse pointer hover over a starting resource.

Example: Sample role and title Attribute Declarations

Following is a non-normative attribute-list declaration for role and title on an element intended to be simple-type.

<!ATTLIST simplelink
  ...
  xlink:role      CDATA           #IMPLIED
  xlink:title     CDATA           #IMPLIED
  ...>

Following is a non-normative attribute-list declaration for arcrole and title on an element intended to be arc-type.

<!ATTLIST go
  ...
  xlink:arcrole   CDATA           #IMPLIED
  xlink:title     CDATA           #IMPLIED
  ...>
5.6 Behavior Attributes (show and actuate)

The behavior attributes are show and actuate. They may be used on the simple- and arc-type elements. When used on a simple-type element, they signal behavior intentions for traversal to that link's single remote ending resource. When they are used on an arc-type element, they signal behavior intentions for traversal to whatever ending resources (local or remote) are specified by that arc.

The show and actuate attributes are not required. When they are used, conforming XLink applications should give them the treatment specified in this section. There is no hard requirement ("must") for this treatment because what makes sense for an interactive application, such as a browser, is unlikely to make sense for a noninteractive application, such as a robot. However, all applications should take into account the full implications of ignoring the specified behavior before choosing a different course.

Example: Sample show and actuate Attribute Declarations

Following is a non-normative attribute-list declaration for show and actuate on an element intended to be simple-type.

<!ATTLIST simplelink
  xlink:type      (simple)        #FIXED "simple"
  ...
  xlink:show      (new
                  |replace
                  |embed
                  |other
                  |none)          #IMPLIED
  xlink:actuate   (onLoad
                  |onRequest
                  |other
                  |none)          #IMPLIED
  ...>

Applications encountering arc-type elements in linkbase lists must treat the behavior attributes as if they were specified as show="none" and actuate="onLoad", even if other values were specified.

5.6.1 show Attribute

The show attribute is used to communicate the desired presentation of the ending resource on traversal from the starting resource.

Constraint: show Value

If a value is supplied for a show attribute, it must be one of the values "new", "replace", "embed", "other", and "none".

Conforming XLink applications should apply the following treatment for show values:

"new"

An application traversing to the ending resource should load it in a new window, frame, pane, or other relevant presentation context. This is similar to the effect achieved by the following HTML fragment:

<A HREF="http://www.example.org" target="_blank">...</A>
"replace"

An application traversing to the ending resource should load the resource in the same window, frame, pane, or other relevant presentation context in which the starting resource was loaded. This is similar to the effect achieved by the following HTML fragment:

<A HREF="http://www.example.org" target="_self">...</A>
"embed"

An application traversing to the ending resource should load its presentation in place of the presentation of the starting resource. This is similar to the effect achieved by the following HTML fragment:

<IMG SRC="http://www.example.org/smiley.gif" ALT=":-)">

The presentation of the starting resource typically does not consist of an entire document; it would be the entire document only when the root element of the document is a simple link. Thus, embedding typically has an effect distinct from replacing.

Just as for the HTML IMG element, embedding affects only the presentation of the relevant resources; it does not dictate permanent transformation of the starting resource. Put another way, when an embedded XLink is processed, the result of styling the ending resource of the link is merged into the result of styling the resource into which it is embedded. By contrast, when a construct such as an XInclude element [XInclude] is resolved, the original XML is actually transformed to include the referenced content.

The behavior of conforming XLink applications when embedding XML-based ([IETF RFC 2376] or [IETF I-D XMT]) ending resources is not defined in this version of this specification.

The presentation of embedded resources is application dependent.

"other"

The behavior of an application traversing to the ending resource is unconstrained by this specification. The application should look for other markup present in the link to determine the appropriate behavior.

"none"

The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior.

If the starting or ending resource consists of multiple non-contiguous locations, such as a series of string ranges in various locations in the resource, then application behavior is unconstrained. (See [XPTR] for more information about selecting portions of XML documents.)

Note:

Some possibilities for application behavior with non-contiguous ending resources might include highlighting of each location, producing a dialog box that allows the reader to choose among the locations as if there were separate arcs leading to each one, concatenating the content of all the locations for presentation, and so on. Application behavior with non-contiguous starting resources might include concatenation and rendering as a single unit, or creating one arc emanating from each contiguous portion.

5.6.2 actuate Attribute

The actuate attribute is used to communicate the desired timing of traversal from the starting resource to the ending resource..

Constraint: actuate Value

If a value is supplied for an actuate attribute, it must be be one of the values "onLoad", "onRequest", "other", and "none".

Conforming XLink applications should apply the following treatment for actuate values:

"onLoad"

An application should traverse to the ending resource immediately on loading the starting resource. This is similar to the effect typically achieved by the following HTML fragment, when the user agent is configured to display images:

<IMG SRC="http://www.example.org/smiley.gif" ALT=":-)">

If a single resource contains multiple arcs whose behavior is set to show="replace" actuate="onLoad", application behavior is unconstrained by XLink.

"onRequest"

An application should traverse from the starting resource to the ending resource only on a post-loading event triggered for the purpose of traversal. An example of such an event might be when a user clicks on the presentation of the starting resource, or a software module finishes a countdown that precedes a redirect.

"other"

The behavior of an application traversing to the ending resource is unconstrained by this specification. The application should look for other markup present in the link to determine the appropriate behavior.

"none"

The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior.

5.7 Traversal Attributes (label, from, and to)

The traversal attributes are label, from, and to. The label attribute may be used on the resource- and locator-type elements. The from and to attributes may be used on the arc-type element.

Constraint: label, from, and to Values

The value of a label, from, or to attribute must be an NCName. If a value is supplied for a from or to attribute, it must correspond to the same value for some label attribute on a locator- or resource-type element that appears as a direct child inside the same extended-type element as does the arc-type element.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.3