[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,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:����----- Original Message -----From: Bela PatelSent: Tuesday, March 10, 2009 1:11 PMSubject: [docbook-apps] 'Next' and 'Previous' navigation link of header and footer content not working for HTML report with docbook 1.74.3Hi,�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()) > 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 " ">
<!ENTITY check "ઙ">
]>
<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 & Confidential
</center> <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) > 0
or (count($up) > 0
and generate-id($up) != generate-id($home)
and $navig.showtitles != 0)
or count($next) > 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 '), '.'))"/>
</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> </xsl:text>
</td>
<td width="80%" align="center">
</td>
<td width="10%" align="right">
<xsl:text> </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 '), '.'))"/>
</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) > 0
or count($up) > 0
or count($next) > 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 '), '.'))"/>
</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> </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> </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 '), '.'))"/>
</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> </xsl:text>
</td>
<td width="20%" align="center">
</td>
<td width="40%" align="right" valign="top">
<xsl:text> </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 %n, %t"/>
<l:template name="chapter" text="Chapter %n, %t"/>
<l:template name="equation" text="Equation %n, “%t”"/>
<l:template name="example" text="Example %n, “%t”"/>
<l:template name="figure" text="Figure %n, %t"/>
<l:template name="section" text="Section %n, %t"/>
<l:template name="table" text="Table %n, “%t”"/>
</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 %n %t"/>
<l:template name="table" text="Table %n %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>&</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() < 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) < 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 > 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 > $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 > 0">
<xsl:call-template name="border">
<xsl:with-param name="side" select="'right'"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$rowsep > 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 > 0">
<xsl:attribute name="rowspan">
<xsl:value-of select="1+@morerows"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="$entry.colspan > 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> </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]