123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 |
- <?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 makeSubsections.xsl and a =-->
- <!--= mapping specification. =-->
- <!--= =-->
- <!--= Revision history: =-->
- <!--= 1.1 2007-01-10 SRB =-->
- <!--= Output DocBook 5.0. =-->
- <!--= 1.0 2005-11-08 SRB =-->
- <!--= Initial version. =-->
- <!--= =-->
- <!--= $Id: sections2blocks.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:appendix | dbk:article | dbk:book | dbk:chapter | dbk:part | dbk:preface | dbk:section | dbk:sect1 | dbk:sect2 | dbk:sect3 | dbk:sect4 | dbk:sect5">
- <axsl:variable name="subsections" select="dbk:para[@rnd:style = "bibliography" or @rnd:style = "bibliography-title" or @rnd:style = "glossary" or @rnd:style = "glossary-title" or @rnd:style = "qandaset" or @rnd:style = "qandaset-title"]"/>
- <axsl:copy>
- <axsl:apply-templates select="@*"/>
- <axsl:choose>
- <axsl:when test="$subsections">
- <axsl:apply-templates select="$subsections[1]/preceding-sibling::node()"/>
- <axsl:apply-templates select="$subsections[1]" mode="subsections">
- <axsl:with-param name="subsections" select="$subsections[position() != 1]"/>
- </axsl:apply-templates>
- </axsl:when>
- <axsl:when test="dbk:appendix | dbk:article | dbk:book | dbk:chapter | dbk:part | dbk:preface | dbk:section | dbk:sect1 | dbk:sect2 | dbk:sect3 | dbk:sect4 | dbk:sect5">
- <axsl:apply-templates select="*[self::dbk:appendix | self::dbk:article | self::dbk:book | self::dbk:chapter | self::dbk:part | self::dbk:preface | self::dbk:section | self::dbk:sect1 | self::dbk:sect2 | self::dbk:sect3 | self::dbk:sect4 | self::dbk:sect5][1]/preceding-sibling::node()"/>
- <axsl:apply-templates select="dbk:appendix | dbk:article | dbk:book | dbk:chapter | dbk:part | dbk:preface | dbk:section | dbk:sect1 | dbk:sect2 | dbk:sect3 | dbk:sect4 | dbk:sect5"/>
- </axsl:when>
- <axsl:otherwise>
- <axsl:apply-templates/>
- </axsl:otherwise>
- </axsl:choose>
- </axsl:copy>
- <axsl:choose>
- <axsl:when test="following-sibling::*[self::dbk:appendix | self::dbk:article | self::dbk:book | self::dbk:chapter | self::dbk:part | self::dbk:preface | self::dbk:section | self::dbk:sect1 | self::dbk:sect2 | self::dbk:sect3 | self::dbk:sect4 | self::dbk:sect5] | following-sibling::dbk:para[@rnd:style = "bibliography" or @rnd:style = "bibliography-title" or @rnd:style = "glossary" or @rnd:style = "glossary-title" or @rnd:style = "qandaset" or @rnd:style = "qandaset-title"]">
- <axsl:variable name="nextComponent" select="following-sibling::*[self::dbk:appendix | self::dbk:article | self::dbk:book | self::dbk:chapter | self::dbk:part | self::dbk:preface | self::dbk:section | self::dbk:sect1 | self::dbk:sect2 | self::dbk:sect3 | self::dbk:sect4 | self::dbk:sect5|self::dbk:para[@rnd:style = "bibliography" or @rnd:style = "bibliography-title" or @rnd:style = "glossary" or @rnd:style = "glossary-title" or @rnd:style = "qandaset" or @rnd:style = "qandaset-title"]][1]"/>
- <axsl:apply-templates select="following-sibling::*[generate-id(following-sibling::*[self::dbk:appendix | self::dbk:article | self::dbk:book | self::dbk:chapter | self::dbk:part | self::dbk:preface | self::dbk:section | self::dbk:sect1 | self::dbk:sect2 | self::dbk:sect3 | self::dbk:sect4 | self::dbk:sect5|self::dbk:para[@rnd:style = "bibliography" or @rnd:style = "bibliography-title" or @rnd:style = "glossary" or @rnd:style = "glossary-title" or @rnd:style = "qandaset" or @rnd:style = "qandaset-title"]][1]) = generate-id($nextComponent)]"/>
- </axsl:when>
- <axsl:otherwise>
- <axsl:apply-templates select="following-sibling::*"/>
- </axsl:otherwise>
- </axsl:choose>
- </axsl:template>
- <axsl:template match="dbk:para" mode="subsections">
- <axsl:param name="subsections" select="/.."/>
- <axsl:choose>
- <axsl:when test="@rnd:style = "bibliography" or @rnd:style = "bibliography-title"">
- <bibliography xmlns="http://docbook.org/ns/docbook">
- <axsl:call-template name="copy"/>
- <axsl:variable name="bibliodivs" select="following-sibling::dbk:para[@rnd:style = "bibliodiv" or @rnd:style = "bibliodiv-title"]"/>
- <axsl:choose>
- <axsl:when test="$bibliodivs">
- <axsl:apply-templates select="following-sibling::*[1]" mode="bibliodivs">
- <axsl:with-param name="nextSubsection" select="$subsections[1]"/>
- <axsl:with-param name="bibliodivs" select="$bibliodivs[position() != 1]"/>
- </axsl:apply-templates>
- </axsl:when>
- <axsl:otherwise>
- <axsl:apply-templates select="following-sibling::*[1]" mode="terminal">
- <axsl:with-param name="nextSubsection" select="$subsections[1]"/>
- </axsl:apply-templates>
- </axsl:otherwise>
- </axsl:choose>
- </bibliography>
- </axsl:when>
- <axsl:when test="@rnd:style = "glossary" or @rnd:style = "glossary-title"">
- <glossary xmlns="http://docbook.org/ns/docbook">
- <axsl:call-template name="copy"/>
- <axsl:variable name="glossdivs" select="following-sibling::dbk:para[@rnd:style = "glossdiv" or @rnd:style = "glossdiv-title"]"/>
- <axsl:choose>
- <axsl:when test="$glossdivs">
- <axsl:apply-templates select="following-sibling::*[1]" mode="glossdivs">
- <axsl:with-param name="nextSubsection" select="$subsections[1]"/>
- <axsl:with-param name="glossdivs" select="$glossdivs[position() != 1]"/>
- </axsl:apply-templates>
- </axsl:when>
- <axsl:otherwise>
- <axsl:apply-templates select="following-sibling::*[1]" mode="terminal">
- <axsl:with-param name="nextSubsection" select="$subsections[1]"/>
- </axsl:apply-templates>
- </axsl:otherwise>
- </axsl:choose>
- </glossary>
- </axsl:when>
- <axsl:when test="@rnd:style = "qandaset" or @rnd:style = "qandaset-title"">
- <qandaset xmlns="http://docbook.org/ns/docbook">
- <axsl:call-template name="copy"/>
- <axsl:variable name="qandadivs" select="following-sibling::dbk:para[@rnd:style = "qandadiv" or @rnd:style = "qandadiv-title"]"/>
- <axsl:choose>
- <axsl:when test="$qandadivs">
- <axsl:apply-templates select="following-sibling::*[1]" mode="qandadivs">
- <axsl:with-param name="nextSubsection" select="$subsections[1]"/>
- <axsl:with-param name="qandadivs" select="$qandadivs[position() != 1]"/>
- </axsl:apply-templates>
- </axsl:when>
- <axsl:otherwise>
- <axsl:apply-templates select="following-sibling::*[1]" mode="terminal">
- <axsl:with-param name="nextSubsection" select="$subsections[1]"/>
- </axsl:apply-templates>
- </axsl:otherwise>
- </axsl:choose>
- </qandaset>
- </axsl:when>
- </axsl:choose>
- </axsl:template>
- <axsl:template match="*" mode="subsections">
- <axsl:param name="subsections" select="/.."/>
- <axsl:copy>
- <axsl:apply-templates select="@*"/>
- <axsl:apply-templates mode="subsections"/>
- </axsl:copy>
- </axsl:template>
- <axsl:template match="dbk:para" mode="bibliodivs">
- <axsl:param name="nextSubsection" select="/.."/>
- <axsl:param name="bibliodivs" select="/.."/>
- <axsl:choose>
- <axsl:when test="generate-id() = generate-id($nextSubsection)"/>
- <axsl:when test="@rnd:style = "bibliodiv" or @rnd:style = "bibliodiv-title"">
- <bibliodiv xmlns="http://docbook.org/ns/docbook">
- <axsl:call-template name="copy"/>
- <axsl:apply-templates select="following-sibling::*[1]" mode="terminal">
- <axsl:with-param name="nextSubsection" select="$nextSubsection"/>
- <axsl:with-param name="nextbibliodiv" select="$bibliodivs[1]"/>
- </axsl:apply-templates>
- </bibliodiv>
- <axsl:choose>
- <axsl:when test="$nextSubsection and $bibliodivs and count($nextSubsection/preceding-sibling::* | $bibliodivs[1]) = count($nextSubsection/preceding-sibling::*)">
- <axsl:apply-templates select="$bibliodivs[1]" mode="bibliodivs">
- <axsl:with-param name="nextSubsection" select="$nextSubsection"/>
- <axsl:with-param name="bibliodivs" select="$bibliodivs[position() != 1]"/>
- </axsl:apply-templates>
- </axsl:when>
- <axsl:when test="$bibliodivs">
- <axsl:apply-templates select="$bibliodivs[1]" mode="bibliodivs">
- <axsl:with-param name="bibliodivs" select="$bibliodivs[position() != 1]"/>
- </axsl:apply-templates>
- </axsl:when>
- </axsl:choose>
- </axsl:when>
- <axsl:otherwise>
- <axsl:call-template name="copy"/>
- <axsl:apply-templates select="following-sibling::*[1]" mode="bibliodivs">
- <axsl:with-param name="nextSubsection" select="$nextSubsection"/>
- </axsl:apply-templates>
- </axsl:otherwise>
- </axsl:choose>
- </axsl:template>
- <axsl:template match="dbk:para" mode="glossdivs">
- <axsl:param name="nextSubsection" select="/.."/>
- <axsl:param name="glossdivs" select="/.."/>
- <axsl:choose>
- <axsl:when test="generate-id() = generate-id($nextSubsection)"/>
- <axsl:when test="@rnd:style = "glossdiv" or @rnd:style = "glossdiv-title"">
- <glossdiv xmlns="http://docbook.org/ns/docbook">
- <axsl:call-template name="copy"/>
- <axsl:apply-templates select="following-sibling::*[1]" mode="terminal">
- <axsl:with-param name="nextSubsection" select="$nextSubsection"/>
- <axsl:with-param name="nextglossdiv" select="$glossdivs[1]"/>
- </axsl:apply-templates>
- </glossdiv>
- <axsl:choose>
- <axsl:when test="$nextSubsection and $glossdivs and count($nextSubsection/preceding-sibling::* | $glossdivs[1]) = count($nextSubsection/preceding-sibling::*)">
- <axsl:apply-templates select="$glossdivs[1]" mode="glossdivs">
- <axsl:with-param name="nextSubsection" select="$nextSubsection"/>
- <axsl:with-param name="glossdivs" select="$glossdivs[position() != 1]"/>
- </axsl:apply-templates>
- </axsl:when>
- <axsl:when test="$glossdivs">
- <axsl:apply-templates select="$glossdivs[1]" mode="glossdivs">
- <axsl:with-param name="glossdivs" select="$glossdivs[position() != 1]"/>
- </axsl:apply-templates>
- </axsl:when>
- </axsl:choose>
- </axsl:when>
- <axsl:otherwise>
- <axsl:call-template name="copy"/>
- <axsl:apply-templates select="following-sibling::*[1]" mode="glossdivs">
- <axsl:with-param name="nextSubsection" select="$nextSubsection"/>
- </axsl:apply-templates>
- </axsl:otherwise>
- </axsl:choose>
- </axsl:template>
- <axsl:template match="dbk:para" mode="qandadivs">
- <axsl:param name="nextSubsection" select="/.."/>
- <axsl:param name="qandadivs" select="/.."/>
- <axsl:choose>
- <axsl:when test="generate-id() = generate-id($nextSubsection)"/>
- <axsl:when test="@rnd:style = "qandadiv" or @rnd:style = "qandadiv-title"">
- <qandadiv xmlns="http://docbook.org/ns/docbook">
- <axsl:call-template name="copy"/>
- <axsl:apply-templates select="following-sibling::*[1]" mode="terminal">
- <axsl:with-param name="nextSubsection" select="$nextSubsection"/>
- <axsl:with-param name="nextqandadiv" select="$qandadivs[1]"/>
- </axsl:apply-templates>
- </qandadiv>
- <axsl:choose>
- <axsl:when test="$nextSubsection and $qandadivs and count($nextSubsection/preceding-sibling::* | $qandadivs[1]) = count($nextSubsection/preceding-sibling::*)">
- <axsl:apply-templates select="$qandadivs[1]" mode="qandadivs">
- <axsl:with-param name="nextSubsection" select="$nextSubsection"/>
- <axsl:with-param name="qandadivs" select="$qandadivs[position() != 1]"/>
- </axsl:apply-templates>
- </axsl:when>
- <axsl:when test="$qandadivs">
- <axsl:apply-templates select="$qandadivs[1]" mode="qandadivs">
- <axsl:with-param name="qandadivs" select="$qandadivs[position() != 1]"/>
- </axsl:apply-templates>
- </axsl:when>
- </axsl:choose>
- </axsl:when>
- <axsl:otherwise>
- <axsl:call-template name="copy"/>
- <axsl:apply-templates select="following-sibling::*[1]" mode="qandadivs">
- <axsl:with-param name="nextSubsection" select="$nextSubsection"/>
- </axsl:apply-templates>
- </axsl:otherwise>
- </axsl:choose>
- </axsl:template>
- <axsl:template match="*" mode="terminal">
- <axsl:param name="nextSubsection" select="/.."/>
- <axsl:param name="nextbibliodiv" select="/.."/>
- <axsl:param name="nextglossdiv" select="/.."/>
- <axsl:param name="nextqandadiv" select="/.."/>
- <axsl:choose>
- <axsl:when test="generate-id() = generate-id($nextSubsection)"/>
- <axsl:when test="generate-id() = generate-id($nextbibliodiv)"/>
- <axsl:when test="generate-id() = generate-id($nextglossdiv)"/>
- <axsl:when test="generate-id() = generate-id($nextqandadiv)"/>
- <axsl:otherwise>
- <axsl:call-template name="copy"/>
- <axsl:apply-templates select="following-sibling::*[1]" mode="terminal">
- <axsl:with-param name="nextSubsection" select="$nextSubsection"/>
- <axsl:with-param name="nextbibliodiv" select="$nextbibliodiv"/>
- <axsl:with-param name="nextglossdiv" select="$nextglossdiv"/>
- <axsl:with-param name="nextqandadiv" select="$nextqandadiv"/>
- </axsl:apply-templates>
- </axsl:otherwise>
- </axsl:choose>
- </axsl:template>
- <axsl:template match="*">
- <axsl:copy>
- <axsl:apply-templates select="@*"/>
- <axsl:apply-templates/>
- </axsl:copy>
- </axsl:template>
- <axsl:template name="copy">
- <axsl:copy>
- <axsl:apply-templates select="@*"/>
- <axsl:apply-templates/>
- </axsl:copy>
- </axsl:template>
- <axsl:template match="@*">
- <axsl:copy/>
- </axsl:template>
- </axsl:stylesheet>
|