lfs-titles.xsl 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <?xml version='1.0' encoding='ISO-8859-1'?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3. xmlns="http://www.w3.org/1999/xhtml"
  4. version="1.0">
  5. <!-- REVISED -->
  6. <!-- This stylesheet controls the h* xhtml tags used for several titles -->
  7. <!-- preface.titlepage:
  8. Uses h1 and removed a lot of unneeded code.
  9. No label in preface. -->
  10. <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
  11. <xsl:template name="preface.titlepage">
  12. <div class="titlepage">
  13. <h1 class="{name(.)}">
  14. <xsl:value-of select="title"/>
  15. </h1>
  16. </div>
  17. </xsl:template>
  18. <!-- part.titlepage:
  19. Uses h1 and removed a lot of unneeded code. -->
  20. <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
  21. <xsl:template name="part.titlepage">
  22. <div class="titlepage">
  23. <h1 class="{name(.)}">
  24. <xsl:apply-templates select="." mode="label.markup"/>
  25. <xsl:text>. </xsl:text>
  26. <xsl:value-of select="title"/>
  27. </h1>
  28. </div>
  29. </xsl:template>
  30. <!-- appendix.titlepage:
  31. Uses h1 and removed a lot of unneeded code. -->
  32. <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
  33. <xsl:template name="appendix.titlepage">
  34. <div class="titlepage">
  35. <h1 class="{name(.)}">
  36. <xsl:apply-templates select="." mode="label.markup"/>
  37. <xsl:text>. </xsl:text>
  38. <xsl:value-of select="title"/>
  39. </h1>
  40. </div>
  41. </xsl:template>
  42. <!-- chapter.titlepage:
  43. Uses h1 and removed a lot of unneeded code. -->
  44. <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
  45. <xsl:template name="chapter.titlepage">
  46. <div class="titlepage">
  47. <h1 class="{name(.)}">
  48. <xsl:apply-templates select="." mode="label.markup"/>
  49. <xsl:text>. </xsl:text>
  50. <xsl:value-of select="title"/>
  51. </h1>
  52. </div>
  53. </xsl:template>
  54. <!-- sect1.titlepage:
  55. Select the proper template depending on if chapters TOC are
  56. generated or not. -->
  57. <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
  58. <!-- Version for when there is no chapters TOC:
  59. Uses h1 except for the first section, and removed a lot of unneeded code. -->
  60. <!--
  61. <xsl:template name="sect1.titlepage">
  62. <xsl:choose>
  63. <xsl:when test="position() = 4">
  64. <div class="titlepage">
  65. <xsl:if test="@id">
  66. <a id="{@id}" name="{@id}"/>
  67. </xsl:if>
  68. <h2 class="{name(.)}">
  69. <xsl:apply-templates select="." mode="label.markup"/>
  70. <xsl:text>. </xsl:text>
  71. <xsl:value-of select="title"/>
  72. </h2>
  73. </div>
  74. </xsl:when>
  75. <xsl:otherwise>
  76. <div class="titlepage">
  77. <h1 class="{name(.)}">
  78. <xsl:apply-templates select="." mode="label.markup"/>
  79. <xsl:text>. </xsl:text>
  80. <xsl:value-of select="title"/>
  81. </h1>
  82. </div>
  83. </xsl:otherwise>
  84. </xsl:choose>
  85. </xsl:template>
  86. -->
  87. <!-- Version for when chapters TOC are generated:
  88. Uses h1 and removed a lot of unneeded code. -->
  89. <xsl:template name="sect1.titlepage">
  90. <div class="titlepage">
  91. <h1 class="{name(.)}">
  92. <xsl:apply-templates select="." mode="label.markup"/>
  93. <xsl:text>. </xsl:text>
  94. <xsl:value-of select="title"/>
  95. </h1>
  96. </div>
  97. </xsl:template>
  98. <!-- sect2.titlepage:
  99. Uses h2 and removed a lot of unneeded code.
  100. Skip empty titles.
  101. No label in preface. -->
  102. <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
  103. <xsl:template name="sect2.titlepage">
  104. <xsl:choose>
  105. <xsl:when test="string-length(title) = 0"/>
  106. <xsl:otherwise>
  107. <div class="titlepage">
  108. <xsl:if test="@id">
  109. <a id="{@id}" name="{@id}"/>
  110. </xsl:if>
  111. <h2 class="{name(.)}">
  112. <xsl:if test="not(ancestor::preface)">
  113. <xsl:apply-templates select="." mode="label.markup"/>
  114. <xsl:text>. </xsl:text>
  115. </xsl:if>
  116. <xsl:value-of select="title"/>
  117. </h2>
  118. </div>
  119. </xsl:otherwise>
  120. </xsl:choose>
  121. </xsl:template>
  122. <!-- bridgehead:
  123. When use always renderas attributes and want the output h* level
  124. matching the defined sect* level. -->
  125. <!-- The original template is in {docbook-xsl}/xhtml/sections.xsl -->
  126. <xsl:template match="bridgehead">
  127. <xsl:variable name="hlevel">
  128. <xsl:choose>
  129. <xsl:when test="@renderas = 'sect1'">1</xsl:when>
  130. <xsl:when test="@renderas = 'sect2'">2</xsl:when>
  131. <xsl:when test="@renderas = 'sect3'">3</xsl:when>
  132. <xsl:when test="@renderas = 'sect4'">4</xsl:when>
  133. <xsl:when test="@renderas = 'sect5'">5</xsl:when>
  134. </xsl:choose>
  135. </xsl:variable>
  136. <xsl:element name="h{$hlevel}" namespace="http://www.w3.org/1999/xhtml">
  137. <xsl:call-template name="anchor">
  138. <xsl:with-param name="conditional" select="0"/>
  139. </xsl:call-template>
  140. <xsl:apply-templates/>
  141. </xsl:element>
  142. </xsl:template>
  143. </xsl:stylesheet>