Thank you so much for fast response and the very clear explanation. And thanks 
also for the final note about XSL Utility—which I do use in addition to ditac. 
This is all very helpful. 

Dan McIntosh

Sent from my iPhone

> On May 30, 2025, at 2:39 AM, Hussein Shafie <[email protected]> wrote:
> 
> Dan wrote:
>> Is there a way to change or delete the default headers that appear in 
>> topics: For example, I’d like to edit or remove the word “Procedure” that 
>> appears below the title when I transform a Task (General) topic. Similarly, 
>> I’d like to change or remove the phrase “Table of Contents” that appears 
>> when converting a Map topic to PDF/HTML.
>> I’ve been trying figure this out on my own for several days before inquiring 
>> with you how to accomplish this. I've looked through the ditac_toc.xsl and 
>> related files, but haven’t found where these phrases come from or how to 
>> change/remove them. I’ve already created a customization of the default 
>> fo.xsl stylesheet with some of my own attribute sets. Perhaps there are some 
>> stylesheet parameters I can apply to that to change or remove these phrases?
> 
> --> Messages like “Procedure”, “Table of Contents” are defined in 
> xsl/common/messages/en.xml. Excerpts:
> 
> ---
>  ...
>  <message name="context">About this task</message>
>  <message name="steps">Procedure</message>
>  ...
>  <message name="toc">Table of Contents</message>
>  <message name="figurelist">List of Figures</message>
>  ...
> ---
> 
> If you want to change some messages, you'll have to edit this file.
> 
> 
> 
> --> Suppress some titles:
> 
> ** TOC
> 
> PDF: xsl/fo/ditac_toc.xsl:
> ---
>  <xsl:template match="ditac:toc">
>    <fo:block xsl:use-attribute-sets="toc-container" id="{$tocId}">
>      <fo:block xsl:use-attribute-sets="toc-title">
>        <xsl:call-template name="outlineLevel1"/>
> 
>        <xsl:variable name="title">
>          <xsl:call-template name="localize">
>            <xsl:with-param name="message" select="'toc'"/>
>          </xsl:call-template>
>        </xsl:variable>
> 
>        <fo:marker marker-class-name="topic-title">
>          <xsl:value-of select="$title"/>
>        </fo:marker>
> 
>        <xsl:value-of select="$title"/>
>      </fo:block>
>  ...
> ---
> 
> HTML: xsl/xhtml/ditac_toc.xsl:
> ---
>  <xsl:template match="ditac:toc">
>    <xsl:element name="{$navQName}">
>      <xsl:attribute name="class" select="'toc-container'"/>
>      <xsl:attribute name="id" select="$tocId"/>
> 
>      <h1 class="toc-title">
>        <xsl:call-template name="localize">
>          <xsl:with-param name="message" select="'toc'"/>
>        </xsl:call-template>
>      </h1>
>  ...
> ---
> 
> ** Procedure
> 
> PDF: xsl/fo/task.xsl:
> ---
>  <xsl:template match="*[contains(@class,' task/steps ')]">
>    <xsl:call-template name="stepsContents"/>
>  </xsl:template>
> 
>  <xsl:template name="stepsContents">
>    <xsl:param name="addTitle" select="'yes'"/>
> 
>    <fo:block xsl:use-attribute-sets="steps">
>      <xsl:call-template name="commonAttributes"/>
> 
>      <xsl:if test="$addTitle eq 'yes'">
>        <fo:block xsl:use-attribute-sets="steps-title">
>          <xsl:call-template name="localize">
>            <xsl:with-param name="message" select="'steps'"/>
>          </xsl:call-template>
>        </fo:block>
>      </xsl:if>
>  ...
> ---
> See also <xsl:template name="stepsInformalContents">
> 
> HTML: xsl/xhtml/task.xsl:
> ---
>  <xsl:template match="*[contains(@class,' task/steps ')]">
>    <xsl:call-template name="stepsContents"/>
>  </xsl:template>
> 
>  <xsl:template name="stepsContents">
>    <xsl:param name="sectionTitleQName" select="'h3'"/>
> 
>    <xsl:element name="{$sectionQName}">
>      <xsl:call-template name="commonAttributes"/>
> 
>      <xsl:if test="$sectionTitleQName ne ''">
>        <xsl:element name="{$sectionTitleQName}">
>          <xsl:attribute name="class" select="'steps-title'"/>
> 
>          <xsl:call-template name="localize">
>            <xsl:with-param name="message" select="'steps'"/>
>          </xsl:call-template>
>        </xsl:element>
>      </xsl:if>
>  ...
> ---
> See also <xsl:template name="stepsInformalContents">
> 
> A simple way to remove these titles is to define attribute-sets:
> 
> toc-title
> steps-title
> steps-informal-title
> 
> and CSS classes:
> 
> toc-title
> steps-title
> steps-informal-title
> 
> in order to make these titles invisible. Attribute-set example:
> ---
>  <xsl:attribute-set name="steps-informal-title">
>    <xsl:attribute name="visibility">hidden</xsl:attribute>
>  </xsl:attribute-set>
> 
>  <xsl:attribute-set name="steps-title">
>    <xsl:attribute name="visibility">hidden</xsl:attribute>
>  </xsl:attribute-set>
> 
>  <xsl:attribute-set name="toc-title">
>    <xsl:attribute name="visibility">hidden</xsl:attribute>
>  </xsl:attribute-set>
> ---
> Note that visibility=hidden is not supported by all XSL-FO processors. 
> Fortunately it is supported by Apache FOP (PDF output).
> 
> 
> 
> ---
> PS: If you are using XMLmind XSL Utility and not directly ditac, the xsl/ 
> directory is found in xslutil_install_dir/addon/config/dita/


--
XMLmind DITA Converter Support List
[email protected]
http://www.xmlmind.com/mailman/listinfo/ditac-support

Reply via email to