Showing:

Documentation
Parameters
Used by
References
Imported from
Source
Stylesheet refdisplay.xsl
Documentation

Description

 This file is part of the DITA Open Toolkit project hosted on 
     Sourceforge.net. See the accompanying license.txt file for 
     applicable licenses.
 (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved. 
Imported from
Template *[contains(@class,' reference/prophead ')]topic.reference.prophead
Documentation

Description

 == REFERENCE UNIQUE SUBSTRUCTURES == 
 Process the header row in a properties table 
Namespace No namespace
Match *[contains(@class,' reference/prophead ')]
Mode #default
References
Parameters
QName Namespace
width-multiplier No namespace
Import precedence 8
Source
<xsl:template match="*[contains(@class,' reference/prophead ')]" name="topic.reference.prophead">
  <xsl:param name="width-multiplier"/>
  <tr>
    <xsl:call-template name="setid"/>
    <xsl:call-template name="commonattributes"/>
    <xsl:value-of select="$newline"/>
    <!-- For each of the 3 entry types: If the entry is in this row, apply-templates.
          Otherwise, if it is ever in this table, create empty entry, and add ID for accessibility. -->
    <xsl:choose>
      <!-- Process <proptype> -->
      <xsl:when test="*[contains(@class,' reference/proptypehd ')]">
        <xsl:apply-templates select="*[contains(@class,' reference/proptypehd ')]">
          <xsl:with-param name="width-multiplier">
            <xsl:value-of select="$width-multiplier"/>
          </xsl:with-param>
        </xsl:apply-templates>
      </xsl:when>
      <xsl:when test="following-sibling::*/*[contains(@class,' reference/proptype ')]">
        <th valign="bottom">
          <xsl:attribute name="id">
            <xsl:value-of select="generate-id(parent::*)"/>-type</xsl:attribute>
          <xsl:call-template name="th-align"/>
          <xsl:call-template name="getString">
            <xsl:with-param name="stringName" select="'Type'"/>
          </xsl:call-template>
        </th>
        <xsl:value-of select="$newline"/>
      </xsl:when>
    </xsl:choose>
    <xsl:choose>
      <!-- Process <propvalue> -->
      <xsl:when test="*[contains(@class,' reference/propvaluehd ')]">
        <xsl:apply-templates select="*[contains(@class,' reference/propvaluehd ')]">
          <xsl:with-param name="width-multiplier">
            <xsl:value-of select="$width-multiplier"/>
          </xsl:with-param>
        </xsl:apply-templates>
      </xsl:when>
      <xsl:when test="following-sibling::*/*[contains(@class,' reference/propvalue ')]">
        <th valign="bottom">
          <xsl:attribute name="id">
            <xsl:value-of select="generate-id(parent::*)"/>-value</xsl:attribute>
          <xsl:call-template name="th-align"/>
          <xsl:call-template name="getString">
            <xsl:with-param name="stringName" select="'Value'"/>
          </xsl:call-template>
        </th>
        <xsl:value-of select="$newline"/>
      </xsl:when>
    </xsl:choose>
    <xsl:choose>
      <!-- Process <propdesc> -->
      <xsl:when test="*[contains(@class,' reference/propdeschd ')]">
        <xsl:apply-templates select="*[contains(@class,' reference/propdeschd ')]">
          <xsl:with-param name="width-multiplier">
            <xsl:value-of select="$width-multiplier"/>
          </xsl:with-param>
        </xsl:apply-templates>
      </xsl:when>
      <xsl:when test="following-sibling::*/*[contains(@class,' reference/propdesc ')]">
        <th valign="bottom">
          <xsl:attribute name="id">
            <xsl:value-of select="generate-id(parent::*)"/>-desc</xsl:attribute>
          <xsl:call-template name="th-align"/>
          <xsl:call-template name="getString">
            <xsl:with-param name="stringName" select="'Description'"/>
          </xsl:call-template>
        </th>
        <xsl:value-of select="$newline"/>
      </xsl:when>
    </xsl:choose>
  </tr>
</xsl:template>
Template addPropertiesHeadersAttribute
Documentation

Description

 Add the headers attribute to a cell inside the properties table. This may be called from either
     a <property> row or from a cell inside the row. 
Namespace No namespace
Used by
Parameters
QName Namespace
classVal No namespace
elementType No namespace
Import precedence 8
Source
<xsl:template name="addPropertiesHeadersAttribute">
  <xsl:param name="classVal"/>
  <xsl:param name="elementType"/>
  <xsl:attribute name="headers">
    <xsl:choose>
      <!-- First choice: if there is a matching cell inside a user-specified header, and it has an ID -->
      <xsl:when test="ancestor::*[contains(@class,' reference/properties ')]/*[1][contains(@class,' reference/prophead ')]/*[contains(@class,$classVal)]/@id">
        <xsl:value-of select="ancestor::*[contains(@class,' reference/properties ')]/*[1][contains(@class,' reference/prophead ')]/*[contains(@class,$classVal)]/@id"/>
      </xsl:when>
      <!-- Second choice: if there is a matching cell inside a user-specified header, use its generated ID -->
      <xsl:when test="ancestor::*[contains(@class,' reference/properties ')]/*[1][contains(@class,' reference/prophead ')]/*[contains(@class,$classVal)]">
        <xsl:value-of select="generate-id(ancestor::*[contains(@class,' reference/properties ')]/*[1][contains(@class,' reference/prophead ')]/*[contains(@class,$classVal)])"/>
      </xsl:when>
      <!-- Third choice: no user-specified header for this column. ID is based on the table's generated ID. -->
      <xsl:otherwise>
        <xsl:value-of select="generate-id(ancestor::*[contains(@class,' reference/properties ')])"/>-
        <xsl:value-of select="$elementType"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:attribute>
</xsl:template>
Template *[contains(@class,' reference/property ')]topic.reference.property
Documentation

Description

 Process a standard row in the properties table. Apply-templates on the entries one at a time;
     if one is missing which should be present, create an empty cell. 
Namespace No namespace
Match *[contains(@class,' reference/property ')]
Mode #default
References
Parameters
QName Namespace
width-multiplier No namespace
Import precedence 8
Source
<xsl:template match="*[contains(@class,' reference/property ')]" name="topic.reference.property">
  <xsl:param name="width-multiplier"/>
  <!-- If there was no header, then this is the first child of properties; create default headers -->
  <xsl:if test=".=../*[1]">
    <tr>
      <xsl:value-of select="$newline"/>
      <xsl:if test="../*/*[contains(@class,' reference/proptype ')]">
        <th id="{generate-id(parent::*)}-type" valign="bottom">
          <xsl:call-template name="th-align"/>
          <xsl:call-template name="getString">
            <xsl:with-param name="stringName" select="'Type'"/>
          </xsl:call-template>
        </th>
        <xsl:value-of select="$newline"/>
      </xsl:if>
      <xsl:if test="../*/*[contains(@class,' reference/propvalue ')]">
        <th id="{generate-id(parent::*)}-value" valign="bottom">
          <xsl:call-template name="th-align"/>
          <xsl:call-template name="getString">
            <xsl:with-param name="stringName" select="'Value'"/>
          </xsl:call-template>
        </th>
        <xsl:value-of select="$newline"/>
      </xsl:if>
      <xsl:if test="../*/*[contains(@class,' reference/propdesc ')]">
        <th id="{generate-id(parent::*)}-desc" valign="bottom">
          <xsl:call-template name="th-align"/>
          <xsl:call-template name="getString">
            <xsl:with-param name="stringName" select="'Description'"/>
          </xsl:call-template>
        </th>
        <xsl:value-of select="$newline"/>
      </xsl:if>
    </tr>
    <xsl:value-of select="$newline"/>
  </xsl:if>
  <tr>
    <xsl:call-template name="setid"/>
    <xsl:call-template name="commonattributes"/>
    <xsl:value-of select="$newline"/>
    <!-- For each of the 3 entry types:
          - If it is in this row, apply
          - Otherwise, if it is in the table at all, create empty entry -->
    <xsl:choose>
      <!-- Process or create proptype -->
      <xsl:when test="*[contains(@class,' reference/proptype ')]">
        <xsl:apply-templates select="*[contains(@class,' reference/proptype ')]">
          <xsl:with-param name="width-multiplier">
            <xsl:value-of select="$width-multiplier"/>
          </xsl:with-param>
        </xsl:apply-templates>
      </xsl:when>
      <xsl:when test="../*/*[contains(@class,' reference/proptype ')] | ../*[1]/*[contains(@class,' reference/proptypehd ')]">
        <td>
          <!-- Create an empty cell. Add accessiblity attribute. -->
          <xsl:call-template name="addPropertiesHeadersAttribute">
            <xsl:with-param name="classVal"> reference/proptypehd </xsl:with-param>
            <xsl:with-param name="elementType">type</xsl:with-param>
          </xsl:call-template>
          <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
        </td>
        <xsl:value-of select="$newline"/>
      </xsl:when>
    </xsl:choose>
    <xsl:choose>
      <!-- Process or create propvalue -->
      <xsl:when test="*[contains(@class,' reference/propvalue ')]">
        <xsl:apply-templates select="*[contains(@class,' reference/propvalue ')]">
          <xsl:with-param name="width-multiplier">
            <xsl:value-of select="$width-multiplier"/>
          </xsl:with-param>
        </xsl:apply-templates>
      </xsl:when>
      <xsl:when test="../*/*[contains(@class,' reference/propvalue ')] | ../*[1]/*[contains(@class,' reference/propvaluehd ')]">
        <td>
          <!-- Create an empty cell. Add accessiblity attribute. -->
          <xsl:call-template name="addPropertiesHeadersAttribute">
            <xsl:with-param name="classVal"> reference/propvaluehd </xsl:with-param>
            <xsl:with-param name="elementType">value</xsl:with-param>
          </xsl:call-template>
          <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
        </td>
        <xsl:value-of select="$newline"/>
      </xsl:when>
    </xsl:choose>
    <xsl:choose>
      <!-- Process or create propdesc -->
      <xsl:when test="*[contains(@class,' reference/propdesc ')]">
        <xsl:apply-templates select="*[contains(@class,' reference/propdesc ')]">
          <xsl:with-param name="width-multiplier">
            <xsl:value-of select="$width-multiplier"/>
          </xsl:with-param>
        </xsl:apply-templates>
      </xsl:when>
      <xsl:when test="../*/*[contains(@class,' reference/propdesc ')] | ../*[1]/*[contains(@class,' reference/propdeschd ')]">
        <td>
          <!-- Create an empty cell. Add accessiblity attribute. -->
          <xsl:call-template name="addPropertiesHeadersAttribute">
            <xsl:with-param name="classVal"> reference/propdeschd </xsl:with-param>
            <xsl:with-param name="elementType">desc</xsl:with-param>
          </xsl:call-template>
          <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
        </td>
        <xsl:value-of select="$newline"/>
      </xsl:when>
    </xsl:choose>
  </tr>
  <xsl:value-of select="$newline"/>
</xsl:template>
Template *[contains(@class,' reference/proptype ')]topic.reference.proptype
Namespace No namespace
Match *[contains(@class,' reference/proptype ')]
Mode #default
Parameters
QName Namespace
width-multiplier No namespace
Import precedence 8
Source
<xsl:template match="*[contains(@class,' reference/proptype ')]" name="topic.reference.proptype">
  <xsl:param name="width-multiplier">0</xsl:param>
  <xsl:apply-templates select="." mode="propertiesEntry">
    <xsl:with-param name="width-multiplier">
      <xsl:value-of select="$width-multiplier"/>
    </xsl:with-param>
    <xsl:with-param name="elementType">type</xsl:with-param>
  </xsl:apply-templates>
</xsl:template>
Template *[contains(@class,' reference/propvalue ')]topic.reference.propvalue
Namespace No namespace
Match *[contains(@class,' reference/propvalue ')]
Mode #default
Parameters
QName Namespace
width-multiplier No namespace
Import precedence 8
Source
<xsl:template match="*[contains(@class,' reference/propvalue ')]" name="topic.reference.propvalue">
  <xsl:param name="width-multiplier">0</xsl:param>
  <xsl:apply-templates select="." mode="propertiesEntry">
    <xsl:with-param name="width-multiplier">
      <xsl:value-of select="$width-multiplier"/>
    </xsl:with-param>
    <xsl:with-param name="elementType">value</xsl:with-param>
  </xsl:apply-templates>
</xsl:template>
Template *[contains(@class,' reference/propdesc ')]topic.reference.propdesc
Namespace No namespace
Match *[contains(@class,' reference/propdesc ')]
Mode #default
Parameters
QName Namespace
width-multiplier No namespace
Import precedence 8
Source
<xsl:template match="*[contains(@class,' reference/propdesc ')]" name="topic.reference.propdesc">
  <xsl:param name="width-multiplier">0</xsl:param>
  <xsl:apply-templates select="." mode="propertiesEntry">
    <xsl:with-param name="width-multiplier">
      <xsl:value-of select="$width-multiplier"/>
    </xsl:with-param>
    <xsl:with-param name="elementType">desc</xsl:with-param>
  </xsl:apply-templates>
</xsl:template>
Template *propertiesEntry
Documentation

Description

 Template based on the stentry template in dit2htm. Only change is to add elementType
     paramenter, and call addPropertiesHeadersAttribute instead of output-stentry-headers. 
Namespace No namespace
Match *
Mode propertiesEntry
References
Parameters
QName Namespace
elementType No namespace
width-multiplier No namespace
Import precedence 8
Source
<xsl:template match="*" mode="propertiesEntry">
  <xsl:param name="width-multiplier">0</xsl:param>
  <xsl:param name="elementType"/>
  <xsl:variable name="flagrules">
    <xsl:call-template name="getrules"/>
    <xsl:call-template name="getrules-parent"/>
  </xsl:variable>
  <td valign="top">
    <xsl:call-template name="output-stentry-id"/>
    <xsl:call-template name="addPropertiesHeadersAttribute">
      <xsl:with-param name="classVal"> reference/prop<xsl:value-of select="$elementType"/>hd<xsl:text> </xsl:text></xsl:with-param>
      <xsl:with-param name="elementType">
        <xsl:value-of select="$elementType"/>
      </xsl:with-param>
    </xsl:call-template>
    <xsl:call-template name="commonattributes"/>
    <xsl:call-template name="gen-style">
      <xsl:with-param name="flagrules" select="$flagrules"/>
    </xsl:call-template>
    <xsl:variable name="localkeycol">
      <xsl:choose>
        <xsl:when test="ancestor::*[contains(@class,' topic/simpletable ')]/@keycol">
          <xsl:value-of select="ancestor::*[contains(@class,' topic/simpletable ')]/@keycol"/>
        </xsl:when>
        <xsl:otherwise>0</xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
    <!-- Determine which column this entry is in. -->
    <xsl:variable name="thiscolnum">
      <xsl:value-of select="number(count(preceding-sibling::*)+1)"/>
    </xsl:variable>
    <!-- If width-multiplier=0, then either @relcolwidth was not specified, or this is not the first
         row, so do not create a width value. Otherwise, find out the relative width of this column. -->
    <xsl:variable name="widthpercent">
      <xsl:if test="$width-multiplier != 0">
        <xsl:call-template name="get-current-entry-percentage">
          <xsl:with-param name="multiplier">
            <xsl:value-of select="$width-multiplier"/>
          </xsl:with-param>
          <xsl:with-param name="entry-num">
            <xsl:value-of select="$thiscolnum"/>
          </xsl:with-param>
        </xsl:call-template>
      </xsl:if>
    </xsl:variable>
    <!-- If we calculated a width, create the width attribute. -->
    <xsl:if test="string-length($widthpercent)>0">
      <xsl:attribute name="width">
        <xsl:value-of select="$widthpercent"/>
        <xsl:text>%</xsl:text>
      </xsl:attribute>
    </xsl:if>
    <xsl:apply-templates select="." mode="start-stentry-flagging">
      <xsl:with-param name="flagrules" select="$flagrules"/>
    </xsl:apply-templates>
    <xsl:variable name="revtest">
      <xsl:if test="@rev and not($FILTERFILE='') and ($DRAFT='yes')">
        <xsl:call-template name="find-active-rev-flag">
          <xsl:with-param name="allrevs" select="@rev"/>
        </xsl:call-template>
      </xsl:if>
    </xsl:variable>
    <xsl:variable name="revtest-row">
      <xsl:if test="../@rev and not($FILTERFILE='') and ($DRAFT='yes')">
        <xsl:call-template name="find-active-rev-flag">
          <xsl:with-param name="allrevs" select="../@rev"/>
        </xsl:call-template>
      </xsl:if>
    </xsl:variable>
    <xsl:choose>
      <xsl:when test="$thiscolnum=$localkeycol and $revtest-row=1">
        <strong>
          <span class="{../@rev}">
            <xsl:call-template name="propentry-templates"/>
          </span>
        </strong>
      </xsl:when>
      <xsl:when test="$thiscolnum=$localkeycol and $revtest=1">
        <strong>
          <span class="{@rev}">
            <xsl:call-template name="propentry-templates"/>
          </span>
        </strong>
      </xsl:when>
      <xsl:when test="$thiscolnum=$localkeycol">
        <strong>
          <xsl:call-template name="propentry-templates"/>
        </strong>
      </xsl:when>
      <xsl:when test="$revtest-row=1">
        <span class="{../@rev}">
          <xsl:call-template name="propentry-templates"/>
        </span>
      </xsl:when>
      <xsl:when test="$revtest=1">
        <span class="{@rev}">
          <xsl:call-template name="propentry-templates"/>
        </span>
      </xsl:when>
      <xsl:otherwise>
        <xsl:call-template name="propentry-templates"/>
      </xsl:otherwise>
    </xsl:choose>
    <xsl:apply-templates select="." mode="end-stentry-flagging">
      <xsl:with-param name="flagrules" select="$flagrules"/>
    </xsl:apply-templates>
  </td>
  <xsl:value-of select="$newline"/>
</xsl:template>
Template propentry-templates
Namespace No namespace
Used by
Template *propertiesEntry
Import precedence 8
Source
<xsl:template name="propentry-templates">
  <xsl:choose>
    <xsl:when test="*|text()|processing-instruction()">
      <xsl:apply-templates/>
    </xsl:when>
    <xsl:when test="@specentry">
      <xsl:value-of select="@specentry"/>
    </xsl:when>
    <xsl:otherwise>
      <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
      <!-- nbsp -->
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>
Template *[contains(@class, ' topic/link ')][@type='reference']related-links:group.reference{http://dita-ot.sourceforge.net/ns/200709/related-links}get-group
Documentation

Description

 References have their own group. 
Namespace http://dita-ot.sourceforge.net/ns/200709/related-links
Match *[contains(@class, ' topic/link ')][@type='reference']
Mode {http://dita-ot.sourceforge.net/ns/200709/related-links}get-group
Import precedence 8
Source
<xsl:template match="*[contains(@class, ' topic/link ')][@type='reference']" mode="related-links:get-group" name="related-links:group.reference">
  <xsl:text>reference</xsl:text>
</xsl:template>
Template *[contains(@class, ' topic/link ')][@type='reference']related-links:group-priority.reference{http://dita-ot.sourceforge.net/ns/200709/related-links}get-group-priority
Documentation

Description

 Priority of reference group. 
Namespace http://dita-ot.sourceforge.net/ns/200709/related-links
Match *[contains(@class, ' topic/link ')][@type='reference']
Mode {http://dita-ot.sourceforge.net/ns/200709/related-links}get-group-priority
Import precedence 8
Source
<xsl:template match="*[contains(@class, ' topic/link ')][@type='reference']" mode="related-links:get-group-priority" name="related-links:group-priority.reference">
  <xsl:value-of select="1"/>
</xsl:template>
Template *[contains(@class, ' topic/link ')][@type='reference']related-links:result.reference{http://dita-ot.sourceforge.net/ns/200709/related-links}result-group
Documentation

Description

 Reference wrapper for HTML: "Related reference" in <div>. 
Namespace http://dita-ot.sourceforge.net/ns/200709/related-links
Match *[contains(@class, ' topic/link ')][@type='reference']
Mode {http://dita-ot.sourceforge.net/ns/200709/related-links}result-group
References
Template getString
Variable newline
Parameters
QName Namespace
links No namespace
Import precedence 8
Source
<xsl:template match="*[contains(@class, ' topic/link ')][@type='reference']" mode="related-links:result-group" name="related-links:result.reference">
  <xsl:param name="links"/>
  <div class="relinfo relref">
    <strong>
      <xsl:call-template name="getString">
        <xsl:with-param name="stringName" select="'Related reference'"/>
      </xsl:call-template>
    </strong>
    <br/>
    <xsl:value-of select="$newline"/>
    <xsl:copy-of select="$links"/>
  </div>
  <xsl:value-of select="$newline"/>
</xsl:template>
Output (default)
Documentation

Description

 XHTML output with XML syntax 
Namespace No namespace
Output properties
method encoding indent
no
Source
<xsl:output method="xml" encoding="utf-8" indent="no"/>