<linkpool>

The <linkpool> element defines a group of links that have common characteristics, such as type or audience or source. When links are in <related-links> or <linkpool> elements, the organization of links on final output is determined by the output process, not by the order that the links actually occur in the DITA topic.

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.

Inheritance

- topic/linkpool

Example

<related-links>
  <linkpool type="concept">
    <link href="czez.dita#czez" role="next"></link>
    <link href="czunder.dita"></link>
    <link format="html" href="czover.htm#sqljsupp" role="parent">
      <linktext>Overview of the CZ</linktext>
    </link>
    <link format="html" href="czesqlj.htm#sqljemb">
      <linktext>Working with CZESQLJ</linktext>
      <desc>When you work with CZESQLJ, you need to know...</desc>
    </link>
  </linkpool>
</related-links>

Attributes

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

@duplicates
Specifies whether or not duplicate links will be filtered out of a group of links. Allowable values are:
yes
Allow duplicate links
no
Filter out duplicate links
-dita-use-conref-target
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.

@collection-type
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.