Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. <?xml version="1.0"?>
  2. <xsl:stylesheet
  3. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  4. version="1.0">
  5. <!-- match the root book element -->
  6. <xsl:template match="book">
  7. <project>
  8. <parameter name="copyright" value="{@copyright}"/>
  9. <parameter name="name" value="{@software}"/>
  10. <!-- copy all resources to the targets -->
  11. <process source="sbk:/style/resources/" producer="directory">
  12. <processor name="xslt">
  13. <parameter name="stylesheet" value="sbk:/style/stylesheets/directory2project.xsl"/>
  14. <parameter name="base" value="resources/"/>
  15. </processor>
  16. </process>
  17. <xsl:apply-templates/>
  18. </project>
  19. </xsl:template>
  20. <!-- ********************************************************************** -->
  21. <!-- CREATE THE TARGET HTML -->
  22. <!-- ********************************************************************** -->
  23. <xsl:template match="page|hidden">
  24. <process source="{@source}" producer="parser">
  25. <processor name="xslt">
  26. <parameter name="stylesheet" value="sbk:/style/stylesheets/scan4resources.xsl"/>
  27. </processor>
  28. </process>
  29. <xsl:call-template name="header">
  30. <xsl:with-param name="id" select="@id"/>
  31. <xsl:with-param name="source" select="@source"/>
  32. <xsl:with-param name="label" select="@label"/>
  33. </xsl:call-template>
  34. <xsl:if test="not(name(.)='hidden')">
  35. <xsl:call-template name="labels">
  36. <xsl:with-param name="id" select="@id"/>
  37. <xsl:with-param name="label" select="@label"/>
  38. </xsl:call-template>
  39. </xsl:if>
  40. <create source="{@source}" target="{@id}.html" producer="parser" printer="html">
  41. <processor name="xslt">
  42. <parameter name="id" value="{@id}"/>
  43. <parameter name="stylesheet" value="sbk:/style/stylesheets/document2html.xsl"/>
  44. </processor>
  45. </create>
  46. </xsl:template>
  47. <xsl:template match="spec">
  48. <process source="{@source}" producer="parser">
  49. <processor name="xslt">
  50. <parameter name="stylesheet" value="sbk:/style/stylesheets/scan4resources.xsl"/>
  51. </processor>
  52. </process>
  53. <xsl:call-template name="header">
  54. <xsl:with-param name="id" select="@id"/>
  55. <xsl:with-param name="source" select="@source"/>
  56. <xsl:with-param name="label" select="@label"/>
  57. </xsl:call-template>
  58. <xsl:call-template name="labels">
  59. <xsl:with-param name="id" select="@id"/>
  60. <xsl:with-param name="label" select="@label"/>
  61. </xsl:call-template>
  62. <create source="{@source}" target="{@id}.html" producer="parser" printer="html">
  63. <processor name="xslt">
  64. <parameter name="id" value="{@id}"/>
  65. <parameter name="stylesheet" value="sbk:/style/stylesheets/spec2html.xsl"/>
  66. </processor>
  67. </create>
  68. </xsl:template>
  69. <xsl:template match="changes|faqs|todo">
  70. <process source="{@source}" producer="parser">
  71. <processor name="xslt">
  72. <parameter name="stylesheet" value="sbk:/style/stylesheets/{name(.)}2document.xsl"/>
  73. </processor>
  74. <processor name="xslt">
  75. <parameter name="stylesheet" value="sbk:/style/stylesheets/scan4resources.xsl"/>
  76. </processor>
  77. </process>
  78. <xsl:call-template name="header">
  79. <xsl:with-param name="id" select="@id"/>
  80. <xsl:with-param name="source" select="@source"/>
  81. <xsl:with-param name="label" select="@label"/>
  82. <xsl:with-param name="type" select="name(.)"/>
  83. </xsl:call-template>
  84. <xsl:call-template name="labels">
  85. <xsl:with-param name="id" select="@id"/>
  86. <xsl:with-param name="label" select="@label"/>
  87. </xsl:call-template>
  88. <create source="{@source}" target="{@id}.html" producer="parser" printer="html">
  89. <processor name="xslt">
  90. <parameter name="stylesheet" value="sbk:/style/stylesheets/{name(.)}2document.xsl"/>
  91. </processor>
  92. <processor name="xslt">
  93. <parameter name="id" value="{@id}"/>
  94. <parameter name="stylesheet" value="sbk:/style/stylesheets/document2html.xsl"/>
  95. </processor>
  96. </create>
  97. </xsl:template>
  98. <xsl:template match="external">
  99. <xsl:call-template name="labels">
  100. <xsl:with-param name="id" select="concat('ext-',position())"/>
  101. <xsl:with-param name="label" select="@label"/>
  102. </xsl:call-template>
  103. </xsl:template>
  104. <!-- ********************************************************************** -->
  105. <!-- NAMED TEMPLATES -->
  106. <!-- ********************************************************************** -->
  107. <!-- Generate the doument header image -->
  108. <xsl:template name="header">
  109. <xsl:param name="id"/>
  110. <xsl:param name="source"/>
  111. <xsl:param name="label"/>
  112. <xsl:param name="type"/>
  113. <create source="{$source}" target="graphics/{$id}-header.jpg" producer="parser" printer="image">
  114. <xsl:if test="$type">
  115. <processor name="xslt">
  116. <parameter name="stylesheet" value="sbk:/style/stylesheets/{$type}2document.xsl"/>
  117. </processor>
  118. </xsl:if>
  119. <processor name="xslt">
  120. <parameter name="stylesheet" value="sbk:/style/stylesheets/document2image.xsl"/>
  121. </processor>
  122. </create>
  123. </xsl:template>
  124. <!-- Generate the three rollover label images -->
  125. <xsl:template name="labels">
  126. <xsl:param name="id"/>
  127. <xsl:param name="label"/>
  128. <create source="" target="graphics/{$id}-label-1.jpg" producer="context" printer="image">
  129. <parameter name="label" value="{$label}"/>
  130. <processor name="xslt">
  131. <parameter name="stylesheet" value="sbk:/style/stylesheets/context2label.xsl"/>
  132. <parameter name="image" value="sbk:/style/graphics/button-a.gif"/>
  133. <parameter name="color" value="ffffff"/>
  134. </processor>
  135. </create>
  136. <create source="" target="graphics/{$id}-label-2.jpg" producer="context" printer="image">
  137. <parameter name="label" value="{$label}"/>
  138. <processor name="xslt">
  139. <parameter name="stylesheet" value="sbk:/style/stylesheets/context2label.xsl"/>
  140. <parameter name="image" value="sbk:/style/graphics/button-b.gif"/>
  141. <parameter name="color" value="ffff00"/>
  142. </processor>
  143. </create>
  144. <create source="" target="graphics/{$id}-label-3.jpg" producer="context" printer="image">
  145. <parameter name="label" value="{$label}"/>
  146. <processor name="xslt">
  147. <parameter name="stylesheet" value="sbk:/style/stylesheets/context2label.xsl"/>
  148. <parameter name="image" value="sbk:/style/graphics/button-b.gif"/>
  149. <parameter name="color" value="ffffff"/>
  150. </processor>
  151. </create>
  152. </xsl:template>
  153. </xsl:stylesheet>