Blame xslt/texi/lists.xsl

Packit e4b6da
Packit e4b6da
Packit e4b6da
-->
Packit e4b6da
Packit e4b6da
Packit e4b6da
                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
Packit e4b6da
                xmlns="http://docbook2x.sourceforge.net/xmlns/Texi-XML"
Packit e4b6da
                exclude-result-prefixes="doc"
Packit e4b6da
                version='1.0'
Packit e4b6da
                xml:lang="en">
Packit e4b6da
Packit e4b6da
Packit e4b6da
     $Id: lists.xsl,v 1.30 2004/08/22 22:46:07 stevecheng Exp $
Packit e4b6da
     ********************************************************************
Packit e4b6da
Packit e4b6da
     (C) 2000-2004 Steve Cheng <stevecheng@users.sourceforge.net>
Packit e4b6da
  
Packit e4b6da
     This file is part of the docbook2X XSLT stylesheets for
Packit e4b6da
     converting DocBook to Texinfo.
Packit e4b6da
Packit e4b6da
     See ../../COPYING for the copyright status of this software.
Packit e4b6da
Packit e4b6da
     ******************************************************************** -->
Packit e4b6da
Packit e4b6da
<doc:reference xmlns="">
Packit e4b6da
<title>All sorts of lists</title>
Packit e4b6da
</doc:reference>
Packit e4b6da
Packit e4b6da
Packit e4b6da
Packit e4b6da
<xsl:template match="itemizedlist">
Packit e4b6da
  <xsl:call-template name="formal-object-title" />
Packit e4b6da
  <itemize>
Packit e4b6da
    <xsl:call-template name="anchor" />
Packit e4b6da
Packit e4b6da
    
Packit e4b6da
    <xsl:attribute name="markchar">
Packit e4b6da
      <xsl:text>•</xsl:text>
Packit e4b6da
    </xsl:attribute>
Packit e4b6da
      
Packit e4b6da
    <xsl:apply-templates select="listitem"/>
Packit e4b6da
  </itemize>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="orderedlist">
Packit e4b6da
  <xsl:variable name="start">
Packit e4b6da
    <xsl:choose>
Packit e4b6da
      <xsl:when test="@continuation='continues'">
Packit e4b6da
        <xsl:call-template name="orderedlist.starting.number" />
Packit e4b6da
      </xsl:when>
Packit e4b6da
      <xsl:otherwise>1</xsl:otherwise>
Packit e4b6da
    </xsl:choose>
Packit e4b6da
  </xsl:variable>
Packit e4b6da
  
Packit e4b6da
  <xsl:call-template name="formal-object-title" />
Packit e4b6da
Packit e4b6da
  <enumerate>
Packit e4b6da
    <xsl:call-template name="anchor" />
Packit e4b6da
 
Packit e4b6da
    <xsl:if test="$start != '1'">
Packit e4b6da
      <xsl:attribute name="start">
Packit e4b6da
        <xsl:value-of select="$start"/>
Packit e4b6da
      </xsl:attribute>
Packit e4b6da
    </xsl:if>
Packit e4b6da
    <xsl:apply-templates select="listitem"/>
Packit e4b6da
  </enumerate>
Packit e4b6da
    
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="variablelist">
Packit e4b6da
  <xsl:call-template name="formal-object-title" />
Packit e4b6da
  <varlist>
Packit e4b6da
    <xsl:call-template name="anchor" />
Packit e4b6da
    <xsl:apply-templates />
Packit e4b6da
  </varlist>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="listitem">
Packit e4b6da
  <listitem>
Packit e4b6da
    <xsl:call-template name="anchor" />
Packit e4b6da
    <xsl:apply-templates/>
Packit e4b6da
  </listitem>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="varlistentry">
Packit e4b6da
  <varlistentry>
Packit e4b6da
    <xsl:call-template name="anchor" />
Packit e4b6da
    <xsl:apply-templates />
Packit e4b6da
  </varlistentry>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="varlistentry/term">
Packit e4b6da
  <term><xsl:apply-templates /></term>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="varlistentry/listitem">
Packit e4b6da
  <listitem><xsl:apply-templates/></listitem>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
Packit e4b6da
Packit e4b6da
Packit e4b6da
<xsl:template match="simplelist[@type='horiz']">
Packit e4b6da
  <xsl:variable name="columns">
Packit e4b6da
    <xsl:choose>
Packit e4b6da
      <xsl:when test="@columns">
Packit e4b6da
        <xsl:value-of select="@columns"/>
Packit e4b6da
      </xsl:when>
Packit e4b6da
    <xsl:otherwise>1</xsl:otherwise>
Packit e4b6da
    </xsl:choose>
Packit e4b6da
  </xsl:variable>
Packit e4b6da
Packit e4b6da
  <xsl:call-template name="anchor" />
Packit e4b6da
  <multitable cols="{$columns}">
Packit e4b6da
    
Packit e4b6da
      <xsl:call-template name="simplelist-horiz">
Packit e4b6da
        <xsl:with-param name="cols" select="$columns" />
Packit e4b6da
      </xsl:call-template>
Packit e4b6da
    
Packit e4b6da
  </multitable>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
Packit e4b6da
<xsl:template match="simplelist">
Packit e4b6da
  <xsl:variable name="columns">
Packit e4b6da
    <xsl:choose>
Packit e4b6da
      <xsl:when test="@columns">
Packit e4b6da
        <xsl:value-of select="@columns"/>
Packit e4b6da
      </xsl:when>
Packit e4b6da
    <xsl:otherwise>1</xsl:otherwise>
Packit e4b6da
    </xsl:choose>
Packit e4b6da
  </xsl:variable>
Packit e4b6da
Packit e4b6da
  <xsl:call-template name="anchor" />
Packit e4b6da
  <multitable cols="{$columns}">
Packit e4b6da
    
Packit e4b6da
         same width -->
Packit e4b6da
    
Packit e4b6da
      <xsl:call-template name="simplelist-vert">
Packit e4b6da
        <xsl:with-param name="cols" select="$columns" />
Packit e4b6da
      </xsl:call-template>
Packit e4b6da
    
Packit e4b6da
  </multitable>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="simplelist[@type='inline']">
Packit e4b6da
  <xsl:apply-templates/>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
Packit e4b6da
<xsl:template name="simplelist-horiz">
Packit e4b6da
  <xsl:param name="cols">1</xsl:param>
Packit e4b6da
  <xsl:param name="cell">1</xsl:param>
Packit e4b6da
  <xsl:param name="members" select="./member"/>
Packit e4b6da
Packit e4b6da
  <xsl:if test="$cell <= count($members)">
Packit e4b6da
    <row>
Packit e4b6da
      <xsl:call-template name="simplelist-horiz-row">
Packit e4b6da
        <xsl:with-param name="cols" select="$cols"/>
Packit e4b6da
        <xsl:with-param name="cell" select="$cell"/>
Packit e4b6da
        <xsl:with-param name="members" select="$members"/>
Packit e4b6da
      </xsl:call-template>
Packit e4b6da
    </row>
Packit e4b6da
    
Packit e4b6da
    <xsl:call-template name="simplelist-horiz">
Packit e4b6da
      <xsl:with-param name="cols" select="$cols"/>
Packit e4b6da
      <xsl:with-param name="cell" select="$cell + $cols"/>
Packit e4b6da
      <xsl:with-param name="members" select="$members"/>
Packit e4b6da
    </xsl:call-template>
Packit e4b6da
  </xsl:if>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template name="simplelist-horiz-row">
Packit e4b6da
  <xsl:param name="cols">1</xsl:param>
Packit e4b6da
  <xsl:param name="cell">1</xsl:param>
Packit e4b6da
  <xsl:param name="members" select="./member"/>
Packit e4b6da
  <xsl:param name="curcol">1</xsl:param>
Packit e4b6da
Packit e4b6da
  <xsl:if test="$curcol <= $cols">
Packit e4b6da
    <entry>
Packit e4b6da
      <xsl:if test="$members[position()=$cell]">
Packit e4b6da
        <xsl:apply-templates select="$members[position()=$cell]"/>
Packit e4b6da
      </xsl:if>
Packit e4b6da
    
Packit e4b6da
      <xsl:call-template name="simplelist-horiz-row">
Packit e4b6da
        <xsl:with-param name="cols" select="$cols"/>
Packit e4b6da
        <xsl:with-param name="cell" select="$cell+1"/>
Packit e4b6da
        <xsl:with-param name="members" select="$members"/>
Packit e4b6da
        <xsl:with-param name="curcol" select="$curcol+1"/>
Packit e4b6da
      </xsl:call-template>
Packit e4b6da
    </entry>
Packit e4b6da
  </xsl:if>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template name="simplelist-vert">
Packit e4b6da
  <xsl:param name="cols">1</xsl:param>
Packit e4b6da
  <xsl:param name="cell">1</xsl:param>
Packit e4b6da
  <xsl:param name="members" select="./member"/>
Packit e4b6da
  
Packit e4b6da
             select="floor((count($members)+$cols - 1) div $cols)"/>
Packit e4b6da
Packit e4b6da
  <xsl:if test="$cell <= $rows">
Packit e4b6da
    <row>
Packit e4b6da
      <xsl:call-template name="simplelist-vert-row">
Packit e4b6da
        <xsl:with-param name="cols" select="$cols"/>
Packit e4b6da
        <xsl:with-param name="rows" select="$rows"/>
Packit e4b6da
        <xsl:with-param name="cell" select="$cell"/>
Packit e4b6da
        <xsl:with-param name="members" select="$members"/>
Packit e4b6da
      </xsl:call-template>
Packit e4b6da
    </row>
Packit e4b6da
   
Packit e4b6da
    <xsl:call-template name="simplelist-vert">
Packit e4b6da
      <xsl:with-param name="cols" select="$cols"/>
Packit e4b6da
      <xsl:with-param name="cell" select="$cell+1"/>
Packit e4b6da
      <xsl:with-param name="members" select="$members"/>
Packit e4b6da
      <xsl:with-param name="rows" select="$rows"/>
Packit e4b6da
    </xsl:call-template>
Packit e4b6da
  </xsl:if>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template name="simplelist-vert-row">
Packit e4b6da
  <xsl:param name="cols">1</xsl:param>
Packit e4b6da
  <xsl:param name="rows">1</xsl:param>
Packit e4b6da
  <xsl:param name="cell">1</xsl:param>
Packit e4b6da
  <xsl:param name="members" select="./member"/>
Packit e4b6da
  <xsl:param name="curcol">1</xsl:param>
Packit e4b6da
Packit e4b6da
  <xsl:if test="$curcol <= $cols">
Packit e4b6da
    <entry>
Packit e4b6da
      <xsl:if test="$members[position()=$cell]">
Packit e4b6da
        <xsl:apply-templates select="$members[position()=$cell]"/>
Packit e4b6da
      </xsl:if>
Packit e4b6da
    
Packit e4b6da
      <xsl:call-template name="simplelist-vert-row">
Packit e4b6da
        <xsl:with-param name="cols" select="$cols"/>
Packit e4b6da
        <xsl:with-param name="rows" select="$rows"/>
Packit e4b6da
        <xsl:with-param name="cell" select="$cell+$rows"/>
Packit e4b6da
        <xsl:with-param name="members" select="$members"/>
Packit e4b6da
        <xsl:with-param name="curcol" select="$curcol+1"/>
Packit e4b6da
      </xsl:call-template>
Packit e4b6da
    </entry>
Packit e4b6da
  </xsl:if>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="member">
Packit e4b6da
  <xsl:apply-templates/>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="simplelist[@type='inline']/member">
Packit e4b6da
  <xsl:call-template name="gentext-text">
Packit e4b6da
    <xsl:with-param name="key" select="'inline-list-separator'" />
Packit e4b6da
  </xsl:call-template>
Packit e4b6da
  <xsl:apply-templates/>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="simplelist[@type='inline']/member[1]" priority="1">
Packit e4b6da
  <xsl:apply-templates/>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
Packit e4b6da
Packit e4b6da
<xsl:template match="procedure">
Packit e4b6da
  <xsl:call-template name="formal-object-title" />
Packit e4b6da
  
Packit e4b6da
  <enumerate>
Packit e4b6da
    <xsl:call-template name="anchor" />
Packit e4b6da
    <xsl:apply-templates/>
Packit e4b6da
  </enumerate>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="substeps">
Packit e4b6da
  <enumerate>
Packit e4b6da
    <xsl:call-template name="anchor" />
Packit e4b6da
    <xsl:apply-templates/>
Packit e4b6da
  </enumerate>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="step">
Packit e4b6da
  <listitem>
Packit e4b6da
    <xsl:call-template name="anchor" />
Packit e4b6da
    <xsl:call-template name="formal-object-title" />
Packit e4b6da
    <xsl:apply-templates />
Packit e4b6da
  </listitem>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
Packit e4b6da
Packit e4b6da
<xsl:template match="segmentedlist">
Packit e4b6da
  <xsl:apply-templates/>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="segtitle">
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="segtitle" mode="segtitle-in-seg">
Packit e4b6da
  <xsl:apply-templates/>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="seglistitem">
Packit e4b6da
  <xsl:apply-templates/>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="seg">
Packit e4b6da
  <xsl:variable name="segnum" select="position()"/>
Packit e4b6da
  <xsl:variable name="seglist" select="ancestor::segmentedlist"/>
Packit e4b6da
  <xsl:variable name="segtitles" select="$seglist/segtitle"/>
Packit e4b6da
Packit e4b6da
  
Packit e4b6da
     Note: segtitle is only going to be the right thing in a well formed
Packit e4b6da
     SegmentedList.  If there are too many Segs or too few SegTitles,
Packit e4b6da
     you'll get something odd...maybe an error
Packit e4b6da
  -->
Packit e4b6da
Packit e4b6da
  <para>
Packit e4b6da
    <xsl:call-template name="anchor" />
Packit e4b6da
    
Packit e4b6da
                           mode="segtitle-in-seg"/>
Packit e4b6da
Packit e4b6da
    <xsl:call-template name="gentext-text">
Packit e4b6da
      <xsl:with-param name="key" select="'seg-separator'" />
Packit e4b6da
    </xsl:call-template>
Packit e4b6da
    
Packit e4b6da
    <xsl:apply-templates/>
Packit e4b6da
  </para>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
Packit e4b6da
Packit e4b6da
</xsl:stylesheet>
Packit e4b6da