Blame xsl/newtbl.xsl

Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
Packit Service 76cb02
    xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
Packit Service 76cb02
    xmlns:exsl="http://exslt.org/common"
Packit Service 76cb02
    exclude-result-prefixes="doc exsl" version='1.0'>
Packit Service 76cb02
  
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="tbl.defcolspec">
Packit Service 76cb02
  <xsl:param name="colnum" select="1"/>
Packit Service 76cb02
  <xsl:param name="colspec"/>
Packit Service 76cb02
  <xsl:param name="align"/>
Packit Service 76cb02
  <xsl:param name="rowsep"/>
Packit Service 76cb02
  <xsl:param name="colsep"/>
Packit Service 76cb02
  <xsl:param name="cols"/>
Packit Service 76cb02
  <xsl:param name="autowidth"/>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="$colnum <= $cols">
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      <xsl:when test="$colspec/colspec[@colnum = $colnum]">
Packit Service 76cb02
        <xsl:copy-of select="$colspec/colspec[@colnum = $colnum]"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:otherwise>
Packit Service 76cb02
        <xsl:variable name="natwidth">
Packit Service 76cb02
          <xsl:call-template name="natural-width">
Packit Service 76cb02
            <xsl:with-param name="autowidth" select="$autowidth"/>
Packit Service 76cb02
            <xsl:with-param name="colnum" select="$colnum"/>
Packit Service 76cb02
          </xsl:call-template>
Packit Service 76cb02
        </xsl:variable>
Packit Service 76cb02
 
Packit Service 76cb02
        
Packit Service 76cb02
                 rowsep='{$rowsep}' colsep='{$colsep}' 
Packit Service 76cb02
                 colwidth='\newtblstarfactor'>
Packit Service 76cb02
          <xsl:if test="$natwidth = 1">
Packit Service 76cb02
            <xsl:attribute name="autowidth">1</xsl:attribute>
Packit Service 76cb02
          </xsl:if>
Packit Service 76cb02
        </colspec>
Packit Service 76cb02
      </xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
    <xsl:call-template name="tbl.defcolspec">
Packit Service 76cb02
      <xsl:with-param name="colnum" select="$colnum + 1"/>
Packit Service 76cb02
      <xsl:with-param name="align" select="$align"/>
Packit Service 76cb02
      <xsl:with-param name="rowsep" select="$rowsep"/>
Packit Service 76cb02
      <xsl:with-param name="colsep" select="$colsep"/>
Packit Service 76cb02
      <xsl:with-param name="cols" select="$cols"/>
Packit Service 76cb02
      <xsl:with-param name="autowidth" select="$autowidth"/>
Packit Service 76cb02
      <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="replace-string">
Packit Service 76cb02
  <xsl:param name="text"/>
Packit Service 76cb02
  <xsl:param name="replace"/>
Packit Service 76cb02
  <xsl:param name="with"/>
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
    <xsl:when test="contains($text,$replace)">
Packit Service 76cb02
      <xsl:value-of select="substring-before($text,$replace)"/>
Packit Service 76cb02
      <xsl:value-of select="$with"/>
Packit Service 76cb02
      <xsl:call-template name="replace-string">
Packit Service 76cb02
        
Packit Service 76cb02
                        select="substring-after($text,$replace)"/>
Packit Service 76cb02
        <xsl:with-param name="replace" select="$replace"/>
Packit Service 76cb02
        <xsl:with-param name="with" select="$with"/>
Packit Service 76cb02
      </xsl:call-template>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:otherwise>
Packit Service 76cb02
      <xsl:value-of select="$text"/>
Packit Service 76cb02
    </xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
     It should be able to do this:
Packit Service 76cb02
     a+b+c+d*+e+f -> a+b+c+e+f
Packit Service 76cb02
     a+b+c+d*     -> a+b+c
Packit Service 76cb02
     d*+e+f       -> e+f      
Packit Service 76cb02
-->
Packit Service 76cb02
<xsl:template name="colfixed.get">
Packit Service 76cb02
  <xsl:param name="width" select="@colwidth"/>
Packit Service 76cb02
  <xsl:param name="stared" select="'0'"/>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
    <xsl:when test="contains($width, '*')">
Packit Service 76cb02
      
Packit Service 76cb02
                    select="substring-after(substring-after($width, '*'), '+')"/>
Packit Service 76cb02
      <xsl:if test="contains(substring-before($width, '*'), '+')">
Packit Service 76cb02
        <xsl:call-template name="colfixed.get">
Packit Service 76cb02
          <xsl:with-param name="width" select="substring-before($width, '*')"/>
Packit Service 76cb02
          <xsl:with-param name="stared" select="'1'"/>
Packit Service 76cb02
        </xsl:call-template>
Packit Service 76cb02
        <xsl:if test="$after!=''">
Packit Service 76cb02
          <xsl:text>+</xsl:text>
Packit Service 76cb02
        </xsl:if>
Packit Service 76cb02
      </xsl:if>
Packit Service 76cb02
      <xsl:value-of select="$after"/>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:when test="$stared='1'">
Packit Service 76cb02
      <xsl:value-of select="substring-before($width, '+')"/>
Packit Service 76cb02
      <xsl:if test="contains(substring-after($width, '+'), '+')">
Packit Service 76cb02
        <xsl:text>+</xsl:text>
Packit Service 76cb02
        <xsl:call-template name="colfixed.get">
Packit Service 76cb02
          <xsl:with-param name="width" select="substring-after($width, '+')"/>
Packit Service 76cb02
          <xsl:with-param name="stared" select="'1'"/>
Packit Service 76cb02
        </xsl:call-template>
Packit Service 76cb02
      </xsl:if>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:otherwise>
Packit Service 76cb02
      <xsl:value-of select="$width"/>
Packit Service 76cb02
    </xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="colstar.get">
Packit Service 76cb02
  <xsl:param name="width"/>
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
    <xsl:when test="contains($width, '+')">
Packit Service 76cb02
      <xsl:call-template name="colstar.get">
Packit Service 76cb02
        <xsl:with-param name="width" select="substring-after($width, '+')"/>
Packit Service 76cb02
      </xsl:call-template>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:otherwise>
Packit Service 76cb02
      <xsl:choose>
Packit Service 76cb02
        <xsl:when test="string(number($width))='NaN'">1</xsl:when>
Packit Service 76cb02
        <xsl:otherwise>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:value-of select="number($width)"/>
Packit Service 76cb02
        </xsl:otherwise>
Packit Service 76cb02
      </xsl:choose>
Packit Service 76cb02
    </xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
     is its natural size determined by the column cells contents -->
Packit Service 76cb02
<xsl:template name="natural-width">
Packit Service 76cb02
  <xsl:param name="autowidth"/>
Packit Service 76cb02
  <xsl:param name="colnum" select="1"/>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
  
Packit Service 76cb02
                  (contains($autowidth,'default') or
Packit Service 76cb02
                   contains($autowidth,'all'))">1</xsl:when>
Packit Service 76cb02
  
Packit Service 76cb02
                  contains($autowidth,'all')">1</xsl:when>
Packit Service 76cb02
  
Packit Service 76cb02
                  contains($autowidth,'column')">1</xsl:when>
Packit Service 76cb02
  <xsl:otherwise>0</xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="colspec" mode="newtbl">
Packit Service 76cb02
  <xsl:param name="colnum" select="1"/>
Packit Service 76cb02
  <xsl:param name="align"/>
Packit Service 76cb02
  <xsl:param name="colsep"/>
Packit Service 76cb02
  <xsl:param name="rowsep"/>
Packit Service 76cb02
  <xsl:param name="autowidth"/>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:variable name="natwidth">
Packit Service 76cb02
    <xsl:call-template name="natural-width">
Packit Service 76cb02
      <xsl:with-param name="autowidth" select="$autowidth"/>
Packit Service 76cb02
      <xsl:with-param name="colnum">
Packit Service 76cb02
         <xsl:choose><xsl:when test="@colnum">
Packit Service 76cb02
           <xsl:value-of select="@colnum"/>
Packit Service 76cb02
         </xsl:when>
Packit Service 76cb02
         <xsl:otherwise>
Packit Service 76cb02
           <xsl:value-of select="$colnum"/>
Packit Service 76cb02
         </xsl:otherwise></xsl:choose>
Packit Service 76cb02
      </xsl:with-param>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:copy>
Packit Service 76cb02
    <xsl:for-each select="@*"><xsl:copy/></xsl:for-each>
Packit Service 76cb02
    <xsl:if test="$natwidth = 1">
Packit Service 76cb02
      <xsl:attribute name="autowidth">1</xsl:attribute>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    <xsl:if test="not(@colnum)">
Packit Service 76cb02
      <xsl:attribute name="colnum"><xsl:value-of select="$colnum"/>
Packit Service 76cb02
      </xsl:attribute>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:variable name="fixed">
Packit Service 76cb02
      <xsl:call-template name="colfixed.get"/>
Packit Service 76cb02
    </xsl:variable>
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:if test="$fixed!=''">
Packit Service 76cb02
      <xsl:attribute name="fixedwidth">
Packit Service 76cb02
        <xsl:value-of select="$fixed"/>
Packit Service 76cb02
      </xsl:attribute>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:if test="contains(@colwidth,'*')">
Packit Service 76cb02
      <xsl:attribute name="colwidth">
Packit Service 76cb02
        <xsl:call-template name="replace-string">
Packit Service 76cb02
          <xsl:with-param name="text" select="@colwidth"/>
Packit Service 76cb02
          <xsl:with-param name="replace">*</xsl:with-param>
Packit Service 76cb02
          <xsl:with-param name="with">\newtblstarfactor</xsl:with-param>
Packit Service 76cb02
        </xsl:call-template>
Packit Service 76cb02
      </xsl:attribute>
Packit Service 76cb02
      <xsl:attribute name="star">
Packit Service 76cb02
        <xsl:call-template name="colstar.get">
Packit Service 76cb02
          <xsl:with-param name="width" select="substring-before(@colwidth, '*')"/>
Packit Service 76cb02
        </xsl:call-template>
Packit Service 76cb02
      </xsl:attribute>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:if test="not(string(@colwidth))">
Packit Service 76cb02
      <xsl:attribute name="colwidth">\newtblstarfactor</xsl:attribute>
Packit Service 76cb02
      <xsl:attribute name="star">1</xsl:attribute>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    <xsl:if test="not(@align)">
Packit Service 76cb02
      <xsl:attribute name="align"><xsl:value-of select="$align"/>
Packit Service 76cb02
      </xsl:attribute>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    <xsl:if test="not(@rowsep)">
Packit Service 76cb02
      <xsl:attribute name="rowsep"><xsl:value-of select="$rowsep"/>
Packit Service 76cb02
      </xsl:attribute>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    <xsl:if test="not(@colsep)">
Packit Service 76cb02
      <xsl:attribute name="colsep"><xsl:value-of select="$colsep"/>
Packit Service 76cb02
      </xsl:attribute>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:variable name="bgcolor">
Packit Service 76cb02
      <xsl:call-template name="pi.dblatex_bgcolor"/>
Packit Service 76cb02
    </xsl:variable>
Packit Service 76cb02
    <xsl:if test="$bgcolor != ''">
Packit Service 76cb02
      <xsl:attribute name="bgcolor"><xsl:value-of select="$bgcolor"/>
Packit Service 76cb02
      </xsl:attribute>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
  </xsl:copy>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="nextcolnum">
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      <xsl:when test="@colnum"><xsl:value-of select="@colnum + 1"/></xsl:when>
Packit Service 76cb02
      <xsl:otherwise><xsl:value-of select="$colnum + 1"/></xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
                       select="following-sibling::colspec[1]">
Packit Service 76cb02
    <xsl:with-param name="colnum" select="$nextcolnum"/>
Packit Service 76cb02
    <xsl:with-param name="align" select="$align"/>
Packit Service 76cb02
    <xsl:with-param name="colsep" select="$colsep"/>
Packit Service 76cb02
    <xsl:with-param name="rowsep" select="$rowsep"/>
Packit Service 76cb02
    <xsl:with-param name="autowidth" select="$autowidth"/>
Packit Service 76cb02
  </xsl:apply-templates>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="tbl.colspec">
Packit Service 76cb02
  <xsl:param name="autowidth"/>
Packit Service 76cb02
  <xsl:param name="align"/>
Packit Service 76cb02
  <xsl:param name="rowsep"/>
Packit Service 76cb02
  <xsl:param name="colsep"/>
Packit Service 76cb02
  <xsl:param name="cols"/>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="givencolspec">
Packit Service 76cb02
    <xsl:apply-templates mode="newtbl" select="colspec[1]">
Packit Service 76cb02
      <xsl:with-param name="align" select="$align"/>
Packit Service 76cb02
      <xsl:with-param name="rowsep" select="$rowsep"/>
Packit Service 76cb02
      <xsl:with-param name="colsep" select="$colsep"/>
Packit Service 76cb02
      <xsl:with-param name="autowidth" select="$autowidth"/>
Packit Service 76cb02
    </xsl:apply-templates>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:call-template name="tbl.defcolspec">
Packit Service 76cb02
    <xsl:with-param name="colspec" select="exsl:node-set($givencolspec)"/>
Packit Service 76cb02
    <xsl:with-param name="cols" select="$cols"/>
Packit Service 76cb02
    <xsl:with-param name="align" select="$align"/>
Packit Service 76cb02
    <xsl:with-param name="rowsep" select="$rowsep"/>
Packit Service 76cb02
    <xsl:with-param name="colsep" select="$colsep"/>
Packit Service 76cb02
    <xsl:with-param name="autowidth" select="$autowidth"/>
Packit Service 76cb02
  </xsl:call-template>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="tbl.blankentry">
Packit Service 76cb02
  <xsl:param name="colnum"/>
Packit Service 76cb02
  <xsl:param name="colend"/>
Packit Service 76cb02
  <xsl:param name="rownum"/>
Packit Service 76cb02
  <xsl:param name="colspec"/>
Packit Service 76cb02
  <xsl:param name="entries"/>
Packit Service 76cb02
  <xsl:param name="rowcolor"/>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="$colnum <= $colend">
Packit Service 76cb02
    
Packit Service 76cb02
                  select="$entries/*[self::entry or self::entrytbl]
Packit Service 76cb02
                                    [@colstart=$colnum and @rowend >= $rownum]"/>
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      <xsl:when test="$entry">
Packit Service 76cb02
        
Packit Service 76cb02
        <xsl:copy-of select="$entry"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:otherwise>
Packit Service 76cb02
        <xsl:variable name="bgcolor">
Packit Service 76cb02
          <xsl:choose>
Packit Service 76cb02
          <xsl:when test="$rowcolor != ''">
Packit Service 76cb02
            <xsl:value-of select="$rowcolor"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:otherwise>
Packit Service 76cb02
            <xsl:value-of select="$colspec/colspec[@colnum=$colnum]/@bgcolor"/>
Packit Service 76cb02
          </xsl:otherwise>
Packit Service 76cb02
          </xsl:choose>
Packit Service 76cb02
        </xsl:variable>
Packit Service 76cb02
        
Packit Service 76cb02
        
Packit Service 76cb02
               rowstart='{$rownum}' rowend='{$rownum}'
Packit Service 76cb02
               colsep='{$colspec/colspec[@colnum=$colnum]/@colsep}'
Packit Service 76cb02
               defrowsep='{$colspec/colspec[@colnum=$colnum]/@rowsep}'
Packit Service 76cb02
               align='{$colspec/colspec[@colnum=$colnum]/@align}'
Packit Service 76cb02
               bgcolor='{$bgcolor}'/>
Packit Service 76cb02
      </xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
    <xsl:variable name="nextcol">
Packit Service 76cb02
      <xsl:choose>
Packit Service 76cb02
        <xsl:when test="$entry">
Packit Service 76cb02
          <xsl:value-of select="$entry/@colend"/>
Packit Service 76cb02
        </xsl:when>
Packit Service 76cb02
        <xsl:otherwise>
Packit Service 76cb02
          <xsl:value-of select="$colnum"/>
Packit Service 76cb02
        </xsl:otherwise>
Packit Service 76cb02
      </xsl:choose>
Packit Service 76cb02
    </xsl:variable>
Packit Service 76cb02
    <xsl:call-template name="tbl.blankentry">
Packit Service 76cb02
      <xsl:with-param name="colnum" select="$nextcol + 1"/>
Packit Service 76cb02
      <xsl:with-param name="colend" select="$colend"/>
Packit Service 76cb02
      <xsl:with-param name="rownum" select="$rownum"/>
Packit Service 76cb02
      <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
      <xsl:with-param name="rowcolor" select="$rowcolor"/>
Packit Service 76cb02
      <xsl:with-param name="entries" select="$entries"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="check-colrange">
Packit Service 76cb02
  <xsl:param name="colnum"/>
Packit Service 76cb02
  <xsl:param name="rownum"/>
Packit Service 76cb02
  <xsl:param name="colend"/>
Packit Service 76cb02
  <xsl:param name="colstart"/>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:variable name="msg">
Packit Service 76cb02
    <xsl:text>Invalid table entry row=</xsl:text>
Packit Service 76cb02
    <xsl:value-of select="$rownum"/>
Packit Service 76cb02
    <xsl:text>/column=</xsl:text>
Packit Service 76cb02
    <xsl:value-of select="$colnum"/>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  <xsl:if test="string(number($colend))='NaN'">
Packit Service 76cb02
    <xsl:message terminate="yes">
Packit Service 76cb02
      <xsl:value-of select="$msg"/>
Packit Service 76cb02
      <xsl:text> (@colend)</xsl:text>
Packit Service 76cb02
    </xsl:message>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
  <xsl:if test="string(number($colstart))='NaN'">
Packit Service 76cb02
    <xsl:message terminate="yes">
Packit Service 76cb02
      <xsl:value-of select="$msg"/>
Packit Service 76cb02
      <xsl:text> (@colstart)</xsl:text>
Packit Service 76cb02
    </xsl:message>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="entry|entrytbl" mode="newtbl.buildentries">
Packit Service 76cb02
  <xsl:param name="colnum"/>
Packit Service 76cb02
  <xsl:param name="rownum"/>
Packit Service 76cb02
  <xsl:param name="colspec"/>
Packit Service 76cb02
  <xsl:param name="spanspec"/>
Packit Service 76cb02
  <xsl:param name="frame"/>
Packit Service 76cb02
  <xsl:param name="rowcolor"/>
Packit Service 76cb02
  <xsl:param name="entries"/>
Packit Service 76cb02
  <xsl:param name="tabletype"/>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:variable name="cols" select="count($colspec/*)"/>
Packit Service 76cb02
 
Packit Service 76cb02
  <xsl:if test="$colnum <= $cols">
Packit Service 76cb02
Packit Service 76cb02
    
Packit Service 76cb02
        select="$entries/*[self::entry or self::entrytbl]
Packit Service 76cb02
                                [@colstart=$colnum and @rowend >= $rownum]"/>
Packit Service 76cb02
    
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:choose><xsl:when test="$entry">
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:copy-of select="$entry"/>
Packit Service 76cb02
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:apply-templates mode="newtbl.buildentries" select=".">
Packit Service 76cb02
        
Packit Service 76cb02
                        select="$entries/entry[@colstart=$colnum]/@colend + 1"/>
Packit Service 76cb02
        <xsl:with-param name="rownum" select="$rownum"/>
Packit Service 76cb02
        <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
        <xsl:with-param name="spanspec" select="$spanspec"/>
Packit Service 76cb02
        <xsl:with-param name="frame" select="$frame"/>
Packit Service 76cb02
        <xsl:with-param name="rowcolor" select="$rowcolor"/>
Packit Service 76cb02
        <xsl:with-param name="entries" select="$entries"/>
Packit Service 76cb02
        <xsl:with-param name="tabletype" select="$tabletype"/>
Packit Service 76cb02
      </xsl:apply-templates>
Packit Service 76cb02
      </xsl:when><xsl:otherwise>
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:variable name="span">
Packit Service 76cb02
        <xsl:if test="@spanname and $spanspec[@spanname=current()/@spanname]">
Packit Service 76cb02
          <xsl:copy-of select="$spanspec[@spanname=current()/@spanname]"/>
Packit Service 76cb02
        </xsl:if>
Packit Service 76cb02
      </xsl:variable>
Packit Service 76cb02
      
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:variable name="colstart">
Packit Service 76cb02
        <xsl:choose>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="$colspec/colspec[@colname=current()/@colname]">
Packit Service 76cb02
            
Packit Service 76cb02
                select="$colspec/colspec[@colname=current()/@colname]/@colnum"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="exsl:node-set($span)/spanspec/@namest">
Packit Service 76cb02
            
Packit Service 76cb02
                                  exsl:node-set($span)/spanspec/@namest]/@colnum"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="@namest">
Packit Service 76cb02
            
Packit Service 76cb02
                                  current()/@namest]/@colnum"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:otherwise>
Packit Service 76cb02
            <xsl:value-of select="$colnum"/>
Packit Service 76cb02
          </xsl:otherwise>
Packit Service 76cb02
        </xsl:choose>
Packit Service 76cb02
      </xsl:variable>
Packit Service 76cb02
      
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:variable name="colend">
Packit Service 76cb02
        <xsl:choose>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="exsl:node-set($span)/spanspec/@nameend">
Packit Service 76cb02
            
Packit Service 76cb02
                                  exsl:node-set($span)/spanspec/@nameend]/@colnum"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="@nameend">
Packit Service 76cb02
            
Packit Service 76cb02
                                  current()/@nameend]/@colnum"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:otherwise>
Packit Service 76cb02
            <xsl:value-of select="$colstart"/>
Packit Service 76cb02
          </xsl:otherwise>
Packit Service 76cb02
        </xsl:choose>
Packit Service 76cb02
      </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:call-template name="check-colrange">
Packit Service 76cb02
        <xsl:with-param name="colnum" select="$colnum"/>
Packit Service 76cb02
        <xsl:with-param name="rownum" select="$rownum"/>
Packit Service 76cb02
        <xsl:with-param name="colstart" select="$colstart"/>
Packit Service 76cb02
        <xsl:with-param name="colend" select="$colend"/>
Packit Service 76cb02
      </xsl:call-template>
Packit Service 76cb02
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:variable name="coloff">
Packit Service 76cb02
        <xsl:choose>
Packit Service 76cb02
          <xsl:when test="self::entrytbl">0</xsl:when>
Packit Service 76cb02
          <xsl:otherwise>1</xsl:otherwise>
Packit Service 76cb02
        </xsl:choose>
Packit Service 76cb02
      </xsl:variable>
Packit Service 76cb02
      
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:if test="$colnum < $colstart">
Packit Service 76cb02
        
Packit Service 76cb02
        <xsl:call-template name="tbl.blankentry">
Packit Service 76cb02
          <xsl:with-param name="colnum" select="$colnum"/>
Packit Service 76cb02
          <xsl:with-param name="colend" select="$colstart - 1"/>
Packit Service 76cb02
          <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
          <xsl:with-param name="rownum" select="$rownum"/>
Packit Service 76cb02
          <xsl:with-param name="rowcolor" select="$rowcolor"/>
Packit Service 76cb02
          <xsl:with-param name="entries" select="$entries"/>
Packit Service 76cb02
        </xsl:call-template>
Packit Service 76cb02
      </xsl:if>
Packit Service 76cb02
      
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:variable name="colsep">
Packit Service 76cb02
        <xsl:choose>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="@colsep"><xsl:value-of select="@colsep"/></xsl:when>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="exsl:node-set($span)/spanspec/@colsep">
Packit Service 76cb02
            <xsl:value-of select="exsl:node-set($span)/spanspec/@colsep"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:otherwise>
Packit Service 76cb02
            
Packit Service 76cb02
            <xsl:value-of select="$colspec/colspec[@colnum=$colstart]/@colsep"/>
Packit Service 76cb02
          </xsl:otherwise>
Packit Service 76cb02
        </xsl:choose>
Packit Service 76cb02
      </xsl:variable>
Packit Service 76cb02
      
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:variable name="defrowsep">
Packit Service 76cb02
        <xsl:choose>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="exsl:node-set($span)/spanspec/@rowsep">
Packit Service 76cb02
            <xsl:value-of select="exsl:node-set($span)/spanspec/@rowsep"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:otherwise>
Packit Service 76cb02
            
Packit Service 76cb02
            <xsl:value-of select="$colspec/colspec[@colnum=$colstart]/@rowsep"/>
Packit Service 76cb02
          </xsl:otherwise>
Packit Service 76cb02
        </xsl:choose>
Packit Service 76cb02
      </xsl:variable>
Packit Service 76cb02
      
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:variable name="align">
Packit Service 76cb02
        <xsl:choose>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="string(@align)">
Packit Service 76cb02
            <xsl:value-of select="@align"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="exsl:node-set($span)/spanspec/@align">
Packit Service 76cb02
            <xsl:value-of select="exsl:node-set($span)/spanspec/@align"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:otherwise>
Packit Service 76cb02
            
Packit Service 76cb02
            <xsl:value-of select="$colspec/colspec[@colnum=$colstart]/@align"/>
Packit Service 76cb02
          </xsl:otherwise>
Packit Service 76cb02
        </xsl:choose>
Packit Service 76cb02
      </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:variable name="valign">
Packit Service 76cb02
        <xsl:choose>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="string(@valign)">
Packit Service 76cb02
            <xsl:value-of select="@valign"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="../@valign">
Packit Service 76cb02
            <xsl:value-of select="../@valign"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="../../@valign">
Packit Service 76cb02
            <xsl:value-of select="../../@valign"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
        </xsl:choose>
Packit Service 76cb02
      </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
      <xsl:variable name="cellcolor">
Packit Service 76cb02
        <xsl:call-template name="pi.dblatex_bgcolor"/>
Packit Service 76cb02
      </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
      <xsl:variable name="bgcolor">
Packit Service 76cb02
        <xsl:choose>
Packit Service 76cb02
          <xsl:when test="$cellcolor != ''">
Packit Service 76cb02
            <xsl:value-of select="$cellcolor"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:when test="$rowcolor != ''">
Packit Service 76cb02
            <xsl:value-of select="$rowcolor"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:when test="$colspec/colspec[@colnum=$colstart]/@bgcolor">
Packit Service 76cb02
            <xsl:value-of select="$colspec/colspec[@colnum=$colstart]/@bgcolor"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:when test="ancestor::*[self::table or self::informaltable]/@bgcolor">
Packit Service 76cb02
            
Packit Service 76cb02
                                              self::informaltable]/@bgcolor"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
        </xsl:choose>
Packit Service 76cb02
      </xsl:variable>
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:copy>
Packit Service 76cb02
        <xsl:for-each select="@*"><xsl:copy/></xsl:for-each>
Packit Service 76cb02
        <xsl:attribute name="colstart">
Packit Service 76cb02
          <xsl:value-of select="$colstart"/>
Packit Service 76cb02
        </xsl:attribute>
Packit Service 76cb02
        <xsl:attribute name="colend">
Packit Service 76cb02
          <xsl:value-of select="$colend"/>
Packit Service 76cb02
        </xsl:attribute>
Packit Service 76cb02
        <xsl:attribute name="coloff">
Packit Service 76cb02
          <xsl:value-of select="$coloff"/>
Packit Service 76cb02
        </xsl:attribute>
Packit Service 76cb02
        <xsl:attribute name="rowstart">
Packit Service 76cb02
          <xsl:value-of select="$rownum"/>
Packit Service 76cb02
        </xsl:attribute>
Packit Service 76cb02
        <xsl:attribute name="rowend">
Packit Service 76cb02
          <xsl:choose>
Packit Service 76cb02
            <xsl:when test="@morerows and @morerows > 0">
Packit Service 76cb02
              <xsl:value-of select="@morerows + $rownum"/>
Packit Service 76cb02
            </xsl:when>
Packit Service 76cb02
            <xsl:otherwise>
Packit Service 76cb02
              <xsl:value-of select="$rownum"/>
Packit Service 76cb02
            </xsl:otherwise>
Packit Service 76cb02
          </xsl:choose>
Packit Service 76cb02
        </xsl:attribute>
Packit Service 76cb02
        <xsl:attribute name="colsep">
Packit Service 76cb02
          <xsl:value-of select="$colsep"/>
Packit Service 76cb02
        </xsl:attribute>
Packit Service 76cb02
        <xsl:attribute name="defrowsep">
Packit Service 76cb02
          <xsl:value-of select="$defrowsep"/>
Packit Service 76cb02
        </xsl:attribute>
Packit Service 76cb02
        <xsl:attribute name="align">
Packit Service 76cb02
          <xsl:value-of select="$align"/>
Packit Service 76cb02
        </xsl:attribute>
Packit Service 76cb02
        <xsl:attribute name="valign">
Packit Service 76cb02
          <xsl:value-of select="$valign"/>
Packit Service 76cb02
        </xsl:attribute>
Packit Service 76cb02
        <xsl:if test="$bgcolor != ''">
Packit Service 76cb02
          <xsl:attribute name="bgcolor">
Packit Service 76cb02
            <xsl:value-of select="$bgcolor"/>
Packit Service 76cb02
          </xsl:attribute>
Packit Service 76cb02
        </xsl:if>
Packit Service 76cb02
        <xsl:attribute name="tabletype">
Packit Service 76cb02
          <xsl:value-of select="$tabletype"/>
Packit Service 76cb02
        </xsl:attribute>
Packit Service 76cb02
        
Packit Service 76cb02
        
Packit Service 76cb02
        <xsl:element name="output">
Packit Service 76cb02
          <xsl:apply-templates select="." mode="output"/>
Packit Service 76cb02
        </xsl:element>
Packit Service 76cb02
      </xsl:copy>
Packit Service 76cb02
      
Packit Service 76cb02
      
Packit Service 76cb02
      
Packit Service 76cb02
                    not(following-sibling::*[self::entry or self::entrytbl][1])">
Packit Service 76cb02
        
Packit Service 76cb02
        <xsl:call-template name="tbl.blankentry">
Packit Service 76cb02
          <xsl:with-param name="colnum" select="$colend + 1"/>
Packit Service 76cb02
          <xsl:with-param name="colend" select="$cols"/>
Packit Service 76cb02
          <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
          <xsl:with-param name="rownum" select="$rownum"/>
Packit Service 76cb02
          <xsl:with-param name="rowcolor" select="$rowcolor"/>
Packit Service 76cb02
          <xsl:with-param name="entries" select="$entries"/>
Packit Service 76cb02
          <xsl:with-param name="tabletype" select="$tabletype"/>
Packit Service 76cb02
        </xsl:call-template>
Packit Service 76cb02
      </xsl:if>
Packit Service 76cb02
      
Packit Service 76cb02
      
Packit Service 76cb02
               select="following-sibling::*[self::entry or self::entrytbl][1]">
Packit Service 76cb02
        <xsl:with-param name="colnum" select="$colend + 1"/>
Packit Service 76cb02
        <xsl:with-param name="rownum" select="$rownum"/>
Packit Service 76cb02
        <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
        <xsl:with-param name="spanspec" select="$spanspec"/>
Packit Service 76cb02
        <xsl:with-param name="frame" select="$frame"/>
Packit Service 76cb02
        <xsl:with-param name="rowcolor" select="$rowcolor"/>
Packit Service 76cb02
        <xsl:with-param name="entries" select="$entries"/>
Packit Service 76cb02
        <xsl:with-param name="tabletype" select="$tabletype"/>
Packit Service 76cb02
      </xsl:apply-templates>
Packit Service 76cb02
    </xsl:otherwise></xsl:choose>
Packit Service 76cb02
  </xsl:if>  
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="entry|entrytbl" mode="newtbl">
Packit Service 76cb02
  <xsl:param name="colspec"/>
Packit Service 76cb02
  <xsl:param name="context"/>
Packit Service 76cb02
  <xsl:param name="frame"/>
Packit Service 76cb02
  <xsl:param name="rownum"/>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="cols" select="count($colspec/*)"/>
Packit Service 76cb02
  
Packit Service 76cb02
      <xsl:if test="@colstart > $cols">
Packit Service 76cb02
      <xsl:message>BANG</xsl:message>
Packit Service 76cb02
      </xsl:if>
Packit Service 76cb02
  -->
Packit Service 76cb02
  <xsl:if test="@colstart <= $cols">
Packit Service 76cb02
    
Packit Service 76cb02
    
Packit Service 76cb02
    
Packit Service 76cb02
                  select="$colspec/colspec[@colnum=current()/@colstart]/@autowidth"/>
Packit Service 76cb02
Packit Service 76cb02
    
Packit Service 76cb02
                  select="not($autowidth and (@rowstart != $rownum))"/>
Packit Service 76cb02
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:text>\multicolumn{</xsl:text>
Packit Service 76cb02
    <xsl:value-of select="@colend - @colstart + 1"/>
Packit Service 76cb02
    <xsl:text>}{</xsl:text>
Packit Service 76cb02
    <xsl:apply-templates select="." mode="tbl.colfmt">
Packit Service 76cb02
      <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
      <xsl:with-param name="frame" select="$frame"/>
Packit Service 76cb02
      <xsl:with-param name="autowidth" select="$autowidth"/>
Packit Service 76cb02
    </xsl:apply-templates>
Packit Service 76cb02
    <xsl:text>}{</xsl:text>
Packit Service 76cb02
    
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:if test="@morerows and @morerows > 0 and $moreprint">
Packit Service 76cb02
      
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:if test="not($autowidth)">
Packit Service 76cb02
        <xsl:text>\setlength{\newtblcolwidth}{</xsl:text>
Packit Service 76cb02
        
Packit Service 76cb02
        <xsl:call-template name="tbl.colwidth">
Packit Service 76cb02
          <xsl:with-param name="col" select="@colstart"/>
Packit Service 76cb02
          <xsl:with-param name="colend" select="@colend"/>
Packit Service 76cb02
          <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
        </xsl:call-template>
Packit Service 76cb02
        <xsl:text>}</xsl:text>
Packit Service 76cb02
      </xsl:if>
Packit Service 76cb02
      <xsl:text>\multirowii</xsl:text>
Packit Service 76cb02
      
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:if test="@valign and @valign!=''">
Packit Service 76cb02
        <xsl:choose>
Packit Service 76cb02
        <xsl:when test="@valign = 'top'"><xsl:text>[p]</xsl:text></xsl:when>
Packit Service 76cb02
        <xsl:when test="@valign = 'bottom'"><xsl:text>[b]</xsl:text></xsl:when>
Packit Service 76cb02
        <xsl:otherwise><xsl:text>[m]</xsl:text></xsl:otherwise>
Packit Service 76cb02
        </xsl:choose>
Packit Service 76cb02
      </xsl:if>
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:text>{</xsl:text>
Packit Service 76cb02
      <xsl:value-of select="@morerows + 1"/>
Packit Service 76cb02
      <xsl:choose>
Packit Service 76cb02
        <xsl:when test="not($autowidth)">
Packit Service 76cb02
          <xsl:text>}{</xsl:text>
Packit Service 76cb02
          
Packit Service 76cb02
          
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:if test="@rowstart != $rownum">
Packit Service 76cb02
            <xsl:text>-</xsl:text>
Packit Service 76cb02
          </xsl:if>
Packit Service 76cb02
          <xsl:text>\newtblcolwidth}{</xsl:text>
Packit Service 76cb02
        </xsl:when>
Packit Service 76cb02
        <xsl:otherwise>
Packit Service 76cb02
          <xsl:text>}{*}{</xsl:text>
Packit Service 76cb02
        </xsl:otherwise>
Packit Service 76cb02
      </xsl:choose>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:if test="@rotate and @rotate != 0">
Packit Service 76cb02
      <xsl:text>\rotatebox{90}{</xsl:text>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:if test="not($autowidth)">  
Packit Service 76cb02
      <xsl:choose>
Packit Service 76cb02
        <xsl:when test="@align = 'left'">
Packit Service 76cb02
          <xsl:text>\raggedright</xsl:text>
Packit Service 76cb02
        </xsl:when>
Packit Service 76cb02
        <xsl:when test="@align = 'right'">
Packit Service 76cb02
          <xsl:text>\raggedleft</xsl:text>
Packit Service 76cb02
        </xsl:when>
Packit Service 76cb02
        <xsl:when test="@align = 'center'">
Packit Service 76cb02
          <xsl:text>\centering</xsl:text>
Packit Service 76cb02
        </xsl:when>
Packit Service 76cb02
        <xsl:when test="@align = 'justify'"></xsl:when>
Packit Service 76cb02
        <xsl:when test="@align != ''">
Packit Service 76cb02
          <xsl:message>Word-wrapped alignment 
Packit Service 76cb02
          select="@align"/> not supported</xsl:message>
Packit Service 76cb02
        </xsl:when>
Packit Service 76cb02
      </xsl:choose>
Packit Service 76cb02
    </xsl:if>  
Packit Service 76cb02
    
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      <xsl:when test="$context = 'thead'">
Packit Service 76cb02
        <xsl:value-of select="$newtbl.format.thead"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:when test="$context = 'tbody'">
Packit Service 76cb02
        <xsl:value-of select="$newtbl.format.tbody"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:when test="$context = 'tfoot'">
Packit Service 76cb02
        <xsl:value-of select="$newtbl.format.tfoot"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:otherwise>
Packit Service 76cb02
        <xsl:message>Unknown context <xsl:value-of select="$context"/>
Packit Service 76cb02
        </xsl:message>
Packit Service 76cb02
      </xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
    
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:if test="$moreprint">
Packit Service 76cb02
      <xsl:text>%
</xsl:text>
Packit Service 76cb02
      <xsl:choose>
Packit Service 76cb02
        <xsl:when test="output">
Packit Service 76cb02
          <xsl:value-of select="output"/>
Packit Service 76cb02
        </xsl:when>
Packit Service 76cb02
        <xsl:otherwise>
Packit Service 76cb02
          <xsl:apply-templates select="." mode="output"/>
Packit Service 76cb02
        </xsl:otherwise>
Packit Service 76cb02
      </xsl:choose>
Packit Service 76cb02
      <xsl:text>%
</xsl:text>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:if test="@morerows and @morerows > 0 and $moreprint">
Packit Service 76cb02
      <xsl:text>}</xsl:text>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:if test="@rotate and @rotate != 0">
Packit Service 76cb02
      <xsl:text>}</xsl:text>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:text>}</xsl:text>
Packit Service 76cb02
    
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:if test="@colend != $cols">
Packit Service 76cb02
      <xsl:text>&</xsl:text>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    
Packit Service 76cb02
  </xsl:if> 
Packit Service 76cb02
  
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="entry" mode="output">
Packit Service 76cb02
  <xsl:call-template name="normalize-border">
Packit Service 76cb02
    <xsl:with-param name="string">
Packit Service 76cb02
      <xsl:apply-templates/>
Packit Service 76cb02
    </xsl:with-param>
Packit Service 76cb02
  </xsl:call-template>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="entrytbl" mode="output">
Packit Service 76cb02
  <xsl:call-template name="tgroup">
Packit Service 76cb02
    <xsl:with-param name="tablewidth" select="'\linewidth-2\arrayrulewidth'"/>
Packit Service 76cb02
    <xsl:with-param name="tableframe" select="'none'"/>
Packit Service 76cb02
  </xsl:call-template>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="clines.build">
Packit Service 76cb02
  <xsl:param name="entries"/>
Packit Service 76cb02
  <xsl:param name="rownum"/>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="thisrowsep" select="@rowsep"/>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:for-each select="$entries/*">
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:if test="@rowend = $rownum">
Packit Service 76cb02
      <xsl:variable name="dorowsep">
Packit Service 76cb02
        <xsl:choose>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="@rowsep">
Packit Service 76cb02
            <xsl:value-of select="@rowsep"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:when test="$thisrowsep">
Packit Service 76cb02
            <xsl:value-of select="$thisrowsep"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          
Packit Service 76cb02
          <xsl:otherwise>
Packit Service 76cb02
            <xsl:value-of select="@defrowsep"/>
Packit Service 76cb02
          </xsl:otherwise>
Packit Service 76cb02
        </xsl:choose>
Packit Service 76cb02
      </xsl:variable>
Packit Service 76cb02
      <xsl:if test="$dorowsep = 1">
Packit Service 76cb02
        <xsl:text>\cline{</xsl:text>
Packit Service 76cb02
        <xsl:value-of select="@colstart"/>
Packit Service 76cb02
        <xsl:text>-</xsl:text>
Packit Service 76cb02
        <xsl:value-of select="@colend"/>
Packit Service 76cb02
        <xsl:text>}</xsl:text>
Packit Service 76cb02
      </xsl:if>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
  </xsl:for-each>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="hhline.build">
Packit Service 76cb02
  <xsl:param name="entries"/>
Packit Service 76cb02
  <xsl:param name="rownum"/>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="thisrowsep" select="@rowsep"/>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:text>\hhline{</xsl:text>
Packit Service 76cb02
  <xsl:for-each select="$entries/*">
Packit Service 76cb02
    <xsl:variable name="dorowsep">
Packit Service 76cb02
      <xsl:choose>
Packit Service 76cb02
        
Packit Service 76cb02
        <xsl:when test="@rowend != $rownum">
Packit Service 76cb02
          <xsl:value-of select="0"/>
Packit Service 76cb02
        </xsl:when>
Packit Service 76cb02
        
Packit Service 76cb02
        <xsl:when test="@rowsep">
Packit Service 76cb02
          <xsl:value-of select="@rowsep"/>
Packit Service 76cb02
        </xsl:when>
Packit Service 76cb02
        
Packit Service 76cb02
        <xsl:when test="$thisrowsep">
Packit Service 76cb02
          <xsl:value-of select="$thisrowsep"/>
Packit Service 76cb02
        </xsl:when>
Packit Service 76cb02
        
Packit Service 76cb02
        <xsl:otherwise>
Packit Service 76cb02
          <xsl:value-of select="@defrowsep"/>
Packit Service 76cb02
        </xsl:otherwise>
Packit Service 76cb02
      </xsl:choose>
Packit Service 76cb02
    </xsl:variable>
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:variable name="hsep">
Packit Service 76cb02
      <xsl:choose>
Packit Service 76cb02
        <xsl:when test="$dorowsep = 1">-</xsl:when>
Packit Service 76cb02
        <xsl:otherwise>~</xsl:otherwise>
Packit Service 76cb02
      </xsl:choose>
Packit Service 76cb02
    </xsl:variable>
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      <xsl:when test="@colstart = @colend">
Packit Service 76cb02
        <xsl:value-of select="$hsep"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:otherwise>
Packit Service 76cb02
        <xsl:text>*{</xsl:text>
Packit Service 76cb02
        <xsl:value-of select="@colend - @colstart + 1"/>
Packit Service 76cb02
        <xsl:text>}{</xsl:text>
Packit Service 76cb02
        <xsl:value-of select="$hsep"/>
Packit Service 76cb02
        <xsl:text>}</xsl:text>
Packit Service 76cb02
      </xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
  </xsl:for-each>
Packit Service 76cb02
  <xsl:text>}</xsl:text>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="row" mode="newtbl">
Packit Service 76cb02
  <xsl:param name="tabletype"/>
Packit Service 76cb02
  <xsl:param name="rownum"/>
Packit Service 76cb02
  <xsl:param name="rows"/>
Packit Service 76cb02
  <xsl:param name="colspec"/>
Packit Service 76cb02
  <xsl:param name="spanspec"/>
Packit Service 76cb02
  <xsl:param name="frame"/>
Packit Service 76cb02
  <xsl:param name="oldentries"><nop/></xsl:param>
Packit Service 76cb02
  <xsl:param name="rowstack"/>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:variable name="bgcolor.pi">
Packit Service 76cb02
    <xsl:call-template name="pi.dblatex_bgcolor"/>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:variable name="rowcolor">
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      <xsl:when test="$bgcolor.pi!=''">
Packit Service 76cb02
        <xsl:value-of select="$bgcolor.pi"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:when test="ancestor::thead">
Packit Service 76cb02
        <xsl:value-of select="$newtbl.bgcolor.thead"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
   
Packit Service 76cb02
  <xsl:variable name="entries">
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      <xsl:when test="(entry|entrytbl)[1]">
Packit Service 76cb02
        <xsl:apply-templates mode="newtbl.buildentries" select="(entry|entrytbl)[1]">
Packit Service 76cb02
          <xsl:with-param name="colnum" select="1"/>
Packit Service 76cb02
          <xsl:with-param name="rownum" select="$rownum"/>
Packit Service 76cb02
          <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
          <xsl:with-param name="spanspec" select="$spanspec"/>
Packit Service 76cb02
          <xsl:with-param name="frame" select="$frame"/>
Packit Service 76cb02
          <xsl:with-param name="rowcolor" select="$rowcolor"/>
Packit Service 76cb02
          <xsl:with-param name="entries" select="exsl:node-set($oldentries)"/>
Packit Service 76cb02
          <xsl:with-param name="tabletype" select="$tabletype"/>
Packit Service 76cb02
        </xsl:apply-templates>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:otherwise>
Packit Service 76cb02
        <xsl:copy-of select="exsl:node-set($oldentries)"/>
Packit Service 76cb02
      </xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="context" select="local-name(..)"/>
Packit Service 76cb02
  <xsl:variable name="row-output">
Packit Service 76cb02
    <xsl:if test="$context = 'thead'">
Packit Service 76cb02
      <xsl:value-of select="$rowstack"/>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
    <xsl:if test="$rownum = 1">
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:if test="$frame = 'all' or $frame = 'top' or $frame = 'topbot'">
Packit Service 76cb02
        <xsl:text>\hline</xsl:text>
Packit Service 76cb02
      </xsl:if>
Packit Service 76cb02
      <xsl:text>
</xsl:text>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
    <xsl:apply-templates select="exsl:node-set($entries)/*" mode="newtbl">
Packit Service 76cb02
      <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
      <xsl:with-param name="frame" select="$frame"/>
Packit Service 76cb02
      <xsl:with-param name="context" select="$context"/>
Packit Service 76cb02
      <xsl:with-param name="rownum" select="$rownum"/>
Packit Service 76cb02
    </xsl:apply-templates>
Packit Service 76cb02
    
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:text>\tabularnewline
</xsl:text>
Packit Service 76cb02
    
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:if test="$rownum != $rows">
Packit Service 76cb02
      <xsl:choose>
Packit Service 76cb02
      <xsl:when test="$newtbl.use.hhline='1'">
Packit Service 76cb02
        <xsl:call-template name="hhline.build">
Packit Service 76cb02
          <xsl:with-param name="entries" select="exsl:node-set($entries)"/>
Packit Service 76cb02
          <xsl:with-param name="rownum" select="$rownum"/>
Packit Service 76cb02
        </xsl:call-template>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:otherwise>
Packit Service 76cb02
        <xsl:call-template name="clines.build">
Packit Service 76cb02
          <xsl:with-param name="entries" select="exsl:node-set($entries)"/>
Packit Service 76cb02
          <xsl:with-param name="rownum" select="$rownum"/>
Packit Service 76cb02
        </xsl:call-template>
Packit Service 76cb02
      </xsl:otherwise>
Packit Service 76cb02
      </xsl:choose>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="$context != 'thead'">
Packit Service 76cb02
    <xsl:value-of select="$row-output"/>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
    <xsl:when test="following-sibling::row[1]">
Packit Service 76cb02
      <xsl:apply-templates mode="newtbl" select="following-sibling::row[1]">
Packit Service 76cb02
        <xsl:with-param name="tabletype" select="$tabletype"/>
Packit Service 76cb02
        <xsl:with-param name="rownum" select="$rownum + 1"/>
Packit Service 76cb02
        <xsl:with-param name="rows" select="$rows"/>
Packit Service 76cb02
        <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
        <xsl:with-param name="spanspec" select="$spanspec"/>
Packit Service 76cb02
        <xsl:with-param name="frame" select="$frame"/>
Packit Service 76cb02
        <xsl:with-param name="oldentries" select="$entries"/>
Packit Service 76cb02
        <xsl:with-param name="rowstack" select="$row-output"/>
Packit Service 76cb02
      </xsl:apply-templates>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:when test="$context = 'tfoot'">
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:otherwise>
Packit Service 76cb02
      
Packit Service 76cb02
      <xsl:if test="$context = 'thead'">
Packit Service 76cb02
        
Packit Service 76cb02
                                     |ancestor::informaltable)[last()]"
Packit Service 76cb02
                             mode="newtbl.endhead">
Packit Service 76cb02
          <xsl:with-param name="tabletype" select="$tabletype"/>
Packit Service 76cb02
          <xsl:with-param name="headrows" select="$row-output"/>
Packit Service 76cb02
        </xsl:apply-templates>
Packit Service 76cb02
      </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
      
Packit Service 76cb02
                           select="(../following-sibling::tbody/row)[1]">
Packit Service 76cb02
        <xsl:with-param name="tabletype" select="$tabletype"/>
Packit Service 76cb02
        <xsl:with-param name="rownum" select="$rownum + 1"/>
Packit Service 76cb02
        <xsl:with-param name="rows" select="$rows"/>
Packit Service 76cb02
        <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
        <xsl:with-param name="spanspec" select="$spanspec"/>
Packit Service 76cb02
        <xsl:with-param name="frame" select="$frame"/>
Packit Service 76cb02
        <xsl:with-param name="oldentries" select="$entries"/>
Packit Service 76cb02
      </xsl:apply-templates>
Packit Service 76cb02
    </xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="tbl.colwidth">
Packit Service 76cb02
  <xsl:param name="col"/>
Packit Service 76cb02
  <xsl:param name="colend"/>
Packit Service 76cb02
  <xsl:param name="colspec"/>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:value-of select="$colspec/colspec[@colnum=$col]/@colwidth"/>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="$col < $colend">
Packit Service 76cb02
    <xsl:text>+2\tabcolsep+\arrayrulewidth+</xsl:text>
Packit Service 76cb02
    <xsl:call-template name="tbl.colwidth">
Packit Service 76cb02
      <xsl:with-param name="col" select="$col + 1"/>
Packit Service 76cb02
      <xsl:with-param name="colend" select="$colend"/>
Packit Service 76cb02
      <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="tbl.colwidth2">
Packit Service 76cb02
  <xsl:param name="col"/>
Packit Service 76cb02
  <xsl:param name="colend"/>
Packit Service 76cb02
  <xsl:param name="colspec"/>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:value-of select="$colspec/colspec[@colnum=$col]/@fixedwidth"/>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="$col < $colend">
Packit Service 76cb02
    <xsl:text>+</xsl:text>
Packit Service 76cb02
    <xsl:call-template name="tbl.colwidth2">
Packit Service 76cb02
      <xsl:with-param name="col" select="$col + 1"/>
Packit Service 76cb02
      <xsl:with-param name="colend" select="$colend"/>
Packit Service 76cb02
      <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="entry|entrytbl" mode="width.colfmt">
Packit Service 76cb02
  <xsl:param name="colspec"/>
Packit Service 76cb02
  <xsl:param name="color"/>
Packit Service 76cb02
  <xsl:param name="rsep"/>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="$color != ''">
Packit Service 76cb02
    <xsl:value-of select="concat('>{',$color,'}')"/>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="width">
Packit Service 76cb02
    <xsl:call-template name="tbl.colwidth">
Packit Service 76cb02
      <xsl:with-param name="col" select="@colstart"/>
Packit Service 76cb02
      <xsl:with-param name="colend" select="@colend"/>
Packit Service 76cb02
      <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
    <xsl:if test="$rsep = ''">
Packit Service 76cb02
      <xsl:text>+\arrayrulewidth</xsl:text>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    <xsl:if test="@coloff = 0">
Packit Service 76cb02
      <xsl:text>+2\tabcolsep</xsl:text>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
    <xsl:when test="@valign = 'top'">
Packit Service 76cb02
      <xsl:text>p</xsl:text>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:when test="@valign = 'bottom'">
Packit Service 76cb02
      <xsl:text>b</xsl:text>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:otherwise>
Packit Service 76cb02
      <xsl:text>m</xsl:text>
Packit Service 76cb02
    </xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:text>{</xsl:text>
Packit Service 76cb02
  <xsl:value-of select="$width"/>
Packit Service 76cb02
  <xsl:text>}</xsl:text>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="entry|entrytbl" mode="widthx.colfmt">
Packit Service 76cb02
  <xsl:param name="colspec"/>
Packit Service 76cb02
  <xsl:param name="color"/>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
                select="sum(exsl:node-set($colspec)/colspec
Packit Service 76cb02
                            [@colnum >= current()/@colstart and 
Packit Service 76cb02
                             @colnum <= current()/@colend]/@star)"/>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="width">
Packit Service 76cb02
    <xsl:call-template name="tbl.colwidth2">
Packit Service 76cb02
      <xsl:with-param name="col" select="@colstart"/>
Packit Service 76cb02
      <xsl:with-param name="colend" select="@colend"/>
Packit Service 76cb02
      <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
  <xsl:when test="$stars = 0">
Packit Service 76cb02
    <xsl:if test="$color != ''">
Packit Service 76cb02
      <xsl:value-of select="concat('>{',$color,'}')"/>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      <xsl:when test="@valign = 'top'">
Packit Service 76cb02
        <xsl:text>p</xsl:text>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:when test="@valign = 'bottom'">
Packit Service 76cb02
        <xsl:text>b</xsl:text>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:otherwise>
Packit Service 76cb02
        <xsl:text>m</xsl:text>
Packit Service 76cb02
      </xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:text>{</xsl:text>
Packit Service 76cb02
    <xsl:value-of select="$width"/>
Packit Service 76cb02
    <xsl:text>}</xsl:text>
Packit Service 76cb02
  </xsl:when>
Packit Service 76cb02
  <xsl:otherwise>
Packit Service 76cb02
    <xsl:text>>{</xsl:text>
Packit Service 76cb02
    <xsl:value-of select="$color"/>
Packit Service 76cb02
    <xsl:text>\setlength\hsize{</xsl:text>
Packit Service 76cb02
    <xsl:if test="$width != ''">
Packit Service 76cb02
      <xsl:value-of select="$width"/>
Packit Service 76cb02
      <xsl:text>+</xsl:text>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    <xsl:value-of select="$stars"/>
Packit Service 76cb02
    <xsl:text>\hsize}}X</xsl:text>
Packit Service 76cb02
  </xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="cals.frame">
Packit Service 76cb02
  <xsl:param name="frame"/>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
  <xsl:when test="$frame='void'">none</xsl:when>
Packit Service 76cb02
  <xsl:when test="$frame='above'">top</xsl:when>
Packit Service 76cb02
  <xsl:when test="$frame='below'">bottom</xsl:when>
Packit Service 76cb02
  <xsl:when test="$frame='hsides'">topbot</xsl:when>
Packit Service 76cb02
  <xsl:when test="$frame='vsides'">sides</xsl:when>
Packit Service 76cb02
  <xsl:when test="$frame='box'">all</xsl:when>
Packit Service 76cb02
  <xsl:when test="$frame='border'">all</xsl:when>
Packit Service 76cb02
  <xsl:otherwise>
Packit Service 76cb02
    <xsl:value-of select="$frame"/>
Packit Service 76cb02
  </xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="entry|entrytbl" mode="tbl.colfmt">
Packit Service 76cb02
  <xsl:param name="frame"/>
Packit Service 76cb02
  <xsl:param name="colspec"/>
Packit Service 76cb02
  <xsl:param name="autowidth"/>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="cols" select="count($colspec/*)"/>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="@colstart = 1 and ($frame = 'all' or $frame = 'sides')">
Packit Service 76cb02
    <xsl:text>|</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="rsep">
Packit Service 76cb02
    
Packit Service 76cb02
                  (@colend != $cols and @colsep = 1)">
Packit Service 76cb02
      <xsl:text>|</xsl:text>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="@coloff = 0">
Packit Service 76cb02
    <xsl:text>@{}</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="color">
Packit Service 76cb02
    <xsl:if test="@bgcolor != ''">
Packit Service 76cb02
      <xsl:text>\columncolor</xsl:text>
Packit Service 76cb02
      <xsl:call-template name="get-color">
Packit Service 76cb02
        <xsl:with-param name="color" select="@bgcolor"/>
Packit Service 76cb02
      </xsl:call-template>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
  <xsl:when test="not($autowidth)">
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
    <xsl:when test="@tabletype = 'tabularx'">
Packit Service 76cb02
      <xsl:apply-templates select="." mode="widthx.colfmt">
Packit Service 76cb02
        <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
        <xsl:with-param name="color" select="$color"/>
Packit Service 76cb02
      </xsl:apply-templates>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:otherwise>
Packit Service 76cb02
      <xsl:apply-templates select="." mode="width.colfmt">
Packit Service 76cb02
        <xsl:with-param name="colspec" select="$colspec"/>
Packit Service 76cb02
        <xsl:with-param name="color" select="$color"/>
Packit Service 76cb02
        <xsl:with-param name="rsep" select="$rsep"/>
Packit Service 76cb02
      </xsl:apply-templates>
Packit Service 76cb02
    </xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
  </xsl:when>
Packit Service 76cb02
  <xsl:otherwise>
Packit Service 76cb02
    <xsl:if test="$color != ''">
Packit Service 76cb02
      <xsl:value-of select="concat('>{',$color,'}')"/>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      <xsl:when test="@align = 'left'">l</xsl:when>
Packit Service 76cb02
      <xsl:when test="@align = 'right'">r</xsl:when>
Packit Service 76cb02
      <xsl:when test="@align = 'center'">c</xsl:when>
Packit Service 76cb02
      <xsl:otherwise>c</xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
  </xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="@coloff = 0">
Packit Service 76cb02
    <xsl:text>@{}</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:value-of select="$rsep"/>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="table.width">
Packit Service 76cb02
  <xsl:param name="fullwidth"/>
Packit Service 76cb02
  <xsl:param name="exclude"/>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:variable name="piwidth">
Packit Service 76cb02
    <xsl:call-template name="pi.dblatex_table-width">
Packit Service 76cb02
      <xsl:with-param name="node" select=".."/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="width">
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      
Packit Service 76cb02
                      ($exclude='' or not(contains($piwidth,$exclude)))">
Packit Service 76cb02
        <xsl:value-of select="$piwidth"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      
Packit Service 76cb02
                      ($exclude='' or not(contains(../@width,$exclude)))">
Packit Service 76cb02
        <xsl:value-of select="(@width|../@width)[last()]"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      
Packit Service 76cb02
                      ($exclude='' or
Packit Service 76cb02
                      not(contains($default.table.width,$exclude)))">
Packit Service 76cb02
        <xsl:value-of select="$default.table.width"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:otherwise>
Packit Service 76cb02
        <xsl:value-of select="$fullwidth"/>
Packit Service 76cb02
      </xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
    <xsl:when test="contains($width, '%')">
Packit Service 76cb02
      <xsl:value-of select="number(substring-before($width, '%')) div 100"/>
Packit Service 76cb02
      <xsl:value-of select="$fullwidth"/>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:otherwise>
Packit Service 76cb02
      <xsl:value-of select="$width"/>
Packit Service 76cb02
    </xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="tbl.sizes">
Packit Service 76cb02
  <xsl:param name="colspec"/>
Packit Service 76cb02
  <xsl:param name="width"/>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:text>\setlength{\newtblsparewidth}{</xsl:text>
Packit Service 76cb02
  <xsl:value-of select="$width"/>
Packit Service 76cb02
  <xsl:for-each select="$colspec/*">
Packit Service 76cb02
    <xsl:if test="@fixedwidth">
Packit Service 76cb02
      <xsl:text>-</xsl:text>
Packit Service 76cb02
      <xsl:value-of select="translate(@fixedwidth,'+','-')"/>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    <xsl:text>-2\tabcolsep</xsl:text>
Packit Service 76cb02
  </xsl:for-each>
Packit Service 76cb02
  <xsl:text>}%
</xsl:text>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
                select="sum($colspec/colspec/@star)"/>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="$numunknown > 0">
Packit Service 76cb02
    <xsl:text>\setlength{\newtblstarfactor}{\newtblsparewidth / \real{</xsl:text>
Packit Service 76cb02
    <xsl:value-of select="$numunknown"/>
Packit Service 76cb02
    <xsl:text>}}%
</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="tbl.valign.x">
Packit Service 76cb02
  <xsl:param name="valign"/>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:variable name="valign.param">
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
    <xsl:when test="$valign = 'top'"><xsl:text>p</xsl:text></xsl:when>
Packit Service 76cb02
    <xsl:when test="$valign = 'bottom'"><xsl:text>b</xsl:text></xsl:when>
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:otherwise><xsl:text>m</xsl:text></xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:text>\def\tabularxcolumn#1{</xsl:text>
Packit Service 76cb02
  <xsl:value-of select="$valign.param"/>
Packit Service 76cb02
  <xsl:text>{#1}}</xsl:text>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="tbl.begin">
Packit Service 76cb02
  <xsl:param name="colspec"/>
Packit Service 76cb02
  <xsl:param name="tabletype"/>
Packit Service 76cb02
  <xsl:param name="width"/>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:text>\begin{</xsl:text>
Packit Service 76cb02
  <xsl:value-of select="$tabletype"/>
Packit Service 76cb02
  <xsl:text>}</xsl:text>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
  <xsl:when test="$tabletype = 'tabularx'">
Packit Service 76cb02
    <xsl:text>{</xsl:text>
Packit Service 76cb02
    <xsl:value-of select="$width"/>
Packit Service 76cb02
    <xsl:text>}{</xsl:text>
Packit Service 76cb02
    <xsl:for-each select="$colspec/*">
Packit Service 76cb02
      <xsl:choose>
Packit Service 76cb02
      <xsl:when test="@star">
Packit Service 76cb02
        <xsl:text>>{\hsize=</xsl:text>
Packit Service 76cb02
        <xsl:if test="@fixedwidth">
Packit Service 76cb02
          <xsl:value-of select="@fixedwidth"/>
Packit Service 76cb02
          <xsl:text>+</xsl:text>
Packit Service 76cb02
        </xsl:if>
Packit Service 76cb02
        <xsl:value-of select="@star"/>
Packit Service 76cb02
        <xsl:text>\hsize}X</xsl:text>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:otherwise>
Packit Service 76cb02
        <xsl:text>l</xsl:text>
Packit Service 76cb02
      </xsl:otherwise>
Packit Service 76cb02
      </xsl:choose>
Packit Service 76cb02
    </xsl:for-each>
Packit Service 76cb02
    <xsl:text>}</xsl:text>
Packit Service 76cb02
  </xsl:when>
Packit Service 76cb02
  <xsl:otherwise>
Packit Service 76cb02
    <xsl:text>{</xsl:text>
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:for-each select="$colspec/*">
Packit Service 76cb02
      <xsl:text>l</xsl:text>
Packit Service 76cb02
    </xsl:for-each>
Packit Service 76cb02
    <xsl:text>}</xsl:text>
Packit Service 76cb02
  </xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="tgroup" mode="newtbl" name="tgroup">
Packit Service 76cb02
  <xsl:param name="tabletype">tabular</xsl:param>
Packit Service 76cb02
  <xsl:param name="tablewidth">\linewidth-2\tabcolsep</xsl:param>
Packit Service 76cb02
  <xsl:param name="tableframe">all</xsl:param>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="not(self::entrytbl)">
Packit Service 76cb02
    <xsl:apply-templates mode="save.verbatim"/>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
  <xsl:text>\begingroup%
</xsl:text>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="../@cellpadding">
Packit Service 76cb02
    <xsl:text>\setlength{\tabcolsep}{</xsl:text>
Packit Service 76cb02
    <xsl:value-of select="../@cellpadding"/>
Packit Service 76cb02
    <xsl:text>}%
</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="cols">
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      <xsl:when test="@cols">
Packit Service 76cb02
        <xsl:value-of select="@cols"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:otherwise>
Packit Service 76cb02
        
Packit Service 76cb02
                              self::entrytbl])"/>
Packit Service 76cb02
        <xsl:message>Warning: table's tgroup lacks cols attribute. 
Packit Service 76cb02
        Assuming <xsl:value-of select="count(tbody/row[1]/*)"/>.
Packit Service 76cb02
        </xsl:message>
Packit Service 76cb02
      </xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="rows" select="count(*/row)"/>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="$rows = 0">
Packit Service 76cb02
    <xsl:message>Warning: 0 rows</xsl:message>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="table.width">
Packit Service 76cb02
    <xsl:call-template name="table.width">
Packit Service 76cb02
      <xsl:with-param name="fullwidth" select="$tablewidth"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="width">
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      <xsl:when test="not(contains($table.width,'auto'))">
Packit Service 76cb02
        <xsl:value-of select="$table.width"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:otherwise>
Packit Service 76cb02
        <xsl:call-template name="table.width">
Packit Service 76cb02
          <xsl:with-param name="fullwidth" select="$tablewidth"/>
Packit Service 76cb02
          <xsl:with-param name="exclude" select="'auto'"/>
Packit Service 76cb02
        </xsl:call-template>
Packit Service 76cb02
      </xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="autowidth">
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      <xsl:when test="contains($table.width,'auto')">
Packit Service 76cb02
        
Packit Service 76cb02
        <xsl:value-of select="$table.width"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:otherwise><xsl:value-of select="$newtbl.autowidth"/></xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
                select="@align|parent::node()[not(*/@align)]/@align"/>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
                select="@colsep|parent::node()[not(*/@colsep)]/@colsep"/>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
                select="@rowsep|parent::node()[not(*/@rowsep)]/@rowsep"/>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="frame">
Packit Service 76cb02
    <xsl:choose>
Packit Service 76cb02
      <xsl:when test="../@frame">
Packit Service 76cb02
        <xsl:value-of select="../@frame"/>
Packit Service 76cb02
      </xsl:when>
Packit Service 76cb02
      <xsl:otherwise><xsl:value-of select="$tableframe"/></xsl:otherwise>
Packit Service 76cb02
    </xsl:choose>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="colspec">
Packit Service 76cb02
    <xsl:call-template name="tbl.colspec">
Packit Service 76cb02
      <xsl:with-param name="autowidth" select="$autowidth"/>
Packit Service 76cb02
      <xsl:with-param name="cols" select="$cols"/>
Packit Service 76cb02
      <xsl:with-param name="rowsep">
Packit Service 76cb02
        <xsl:choose>
Packit Service 76cb02
          <xsl:when test="$rowsep"><xsl:value-of select="$rowsep"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:when test="$newtbl.default.rowsep">
Packit Service 76cb02
            <xsl:value-of select="$newtbl.default.rowsep"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:otherwise>1</xsl:otherwise>
Packit Service 76cb02
        </xsl:choose>
Packit Service 76cb02
      </xsl:with-param>
Packit Service 76cb02
      <xsl:with-param name="colsep">
Packit Service 76cb02
        <xsl:choose>
Packit Service 76cb02
          <xsl:when test="$colsep"><xsl:value-of select="$colsep"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:when test="$newtbl.default.colsep">
Packit Service 76cb02
            <xsl:value-of select="$newtbl.default.colsep"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:otherwise>1</xsl:otherwise>
Packit Service 76cb02
        </xsl:choose>
Packit Service 76cb02
      </xsl:with-param>
Packit Service 76cb02
      <xsl:with-param name="align">
Packit Service 76cb02
        <xsl:choose>
Packit Service 76cb02
          <xsl:when test="$align"><xsl:value-of select="$align"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:otherwise>left</xsl:otherwise>
Packit Service 76cb02
        </xsl:choose>
Packit Service 76cb02
      </xsl:with-param>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="spanspec" select="spanspec"/>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:if test="$tabletype != 'tabularx'">
Packit Service 76cb02
    <xsl:call-template name="tbl.sizes">
Packit Service 76cb02
      <xsl:with-param name="colspec" select="exsl:node-set($colspec)"/>
Packit Service 76cb02
      <xsl:with-param name="width" select="$width"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:if test="$tabletype = 'tabularx'">
Packit Service 76cb02
    <xsl:call-template name="tbl.valign.x">
Packit Service 76cb02
      <xsl:with-param name="valign" select="tbody/@valign"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="preceding::tgroup">
Packit Service 76cb02
    <xsl:text>
</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:call-template name="tbl.begin">
Packit Service 76cb02
    <xsl:with-param name="colspec" select="exsl:node-set($colspec)"/>
Packit Service 76cb02
    <xsl:with-param name="tabletype" select="$tabletype"/>
Packit Service 76cb02
    <xsl:with-param name="width" select="$width"/>
Packit Service 76cb02
  </xsl:call-template>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:if test="not(thead)">
Packit Service 76cb02
    
Packit Service 76cb02
                                 |ancestor::informaltable)[last()]"
Packit Service 76cb02
                         mode="newtbl.endhead">
Packit Service 76cb02
      <xsl:with-param name="tabletype" select="$tabletype"/>
Packit Service 76cb02
    </xsl:apply-templates>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
 
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:apply-templates mode="newtbl" select="((thead|tbody)/row)[1]">
Packit Service 76cb02
    <xsl:with-param name="tabletype" select="$tabletype"/>
Packit Service 76cb02
    <xsl:with-param name="rownum" select="1"/>
Packit Service 76cb02
    <xsl:with-param name="rows" select="$rows"/>
Packit Service 76cb02
    <xsl:with-param name="frame" select="$frame"/>
Packit Service 76cb02
    <xsl:with-param name="colspec" select="exsl:node-set($colspec)"/>
Packit Service 76cb02
    <xsl:with-param name="spanspec" select="exsl:node-set($spanspec)"/>
Packit Service 76cb02
  </xsl:apply-templates>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:apply-templates mode="newtbl" select="tfoot/row[1]">
Packit Service 76cb02
    <xsl:with-param name="tabletype" select="$tabletype"/>
Packit Service 76cb02
    <xsl:with-param name="rownum" select="count(thead/row|tbody/row)+1"/>
Packit Service 76cb02
    <xsl:with-param name="rows" select="$rows"/>
Packit Service 76cb02
    <xsl:with-param name="frame" select="$frame"/>
Packit Service 76cb02
    <xsl:with-param name="colspec" select="exsl:node-set($colspec)"/>
Packit Service 76cb02
    <xsl:with-param name="spanspec" select="exsl:node-set($spanspec)"/>
Packit Service 76cb02
  </xsl:apply-templates>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="$frame = 'all' or $frame = 'bottom' or $frame = 'topbot'">
Packit Service 76cb02
    <xsl:text>\hline</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
  <xsl:text>
</xsl:text>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:text>\end{</xsl:text>
Packit Service 76cb02
  <xsl:value-of select="$tabletype"/>
Packit Service 76cb02
  <xsl:text>}\endgroup%
</xsl:text>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
</xsl:stylesheet>