This build component is used to execute one or more sets of build components each based on a specific help file output format.

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

Syntax

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

Remarks

One or more components can be executed based on a specified list of one or more help file output formats. Only the components related to the requested set of format types will be executed.

Examples

CopyExample Configuration
        <!-- Multi-format output component.  This must wrap the component set
             unique to each output file format. -->
        <component type="SandcastleBuilder.Components.MultiFormatOutputComponent"
          assembly="{@SHFBFolder}SandcastleBuilder.Components.dll"
          id="Multi-format Output Component">
          <!-- This defines the formats to generate -->
          <build formats="{@HelpFileFormat}" />

          <!-- This defines the set of components for HTML Help 1 files -->
          <helpOutput format="HtmlHelp1">
            <!-- Resolve shared content -->
            <component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll">
                <content file="{@PresentationPath}content\{@LanguageFolder}shared_content.xml" />
                <content file="{@PresentationPath}content\{@LanguageFolder}reference_content.xml" />
                <content file="{@SandcastlePath}Presentation\shared\content\{@LanguageFolder}syntax_content.xml" />
                <content file="{@PresentationPath}content\{@LanguageFolder}feedback_content.xml" />
                <!-- These must be last in order to override other elements! -->
                <content file="SharedBuilderContent.xml" />
                <content file="PresentationStyleBuilderContent.xml" />
{@ResourceItemFiles}
            </component>

            <!-- Resolve reference links -->
            <component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2"
              assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll"
              locale="{@Locale}" linkTarget="{@SdkLinkTarget}">
                <targets base="{@SandcastlePath}Data\Reflection" recurse="true" files="*.xml" type="{@HtmlSdkLinkType}" />
                <targets files="reflection.xml" type="Local" />
            </component>

            <!-- Save the result -->
            <component type="Microsoft.Ddue.Tools.SaveComponent" assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll">
                <save base="Output\HtmlHelp1\html" path="concat(/html/head/meta[@name='file']/@content,'.htm')" indent="{@IndentHtml}"
                  omit-xml-declaration="true" add-xhtml-namespace="false" />
            </component>
          </helpOutput>

          <!-- This defines the set of components for MS Help 2 files -->
          <helpOutput format="MSHelp2">
            <!-- Resolve shared content -->
            <component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll">
                <content file="{@PresentationPath}content\{@LanguageFolder}shared_content.xml" />
                <content file="{@PresentationPath}content\{@LanguageFolder}reference_content.xml" />
                <content file="{@SandcastlePath}Presentation\shared\content\{@LanguageFolder}syntax_content.xml" />
                <content file="{@PresentationPath}content\{@LanguageFolder}feedback_content.xml" />
                <!-- These must be last in order to override other elements! -->
                <content file="SharedBuilderContent.xml" />
                <content file="PresentationStyleBuilderContent.xml" />
{@ResourceItemFiles}
            </component>

            <!-- Insert additional MS Help 2 attributes -->
            <component id="MS Help 2 Attributes"
              type="SandcastleBuilder.Components.MSHelpAttrComponent"
              assembly="{@SHFBFolder}SandcastleBuilder.Components.dll">
{@HelpAttributes}
            </component>

            <!-- Resolve reference links -->
            <component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2"
              assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll"
              locale="{@Locale}" linkTarget="{@SdkLinkTarget}">
                <targets base="{@SandcastlePath}Data\Reflection" recurse="true" files="*.xml" type="{@MSHelp2SdkLinkType}" />
                <targets files="reflection.xml" type="Index" />
            </component>

            <!-- Save the result -->
            <component type="Microsoft.Ddue.Tools.SaveComponent" assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll">
                <save base="Output\MSHelp2\html" path="concat(/html/head/meta[@name='file']/@content,'.htm')" indent="{@IndentHtml}"
                  omit-xml-declaration="true" add-xhtml-namespace="false" />
            </component>
          </helpOutput>

          <!-- This defines the set of components for MS Help Viewer files -->
          <helpOutput format="MSHelpViewer">
            <!-- Resolve shared content -->
            <component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll">
                <content file="{@PresentationPath}content\{@LanguageFolder}shared_content_mshc.xml" />
                <content file="{@PresentationPath}content\{@LanguageFolder}reference_content.xml" />
                <content file="{@SandcastlePath}Presentation\shared\content\{@LanguageFolder}syntax_content.xml" />
                <content file="{@PresentationPath}content\{@LanguageFolder}feedback_content.xml" />
                <!-- These must be last in order to override other elements! -->
                <content file="SharedBuilderContent.xml" />
                <content file="PresentationStyleBuilderContent.xml" />
{@ResourceItemFiles}
            </component>

            <!-- Resolve reference links -->
            <component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2"
              assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll"
              locale="{@Locale}" linkTarget="{@SdkLinkTarget}">
                <targets base="{@SandcastlePath}Data\Reflection" recurse="true" files="*.xml" type="{@MSHelpViewerSdkLinkType}" />
                <targets files="reflection.xml" type="Id" />
            </component>

            <!-- Add MS Help Viewer metadata -->
            <component type="SandcastleBuilder.Components.MSHCComponent"
              assembly="{@SHFBFolder}SandcastleBuilder.Components.dll">
              <data self-branded="{@SelfBranded}" topic-version="{@TopicVersion}" toc-file="toc.xml"
                toc-parent="{@ApiTocParentId}" toc-parent-version="{@TocParentVersion}" locale="{@Locale}" />
            </component>

            <!-- Save the result -->
            <component type="Microsoft.Ddue.Tools.SaveComponent" assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll">
                <save base="Output\MSHelpViewer\html" path="concat(/html/head/meta[@name='file']/@content,'.htm')" indent="{@IndentHtml}"
                  omit-xml-declaration="false" add-xhtml-namespace="true" />
            </component>
          </helpOutput>

          <!-- This defines the set of components for websites -->
          <helpOutput format="Website">
            <!-- Resolve shared content -->
            <component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll">
                <content file="{@PresentationPath}content\{@LanguageFolder}shared_content.xml" />
                <content file="{@PresentationPath}content\{@LanguageFolder}reference_content.xml" />
                <content file="{@SandcastlePath}Presentation\shared\content\{@LanguageFolder}syntax_content.xml" />
                <content file="{@PresentationPath}content\{@LanguageFolder}feedback_content.xml" />
                <!-- These must be last in order to override other elements! -->
                <content file="SharedBuilderContent.xml" />
                <content file="PresentationStyleBuilderContent.xml" />
{@ResourceItemFiles}
            </component>

            <!-- Resolve reference links -->
            <component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2"
              assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll"
              locale="{@Locale}" linkTarget="{@SdkLinkTarget}">
                <targets base="{@SandcastlePath}Data\Reflection" recurse="true" files="*.xml" type="{@WebsiteSdkLinkType}" />
                <targets files="reflection.xml" type="Local" />
            </component>

            <!-- Save the result -->
            <component type="Microsoft.Ddue.Tools.SaveComponent" assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll">
                <save base="Output\Website\html" path="concat(/html/head/meta[@name='file']/@content,'.htm')" indent="{@IndentHtml}"
                  omit-xml-declaration="true" add-xhtml-namespace="false" />
            </component>
          </helpOutput>
        </component>

Inheritance Hierarchy

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

See Also