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]