The <linklist> element defines an author-arranged group of links. When rendering the links, processors SHOULD preserve the order of links specified within a <linklist> element.

There are two ways to organize related information links within a topic. First, you can add them all in no particular order, either by using <linkpool> elements or by placing <link> elements directly within <related-links>, in which case the rendering is implementation dependent. For example, a tool could sort all links based on the role or type; a tool could also move or remove links to fit the context (for example, moving a prerequisite link to the top of a browser window, or removing links to the next topic if it is rendered on the same page in a PDF). These behaviors are examples only and are not required.

Second, links can be grouped using one or more <linklist> elements. When you group them using <linklist>, then the order of the links within each <linklist> is preserved when rendered. You can also use a combination of the two approaches, which will allow some links to be automatically sorted while the others are left as-is.

Attributes set on the <linkpool> and <linklist> elements are inherited by their descendants. For example, if you have a <linklist> element that contains all external links, you can set scope="external" on that outer <linklist> element and leave it off the <link> elements within that <linklist>.

Content models

See appendix for information about this element in OASIS document type shells.


- topic/linklist


  <linklist scope="external">
    <title>Example links</title>
    <desc>These links will always appear in this order.</desc>
    <link href="http://www.example.org">
      <linktext>Example 1</linktext>
    <link href="http://www.example.com">
      <linktext>Example 2</linktext>


The following attributes are available on this element: Universal attribute group, @outputclass, @collection-type, The @role and @otherrole attributes, @spectitle, @mapkeyref, and the attributes defined below. This element also uses @format, @scope, and @type from Link relationship attribute group.

Specifies whether or not duplicate links will be filtered out of a group of links. Allowable values are:
Allow duplicate links
Filter out duplicate links
See Using the -dita-use-conref-target value for more information.

Conceptually, two links are duplicates if they address the same resource using the same properties, such as link text and link role. The details of determining duplicate links is processor specific.

The suggested processing default is "yes" within <linklist> elements and "no" for other links.

See @collection-type for a full definition and list of supported values.

In the initial DTD implementation of DITA, this attribute was defined with an additional value of "tree"; that value was only defined for @collection-type on the <linkpool> and <linklist> elements. The "tree" value is not allowed on @collection-type when used in maps, and is not defined in the XSD or RELAX NG versions of <linkpool> or <linklist>. The extra value in the DTD implementation is retained for backwards compatibility, but is deprecated.

Was this helpful?