diff options
Diffstat (limited to 'stylesheets/lfs-xsl/docbook-xsl-1.78.1/roundtrip/normalise2sections.xsl')
-rw-r--r-- | stylesheets/lfs-xsl/docbook-xsl-1.78.1/roundtrip/normalise2sections.xsl | 1270 |
1 files changed, 1270 insertions, 0 deletions
diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/roundtrip/normalise2sections.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/roundtrip/normalise2sections.xsl new file mode 100644 index 000000000..51bd9f56f --- /dev/null +++ b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/roundtrip/normalise2sections.xsl @@ -0,0 +1,1270 @@ +<?xml version="1.0"?> +<axsl:stylesheet xmlns:axsl="http://www.w3.org/1999/XSL/Transform" xmlns:dbk="http://docbook.org/ns/docbook" xmlns:rnd="http://docbook.org/ns/docbook/roundtrip" version="1.0"> +<!--====================================--> +<!--= =--> +<!--= DO NOT EDIT THIS STYLESHEET =--> +<!--= =--> +<!--= This stylesheet is generated =--> +<!--= by makeSections.xsl and a =--> +<!--= mapping specification. =--> +<!--= =--> +<!--= Revision history: =--> +<!--= =--> +<!--= $Id: normalise2sections.xsl 8107 2008-08-17 22:39:58Z balls $ =--> +<!--= =--> +<!--====================================--> + <axsl:output indent="yes"/> + <axsl:strip-space elements="*"/> + <axsl:preserve-space elements="dbk:para dbk:emphasis"/> + <axsl:template match="dbk:article"> + <axsl:copy> + <axsl:for-each select="@*"> + <axsl:copy/> + </axsl:for-each> + <axsl:variable name="books" select="dbk:para[@rnd:style = "book" or @rnd:style = "book-title"]"/> + <axsl:variable name="toplevel-components" select="dbk:para[@rnd:style = "article" or @rnd:style = "article-title" or @rnd:style = "appendix" or @rnd:style = "appendix-title" or @rnd:style = "chapter" or @rnd:style = "chapter-title" or @rnd:style = "preface" or @rnd:style = "preface-title"]"/> + <axsl:choose> + <axsl:when test="$books"> + <axsl:apply-templates select="$books[1]/preceding-sibling::*"/> + <axsl:apply-templates select="$books[1]" mode="book"> + <axsl:with-param name="books" select="$books[position() != 1]"/> + </axsl:apply-templates> + </axsl:when> + <axsl:when test="$toplevel-components"> + <axsl:apply-templates select="$toplevel-components[1]/preceding-sibling::*"/> + <axsl:apply-templates select="$toplevel-components[1]" mode="toplevel-component"> + <axsl:with-param name="toplevel-components" select="$toplevel-components[position() != 1]"/> + </axsl:apply-templates> + </axsl:when> + <axsl:otherwise> + <axsl:apply-templates/> + </axsl:otherwise> + </axsl:choose> + </axsl:copy> + </axsl:template> + <axsl:template match="dbk:para" mode="book"> + <axsl:param name="books" select="/.."/> + <axsl:choose> + <axsl:when test="$books and (@rnd:style = "book" or @rnd:style = "book-title")"> + <axsl:call-template name="make-book"> + <axsl:with-param name="books" select="$books"/> + <axsl:with-param name="book-components" select="$books[1]/preceding-sibling::dbk:para[@rnd:style = "part" or @rnd:style = "part-title" or @rnd:style = "article" or @rnd:style = "article-title" or @rnd:style = "appendix" or @rnd:style = "appendix-title" or @rnd:style = "chapter" or @rnd:style = "chapter-title" or @rnd:style = "preface" or @rnd:style = "preface-title"]"/> + </axsl:call-template> + </axsl:when> + <axsl:otherwise> + <axsl:call-template name="make-book"> + <axsl:with-param name="books" select="$books"/> + <axsl:with-param name="book-components" select="following-sibling::dbk:para[@rnd:style = "part" or @rnd:style = "part-title" or @rnd:style = "article" or @rnd:style = "article-title" or @rnd:style = "appendix" or @rnd:style = "appendix-title" or @rnd:style = "chapter" or @rnd:style = "chapter-title" or @rnd:style = "preface" or @rnd:style = "preface-title"]"/> + </axsl:call-template> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template name="make-book"> + <axsl:param name="books" select="/.."/> + <axsl:param name="book-components" select="/.."/> +<!-- mode toplevel-templates --> + <book xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-component"> + <axsl:with-param name="nextbook" select="$books[1]"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </book> + <axsl:apply-templates select="$books[1]" mode="book"> + <axsl:with-param name="books" select="$books[position() != 1]"/> + </axsl:apply-templates> + </axsl:template> + <axsl:template match="dbk:para" mode="toplevel-component"> + <axsl:param name="toplevel-components" select="/.."/> + <axsl:choose> + <axsl:when test="$toplevel-components and (@rnd:style = "article" or @rnd:style = "article-title" or @rnd:style = "appendix" or @rnd:style = "appendix-title" or @rnd:style = "chapter" or @rnd:style = "chapter-title" or @rnd:style = "preface" or @rnd:style = "preface-title")"> + <axsl:call-template name="make-toplevel-component"> + <axsl:with-param name="toplevel-components" select="$toplevel-components"/> + <axsl:with-param name="sect1s" select="$toplevel-components[1]/preceding-sibling::dbk:para[@rnd:style = "sect1" or @rnd:style = "sect1-title"]"/> + </axsl:call-template> + </axsl:when> + <axsl:otherwise> + <axsl:call-template name="make-toplevel-component"> + <axsl:with-param name="toplevel-components" select="$toplevel-components"/> + <axsl:with-param name="sect1s" select="following-sibling::dbk:para[@rnd:style = "sect1" or @rnd:style = "sect1-title"]"/> + </axsl:call-template> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template name="make-toplevel-component"> + <axsl:param name="toplevel-components" select="/.."/> + <axsl:param name="sect1s" select="/.."/> +<!-- mode toplevel-templates: group:level - do not create element --> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect1"> + <axsl:with-param name="nexttoplevel-component" select="$toplevel-components[1]"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + <axsl:apply-templates select="$toplevel-components[1]" mode="toplevel-component"> + <axsl:with-param name="toplevel-components" select="$toplevel-components[position() != 1]"/> + </axsl:apply-templates> + </axsl:template> + <axsl:template match="dbk:para" mode="book-component"> + <axsl:param name="nextbook" select="/.."/> + <axsl:param select="/.." name="book-components"/> + <axsl:choose> + <axsl:when test="generate-id() = generate-id($nextbook)"/> + <axsl:when test="@rnd:style = "part" or @rnd:style = "part-title" or @rnd:style = "article" or @rnd:style = "article-title" or @rnd:style = "appendix" or @rnd:style = "appendix-title" or @rnd:style = "chapter" or @rnd:style = "chapter-title" or @rnd:style = "preface" or @rnd:style = "preface-title""> + <axsl:variable name="nextbook-component" select="following-sibling::dbk:para[@rnd:style = "part" or @rnd:style = "part-title" or @rnd:style = "article" or @rnd:style = "article-title" or @rnd:style = "appendix" or @rnd:style = "appendix-title" or @rnd:style = "chapter" or @rnd:style = "chapter-title" or @rnd:style = "preface" or @rnd:style = "preface-title"][1]"/> + <axsl:choose> + <axsl:when test="$nextbook-component"> + <axsl:variable name="sect1s" select="$nextbook-component/preceding-sibling::dbk:para[@rnd:style = "sect1" or @rnd:style = "sect1-title"]"/> +<!-- mode sections 1 --> + <book-component xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect1"> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </book-component> + <axsl:if test="count($book-components|$nextbook-component) = count($book-components)"> + <axsl:apply-templates select="$nextbook-component" mode="book-component"> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:if> + </axsl:when> + <axsl:otherwise> + <axsl:variable name="sect1s" select="following-sibling::dbk:para[@rnd:style = "sect1" or @rnd:style = "sect1-title"]"/> +<!-- mode sections 2 --> + <book-component xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect1"> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </book-component> + <axsl:if test="count($book-components|$nextbook-component) = count($book-components)"> + <axsl:apply-templates select="$nextbook-component" mode="book-component"> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:if> + </axsl:otherwise> + </axsl:choose> + </axsl:when> + <axsl:otherwise> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-component"> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template match="dbk:para" mode="book-sect1"> + <axsl:param name="nextbook-component" select="/.."/> + <axsl:param name="nextbook" select="/.."/> + <axsl:param select="/.." name="sect1s"/> + <axsl:param select="/.." name="book-components"/> + <axsl:choose> + <axsl:when test="generate-id() = generate-id($nextbook-component)"/> + <axsl:when test="generate-id() = generate-id($nextbook)"/> + <axsl:when test="@rnd:style = "sect1" or @rnd:style = "sect1-title""> + <axsl:variable name="nextsect1" select="following-sibling::dbk:para[@rnd:style = "sect1" or @rnd:style = "sect1-title"][1]"/> + <axsl:choose> + <axsl:when test="$nextsect1"> + <axsl:variable name="sect2s" select="$nextsect1/preceding-sibling::dbk:para[@rnd:style = "sect2" or @rnd:style = "sect2-title"]"/> +<!-- mode sections 1 --> + <sect1 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect2"> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </sect1> + <axsl:if test="$nextsect1 and (not($book-components) or count($sect1s|$nextsect1) = count($sect1s))"> + <axsl:apply-templates select="$nextsect1" mode="book-sect1"> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:if> + </axsl:when> + <axsl:otherwise> + <axsl:variable name="sect2s" select="following-sibling::dbk:para[@rnd:style = "sect2" or @rnd:style = "sect2-title"]"/> +<!-- mode sections 2 --> + <sect1 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect2"> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </sect1> + <axsl:if test="$nextsect1 and (not($book-components) or count($sect1s|$nextsect1) = count($sect1s))"> + <axsl:apply-templates select="$nextsect1" mode="book-sect1"> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:if> + </axsl:otherwise> + </axsl:choose> + </axsl:when> + <axsl:otherwise> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect1"> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template match="dbk:para" mode="book-sect2"> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nextbook-component" select="/.."/> + <axsl:param name="nextbook" select="/.."/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:param select="/.." name="book-components"/> + <axsl:choose> + <axsl:when test="generate-id() = generate-id($nextsect1)"/> + <axsl:when test="generate-id() = generate-id($nextbook-component)"/> + <axsl:when test="generate-id() = generate-id($nextbook)"/> + <axsl:when test="@rnd:style = "sect2" or @rnd:style = "sect2-title""> + <axsl:variable name="nextsect2" select="following-sibling::dbk:para[@rnd:style = "sect2" or @rnd:style = "sect2-title"][1]"/> + <axsl:choose> + <axsl:when test="$nextsect2"> + <axsl:variable name="sect3s" select="$nextsect2/preceding-sibling::dbk:para[@rnd:style = "sect3" or @rnd:style = "sect3-title"]"/> +<!-- mode sections 1 --> + <sect2 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect3"> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </sect2> + <axsl:if test="$nextsect2 and (not($sect1s) or count($sect2s|$nextsect2) = count($sect2s))"> + <axsl:apply-templates select="$nextsect2" mode="book-sect2"> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:if> + </axsl:when> + <axsl:otherwise> + <axsl:variable name="sect3s" select="following-sibling::dbk:para[@rnd:style = "sect3" or @rnd:style = "sect3-title"]"/> +<!-- mode sections 2 --> + <sect2 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect3"> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </sect2> + <axsl:if test="$nextsect2 and (not($sect1s) or count($sect2s|$nextsect2) = count($sect2s))"> + <axsl:apply-templates select="$nextsect2" mode="book-sect2"> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:if> + </axsl:otherwise> + </axsl:choose> + </axsl:when> + <axsl:otherwise> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect2"> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template match="dbk:para" mode="book-sect3"> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nextbook-component" select="/.."/> + <axsl:param name="nextbook" select="/.."/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:param select="/.." name="book-components"/> + <axsl:choose> + <axsl:when test="generate-id() = generate-id($nextsect2)"/> + <axsl:when test="generate-id() = generate-id($nextsect1)"/> + <axsl:when test="generate-id() = generate-id($nextbook-component)"/> + <axsl:when test="generate-id() = generate-id($nextbook)"/> + <axsl:when test="@rnd:style = "sect3" or @rnd:style = "sect3-title""> + <axsl:variable name="nextsect3" select="following-sibling::dbk:para[@rnd:style = "sect3" or @rnd:style = "sect3-title"][1]"/> + <axsl:choose> + <axsl:when test="$nextsect3"> + <axsl:variable name="sect4s" select="$nextsect3/preceding-sibling::dbk:para[@rnd:style = "sect4" or @rnd:style = "sect4-title"]"/> +<!-- mode sections 1 --> + <sect3 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect4"> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </sect3> + <axsl:if test="$nextsect3 and (not($sect2s) or count($sect3s|$nextsect3) = count($sect3s))"> + <axsl:apply-templates select="$nextsect3" mode="book-sect3"> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:if> + </axsl:when> + <axsl:otherwise> + <axsl:variable name="sect4s" select="following-sibling::dbk:para[@rnd:style = "sect4" or @rnd:style = "sect4-title"]"/> +<!-- mode sections 2 --> + <sect3 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect4"> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </sect3> + <axsl:if test="$nextsect3 and (not($sect2s) or count($sect3s|$nextsect3) = count($sect3s))"> + <axsl:apply-templates select="$nextsect3" mode="book-sect3"> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:if> + </axsl:otherwise> + </axsl:choose> + </axsl:when> + <axsl:otherwise> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect3"> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template match="dbk:para" mode="book-sect4"> + <axsl:param name="nextsect3" select="/.."/> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nextbook-component" select="/.."/> + <axsl:param name="nextbook" select="/.."/> + <axsl:param select="/.." name="sect4s"/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:param select="/.." name="book-components"/> + <axsl:choose> + <axsl:when test="generate-id() = generate-id($nextsect3)"/> + <axsl:when test="generate-id() = generate-id($nextsect2)"/> + <axsl:when test="generate-id() = generate-id($nextsect1)"/> + <axsl:when test="generate-id() = generate-id($nextbook-component)"/> + <axsl:when test="generate-id() = generate-id($nextbook)"/> + <axsl:when test="@rnd:style = "sect4" or @rnd:style = "sect4-title""> + <axsl:variable name="nextsect4" select="following-sibling::dbk:para[@rnd:style = "sect4" or @rnd:style = "sect4-title"][1]"/> + <axsl:choose> + <axsl:when test="$nextsect4"> + <axsl:variable name="sect5s" select="$nextsect4/preceding-sibling::dbk:para[@rnd:style = "sect5" or @rnd:style = "sect5-title"]"/> +<!-- mode sections 1 --> + <sect4 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect5"> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </sect4> + <axsl:if test="$nextsect4 and (not($sect3s) or count($sect4s|$nextsect4) = count($sect4s))"> + <axsl:apply-templates select="$nextsect4" mode="book-sect4"> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:if> + </axsl:when> + <axsl:otherwise> + <axsl:variable name="sect5s" select="following-sibling::dbk:para[@rnd:style = "sect5" or @rnd:style = "sect5-title"]"/> +<!-- mode sections 2 --> + <sect4 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect5"> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </sect4> + <axsl:if test="$nextsect4 and (not($sect3s) or count($sect4s|$nextsect4) = count($sect4s))"> + <axsl:apply-templates select="$nextsect4" mode="book-sect4"> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:if> + </axsl:otherwise> + </axsl:choose> + </axsl:when> + <axsl:otherwise> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect4"> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template match="dbk:para" mode="book-sect5"> + <axsl:param name="nextsect4" select="/.."/> + <axsl:param name="nextsect3" select="/.."/> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nextbook-component" select="/.."/> + <axsl:param name="nextbook" select="/.."/> + <axsl:param select="/.." name="sect5s"/> + <axsl:param select="/.." name="sect4s"/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:param select="/.." name="book-components"/> + <axsl:choose> + <axsl:when test="generate-id() = generate-id($nextsect4)"/> + <axsl:when test="generate-id() = generate-id($nextsect3)"/> + <axsl:when test="generate-id() = generate-id($nextsect2)"/> + <axsl:when test="generate-id() = generate-id($nextsect1)"/> + <axsl:when test="generate-id() = generate-id($nextbook-component)"/> + <axsl:when test="generate-id() = generate-id($nextbook)"/> + <axsl:when test="@rnd:style = "sect5" or @rnd:style = "sect5-title""> + <axsl:variable name="nextsect5" select="following-sibling::dbk:para[@rnd:style = "sect5" or @rnd:style = "sect5-title"][1]"/> +<!-- mode sections 3 --> + <sect5 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-terminal"> + <axsl:with-param name="nextsect5" select="$nextsect5"/> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </sect5> + <axsl:if test="$nextsect5 and (not($sect4s) or count($sect5s|$nextsect5) = count($sect5s))"> + <axsl:apply-templates select="$nextsect5" mode="book-sect5"> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:if> + </axsl:when> + <axsl:otherwise> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect5"> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template match="dbk:para" mode="toplevel-sect1"> + <axsl:param name="nexttoplevel-component" select="/.."/> + <axsl:param select="/.." name="sect1s"/> + <axsl:choose> + <axsl:when test="generate-id() = generate-id($nexttoplevel-component)"/> + <axsl:when test="@rnd:style = "sect1" or @rnd:style = "sect1-title""> + <axsl:variable name="nextsect1" select="following-sibling::dbk:para[@rnd:style = "sect1" or @rnd:style = "sect1-title"][1]"/> + <axsl:choose> + <axsl:when test="$nextsect1"> + <axsl:variable name="sect2s" select="$nextsect1/preceding-sibling::dbk:para[@rnd:style = "sect2" or @rnd:style = "sect2-title"]"/> +<!-- mode sections 1 --> + <sect1 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect2"> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </sect1> + <axsl:if test="count($sect1s|$nextsect1) = count($sect1s)"> + <axsl:apply-templates select="$nextsect1" mode="toplevel-sect1"> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:if> + </axsl:when> + <axsl:otherwise> + <axsl:variable name="sect2s" select="following-sibling::dbk:para[@rnd:style = "sect2" or @rnd:style = "sect2-title"]"/> +<!-- mode sections 2 --> + <sect1 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect2"> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </sect1> + <axsl:if test="count($sect1s|$nextsect1) = count($sect1s)"> + <axsl:apply-templates select="$nextsect1" mode="toplevel-sect1"> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:if> + </axsl:otherwise> + </axsl:choose> + </axsl:when> + <axsl:otherwise> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect1"> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template match="dbk:para" mode="toplevel-sect2"> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nexttoplevel-component" select="/.."/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:choose> + <axsl:when test="generate-id() = generate-id($nextsect1)"/> + <axsl:when test="generate-id() = generate-id($nexttoplevel-component)"/> + <axsl:when test="@rnd:style = "sect2" or @rnd:style = "sect2-title""> + <axsl:variable name="nextsect2" select="following-sibling::dbk:para[@rnd:style = "sect2" or @rnd:style = "sect2-title"][1]"/> + <axsl:choose> + <axsl:when test="$nextsect2"> + <axsl:variable name="sect3s" select="$nextsect2/preceding-sibling::dbk:para[@rnd:style = "sect3" or @rnd:style = "sect3-title"]"/> +<!-- mode sections 1 --> + <sect2 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect3"> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </sect2> + <axsl:if test="$nextsect2 and (not($sect1s) or count($sect2s|$nextsect2) = count($sect2s))"> + <axsl:apply-templates select="$nextsect2" mode="toplevel-sect2"> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:if> + </axsl:when> + <axsl:otherwise> + <axsl:variable name="sect3s" select="following-sibling::dbk:para[@rnd:style = "sect3" or @rnd:style = "sect3-title"]"/> +<!-- mode sections 2 --> + <sect2 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect3"> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </sect2> + <axsl:if test="$nextsect2 and (not($sect1s) or count($sect2s|$nextsect2) = count($sect2s))"> + <axsl:apply-templates select="$nextsect2" mode="toplevel-sect2"> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:if> + </axsl:otherwise> + </axsl:choose> + </axsl:when> + <axsl:otherwise> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect2"> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template match="dbk:para" mode="toplevel-sect3"> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nexttoplevel-component" select="/.."/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:choose> + <axsl:when test="generate-id() = generate-id($nextsect2)"/> + <axsl:when test="generate-id() = generate-id($nextsect1)"/> + <axsl:when test="generate-id() = generate-id($nexttoplevel-component)"/> + <axsl:when test="@rnd:style = "sect3" or @rnd:style = "sect3-title""> + <axsl:variable name="nextsect3" select="following-sibling::dbk:para[@rnd:style = "sect3" or @rnd:style = "sect3-title"][1]"/> + <axsl:choose> + <axsl:when test="$nextsect3"> + <axsl:variable name="sect4s" select="$nextsect3/preceding-sibling::dbk:para[@rnd:style = "sect4" or @rnd:style = "sect4-title"]"/> +<!-- mode sections 1 --> + <sect3 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect4"> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </sect3> + <axsl:if test="$nextsect3 and (not($sect2s) or count($sect3s|$nextsect3) = count($sect3s))"> + <axsl:apply-templates select="$nextsect3" mode="toplevel-sect3"> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:if> + </axsl:when> + <axsl:otherwise> + <axsl:variable name="sect4s" select="following-sibling::dbk:para[@rnd:style = "sect4" or @rnd:style = "sect4-title"]"/> +<!-- mode sections 2 --> + <sect3 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect4"> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </sect3> + <axsl:if test="$nextsect3 and (not($sect2s) or count($sect3s|$nextsect3) = count($sect3s))"> + <axsl:apply-templates select="$nextsect3" mode="toplevel-sect3"> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:if> + </axsl:otherwise> + </axsl:choose> + </axsl:when> + <axsl:otherwise> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect3"> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template match="dbk:para" mode="toplevel-sect4"> + <axsl:param name="nextsect3" select="/.."/> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nexttoplevel-component" select="/.."/> + <axsl:param select="/.." name="sect4s"/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:choose> + <axsl:when test="generate-id() = generate-id($nextsect3)"/> + <axsl:when test="generate-id() = generate-id($nextsect2)"/> + <axsl:when test="generate-id() = generate-id($nextsect1)"/> + <axsl:when test="generate-id() = generate-id($nexttoplevel-component)"/> + <axsl:when test="@rnd:style = "sect4" or @rnd:style = "sect4-title""> + <axsl:variable name="nextsect4" select="following-sibling::dbk:para[@rnd:style = "sect4" or @rnd:style = "sect4-title"][1]"/> + <axsl:choose> + <axsl:when test="$nextsect4"> + <axsl:variable name="sect5s" select="$nextsect4/preceding-sibling::dbk:para[@rnd:style = "sect5" or @rnd:style = "sect5-title"]"/> +<!-- mode sections 1 --> + <sect4 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect5"> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </sect4> + <axsl:if test="$nextsect4 and (not($sect3s) or count($sect4s|$nextsect4) = count($sect4s))"> + <axsl:apply-templates select="$nextsect4" mode="toplevel-sect4"> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:if> + </axsl:when> + <axsl:otherwise> + <axsl:variable name="sect5s" select="following-sibling::dbk:para[@rnd:style = "sect5" or @rnd:style = "sect5-title"]"/> +<!-- mode sections 2 --> + <sect4 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect5"> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </sect4> + <axsl:if test="$nextsect4 and (not($sect3s) or count($sect4s|$nextsect4) = count($sect4s))"> + <axsl:apply-templates select="$nextsect4" mode="toplevel-sect4"> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:if> + </axsl:otherwise> + </axsl:choose> + </axsl:when> + <axsl:otherwise> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect4"> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template match="dbk:para" mode="toplevel-sect5"> + <axsl:param name="nextsect4" select="/.."/> + <axsl:param name="nextsect3" select="/.."/> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nexttoplevel-component" select="/.."/> + <axsl:param select="/.." name="sect5s"/> + <axsl:param select="/.." name="sect4s"/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:choose> + <axsl:when test="generate-id() = generate-id($nextsect4)"/> + <axsl:when test="generate-id() = generate-id($nextsect3)"/> + <axsl:when test="generate-id() = generate-id($nextsect2)"/> + <axsl:when test="generate-id() = generate-id($nextsect1)"/> + <axsl:when test="generate-id() = generate-id($nexttoplevel-component)"/> + <axsl:when test="@rnd:style = "sect5" or @rnd:style = "sect5-title""> + <axsl:variable name="nextsect5" select="following-sibling::dbk:para[@rnd:style = "sect5" or @rnd:style = "sect5-title"][1]"/> +<!-- mode sections 3 --> + <sect5 xmlns="http://docbook.org/ns/docbook"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-terminal"> + <axsl:with-param name="nextsect5" select="$nextsect5"/> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </sect5> + <axsl:if test="$nextsect5 and (not($sect4s) or count($sect5s|$nextsect5) = count($sect5s))"> + <axsl:apply-templates select="$nextsect5" mode="toplevel-sect5"> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:if> + </axsl:when> + <axsl:otherwise> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect5"> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template match="dbk:para" mode="book-terminal"> + <axsl:param name="nextsect5" select="/.."/> + <axsl:param name="nextsect4" select="/.."/> + <axsl:param name="nextsect3" select="/.."/> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nextbook-component" select="/.."/> + <axsl:param name="nextbook" select="/.."/> + <axsl:param select="/.." name="sect5s"/> + <axsl:param select="/.." name="sect4s"/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:param select="/.." name="book-components"/> + <axsl:choose> + <axsl:when test="generate-id() = generate-id($nextsect5)"/> + <axsl:when test="generate-id() = generate-id($nextsect4)"/> + <axsl:when test="generate-id() = generate-id($nextsect3)"/> + <axsl:when test="generate-id() = generate-id($nextsect2)"/> + <axsl:when test="generate-id() = generate-id($nextsect1)"/> + <axsl:when test="generate-id() = generate-id($nextbook-component)"/> + <axsl:when test="generate-id() = generate-id($nextbook)"/> + <axsl:otherwise> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-terminal"> + <axsl:with-param name="nextsect5" select="$nextsect5"/> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template match="dbk:para" mode="toplevel-terminal"> + <axsl:param name="nextsect5" select="/.."/> + <axsl:param name="nextsect4" select="/.."/> + <axsl:param name="nextsect3" select="/.."/> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nexttoplevel-component" select="/.."/> + <axsl:param select="/.." name="sect5s"/> + <axsl:param select="/.." name="sect4s"/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:choose> + <axsl:when test="generate-id() = generate-id($nextsect5)"/> + <axsl:when test="generate-id() = generate-id($nextsect4)"/> + <axsl:when test="generate-id() = generate-id($nextsect3)"/> + <axsl:when test="generate-id() = generate-id($nextsect2)"/> + <axsl:when test="generate-id() = generate-id($nextsect1)"/> + <axsl:when test="generate-id() = generate-id($nexttoplevel-component)"/> + <axsl:otherwise> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-terminal"> + <axsl:with-param name="nextsect5" select="$nextsect5"/> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:otherwise> + </axsl:choose> + </axsl:template> + <axsl:template match="*"> + <axsl:call-template name="copy"/> + </axsl:template> + <axsl:template match="*" mode="book"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book"/> + </axsl:template> + <axsl:template match="*" mode="book-component"> + <axsl:param name="nextbook" select="/.."/> + <axsl:param select="/.." name="book-components"/> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-component"> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:template> + <axsl:template match="*" mode="book-sect1"> + <axsl:param name="nextbook-component" select="/.."/> + <axsl:param name="nextbook" select="/.."/> + <axsl:param select="/.." name="sect1s"/> + <axsl:param select="/.." name="book-components"/> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect1"> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:template> + <axsl:template match="*" mode="book-sect2"> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nextbook-component" select="/.."/> + <axsl:param name="nextbook" select="/.."/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:param select="/.." name="book-components"/> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect2"> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:template> + <axsl:template match="*" mode="book-sect3"> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nextbook-component" select="/.."/> + <axsl:param name="nextbook" select="/.."/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:param select="/.." name="book-components"/> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect3"> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:template> + <axsl:template match="*" mode="book-sect4"> + <axsl:param name="nextsect3" select="/.."/> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nextbook-component" select="/.."/> + <axsl:param name="nextbook" select="/.."/> + <axsl:param select="/.." name="sect4s"/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:param select="/.." name="book-components"/> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect4"> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:template> + <axsl:template match="*" mode="book-sect5"> + <axsl:param name="nextsect4" select="/.."/> + <axsl:param name="nextsect3" select="/.."/> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nextbook-component" select="/.."/> + <axsl:param name="nextbook" select="/.."/> + <axsl:param select="/.." name="sect5s"/> + <axsl:param select="/.." name="sect4s"/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:param select="/.." name="book-components"/> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="book-sect5"> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nextbook-component" select="$nextbook-component"/> + <axsl:with-param name="nextbook" select="$nextbook"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + <axsl:with-param name="book-components" select="$book-components"/> + </axsl:apply-templates> + </axsl:template> + <axsl:template match="*" mode="toplevel-component"> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-component"/> + </axsl:template> + <axsl:template match="*" mode="toplevel-sect1"> + <axsl:param name="nexttoplevel-component" select="/.."/> + <axsl:param select="/.." name="sect1s"/> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect1"> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:template> + <axsl:template match="*" mode="toplevel-sect2"> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nexttoplevel-component" select="/.."/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect2"> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:template> + <axsl:template match="*" mode="toplevel-sect3"> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nexttoplevel-component" select="/.."/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect3"> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:template> + <axsl:template match="*" mode="toplevel-sect4"> + <axsl:param name="nextsect3" select="/.."/> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nexttoplevel-component" select="/.."/> + <axsl:param select="/.." name="sect4s"/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect4"> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:template> + <axsl:template match="*" mode="toplevel-sect5"> + <axsl:param name="nextsect4" select="/.."/> + <axsl:param name="nextsect3" select="/.."/> + <axsl:param name="nextsect2" select="/.."/> + <axsl:param name="nextsect1" select="/.."/> + <axsl:param name="nexttoplevel-component" select="/.."/> + <axsl:param select="/.." name="sect5s"/> + <axsl:param select="/.." name="sect4s"/> + <axsl:param select="/.." name="sect3s"/> + <axsl:param select="/.." name="sect2s"/> + <axsl:param select="/.." name="sect1s"/> + <axsl:call-template name="copy"/> + <axsl:apply-templates select="following-sibling::*[1]" mode="toplevel-sect5"> + <axsl:with-param name="nextsect4" select="$nextsect4"/> + <axsl:with-param name="nextsect3" select="$nextsect3"/> + <axsl:with-param name="nextsect2" select="$nextsect2"/> + <axsl:with-param name="nextsect1" select="$nextsect1"/> + <axsl:with-param name="nexttoplevel-component" select="$nexttoplevel-component"/> + <axsl:with-param name="sect5s" select="$sect5s"/> + <axsl:with-param name="sect4s" select="$sect4s"/> + <axsl:with-param name="sect3s" select="$sect3s"/> + <axsl:with-param name="sect2s" select="$sect2s"/> + <axsl:with-param name="sect1s" select="$sect1s"/> + </axsl:apply-templates> + </axsl:template> + <axsl:template name="copy"> + <axsl:copy> + <axsl:for-each select="@*"> + <axsl:copy/> + </axsl:for-each> + <axsl:apply-templates/> + </axsl:copy> + </axsl:template> +</axsl:stylesheet> |