This contains a reimplementation of ResolveConceptualLinksComponent that allows the use of inner text from the <link> tag, allows the use of anchor references (#anchorName) in the link target, and allows the use of an optional linkText element in the companion file to specify the link text.

Namespace: SandcastleBuilder.Components
Assembly: SandcastleBuilder.Components (in SandcastleBuilder.Components.dll) Version: 1.9.3.0

Syntax

C#
public class ResolveConceptualLinksComponent : BuildComponent
Visual Basic
Public Class ResolveConceptualLinksComponent _
	Inherits BuildComponent

Remarks

This version contains the following improvements and fixes:
  • Broken links use the None style rather than the Index style so that it is apparant that they do not work.
  • The inner text from the conceptual link is used if specified.
  • On broken links, when the showBrokenLinkText option is true and there is no inner text, the target value is displayed.
  • Conceptual link targets can include an optional anchor name from within the target such as "#Name" (see examples below).
  • Unnecessary whitespace is removed from the link text.
  • If the companion file contains a <linkText> element and no inner text is specified, its value will be used for the link text rather than the title. This allows for a shorter title or description to use as the default link text.

Examples

On links without inner text, if the companion file contains a linkText element, that text will be used. If not, the title is used.
CopyExample Links
<!-- Link with inner text -->
             <link xlink:href="3ab3113f-984b-19ac-7812-990192aca5b0">Click Here</link>
             <!-- Link with anchor reference -->
             <link xlink:href="3ab3113f-984b-19ac-7812-990192aca5b1#SubTopic" />
             <!-- Link with inner text and an anchor reference -->
             <link xlink:href="3ab3113f-984b-19ac-7812-990192aca5b1#PropA">PropertyA</link>
CopyExample configuration
<!-- Resolve conceptual links -->
<component type="SandcastleBuilder.Components.ResolveConceptualLinksComponent"
  assembly="C:\SandcastleBuilder\SandcastleBuilder.Components.dll"
  showBrokenLinkText="true">
    <targets base="xmlComp" type="local" />
</component>

Inheritance Hierarchy

System..::..Object
  Microsoft.Ddue.Tools..::..BuildComponent
    SandcastleBuilder.Components..::..ResolveConceptualLinksComponent

See Also