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