OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] 'Next' and 'Previous' navigation link of header and footer content not working for HTML report with docbook 1.74.3


Hi,
 
I upgraded my customize stylesheet as mentioned on the following link pointed by you. But still I am not able to get ''Next' and 'Previous' navigation link to work on my html report.
 
I have attached my two customize stylesheet here. Can you please take a look in to it and tell me what is wrong in it?

I have added the reference for 'docbook.xsl  in file ''HTMLDocbookPublish_External.xsl". and "HTMLPublish_External.xsl" file imports file ''HTMLDocbookPublish_External.xsl".
 
Thanks,
Bela.
On Tue, Mar 10, 2009 at 4:53 PM, Bob Stayton <bobs@sagehill.net> wrote:
Hi,
The method of creating a customization layer for chunked HTML output changed a bit between those versions.  It takes two XSL modules for the xsl:imports to work properly.  See this documentation to see how to set it up:
 
http://www.sagehill.net/docbookxsl/ChunkingCustomization.html
 
Bob Stayton
Sagehill Enterprises
bobs@sagehill.net
 
 
----- Original Message -----
From: Bela Patel
Sent: Tuesday, March 10, 2009 1:11 PM
Subject: [docbook-apps] 'Next' and 'Previous' navigation link of header and footer content not working for HTML report with docbook 1.74.3

Hi,
 
I just upgraded docbook version from 1.67.0 to 1.74.3 and I am havig issue with 'Next' and 'Previous' navigation link on the header and footer on HTML report.
 
with version 1.67.0 these links used to work perfectly fine.
 
But after upgrading to 1.74.3, when I click on 'Next' or 'Prevoius' link  it just displays the blank page with text  'false'. it does not show the appropiate page.
 
Any idea for this issue.
 
Thanks,
Bela.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; xmlns:fo="http://www.w3.org/1999/XSL/Format"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:fn="http://www.w3.org/2005/02/xpath-functions"; xmlns:xdt="http://www.w3.org/2005/02/xpath-datatypes";>
	<xsl:import href="../../Tools/docbook-xsl-1.74.3/html/docbook.xsl"/>
	<xsl:param name="html.stylesheet" select="'AddStyle.css'"/>
	<xsl:param name="admon.graphics" select="1"/>
	<xsl:param name="generate.legalnotice.link" select="1"/>
	<xsl:param name="chapter.autolabel" select="1"/>
	<xsl:param name="section.autolabel" select="1"/>
	<xsl:param name="draft.mode" select="'no'"/>
	<xsl:param name="section.autolabel.max.depth" select="100"/>
	<!--chapter toc TO chapter nop  (for frameset), For List of Tables Add to book: figure,table,example,equation,procedure-->
	<xsl:param name="generate.toc">
 appendix  nop
 article   toc,title
 book      toc,title
 chapter   nop
 part       title
 preface   title
 qandadiv  nop
 qandaset  nop
 reference toc,title
 section   toc,title
 set       toc
 </xsl:param>
	<xsl:param name="generate.section.toc.level" select="0"/>
	<xsl:param name="toc.list.type">ul</xsl:param>
	<xsl:param name="toc.section.depth" select="5"/>
	<!--<xsl:param name="ulink.target" select="'_blank'"></xsl:param>-->
	<xsl:param name="chunk.tocs.and.lots" select="1"/>
	<!--seperate chunk for figures and tables-->
	<xsl:param name="chunk.separate.lots" select="1"/>
	<!--This parameter sets the depth of section chunking.-->
	<xsl:param name="chunk.section.depth" select="2"></xsl:param>
	<xsl:param name="chunk.first.sections" select="1"/>
	<!--add chapter to section numbers(ids)-->
	<xsl:param name="section.label.includes.component.label" select="1"/>
	<xsl:param name="component.label.includes.part.label" select="1"/>
	<xsl:param name="use.id.as.filename" select="'1'"/>
	<!-- book      toc,title,figure,table,example,equation-->
	<xsl:include href="../Publish/HTMLTitlePage_External.xsl"/>
	<!-- ==================================================================== -->
	<!--  Removes detailed version of TOC from Main Page (Comment out if using frameset for TOC)
	<xsl:template match="preface|chapter|appendix|article" mode="toc">
		<xsl:param name="toc-context" select="."/>
		<xsl:choose>
			<xsl:when test="local-name($toc-context) = 'book'">
				<xsl:call-template name="subtoc">
					<xsl:with-param name="toc-context" select="$toc-context"/>
					<xsl:with-param name="nodes" select="foo"/>
				</xsl:call-template>
			</xsl:when>
			<xsl:otherwise>
				<xsl:call-template name="subtoc">
					<xsl:with-param name="toc-context" select="$toc-context"/>
					<xsl:with-param name="nodes" select="section|sect1|glossary|bibliography|index
                     |bridgehead[$bridgehead.in.toc != 0]"/>
				</xsl:call-template>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>-->
	<!-- ==================================================================== -->
	<!--If role="'newwindow'" then ulink opens in newwindow, else opens in the same window-->
	<xsl:template match="ulink" name="ulink">
		<xsl:variable name="link">
			<a>
				<xsl:if test="@id">
					<xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute>
				</xsl:if>
				<xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
				<!-- Begin Change by MW -->
				<xsl:if test="@role = 'newwindow'">
					<xsl:attribute name="target"><xsl:text>_blank</xsl:text></xsl:attribute>
				</xsl:if>
				<!-- End Change -->
				<xsl:choose>
					<xsl:when test="count(child::node())=0">
						<xsl:value-of select="@url"/>
					</xsl:when>
					<xsl:otherwise>
						<xsl:apply-templates/>
					</xsl:otherwise>
				</xsl:choose>
			</a>
		</xsl:variable>
		<xsl:copy-of select="$link"/>
	</xsl:template>
	<!-- ==================================================================== -->
	<xsl:template match="preface">
		<xsl:call-template name="preface.titlepage"/>
		<xsl:apply-templates/>
	</xsl:template>
	<!-- ==================================================================== -->
	<!--Creating Glossary TOC-->
	<xsl:param name="glossterm.auto.link" select="1"/>
	<xsl:template match="glossary">
		<xsl:call-template name="toc"/>
		<div class="{name(.)}">
			<xsl:if test="$generate.id.attributes != 0">
				<xsl:attribute name="id"><xsl:call-template name="object.id"/></xsl:attribute>
			</xsl:if>
			<xsl:call-template name="glossary.titlepage"/>
			<xsl:choose>
				<xsl:when test="glossdiv">
					<xsl:apply-templates select="(glossdiv[1]/preceding-sibling::*)"/>
				</xsl:when>
				<xsl:otherwise>
					<xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
				</xsl:otherwise>
			</xsl:choose>
			<xsl:choose>
				<xsl:when test="glossdiv">
					<xsl:apply-templates select="glossdiv"/>
				</xsl:when>
				<xsl:otherwise>
					<dl>
						<xsl:apply-templates select="glossentry"/>
					</dl>
				</xsl:otherwise>
			</xsl:choose>
			<xsl:if test="not(parent::article)">
				<xsl:call-template name="process.footnotes"/>
			</xsl:if>
		</div>
	</xsl:template>
	<!-- ==================================================================== -->
	<!-- Create Glossary (Type Dictionary) TOC template-->
	<xsl:variable name="uc" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
	<xsl:variable name="lc" select="'abcdefghijklmnopqrstuvwxyz'"/>
	<xsl:key name="acr" match="glossentry/glossterm" use="translate(substring(.,1,1),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
	<xsl:template name="toc">
		<h3>Table of Contents</h3>
		<xsl:for-each select="glossdiv">
			<ul>
				<p>
					<xsl:for-each select="glossentry[count(glossterm | key('acr',
   translate (substring(glossterm,1,1),
     'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890@',
     'abcdefghijklmnopqrstuvwxyz###########'))[1]) = 1]">
						<!--<li>-->
						<xsl:variable name="id">
							<xsl:choose>
								<xsl:when test="@id">
									<xsl:value-of select="@id"/>
								</xsl:when>
								<xsl:otherwise>
									<xsl:value-of select="generate-id()"/>
								</xsl:otherwise>
							</xsl:choose>
						</xsl:variable>
						<a href="#{$id}">
							<xsl:value-of select="substring(glossterm,1,1)"/>
						</a>
						<xsl:if test="not(position()=last())">
							<xsl:text> | </xsl:text>
						</xsl:if>
						<!--	</li>-->
					</xsl:for-each>
				</p>
			</ul>
		</xsl:for-each>
	</xsl:template>
	<!-- ==================================================================== -->
	<!-- Changing the style of procedure-->
	<!--StepAlternatives template (style change)-->
	<xsl:template match="procedure">
		<xsl:variable name="param.placement" select="substring-after(normalize-space($formal.title.placement),
                                        concat(local-name(.), ' '))"/>
		<xsl:variable name="placement">
			<xsl:choose>
				<xsl:when test="contains($param.placement, ' ')">
					<xsl:value-of select="substring-before($param.placement, ' ')"/>
				</xsl:when>
				<xsl:when test="$param.placement = ''">before</xsl:when>
				<xsl:otherwise>
					<xsl:value-of select="$param.placement"/>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:variable>
		<!-- Preserve order of PIs and comments -->
		<xsl:variable name="preamble" select="*[not(self::step
                  or self::title
                  or self::titleabbrev)]
                |comment()[not(preceding-sibling::step)]
                |processing-instruction()[not(preceding-sibling::step)]"/>
		<div class="{name(.)}">
			<xsl:call-template name="anchor">
				<xsl:with-param name="conditional">
					<xsl:choose>
						<xsl:when test="title">0</xsl:when>
						<xsl:otherwise>1</xsl:otherwise>
					</xsl:choose>
				</xsl:with-param>
			</xsl:call-template>
			<xsl:if test="title and $placement = 'before'">
				<xsl:call-template name="formal.object.heading"/>
			</xsl:if>
			<xsl:apply-templates select="$preamble"/>
			<xsl:choose>
				<xsl:when test="count(step) = 1">
					<ol>
						<xsl:attribute name="type"><xsl:value-of select="substring($procedure.step.numeration.formats,1,1)"/></xsl:attribute>
						<xsl:apply-templates select="step
                    |comment()[preceding-sibling::step]
                    |processing-instruction()[preceding-sibling::step]"/>
					</ol>
				</xsl:when>
				<xsl:otherwise>
					<ol>
						<xsl:attribute name="type"><xsl:value-of select="substring($procedure.step.numeration.formats,1,1)"/></xsl:attribute>
						<xsl:apply-templates select="step
                    |comment()[preceding-sibling::step]
                    |processing-instruction()[preceding-sibling::step]"/>
					</ol>
				</xsl:otherwise>
			</xsl:choose>
			<xsl:if test="title and $placement != 'before'">
				<xsl:call-template name="formal.object.heading"/>
			</xsl:if>
		</div>
	</xsl:template>
	<!-- ==================================================================== -->
	<xsl:template match="procedure/title">
		<!-- nop -->
	</xsl:template>
	<!-- ==================================================================== -->
	<xsl:template match="substeps">
		<xsl:variable name="numeration">
			<xsl:call-template name="procedure.step.numeration"/>
		</xsl:variable>
		<xsl:call-template name="anchor"/>
		<ol type="{$numeration}">
			<xsl:apply-templates/>
		</ol>
	</xsl:template>
	<!-- ==================================================================== -->
	<xsl:template match="step">
		<li>
			<xsl:call-template name="anchor"/>
			<xsl:apply-templates/>
		</li>
	</xsl:template>
	<!-- ==================================================================== -->
	<xsl:template match="stepalternatives">
		<xsl:call-template name="anchor"/>
		<xsl:call-template name="getAlt">
			<xsl:with-param name="data" select="."/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template name="getAlt">
		<xsl:param name="data"/>
		<xsl:for-each select="$data/step">
			<p style="margin-left: 12px;">
				<font style="font-style:italic;">Alternative: </font>
				<xsl:apply-templates/>
				<br/>
			</p>
		</xsl:for-each>
	</xsl:template>
	<!-- ==================================================================== -->
	<xsl:template match="step/*[1][local-name()='para' or 
                                   local-name()='simpara' or 
                                   local-name()='formalpara']" priority="2">
		<xsl:call-template name="anchor"/>
		<xsl:apply-templates/>
	</xsl:template>
	<xsl:template match="step/title">
		<p class="title">
			<b>
				<xsl:apply-templates/>
			</b>
		</p>
	</xsl:template>
	<!--============================================-->
	<xsl:template match="*[@role='notintoc']" mode="toc" priority="2"/>
	
	
	<xsl:template match="itemizedlist/listitem">
  <xsl:variable name="mark" select="../@mark"/>
  <xsl:variable name="override" select="@override"/>
  <xsl:variable name="class" select="@class"/>
  

  <xsl:variable name="usemark">
    <xsl:choose>
      <xsl:when test="$override != ''">
        <xsl:value-of select="$override"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="$mark"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:variable>

  <xsl:variable name="cssmark">
    <xsl:choose>
      <xsl:when test="$usemark = 'opencircle'">circle</xsl:when>
      <xsl:when test="$usemark = 'bullet'">disc</xsl:when>
      <xsl:when test="$usemark = 'box'">square</xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="$usemark"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:variable>

  <li>
    <xsl:if test="$css.decoration = '1' and $cssmark != ''">
      <xsl:attribute name="style">
        <xsl:text>list-style-type: </xsl:text>
        <xsl:value-of select="$cssmark"/>
      </xsl:attribute>
    </xsl:if>
    <xsl:attribute name="class">
		<xsl:value-of select="$class"/>
    </xsl:attribute>

    <!-- we can't just drop the anchor in since some browsers (Opera)
         get confused about line breaks if we do. So if the first child
         is a para, assume the para will put in the anchor. Otherwise,
         put the anchor in anyway. -->
    <xsl:if test="local-name(child::*[1]) != 'para'">
      <xsl:call-template name="anchor"/>
    </xsl:if>

    <xsl:choose>
      <xsl:when test="$show.revisionflag != 0 and @revisionflag">
        <div class="{@revisionflag}">
          <xsl:apply-templates/>
        </div>
      </xsl:when>
      <xsl:otherwise>
        <xsl:apply-templates/>
      </xsl:otherwise>
    </xsl:choose>
  </li>
</xsl:template>


	<!--Test Hover text-->
	<!-- ==================================================================== -->
	<!--
<xsl:template match="link" name="link">
  <xsl:param name="a.target"/>

  <xsl:variable name="targets" select="key('id',@linkend)"/>
  <xsl:variable name="target" select="$targets[1]"/>

  <xsl:call-template name="check.id.unique">
    <xsl:with-param name="linkend" select="@linkend"/>
  </xsl:call-template>

  <a>
    <xsl:if test="@id">
      <xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute>
      <xsl:if test="@id='HoverDesc'">
		  <xsl:attribute name="class">
			  <xsl:value-of select="'change'"/>
		  </xsl:attribute>-->
	<!--comment start		  <xsl:attribute name="onMouseover">
			  <xsl:variable name="testVar">
				alert('<xsl:value-of select="@desc"/>')
			  </xsl:variable>
		  <xsl:value-of select="$testVar"/></xsl:attribute>
		  <xsl:element name="span">
			  <xsl:value-of select="@desc"/>
		  </xsl:element> comment end-->
	<!--      </xsl:if>
    </xsl:if>

    <xsl:if test="$a.target">
      <xsl:attribute name="target"><xsl:value-of select="$a.target"/></xsl:attribute>
    </xsl:if>

    <xsl:attribute name="href">
      <xsl:call-template name="href.target">
        <xsl:with-param name="object" select="$target"/>
      </xsl:call-template>
    </xsl:attribute>-->
	<!-- FIXME: is there a better way to tell what elements have a title? -->
	<!-- <xsl:if test="local-name($target) = 'book'
                  or local-name($target) = 'set'
                  or local-name($target) = 'chapter'
                  or local-name($target) = 'preface'
                  or local-name($target) = 'appendix'
                  or local-name($target) = 'bibliography'
                  or local-name($target) = 'glossary'
                  or local-name($target) = 'index'
                  or local-name($target) = 'part'
                  or local-name($target) = 'refentry'
                  or local-name($target) = 'reference'
                  or local-name($target) = 'example'
                  or local-name($target) = 'equation'
                  or local-name($target) = 'table'
                  or local-name($target) = 'figure'
                  or local-name($target) = 'simplesect'
                  or starts-with(local-name($target),'sect')
                  or starts-with(local-name($target),'refsect')">
      <xsl:attribute name="title">
        <xsl:apply-templates select="$target"
                             mode="object.title.markup.textonly"/>
      </xsl:attribute>
    </xsl:if>

    <xsl:choose>
      <xsl:when test="count(child::node()) &gt; 0">-->
	<!-- If it has content, use it -->
	<!--        <xsl:apply-templates/>
      </xsl:when>
      <xsl:otherwise>-->
	<!-- else look for an endterm -->
	<!--       <xsl:choose>
          <xsl:when test="@endterm">
            <xsl:variable name="etargets" select="key('id',@endterm)"/>
            <xsl:variable name="etarget" select="$etargets[1]"/>
            <xsl:choose>
              <xsl:when test="count($etarget) = 0">
                <xsl:message>
                  <xsl:value-of select="count($etargets)"/>
                  <xsl:text>Endterm points to nonexistent ID: </xsl:text>
                  <xsl:value-of select="@endterm"/>
                </xsl:message>
                <xsl:text>???</xsl:text>
              </xsl:when>
              <xsl:otherwise>
                  <xsl:apply-templates select="$etarget" mode="endterm"/>
              </xsl:otherwise>
            </xsl:choose>
          </xsl:when>

          <xsl:otherwise>
            <xsl:message>
              <xsl:text>Link element has no content and no Endterm. </xsl:text>
              <xsl:text>Nothing to show in the link to </xsl:text>
              <xsl:value-of select="$target"/>
            </xsl:message>
            <xsl:text>???</xsl:text>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:otherwise>
    </xsl:choose>
          <xsl:if test="@id='HoverDesc'">
		  <xsl:element name="span">
			  <xsl:value-of select="@desc"/>
		  </xsl:element>
      </xsl:if>

  </a>
</xsl:template> -->
<xsl:template match="hr">
<hr></hr>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [
	<!ENTITY nbsp "&#160;">
	<!ENTITY check "&#2713;">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; xmlns:exsl="http://exslt.org/common"; exclude-result-prefixes="exsl" xmlns:fo="http://www.w3.org/1999/XSL/Format"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:fn="http://www.w3.org/2005/02/xpath-functions"; xmlns:xdt="http://www.w3.org/2005/02/xpath-datatypes"; xmlns:date="http://exslt.org/dates-and-times";>
	<xsl:import href="HTMLDocBookPublish_External.xsl"/>
	<xsl:import href="../../Tools/docbook-xsl-1.74.3/html/chunk-common.xsl"/>
	<xsl:include href="../../Tools/docbook-xsl-1.74.3/html/chunk-code.xsl"/>
	<xsl:include href="../Publish/HTMLTitlePage_External.xsl"/>
	

	<xsl:output method="html" encoding="UTF-8" indent="no"/>
	<xsl:param name="navig.graphics" select="1"/>
	<xsl:param name="suppress.navigation" select="0"/>
	<xsl:template name="user.header.navigation">
	</xsl:template>
	<xsl:template name="user.footer.navigation">
		<table border="0" width="100%" cellpadding="0" cellspacing="5" style="font-family: verdana; font-size: 7pt">
			<tr>
				<td bgcolor="white"/>
			</tr>
			<tr height="10">
				<td align="center">
					<center>
						<a href="http://www.cgi.com/web/en/about_us.htm"; target="_blank">
							<img src="images/Logo_CGI.gif" border="0" align="center"/>
						</a>
						<br/>
						Proprietary &amp; Confidential
					</center>&nbsp;<br/>
				</td>
			</tr>
		</table>
	</xsl:template>
	<!--Generate TOC 's above current section-->
	<!--<xsl:template name="section.toc">
  <xsl:param name="toc-context" select="."/>
  <xsl:param name="toc.title.p" select="true()"/>

  <xsl:for-each
select="ancestor::article|ancestor::chapter|ancestor::appendix">
    <xsl:call-template name="component.toc">
      <xsl:with-param name="toc-context" select="."/>
      <xsl:with-param name="toc.title.p" select="$toc.title.p"/>
    </xsl:call-template>
  </xsl:for-each>

</xsl:template>
-->

<!-- START: Docbook 1.74.3 upgrade.. to remove "Chapter" prefix from the chpater title -->
	<xsl:param name="local.l10n.xml" select="document('')"/>
	<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0";>
		<l:l10n language="en">
			<l:context name="title-numbered">
				<l:template name="chapter" text="%n %t"/>
			</l:context>
		</l:l10n>
	</l:i18n>
	<!-- END: Docbook 1.74.3 upgrade -->
	<!--=================================-->
	<xsl:template name="header.navigation">
		<xsl:param name="prev" select="/foo"/>
		<xsl:param name="next" select="/foo"/>
		<xsl:param name="nav.context"/>
		<xsl:variable name="home" select="/*[1]"/>
		<xsl:variable name="up" select="parent::*"/>
		<xsl:variable name="row1" select="$navig.showtitles != 0"/>
		<xsl:variable name="row2" select="count($prev) &gt; 0
                                    or (count($up) &gt; 0 
					and generate-id($up) != generate-id($home)
                                        and $navig.showtitles != 0)
                                    or count($next) &gt; 0"/>
		<xsl:if test="$suppress.navigation = '0' and $suppress.header.navigation = '0'">
			<div class="navheader">
				<xsl:if test="$row1 or $row2">
					<table width="100%" summary="Navigation header" align="center" class="NavigationHeader">
						<xsl:variable name="counter">
							<xsl:value-of select="count(ancestor::section)"/>
						</xsl:variable>
						<xsl:if test="$row1">
							<tr>
								<th colspan="3" align="center">
									<xsl:variable name="booktitle">
										<xsl:value-of select="ancestor-or-self::book/bookinfo/title"/>
									</xsl:variable>
									<xsl:variable name="getTitle">
										<xsl:if test="not($counter=0)">
											<xsl:apply-templates select="ancestor::section" mode="object.title.markup"/>
										</xsl:if>
										<xsl:if test="($counter=0)">
											<xsl:apply-templates select="ancestor::chapter" mode="object.title.markup"/>
										</xsl:if>
									</xsl:variable>
									<xsl:if test="not($getTitle='')">
										<xsl:value-of select="$getTitle"/>
										<!--	<xsl:text> (Draft Version)</xsl:text>-->
									</xsl:if>
									<xsl:if test="($getTitle='') and not(position()=1)">
										<xsl:apply-templates select="." mode="object.title.markup"/>
										<!--	<xsl:text> (Draft Version)</xsl:text>-->
									</xsl:if>
								</th>
							</tr>
						</xsl:if>
						<xsl:if test="$row2">
							<tr>
								<td width="10%" align="left">
									<xsl:if test="count($prev)>0">
										<xsl:variable name="atitle">
											<xsl:apply-templates select="$prev" mode="object.title.markup"/>
										</xsl:variable>
										<xsl:variable name="dbeforestring">
											<xsl:call-template name="substring-before-first">
												<xsl:with-param name="text" select="$atitle"/>
												<xsl:with-param name="chars" select="' '"/>
											</xsl:call-template>
										</xsl:variable>
										<xsl:variable name="booktitle">
											<xsl:value-of select="ancestor-or-self::book/title"/>
										</xsl:variable>
										<xsl:variable name="prefacetitle">
											<xsl:value-of select="ancestor-or-self::book/preface/title"/>
										</xsl:variable>
										<xsl:variable name="rhref">
											<xsl:choose>
												<xsl:when test="string(number($dbeforestring)='NaN')">
													<xsl:choose>
														<xsl:when test="contains($prefacetitle, $dbeforestring)">
															<xsl:value-of select="' '"/>
														</xsl:when>
														<xsl:when test="(contains($booktitle, $dbeforestring))">
															<xsl:value-of select="''"/>
														</xsl:when>
														<xsl:when test="contains($dbeforestring,'Part')">
															<xsl:value-of select="string(substring-before(substring-after($dbeforestring,'Part&nbsp;'), '.'))"/>
														</xsl:when>
														<xsl:when test="not(string(number($dbeforestring))='NaN')">
															<xsl:value-of select="$dbeforestring"/>
														</xsl:when>
														<xsl:otherwise>
															<xsl:value-of select="$dbeforestring"/>
														</xsl:otherwise>
													</xsl:choose>
												</xsl:when>
												<xsl:when test="not(string(number($dbeforestring))='NaN')">
													<xsl:value-of select="$dbeforestring"/>
												</xsl:when>
												<xsl:otherwise>
													<xsl:value-of select="$dbeforestring"/>
												</xsl:otherwise>
											</xsl:choose>
										</xsl:variable>
										<a accesskey="p">
											<xsl:attribute name="href"><xsl:text>javaScript:parent.reDisplay('</xsl:text><xsl:value-of select="$rhref"/><xsl:text>',1,0)</xsl:text></xsl:attribute>
											<xsl:call-template name="navig.content">
												<xsl:with-param name="direction" select="'prev'"/>
											</xsl:call-template>
										</a>
									</xsl:if>
									<xsl:text>&#160;</xsl:text>
								</td>
								<td width="80%" align="center">
								
								</td>
								<td width="10%" align="right">
									<xsl:text>&#160;</xsl:text>
									<xsl:if test="count($next)>0 and count($prev)>0">
										<xsl:variable name="atitle">
											<xsl:apply-templates select="$next" mode="object.title.markup"/>
										</xsl:variable>
										<xsl:variable name="dbeforestring">
											<xsl:call-template name="substring-before-first">
												<xsl:with-param name="text" select="$atitle"/>
												<xsl:with-param name="chars" select="' '"/>
											</xsl:call-template>
										</xsl:variable>
										<xsl:variable name="booktitle">
											<xsl:value-of select="ancestor-or-self::book/bookinfo/title"/>
										</xsl:variable>
										<xsl:variable name="prefacetitle">
											<xsl:value-of select="ancestor-or-self::book/preface/title"/>
										</xsl:variable>
										<xsl:variable name="rhref">
											<xsl:choose>
												<xsl:when test="string(number($dbeforestring)='NaN')">
													<xsl:choose>
														<xsl:when test="contains($prefacetitle, $dbeforestring)">
															<xsl:value-of select="' '"/>
														</xsl:when>
														<xsl:when test="($booktitle = $dbeforestring)">
															<xsl:value-of select="''"/>
														</xsl:when>
														<xsl:when test="contains($dbeforestring,'Part')">
															<xsl:value-of select="string(substring-before(substring-after($dbeforestring,'Part&nbsp;'), '.'))"/>
														</xsl:when>
														<xsl:when test="not(string(number($dbeforestring))='NaN')">
															<xsl:value-of select="$dbeforestring"/>
														</xsl:when>
														<xsl:otherwise>
															<xsl:value-of select="$dbeforestring"/>
														</xsl:otherwise>
													</xsl:choose>
												</xsl:when>
												<xsl:when test="not(string(number($dbeforestring))='NaN')">
													<xsl:value-of select="$dbeforestring"/>
												</xsl:when>
												<xsl:otherwise>
													<xsl:value-of select="$dbeforestring"/>
												</xsl:otherwise>
											</xsl:choose>
										</xsl:variable>
										<a accesskey="n">
											<xsl:attribute name="href"><xsl:text>javaScript:parent.reDisplay('</xsl:text><xsl:value-of select="$rhref"/><xsl:text>',1,0)</xsl:text></xsl:attribute>
											<xsl:call-template name="navig.content">
												<xsl:with-param name="direction" select="'next'"/>
											</xsl:call-template>
										</a>
									</xsl:if>
								</td>
							</tr>
						</xsl:if>
					</table>
				</xsl:if>
				<xsl:if test="$header.rule != 0">
					<xsl:choose>
						<xsl:when test="count($next) = 1 and count($prev) = 0"/>
						<xsl:otherwise>
							<hr/>
						</xsl:otherwise>
					</xsl:choose>
				</xsl:if>
			</div>
		</xsl:if>
	</xsl:template>
	<!--=================================-->
	<xsl:template name="footer.navigation">
		<xsl:param name="prev" select="/foo"/>
		<xsl:param name="next" select="/foo"/>
		<xsl:param name="nav.context"/>
		<xsl:variable name="home" select="/*[1]"/>
		<xsl:variable name="up" select="parent::*"/>
		<xsl:variable name="row1" select="count($prev) &gt; 0
                                    or count($up) &gt; 0
                                    or count($next) &gt; 0"/>
		<xsl:variable name="row2" select="($prev and $navig.showtitles != 0)
                                    or (generate-id($home) != generate-id(.)
                                        or $nav.context = 'toc')
                                    or ($chunk.tocs.and.lots != 0
                                        and $nav.context != 'toc')
                                    or ($next and $navig.showtitles != 0)"/>
		<xsl:variable name="row3" select="($prev and $navig.showtitles != 0)
                                    or (generate-id($home) != generate-id(.)
                                        or $nav.context = 'toc')
                                    or ($chunk.tocs.and.lots != 0
                                        and $nav.context != 'toc')
                                    or ($next and $navig.showtitles != 0)"/>
		<xsl:if test="$suppress.navigation = '0' and $suppress.footer.navigation = '0'">
			<div class="navfooter">
				<xsl:if test="$footer.rule != 0">
					<xsl:choose>
						<xsl:when test="count($next) = 1 and count($prev) = 0"/>
						<xsl:otherwise>
							<hr/>
						</xsl:otherwise>
					</xsl:choose>
				</xsl:if>
				<xsl:if test="$row1 or $row2 or $row3">
					<table width="100%" summary="Navigation footer" class="NavigationFooter">
						<xsl:if test="$row1">
							<tr>
								<td width="40%" align="left">
									<xsl:if test="count($prev)>0">
										<xsl:variable name="atitle">
											<xsl:apply-templates select="$prev" mode="object.title.markup"/>
										</xsl:variable>
										<xsl:variable name="dbeforestring">
											<xsl:call-template name="substring-before-first">
												<xsl:with-param name="text" select="$atitle"/>
												<xsl:with-param name="chars" select="' '"/>
											</xsl:call-template>
										</xsl:variable>
										<xsl:variable name="booktitle">
											<xsl:value-of select="ancestor-or-self::book/title"/>
										</xsl:variable>
										<xsl:variable name="prefacetitle">
											<xsl:value-of select="ancestor-or-self::book/preface/title"/>
										</xsl:variable>
										<xsl:variable name="rhref">
											<xsl:choose>
												<xsl:when test="string(number($dbeforestring)='NaN')">
													<xsl:choose>
														<xsl:when test="contains($prefacetitle, $dbeforestring)">
															<xsl:value-of select="' '"/>
														</xsl:when>
														<xsl:when test="(contains($booktitle, $dbeforestring))">
															<xsl:value-of select="''"/>
														</xsl:when>
														<xsl:when test="contains($dbeforestring,'Part')">
															<xsl:value-of select="string(substring-before(substring-after($dbeforestring,'Part&nbsp;'), '.'))"/>
														</xsl:when>
														<xsl:when test="not(string(number($dbeforestring))='NaN')">
															<xsl:value-of select="$dbeforestring"/>
														</xsl:when>
														<xsl:otherwise>
															<xsl:value-of select="$dbeforestring"/>
														</xsl:otherwise>
													</xsl:choose>
												</xsl:when>
												<xsl:when test="not(string(number($dbeforestring))='NaN')">
													<xsl:value-of select="$dbeforestring"/>
												</xsl:when>
												<xsl:otherwise>
													<xsl:value-of select="$dbeforestring"/>
												</xsl:otherwise>
											</xsl:choose>
										</xsl:variable>
										<a accesskey="p">
											<xsl:attribute name="href"><xsl:text>javaScript:parent.reDisplay('</xsl:text><xsl:value-of select="$rhref"/><xsl:text>',1,0)</xsl:text></xsl:attribute>
											<xsl:call-template name="navig.content">
												<xsl:with-param name="direction" select="'prev'"/>
											</xsl:call-template>
										</a>
									</xsl:if>
									<xsl:text>&#160;</xsl:text>
								</td>
								<td width="20%" align="center">
									<xsl:if test="not(position()=1)">
										<a href="#" onclick="parent.window.print();return false;" style="font-family: Verdana; font-size: 10px">
											<img src="images/print_button.png" alt="Print" border="0"/>
										</a>
									</xsl:if>
								</td>
								<td width="40%" align="right">
									<xsl:text>&#160;</xsl:text>
									<xsl:if test="count($next)>0">
										<xsl:variable name="atitle">
											<xsl:apply-templates select="$next" mode="object.title.markup"/>
										</xsl:variable>
										<xsl:variable name="dbeforestring">
											<xsl:call-template name="substring-before-first">
												<xsl:with-param name="text" select="$atitle"/>
												<xsl:with-param name="chars" select="' '"/>
											</xsl:call-template>
										</xsl:variable>
										<xsl:variable name="booktitle">
											<xsl:value-of select="ancestor-or-self::book/bookinfo/title"/>
										</xsl:variable>
										<xsl:variable name="prefacetitle">
											<xsl:value-of select="ancestor-or-self::book/preface/title"/>
										</xsl:variable>
										<xsl:variable name="rhref">
											<xsl:choose>
												<xsl:when test="string(number($dbeforestring)='NaN')">
													<xsl:choose>
														<xsl:when test="contains($prefacetitle, $dbeforestring)">
															<xsl:value-of select="' '"/>
														</xsl:when>
														<xsl:when test="($booktitle = $dbeforestring)">
															<xsl:value-of select="''"/>
														</xsl:when>
														<xsl:when test="contains($dbeforestring,'Part')">
															<xsl:value-of select="string(substring-before(substring-after($dbeforestring,'Part&nbsp;'), '.'))"/>
														</xsl:when>
														<xsl:when test="not(string(number($dbeforestring))='NaN')">
															<xsl:value-of select="$dbeforestring"/>
														</xsl:when>
														<xsl:otherwise>
															<xsl:value-of select="$dbeforestring"/>
														</xsl:otherwise>
													</xsl:choose>
												</xsl:when>
												<xsl:when test="not(string(number($dbeforestring))='NaN')">
													<xsl:value-of select="$dbeforestring"/>
												</xsl:when>
												<xsl:otherwise>
													<xsl:value-of select="$dbeforestring"/>
												</xsl:otherwise>
											</xsl:choose>
										</xsl:variable>
										<a accesskey="n">
											<xsl:attribute name="href"><xsl:text>javaScript:parent.reDisplay('</xsl:text><xsl:value-of select="$rhref"/><xsl:text>',1,0)</xsl:text></xsl:attribute>
											<xsl:call-template name="navig.content">
												<xsl:with-param name="direction" select="'next'"/>
											</xsl:call-template>
										</a>
									</xsl:if>
								</td>
							</tr>
						</xsl:if>
						<xsl:if test="$row2">
							<tr>
								<td width="40%" align="left" valign="top">
									<xsl:if test="$navig.showtitles != 0">
										<xsl:variable name="checkPrevContent">
											<xsl:apply-templates select="$prev" mode="object.title.markup"/>
										</xsl:variable>
										<xsl:variable name="bookTitle">
											<xsl:value-of select="ancestor-or-self::book/bookinfo/title"/>
										</xsl:variable>
										<xsl:if test="not($checkPrevContent='') and not($checkPrevContent=$bookTitle)">
											<xsl:value-of select="$checkPrevContent"/>
										</xsl:if>
									</xsl:if>
									<xsl:text>&#160;</xsl:text>
								</td>
								<td width="20%" align="center">
              </td>
								<td width="40%" align="right" valign="top">
									<xsl:text>&#160;</xsl:text>
									<xsl:if test="$navig.showtitles != 0">
										<xsl:variable name="checkNextContent">
											<xsl:apply-templates select="$next" mode="object.title.markup"/>
										</xsl:variable>
										<xsl:if test="not($checkNextContent='')">
											<xsl:value-of select="$checkNextContent"/>
										</xsl:if>
									</xsl:if>
								</td>
							</tr>
						</xsl:if>
						<xsl:if test="$row3">
            
          </xsl:if>
					</table>
				</xsl:if>
			</div>
		</xsl:if>
	</xsl:template>
	<!--=================================-->
	<xsl:template name="navig.content">
		<xsl:param name="direction" select="next"/>
		<xsl:variable name="navtext">
			<xsl:choose>
				<xsl:when test="$direction = 'prev'">
					<xsl:call-template name="gentext.nav.prev"/>
				</xsl:when>
				<xsl:when test="$direction = 'next'">
					<xsl:call-template name="gentext.nav.next"/>
				</xsl:when>
				<xsl:when test="$direction = 'up'">
					<xsl:call-template name="gentext.nav.up"/>
				</xsl:when>
				<xsl:when test="$direction = 'home'">
					<xsl:call-template name="gentext.nav.home"/>
				</xsl:when>
				<xsl:otherwise>
					<xsl:text>xxx</xsl:text>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:variable>
		<xsl:choose>
			<xsl:when test="$navig.graphics != 0">
				<img>
					<xsl:attribute name="src"><xsl:value-of select="$navig.graphics.path"/><xsl:value-of select="$direction"/><xsl:value-of select="$navig.graphics.extension"/></xsl:attribute>
					<xsl:attribute name="alt"><xsl:value-of select="$navtext"/></xsl:attribute>
					<xsl:attribute name="border"><xsl:value-of select="0"/></xsl:attribute>
				</img>
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="$navtext"/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
	<!--=================================-->
	<!--Uncomment for frameset only-->
	<xsl:param name="target.window" select="'body'"/>
	<xsl:template name="user.head.content">
		<base target="{$target.window}"/>
	</xsl:template>
	<!-- Generating Published Date -->
	<xsl:template match="pubdate[@role='now']" mode="titlepage.mode">
		<xsl:variable name="now" select="date:date-time()"/>
		<table width="663" align="center" border="0">
			<tbody>
				<tr>
					<td>
						<p style="color: white;">
							<xsl:text>Generated on </xsl:text>
							<xsl:value-of select="date:month-name($now)"/>
							<xsl:text> </xsl:text>
							<xsl:value-of select="date:day-in-month($now)"/>
							<xsl:text>, </xsl:text>
							<xsl:value-of select="date:year($now)"/>
							<xsl:text> at </xsl:text>
							<xsl:value-of select="date:hour-in-day($now)"/>
							<xsl:text>:</xsl:text>
							<xsl:value-of select="date:minute-in-hour($now)"/>
							<xsl:text>:</xsl:text>
							<xsl:value-of select="date:second-in-minute($now)"/>
						</p>
					</td>
				</tr>
			</tbody>
		</table>
	</xsl:template>
	<!--=================================-->
	<!--Update Generated Chapter format to Chapter <number>. <name>-->
	<xsl:param name="local.l10n.xml" select="document(' ')"/>
	<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0";>
		<l:l10n language="en">
			<l:context name="title-numbered">
				<l:template name="appendix" text="%n %t"/>
				<l:template name="chapter" text="%n %t"/>
				<l:template name="sect1" text="%n %t"/>
				<l:template name="sect2" text="%n %t"/>
				<l:template name="sect3" text="%n %t"/>
				<l:template name="sect4" text="%n %t"/>
				<l:template name="sect5" text="%n %t"/>
				<l:template name="section" text="%n %t"/>
				<l:template name="simplesect" text="%n %t"/>
			</l:context>
			<l:context name="xref-number-and-title">
				<l:template name="appendix" text="Appendix&#160;%n, %t"/>
				<l:template name="chapter" text="Chapter&#160;%n, %t"/>
				<l:template name="equation" text="Equation&#160;%n, &#8220;%t&#8221;"/>
				<l:template name="example" text="Example&#160;%n, &#8220;%t&#8221;"/>
				<l:template name="figure" text="Figure&#160;%n, %t"/>
				<l:template name="section" text="Section&#160;%n, %t"/>
				<l:template name="table" text="Table&#160;%n, &#8220;%t&#8221;"/>
			</l:context>
			<l:context name="xref">
				<l:template name="olink.document.citation" text=" in %o"/>
			</l:context>
			<l:context name="title">
				<l:template name="figure" text="Figure&#160;%n&#160;%t"/>
				<l:template name="table" text="Table&#160;%n&#160;%t"/>
				<l:template name="chapter" text="%n %t"/>
			</l:context>
			<l:gentext key="Edition" text="Release"/>
			<l:gentext key="edition" text="Release"/>
		</l:l10n>
	</l:i18n>
	<!--=================================-->
	<!--Update the edition to display text Release-->
	<xsl:template match="edition" mode="titlepage.mode">
		<div class="{name(.)}">
			<xsl:call-template name="gentext">
				<xsl:with-param name="key" select="'Edition'"/>
			</xsl:call-template>
			<xsl:call-template name="gentext.space"/>
			<xsl:apply-templates mode="titlepage.mode"/>
		</div>
	</xsl:template>
	<!--=================================-->
	<xsl:template match="section|sect1|sect2|sect3|sect4|sect5
                     |refsect1|refsect2|refsect3|refsection|figure" mode="insert.title.markup">
		<xsl:param name="purpose"/>
		<xsl:param name="title"/>
		<xsl:param name="xrefstyle"/>
		<xsl:choose>
			<xsl:when test="$purpose = 'xref' ">
				<i>
					<xsl:copy-of select="$title"/>
				</i>
			</xsl:when>
			<xsl:otherwise>
				<xsl:copy-of select="$title"/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
	<xsl:template match="olink" name="olink">
		<xsl:call-template name="anchor"/>
		<xsl:variable name="localinfo" select="@localinfo"/>
		<xsl:choose>
			<!-- olinks resolved by stylesheet and target database -->
			<xsl:when test="@targetdoc or @targetptr">
				<xsl:variable name="targetdoc.att" select="@targetdoc"/>
				<xsl:variable name="targetptr.att" select="@targetptr"/>
				<xsl:variable name="olink.lang">
					<xsl:call-template name="l10n.language">
						<xsl:with-param name="xref-context" select="true()"/>
					</xsl:call-template>
				</xsl:variable>
				<xsl:variable name="target.database.filename">
					<xsl:call-template name="select.target.database">
						<xsl:with-param name="targetdoc.att" select="$targetdoc.att"/>
						<xsl:with-param name="targetptr.att" select="$targetptr.att"/>
						<xsl:with-param name="olink.lang" select="$olink.lang"/>
					</xsl:call-template>
				</xsl:variable>
				<xsl:variable name="target.database" select="document($target.database.filename,/)"/>
				<xsl:if test="$olink.debug != 0">
					<xsl:message>
						<xsl:text>Olink debug: root element of target.database '</xsl:text>
						<xsl:value-of select="$target.database.filename"/>
						<xsl:text>' is '</xsl:text>
						<xsl:value-of select="local-name($target.database/*[1])"/>
						<xsl:text>'.</xsl:text>
					</xsl:message>
				</xsl:if>
				<xsl:variable name="olink.key">
					<xsl:call-template name="select.olink.key">
						<xsl:with-param name="targetdoc.att" select="$targetdoc.att"/>
						<xsl:with-param name="targetptr.att" select="$targetptr.att"/>
						<xsl:with-param name="olink.lang" select="$olink.lang"/>
						<xsl:with-param name="target.database" select="$target.database"/>
					</xsl:call-template>
				</xsl:variable>
				<xsl:if test="string-length($olink.key) = 0">
					<xsl:message>
						<xsl:text>Error: unresolved olink: </xsl:text>
						<xsl:text>targetdoc/targetptr = '</xsl:text>
						<xsl:value-of select="$targetdoc.att"/>
						<xsl:text>/</xsl:text>
						<xsl:value-of select="$targetptr.att"/>
						<xsl:text>'.</xsl:text>
					</xsl:message>
				</xsl:if>
				<xsl:variable name="href">
					<xsl:call-template name="make.olink.href">
						<xsl:with-param name="olink.key" select="$olink.key"/>
						<xsl:with-param name="target.database" select="$target.database"/>
					</xsl:call-template>
				</xsl:variable>
				<xsl:variable name="hottext">
					<xsl:call-template name="olink.hottext">
						<xsl:with-param name="target.database" select="$target.database"/>
						<xsl:with-param name="olink.key" select="$olink.key"/>
						<xsl:with-param name="olink.lang" select="$olink.lang"/>
					</xsl:call-template>
				</xsl:variable>
				<xsl:variable name="olink.docname.citation">
					<xsl:call-template name="olink.document.citation">
						<xsl:with-param name="olink.key" select="$olink.key"/>
						<xsl:with-param name="target.database" select="$target.database"/>
						<xsl:with-param name="olink.lang" select="$olink.lang"/>
					</xsl:call-template>
				</xsl:variable>
				<xsl:variable name="olink.page.citation">
					<xsl:call-template name="olink.page.citation">
						<xsl:with-param name="olink.key" select="$olink.key"/>
						<xsl:with-param name="target.database" select="$target.database"/>
						<xsl:with-param name="olink.lang" select="$olink.lang"/>
					</xsl:call-template>
				</xsl:variable>
				<xsl:choose>
					<xsl:when test="$href != ''">
						<a href="{$href}" class="olink" target="_blank">
							<i>
								<xsl:copy-of select="$hottext"/>
							</i>
						</a>
						<xsl:copy-of select="$olink.page.citation"/>
						<xsl:copy-of select="$olink.docname.citation"/>
					</xsl:when>
					<xsl:otherwise>
						<span class="olink">
							<xsl:copy-of select="$hottext"/>
						</span>
						<xsl:copy-of select="$olink.page.citation"/>
						<xsl:copy-of select="$olink.docname.citation"/>
					</xsl:otherwise>
				</xsl:choose>
			</xsl:when>
			<!-- Or use old olink mechanism -->
			<xsl:otherwise>
				<xsl:variable name="href">
					<xsl:choose>
						<xsl:when test="@linkmode">
							<!-- use the linkmode to get the base URI, use localinfo as fragid -->
							<xsl:variable name="modespec" select="key('id',@linkmode)"/>
							<xsl:if test="count($modespec) != 1
                          or local-name($modespec) != 'modespec'">
								<xsl:message>Warning: olink linkmode pointer is wrong.</xsl:message>
							</xsl:if>
							<xsl:value-of select="$modespec"/>
							<xsl:if test="@localinfo">
								<xsl:text>#</xsl:text>
								<xsl:value-of select="@localinfo"/>
							</xsl:if>
						</xsl:when>
						<xsl:when test="@type = 'href'">
							<xsl:call-template name="olink.outline">
								<xsl:with-param name="outline.base.uri" select="unparsed-entity-uri(@targetdocent)"/>
								<xsl:with-param name="localinfo" select="@localinfo"/>
								<xsl:with-param name="return" select="'href'"/>
							</xsl:call-template>
						</xsl:when>
						<xsl:otherwise>
							<xsl:value-of select="$olink.resolver"/>
							<xsl:text>?</xsl:text>
							<xsl:value-of select="$olink.sysid"/>
							<xsl:value-of select="unparsed-entity-uri(@targetdocent)"/>
							<!-- XSL gives no access to the public identifier (grumble...) -->
							<xsl:if test="@localinfo">
								<xsl:text>&amp;</xsl:text>
								<xsl:value-of select="$olink.fragid"/>
								<xsl:value-of select="@localinfo"/>
							</xsl:if>
						</xsl:otherwise>
					</xsl:choose>
				</xsl:variable>
				<xsl:choose>
					<xsl:when test="$href != ''">
						<a href="{$href}" class="olink">
							<xsl:call-template name="olink.hottext"/>
						</a>
					</xsl:when>
					<xsl:otherwise>
						<xsl:call-template name="olink.hottext"/>
					</xsl:otherwise>
				</xsl:choose>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
	<!--=================================-->
	<xsl:template name="chunk-element-content">
		<xsl:param name="prev"/>
		<xsl:param name="next"/>
		<xsl:param name="nav.context"/>
		<xsl:param name="content">
			<xsl:apply-imports/>
		</xsl:param>
		<xsl:call-template name="user.preroot"/>
		<html>
			<xsl:call-template name="html.head">
				<xsl:with-param name="prev" select="$prev"/>
				<xsl:with-param name="next" select="$next"/>
			</xsl:call-template>
			<body>
				<xsl:attribute name="onload"><xsl:value-of select="'highlight();'"/></xsl:attribute>
				<xsl:attribute name="topmargin"><xsl:value-of select="'0'"/></xsl:attribute>
				<xsl:call-template name="body.attributes"/>
				<xsl:call-template name="user.header.navigation"/>
				<xsl:call-template name="header.navigation">
					<xsl:with-param name="prev" select="$prev"/>
					<xsl:with-param name="next" select="$next"/>
					<xsl:with-param name="nav.context" select="$nav.context"/>
				</xsl:call-template>
				<xsl:call-template name="user.header.content"/>
				<xsl:copy-of select="$content"/>
				<xsl:call-template name="user.footer.content"/>
				<xsl:call-template name="footer.navigation">
					<xsl:with-param name="prev" select="$prev"/>
					<xsl:with-param name="next" select="$next"/>
					<xsl:with-param name="nav.context" select="$nav.context"/>
				</xsl:call-template>
				<xsl:call-template name="user.footer.navigation"/>
			</body>
		</html>
	</xsl:template>
	<!--=================================-->
	<xsl:template name="html.head">
		<xsl:param name="prev" select="/foo"/>
		<xsl:param name="next" select="/foo"/>
		<xsl:variable name="this" select="."/>
		<xsl:variable name="home" select="/*[1]"/>
		<xsl:variable name="up" select="parent::*"/>
		<head>
			<xsl:call-template name="system.head.content"/>
			<xsl:call-template name="head.content"/>
			<style>.highlight { background: #FFFF40; }
a.change{
    font-family:verdana;
    font-size:12px; 
    position:relative;
    z-index:24; background-color:#fffff;
    color:#3333;
    text-decoration:none}

a.change:hover{z-index:25; background-color:#ffffff}

a.change span{display: none}

a.change:hover span{ 
    display:block;
    position:absolute;
    top:2em; left:15em; width:25em;
    border:1px solid #959595;
    background-color:#cccccc; color:#000;
    text-align: left}	
	</style>
			<script type="text/javascript" src="jscripts/highlight.js"/>
			<xsl:if test="$home">
				<link rel="start">
					<xsl:attribute name="href"><xsl:call-template name="href.target"><xsl:with-param name="object" select="$home"/></xsl:call-template></xsl:attribute>
					<xsl:attribute name="title"><xsl:apply-templates select="$home" mode="object.title.markup.textonly"/></xsl:attribute>
				</link>
			</xsl:if>
			<xsl:if test="$up">
				<link rel="up">
					<xsl:attribute name="href"><xsl:call-template name="href.target"><xsl:with-param name="object" select="$up"/></xsl:call-template></xsl:attribute>
					<xsl:attribute name="title"><xsl:apply-templates select="$up" mode="object.title.markup.textonly"/></xsl:attribute>
				</link>
			</xsl:if>
			<xsl:if test="$prev">
				<link rel="prev">
					<xsl:attribute name="href"><xsl:call-template name="href.target"><xsl:with-param name="object" select="$prev"/></xsl:call-template></xsl:attribute>
					<xsl:attribute name="title"><xsl:apply-templates select="$prev" mode="object.title.markup.textonly"/></xsl:attribute>
				</link>
			</xsl:if>
			<xsl:if test="$next">
				<link rel="next">
					<xsl:attribute name="href"><xsl:call-template name="href.target"><xsl:with-param name="object" select="$next"/></xsl:call-template></xsl:attribute>
					<xsl:attribute name="title"><xsl:apply-templates select="$next" mode="object.title.markup.textonly"/></xsl:attribute>
				</link>
			</xsl:if>
			<xsl:if test="$html.extra.head.links != 0">
				<xsl:for-each select="//part
                            |//reference
                            |//preface
                            |//chapter
                            |//article
                            |//refentry
                            |//appendix[not(parent::article)]|appendix
                            |//glossary[not(parent::article)]|glossary
                            |//index[not(parent::article)]|index">
					<link rel="{local-name(.)}">
						<xsl:attribute name="href"><xsl:call-template name="href.target"><xsl:with-param name="context" select="$this"/><xsl:with-param name="object" select="."/></xsl:call-template></xsl:attribute>
						<xsl:attribute name="title"><xsl:apply-templates select="." mode="object.title.markup.textonly"/></xsl:attribute>
					</link>
				</xsl:for-each>
				<xsl:for-each select="section|sect1|refsection|refsect1">
					<link>
						<xsl:attribute name="rel"><xsl:choose><xsl:when test="local-name($this) = 'section'
                              or local-name($this) = 'refsection'"><xsl:value-of select="'subsection'"/></xsl:when><xsl:otherwise><xsl:value-of select="'section'"/></xsl:otherwise></xsl:choose></xsl:attribute>
						<xsl:attribute name="href"><xsl:call-template name="href.target"><xsl:with-param name="context" select="$this"/><xsl:with-param name="object" select="."/></xsl:call-template></xsl:attribute>
						<xsl:attribute name="title"><xsl:apply-templates select="." mode="object.title.markup.textonly"/></xsl:attribute>
					</link>
				</xsl:for-each>
				<xsl:for-each select="sect2|sect3|sect4|sect5|refsect2|refsect3">
					<link rel="subsection">
						<xsl:attribute name="href"><xsl:call-template name="href.target"><xsl:with-param name="context" select="$this"/><xsl:with-param name="object" select="."/></xsl:call-template></xsl:attribute>
						<xsl:attribute name="title"><xsl:apply-templates select="." mode="object.title.markup.textonly"/></xsl:attribute>
					</link>
				</xsl:for-each>
			</xsl:if>
			<xsl:call-template name="user.head.content"/>
		</head>
	</xsl:template>
	<!--=================================-->
	<!-- Create seperate html for list of tables, figures, examples, procedures
	<xsl:template name="make.lots">
		<xsl:param name="toc.params" select="''"/>
		<xsl:param name="toc"/>
		<xsl:variable name="lots">
			<xsl:if test="contains($toc.params, 'toc')">
				<xsl:copy-of select="$toc"/>
			</xsl:if>
			<xsl:if test="contains($toc.params, 'figure')">
				<xsl:choose>
					<xsl:when test="$chunk.separate.lots != '0'">
						<xsl:call-template name="make.lot.chunk">
							<xsl:with-param name="type" select="'figure'"/>
							<xsl:with-param name="lot">
								<xsl:call-template name="list.of.titles">
									<xsl:with-param name="titles" select="'figure'"/>
									<xsl:with-param name="nodes" select=".//figure"/>
								</xsl:call-template>
							</xsl:with-param>
						</xsl:call-template>
					</xsl:when>
					<xsl:otherwise>
						<xsl:call-template name="list.of.titles">
							<xsl:with-param name="titles" select="'figure'"/>
							<xsl:with-param name="nodes" select=".//figure"/>
						</xsl:call-template>
					</xsl:otherwise>
				</xsl:choose>
			</xsl:if>
			<xsl:if test="contains($toc.params, 'table')">
				<xsl:choose>
					<xsl:when test="$chunk.separate.lots != '0'">
						<xsl:call-template name="make.lot.chunk">
							<xsl:with-param name="type" select="'table'"/>
							<xsl:with-param name="lot">
								<xsl:call-template name="list.of.titles">
									<xsl:with-param name="titles" select="'table'"/>
									<xsl:with-param name="nodes" select=".//table"/>
								</xsl:call-template>
							</xsl:with-param>
						</xsl:call-template>
					</xsl:when>
					<xsl:otherwise>
						<xsl:call-template name="list.of.titles">
							<xsl:with-param name="titles" select="'table'"/>
							<xsl:with-param name="nodes" select=".//table"/>
						</xsl:call-template>
					</xsl:otherwise>
				</xsl:choose>
			</xsl:if>
			<xsl:if test="contains($toc.params, 'example')">
				<xsl:choose>
					<xsl:when test="$chunk.separate.lots != '0'">
						<xsl:call-template name="make.lot.chunk">
							<xsl:with-param name="type" select="'example'"/>
							<xsl:with-param name="lot">
								<xsl:call-template name="list.of.titles">
									<xsl:with-param name="titles" select="'example'"/>
									<xsl:with-param name="nodes" select=".//example"/>
								</xsl:call-template>
							</xsl:with-param>
						</xsl:call-template>
					</xsl:when>
					<xsl:otherwise>
						<xsl:call-template name="list.of.titles">
							<xsl:with-param name="titles" select="'example'"/>
							<xsl:with-param name="nodes" select=".//example"/>
						</xsl:call-template>
					</xsl:otherwise>
				</xsl:choose>
			</xsl:if>
			<xsl:if test="contains($toc.params, 'equation')">
				<xsl:choose>
					<xsl:when test="$chunk.separate.lots != '0'">
						<xsl:call-template name="make.lot.chunk">
							<xsl:with-param name="type" select="'equation'"/>
							<xsl:with-param name="lot">
								<xsl:call-template name="list.of.titles">
									<xsl:with-param name="titles" select="'equation'"/>
									<xsl:with-param name="nodes" select=".//equation"/>
								</xsl:call-template>
							</xsl:with-param>
						</xsl:call-template>
					</xsl:when>
					<xsl:otherwise>
						<xsl:call-template name="list.of.titles">
							<xsl:with-param name="titles" select="'equation'"/>
							<xsl:with-param name="nodes" select=".//equation"/>
						</xsl:call-template>
					</xsl:otherwise>
				</xsl:choose>
			</xsl:if>
			<xsl:if test="contains($toc.params, 'procedure')">
				<xsl:choose>
					<xsl:when test="$chunk.separate.lots != '0'">
						<xsl:call-template name="make.lot.chunk">
							<xsl:with-param name="type" select="'procedure'"/>
							<xsl:with-param name="lot">
								<xsl:call-template name="list.of.titles">
									<xsl:with-param name="titles" select="'procedure'"/>
									<xsl:with-param name="nodes" select=".//procedure[title]"/>
								</xsl:call-template>
							</xsl:with-param>
						</xsl:call-template>
					</xsl:when>
					<xsl:otherwise>
						<xsl:call-template name="list.of.titles">
							<xsl:with-param name="titles" select="'procedure'"/>
							<xsl:with-param name="nodes" select=".//procedure[title]"/>
						</xsl:call-template>
					</xsl:otherwise>
				</xsl:choose>
			</xsl:if>
		</xsl:variable>
		<xsl:if test="string($lots) != ''">
			<xsl:choose>
				<xsl:when test="$chunk.tocs.and.lots != 0 and not(parent::*)">
					<xsl:call-template name="write.chunk">
						<xsl:with-param name="filename">
							<xsl:call-template name="make-relative-filename">
								<xsl:with-param name="base.dir" select="$base.dir"/>
								<xsl:with-param name="base.name">
									<xsl:call-template name="dbhtml-dir"/>
									<xsl:apply-templates select="." mode="recursive-chunk-filename">
										<xsl:with-param name="recursive" select="true()"/>
									</xsl:apply-templates>
									<xsl:text>-toc</xsl:text>
									<xsl:value-of select="$html.ext"/>
								</xsl:with-param>
							</xsl:call-template>
						</xsl:with-param>
						<xsl:with-param name="content">
							<xsl:call-template name="chunk-element-content">
								<xsl:with-param name="prev" select="/foo"/>
								<xsl:with-param name="next" select="/foo"/>
								<xsl:with-param name="nav.context" select="'toc'"/>
								<xsl:with-param name="content">
									<h1>
										<p>
											<div align="center">
												<a href="http://www.cgi.com/web/en/about_us.htm"; target="_blank">
													<img src="images/CGIAMSLogo.gif " border="0"/>
												</a>
											</div>
										</p>
										<xsl:apply-templates select="." mode="object.title.markup"/>
									</h1>
									<xsl:copy-of select="$lots"/>
								</xsl:with-param>
							</xsl:call-template>
						</xsl:with-param>
						<xsl:with-param name="quiet" select="$chunk.quietly"/>
					</xsl:call-template>
				</xsl:when>
				<xsl:otherwise>
					<xsl:copy-of select="$lots"/>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:if>
	</xsl:template>-->
	<!--=================================-->
	<!--update releaseinfo to incorporate the revision text-->
	<xsl:template match="releaseinfo" mode="titlepage.mode">
		<div align="center" class="{name(.)}">
			<xsl:call-template name="paragraph">
				<xsl:with-param name="class" select="name(.)"/>
				<xsl:with-param name="content">
					<xsl:apply-templates mode="titlepage.mode"/>
				</xsl:with-param>
			</xsl:call-template>
		</div>
	</xsl:template>
	<!--=================================-->
	<!--Add text Revision infront of revision number-->
	<xsl:template name="paragraph">
		<xsl:param name="class" select="''"/>
		<xsl:param name="content"/>
		<xsl:variable name="p">
			<xsl:choose>
				<xsl:when test="$class='releaseinfo'">
					<p>
						<xsl:if test="$class != ''">
							<xsl:attribute name="class"><xsl:value-of select="$class"/></xsl:attribute>
						</xsl:if>
						<xsl:text>Revision </xsl:text>
						<xsl:copy-of select="$content"/>
					</p>
				</xsl:when>
				<xsl:otherwise>
					<p>
						<xsl:if test="$class != ''">
							<xsl:attribute name="class"><xsl:value-of select="$class"/></xsl:attribute>
						</xsl:if>
						<xsl:copy-of select="$content"/>
					</p>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:variable>
		<xsl:choose>
			<xsl:when test="$html.cleanup != 0">
				<xsl:call-template name="unwrap.p">
					<xsl:with-param name="p" select="$p"/>
				</xsl:call-template>
			</xsl:when>
			<xsl:otherwise>
				<xsl:copy-of select="$p"/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
	<!--=================================-->
	<!--Display the content of copyright in a fixed width table-->
	<xsl:template match="copyright" mode="titlepage.mode">
		<table width="663" align="center" border="0">
			<tbody>
				<tr>
					<td>
						<p class="{name(.)}" align="center">
							<xsl:call-template name="gentext.space"/>
							<xsl:call-template name="dingbat">
								<xsl:with-param name="dingbat">copyright</xsl:with-param>
							</xsl:call-template>
							<xsl:call-template name="copyright.years">
								<xsl:with-param name="years" select="year"/>
								<xsl:with-param name="print.ranges" select="$make.year.ranges"/>
								<xsl:with-param name="single.year.ranges" select="$make.single.year.ranges"/>
							</xsl:call-template>
							<xsl:call-template name="gentext.space"/>
							<xsl:apply-templates select="holder" mode="titlepage.mode"/>
						</p>
					</td>
				</tr>
			</tbody>
		</table>
	</xsl:template>
	<!--
	<xsl:template match="holder" mode="titlepage.mode">
  <xsl:choose>
    <xsl:when test="$show.revisionflag != 0 and @revisionflag">
      <span class="{@revisionflag}">
      <p align="center">
        <xsl:apply-templates mode="titlepage.mode"/>
        </p>
      </span>
    </xsl:when>
    <xsl:otherwise>
    <p align="center">
      <xsl:apply-templates mode="titlepage.mode"/>
      </p>
    </xsl:otherwise>
  </xsl:choose>
  <xsl:if test="position() &lt; last()">
    <xsl:text>, </xsl:text>
  </xsl:if>
</xsl:template>-->
	<!--=================================-->
	<xsl:template name="substring-before-first">
		<xsl:param name="text"/>
		<xsl:param name="chars"/>
		<xsl:choose>
			<xsl:when test="string-length($text) = 0"/>
			<xsl:when test="string-length($chars) = 0">
				<xsl:value-of select="$text"/>
			</xsl:when>
			<xsl:when test="contains($text, substring($chars, 1, 1))">
				<xsl:variable name="this" select="substring-before($text, substring($chars, 1, 1))"/>
				<xsl:variable name="rest">
					<xsl:call-template name="substring-before-first">
						<xsl:with-param name="text" select="$text"/>
						<xsl:with-param name="chars" select="substring($chars, 2)"/>
					</xsl:call-template>
				</xsl:variable>
				<xsl:choose>
					<xsl:when test="string-length($this) &lt; string-length($rest)">
						<xsl:value-of select="$this"/>
					</xsl:when>
					<xsl:otherwise>
						<xsl:value-of select="$rest"/>
					</xsl:otherwise>
				</xsl:choose>
			</xsl:when>
			<xsl:otherwise>
				<xsl:call-template name="substring-before-first">
					<xsl:with-param name="text" select="$text"/>
					<xsl:with-param name="chars" select="substring($chars, 2)"/>
				</xsl:call-template>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
	<xsl:template match="row">
		<xsl:param name="spans"/>
		<xsl:variable name="row-height">
			<xsl:if test="processing-instruction('dbhtml')">
				<xsl:call-template name="dbhtml-attribute">
					<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
					<xsl:with-param name="attribute" select="'row-height'"/>
				</xsl:call-template>
			</xsl:if>
		</xsl:variable>
		<xsl:variable name="bgcolor">
			<xsl:if test="processing-instruction('dbhtml')">
				<xsl:call-template name="dbhtml-attribute">
					<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
					<xsl:with-param name="attribute" select="'bgcolor'"/>
				</xsl:call-template>
			</xsl:if>
		</xsl:variable>
		<xsl:variable name="class">
			<xsl:if test="processing-instruction('dbhtml')">
				<xsl:call-template name="dbhtml-attribute">
					<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
					<xsl:with-param name="attribute" select="'class'"/>
				</xsl:call-template>
			</xsl:if>
		</xsl:variable>
		<tr>
			<xsl:call-template name="tr.attributes">
				<xsl:with-param name="rownum">
					<xsl:number from="tgroup" count="row"/>
				</xsl:with-param>
			</xsl:call-template>
			<xsl:attribute name="class"><xsl:value-of select="@class"/></xsl:attribute>
			<xsl:if test="$row-height != ''">
				<xsl:attribute name="height"><xsl:value-of select="$row-height"/></xsl:attribute>
			</xsl:if>
			<xsl:if test="$bgcolor != ''">
				<xsl:attribute name="bgcolor"><xsl:value-of select="$bgcolor"/></xsl:attribute>
			</xsl:if>
			<xsl:if test="$class != ''">
				<xsl:attribute name="class"><xsl:value-of select="$class"/></xsl:attribute>
			</xsl:if>
			<xsl:if test="$table.borders.with.css != 0">
				<xsl:if test="@rowsep = 1 and following-sibling::row">
					<xsl:attribute name="style"><xsl:call-template name="border"><xsl:with-param name="side" select="'bottom'"/></xsl:call-template></xsl:attribute>
				</xsl:if>
			</xsl:if>
			<xsl:if test="@align">
				<xsl:attribute name="align"><xsl:value-of select="@align"/></xsl:attribute>
			</xsl:if>
			<xsl:if test="@char">
				<xsl:attribute name="char"><xsl:value-of select="@char"/></xsl:attribute>
			</xsl:if>
			<xsl:if test="@charoff">
				<xsl:attribute name="charoff"><xsl:value-of select="@charoff"/></xsl:attribute>
			</xsl:if>
			<xsl:if test="@valign">
				<xsl:attribute name="valign"><xsl:value-of select="@valign"/></xsl:attribute>
			</xsl:if>
			<xsl:apply-templates select="(entry|entrytbl)[1]">
				<xsl:with-param name="spans" select="$spans"/>
			</xsl:apply-templates>
		</tr>
		<xsl:if test="following-sibling::row">
			<xsl:variable name="nextspans">
				<xsl:apply-templates select="(entry|entrytbl)[1]" mode="span">
					<xsl:with-param name="spans" select="$spans"/>
				</xsl:apply-templates>
			</xsl:variable>
			<xsl:apply-templates select="following-sibling::row[1]">
				<xsl:with-param name="spans" select="$nextspans"/>
			</xsl:apply-templates>
		</xsl:if>
	</xsl:template>
	
	<xsl:template match="entry|entrytbl" name="entry">
  <xsl:param name="col" select="1"/>
  <xsl:param name="spans"/>

  <xsl:variable name="cellgi">
    <xsl:choose>
      <xsl:when test="ancestor::thead">th</xsl:when>
      <xsl:when test="ancestor::tfoot">th</xsl:when>
      <xsl:otherwise>td</xsl:otherwise>
    </xsl:choose>
  </xsl:variable>

  <xsl:variable name="empty.cell" select="count(node()) = 0"/>

  <xsl:variable name="named.colnum">
    <xsl:call-template name="entry.colnum"/>
  </xsl:variable>

  <xsl:variable name="entry.colnum">
    <xsl:choose>
      <xsl:when test="$named.colnum &gt; 0">
        <xsl:value-of select="$named.colnum"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="$col"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:variable>

  <xsl:variable name="entry.colspan">
    <xsl:choose>
      <xsl:when test="@spanname or @namest">
        <xsl:call-template name="calculate.colspan"/>
      </xsl:when>
      <xsl:otherwise>1</xsl:otherwise>
    </xsl:choose>
  </xsl:variable>

  <xsl:variable name="following.spans">
    <xsl:call-template name="calculate.following.spans">
      <xsl:with-param name="colspan" select="$entry.colspan"/>
      <xsl:with-param name="spans" select="$spans"/>
    </xsl:call-template>
  </xsl:variable>

  <xsl:variable name="rowsep">
    <xsl:choose>
      <!-- If this is the last row, rowsep never applies. -->
      <xsl:when test="ancestor::entrytbl
                      and not (ancestor-or-self::row[1]/following-sibling::row)">
        <xsl:value-of select="0"/>
      </xsl:when>
      <xsl:when test="not(ancestor-or-self::row[1]/following-sibling::row
                          or ancestor-or-self::thead/following-sibling::tbody
                          or ancestor-or-self::tbody/preceding-sibling::tfoot)">
        <xsl:value-of select="0"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:call-template name="inherited.table.attribute">
          <xsl:with-param name="entry" select="."/>
          <xsl:with-param name="colnum" select="$entry.colnum"/>
          <xsl:with-param name="attribute" select="'rowsep'"/>
        </xsl:call-template>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:variable>

  <xsl:variable name="colsep">
    <xsl:choose>
      <!-- If this is the last column, colsep never applies. -->
      <xsl:when test="$following.spans = ''">0</xsl:when>
      <xsl:otherwise>
        <xsl:call-template name="inherited.table.attribute">
          <xsl:with-param name="entry" select="."/>
          <xsl:with-param name="colnum" select="$entry.colnum"/>
          <xsl:with-param name="attribute" select="'colsep'"/>
        </xsl:call-template>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:variable>

  <xsl:variable name="valign">
    <xsl:call-template name="inherited.table.attribute">
      <xsl:with-param name="entry" select="."/>
      <xsl:with-param name="colnum" select="$entry.colnum"/>
      <xsl:with-param name="attribute" select="'valign'"/>
    </xsl:call-template>
  </xsl:variable>

  <xsl:variable name="align">
    <xsl:call-template name="inherited.table.attribute">
      <xsl:with-param name="entry" select="."/>
      <xsl:with-param name="colnum" select="$entry.colnum"/>
      <xsl:with-param name="attribute" select="'align'"/>
    </xsl:call-template>
  </xsl:variable>

<xsl:variable name="class">
    <xsl:call-template name="inherited.table.attribute">
      <xsl:with-param name="entry" select="."/>
      <xsl:with-param name="colnum" select="$entry.colnum"/>
      <xsl:with-param name="attribute" select="'class'"/>
    </xsl:call-template>
  </xsl:variable>
  
  <xsl:variable name="char">
    <xsl:call-template name="inherited.table.attribute">
      <xsl:with-param name="entry" select="."/>
      <xsl:with-param name="colnum" select="$entry.colnum"/>
      <xsl:with-param name="attribute" select="'char'"/>
    </xsl:call-template>
  </xsl:variable>

  <xsl:variable name="charoff">
    <xsl:call-template name="inherited.table.attribute">
      <xsl:with-param name="entry" select="."/>
      <xsl:with-param name="colnum" select="$entry.colnum"/>
      <xsl:with-param name="attribute" select="'charoff'"/>
    </xsl:call-template>
  </xsl:variable>

  <xsl:choose>
    <xsl:when test="$spans != '' and not(starts-with($spans,'0:'))">
      <xsl:call-template name="entry">
        <xsl:with-param name="col" select="$col+1"/>
        <xsl:with-param name="spans" select="substring-after($spans,':')"/>
      </xsl:call-template>
    </xsl:when>

    <xsl:when test="$entry.colnum &gt; $col">
      <xsl:call-template name="empty.table.cell"/>
      <xsl:call-template name="entry">
        <xsl:with-param name="col" select="$col+1"/>
        <xsl:with-param name="spans" select="substring-after($spans,':')"/>
      </xsl:call-template>
    </xsl:when>

    <xsl:otherwise>
      <xsl:variable name="bgcolor">
        <xsl:if test="processing-instruction('dbhtml')">
          <xsl:call-template name="dbhtml-attribute">
            <xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
            <xsl:with-param name="attribute" select="'bgcolor'"/>
          </xsl:call-template>
        </xsl:if>
      </xsl:variable>

      <xsl:element name="{$cellgi}">
        <xsl:if test="$bgcolor != ''">
          <xsl:attribute name="bgcolor">
            <xsl:value-of select="$bgcolor"/>
          </xsl:attribute>
        </xsl:if>

        <xsl:if test="$entry.propagates.style != 0 and @role">
          <xsl:attribute name="class">
            <xsl:value-of select="@role"/>
          </xsl:attribute>
        </xsl:if>

        <xsl:if test="$show.revisionflag and @revisionflag">
          <xsl:attribute name="class">
            <xsl:value-of select="@revisionflag"/>
          </xsl:attribute>
        </xsl:if>

        <xsl:if test="$table.borders.with.css != 0">
          <xsl:attribute name="style">
            <xsl:if test="$colsep &gt; 0">
              <xsl:call-template name="border">
                <xsl:with-param name="side" select="'right'"/>
              </xsl:call-template>
            </xsl:if>
            <xsl:if test="$rowsep &gt; 0">
              <xsl:call-template name="border">
                <xsl:with-param name="side" select="'bottom'"/>
              </xsl:call-template>
            </xsl:if>
          </xsl:attribute>
        </xsl:if>

        <xsl:if test="@morerows &gt; 0">
          <xsl:attribute name="rowspan">
            <xsl:value-of select="1+@morerows"/>
          </xsl:attribute>
        </xsl:if>

        <xsl:if test="$entry.colspan &gt; 1">
          <xsl:attribute name="colspan">
            <xsl:value-of select="$entry.colspan"/>
          </xsl:attribute>
        </xsl:if>

        <xsl:if test="$align != ''">
          <xsl:attribute name="align">
            <xsl:value-of select="$align"/>
          </xsl:attribute>
        </xsl:if>

		<xsl:if test="$class != ''">
          <xsl:attribute name="class">
            <xsl:value-of select="$class"/>
          </xsl:attribute>
        </xsl:if>
        
        <xsl:if test="$valign != ''">
          <xsl:attribute name="valign">
            <xsl:value-of select="$valign"/>
          </xsl:attribute>
        </xsl:if>

        <xsl:if test="$char != ''">
          <xsl:attribute name="char">
            <xsl:value-of select="$char"/>
          </xsl:attribute>
        </xsl:if>

        <xsl:if test="$charoff != ''">
          <xsl:attribute name="charoff">
            <xsl:value-of select="$charoff"/>
          </xsl:attribute>
        </xsl:if>

        <xsl:if test="not(preceding-sibling::*) and ancestor::row/@id">
          <xsl:call-template name="anchor">
            <xsl:with-param name="node" select="ancestor::row[1]"/>
          </xsl:call-template>
        </xsl:if>

        <xsl:call-template name="anchor"/>

        <xsl:choose>
          <xsl:when test="$empty.cell">
            <xsl:text>&#160;</xsl:text>
          </xsl:when>
          <xsl:when test="self::entrytbl">
            <xsl:call-template name="tgroup"/>
          </xsl:when>
          <xsl:otherwise>
            <xsl:apply-templates/>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:element>

      <xsl:choose>
        <xsl:when test="following-sibling::entry|following-sibling::entrytbl">
          <xsl:apply-templates select="(following-sibling::entry
                                       |following-sibling::entrytbl)[1]">
            <xsl:with-param name="col" select="$col+$entry.colspan"/>
            <xsl:with-param name="spans" select="$following.spans"/>
          </xsl:apply-templates>
        </xsl:when>
        <xsl:otherwise>
          <xsl:call-template name="finaltd">
            <xsl:with-param name="spans" select="$following.spans"/>
            <xsl:with-param name="col" select="$col+$entry.colspan"/>
          </xsl:call-template>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>


	<xsl:template name="attrs">
		<xsl:param name="nd" select="."/>
		<xsl:attribute name="element"><xsl:value-of select="local-name(.)"/></xsl:attribute>
		<xsl:attribute name="href"><xsl:variable name="value"><xsl:call-template name="olink.href.target"><xsl:with-param name="nd" select="$nd"/></xsl:call-template></xsl:variable><xsl:if test="$value = 'index.html'"><xsl:value-of select="'EOFrameset.html'"/></xsl:if><xsl:if test="not($value = 'index.html')"><xsl:value-of select="$value"/></xsl:if></xsl:attribute>
		<xsl:variable name="num">
			<xsl:apply-templates select="$nd" mode="label.markup">
				<xsl:with-param name="verbose" select="0"/>
			</xsl:apply-templates>
		</xsl:variable>
		<xsl:if test="$num">
			<xsl:attribute name="number"><xsl:value-of select="$num"/></xsl:attribute>
		</xsl:if>
		<xsl:if test="$nd/@id">
			<xsl:attribute name="targetptr"><xsl:value-of select="$nd/@id"/></xsl:attribute>
		</xsl:if>
		<xsl:if test="$nd/@lang">
			<xsl:attribute name="lang"><xsl:value-of select="$nd/@lang"/></xsl:attribute>
		</xsl:if>
	</xsl:template>
	<xsl:template match="strike">
	<xsl:element name="strike">
	<xsl:apply-templates/>
		</xsl:element>
	</xsl:template>
	<xsl:template match="bold">
	<xsl:element name="b">
	<xsl:apply-templates/>
		</xsl:element>
	</xsl:template>
	<xsl:template match="br">
	<xsl:element name="br">
	<xsl:apply-templates/>
		</xsl:element>
	</xsl:template>
	<xsl:template match="span">
		<span style="background-color:#3bbd3b;">
			<xsl:apply-templates/>
		</span>
	</xsl:template>
</xsl:stylesheet>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]