[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]