admon.xsl 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?xml version='1.0'?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3. version='1.0'>
  4. <!-- ********************************************************************
  5. $Id: admon.xsl 9728 2013-03-08 00:16:41Z bobstayton $
  6. ********************************************************************
  7. This file is part of the XSL DocBook Stylesheet distribution.
  8. See ../README or http://docbook.sf.net/release/xsl/current/ for
  9. copyright and other information.
  10. ******************************************************************** -->
  11. <xsl:template match="*" mode="admon.graphic.width">
  12. <xsl:param name="node" select="."/>
  13. <xsl:text>25</xsl:text>
  14. </xsl:template>
  15. <xsl:template match="note|important|warning|caution|tip">
  16. <xsl:choose>
  17. <xsl:when test="$admon.graphics != 0">
  18. <xsl:call-template name="graphical.admonition"/>
  19. </xsl:when>
  20. <xsl:otherwise>
  21. <xsl:call-template name="nongraphical.admonition"/>
  22. </xsl:otherwise>
  23. </xsl:choose>
  24. </xsl:template>
  25. <xsl:template name="admon.graphic">
  26. <xsl:param name="node" select="."/>
  27. <xsl:value-of select="$admon.graphics.path"/>
  28. <xsl:choose>
  29. <xsl:when test="local-name($node)='note'">note</xsl:when>
  30. <xsl:when test="local-name($node)='warning'">warning</xsl:when>
  31. <xsl:when test="local-name($node)='caution'">caution</xsl:when>
  32. <xsl:when test="local-name($node)='tip'">tip</xsl:when>
  33. <xsl:when test="local-name($node)='important'">important</xsl:when>
  34. <xsl:otherwise>note</xsl:otherwise>
  35. </xsl:choose>
  36. <xsl:value-of select="$admon.graphics.extension"/>
  37. </xsl:template>
  38. <xsl:template name="graphical.admonition">
  39. <xsl:variable name="admon.type">
  40. <xsl:choose>
  41. <xsl:when test="local-name(.)='note'">Note</xsl:when>
  42. <xsl:when test="local-name(.)='warning'">Warning</xsl:when>
  43. <xsl:when test="local-name(.)='caution'">Caution</xsl:when>
  44. <xsl:when test="local-name(.)='tip'">Tip</xsl:when>
  45. <xsl:when test="local-name(.)='important'">Important</xsl:when>
  46. <xsl:otherwise>Note</xsl:otherwise>
  47. </xsl:choose>
  48. </xsl:variable>
  49. <xsl:variable name="alt">
  50. <xsl:call-template name="gentext">
  51. <xsl:with-param name="key" select="$admon.type"/>
  52. </xsl:call-template>
  53. </xsl:variable>
  54. <div>
  55. <xsl:call-template name="common.html.attributes"/>
  56. <xsl:call-template name="id.attribute"/>
  57. <xsl:if test="$admon.style != '' and $make.clean.html = 0">
  58. <xsl:attribute name="style">
  59. <xsl:value-of select="$admon.style"/>
  60. </xsl:attribute>
  61. </xsl:if>
  62. <table border="{$table.border.off}">
  63. <!-- omit summary attribute in html5 output -->
  64. <xsl:if test="$div.element != 'section'">
  65. <xsl:attribute name="summary">
  66. <xsl:value-of select="$admon.type"/>
  67. <xsl:if test="title|info/title">
  68. <xsl:text>: </xsl:text>
  69. <xsl:value-of select="(title|info/title)[1]"/>
  70. </xsl:if>
  71. </xsl:attribute>
  72. </xsl:if>
  73. <tr>
  74. <td rowspan="2" align="center" valign="top">
  75. <xsl:attribute name="width">
  76. <xsl:apply-templates select="." mode="admon.graphic.width"/>
  77. </xsl:attribute>
  78. <img alt="[{$alt}]">
  79. <xsl:attribute name="src">
  80. <xsl:call-template name="admon.graphic"/>
  81. </xsl:attribute>
  82. </img>
  83. </td>
  84. <th align="{$direction.align.start}">
  85. <xsl:call-template name="anchor"/>
  86. <xsl:if test="$admon.textlabel != 0 or title or info/title">
  87. <xsl:apply-templates select="." mode="object.title.markup"/>
  88. </xsl:if>
  89. </th>
  90. </tr>
  91. <tr>
  92. <td align="{$direction.align.start}" valign="top">
  93. <xsl:apply-templates/>
  94. </td>
  95. </tr>
  96. </table>
  97. </div>
  98. </xsl:template>
  99. <xsl:template name="nongraphical.admonition">
  100. <div>
  101. <xsl:call-template name="common.html.attributes">
  102. <xsl:with-param name="inherit" select="1"/>
  103. </xsl:call-template>
  104. <xsl:call-template name="id.attribute"/>
  105. <xsl:if test="$admon.style != '' and $make.clean.html = 0">
  106. <xsl:attribute name="style">
  107. <xsl:value-of select="$admon.style"/>
  108. </xsl:attribute>
  109. </xsl:if>
  110. <xsl:if test="$admon.textlabel != 0 or title or info/title">
  111. <h3 class="title">
  112. <xsl:call-template name="anchor"/>
  113. <xsl:apply-templates select="." mode="object.title.markup"/>
  114. </h3>
  115. </xsl:if>
  116. <xsl:apply-templates/>
  117. </div>
  118. </xsl:template>
  119. <xsl:template match="note/title"></xsl:template>
  120. <xsl:template match="important/title"></xsl:template>
  121. <xsl:template match="warning/title"></xsl:template>
  122. <xsl:template match="caution/title"></xsl:template>
  123. <xsl:template match="tip/title"></xsl:template>
  124. </xsl:stylesheet>