home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 May / PCWorld_2004-05_cd.bin / komunikace / apache / apache_2.0.48-win32-x86-no_ssl.msi / Data.Cab / F252966_common.xsl (.txt) < prev    next >
LaTeX Document  |  2003-06-30  |  8KB  |  201 lines

  1. <?xml version="1.0"?>
  2. <xsl:stylesheet version="1.0"
  3.               xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  4.                   xmlns="http://www.w3.org/1999/xhtml">
  5. <!-- Constants used for case translation -->
  6. <xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
  7. <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
  8. <!-- ==================================================================== -->
  9. <!-- Process a documentation section                                      -->
  10. <!-- ==================================================================== -->
  11. <xsl:template match="section">
  12. <xsl:apply-templates/>
  13. </xsl:template>
  14. <xsl:template match="section/title">
  15. <xsl:text>\subsection*{</xsl:text>
  16. <xsl:apply-templates/>
  17. <xsl:text>}</xsl:text><xsl:call-template name="label"/>
  18. <xsl:text>
  19. </xsl:text>
  20. </xsl:template>
  21. <xsl:template match="section/section/title">
  22. <xsl:text>\subsubsection*{</xsl:text>
  23. <xsl:apply-templates/>
  24. <xsl:text>}</xsl:text><xsl:call-template name="label"/>
  25. <xsl:text>
  26. </xsl:text>
  27. </xsl:template>
  28. <xsl:template match="section/section/section/title">
  29. <xsl:text>\subsubsection*{</xsl:text>
  30. <xsl:apply-templates/>
  31. <xsl:text>}</xsl:text><xsl:call-template name="label"/>
  32. <xsl:text>
  33. </xsl:text>
  34. </xsl:template>
  35. <xsl:template match="note/title"></xsl:template>
  36. <xsl:template match="example/title"></xsl:template>
  37. <xsl:template name="label">
  38. <xsl:if test="../@id">
  39. <xsl:variable name="metafile" select="document(/*/@metafile)/metafile" />
  40. <xsl:text>\label{</xsl:text><xsl:value-of 
  41. select="$metafile/path"/><xsl:value-of 
  42. select="$metafile/basename"/>
  43. <xsl:text>:</xsl:text>
  44. <xsl:value-of select="../@id"/>
  45. <xsl:text>}</xsl:text>
  46. </xsl:if>
  47. </xsl:template>
  48. <!-- ==================================================================== -->
  49. <!-- <example>                                                            -->
  50. <!-- ==================================================================== -->
  51. <!-- verbatim inside of fbox doesn't work for some reason -->
  52. <xsl:template match="example">
  53. <xsl:text>\par\smallskip\begin{center}</xsl:text>
  54. <xsl:if test="not(pre)"><xsl:text>\fbox{</xsl:text></xsl:if>
  55. <xsl:text>\begin{minipage}{.8\textwidth}\begin{flushleft}</xsl:text>
  56. <xsl:apply-templates select="title" mode="print" />
  57. <xsl:text>{\ttfamily\small </xsl:text>
  58. <xsl:text>\noindent </xsl:text><xsl:apply-templates/>
  59. <xsl:text>}</xsl:text>
  60. <xsl:text>\end{flushleft}\end{minipage}</xsl:text>
  61. <xsl:if test="not(pre)"><xsl:text>}</xsl:text></xsl:if>
  62. <xsl:text>\end{center}\par\smallskip</xsl:text>
  63. </xsl:template>
  64. <xsl:template match="example/title" mode="print">
  65. <xsl:text>\textbf{</xsl:text>
  66.     <xsl:apply-templates/>
  67. <xsl:text>}\\ </xsl:text>
  68. </xsl:template>
  69. <!-- ==================================================================== -->
  70. <!-- indentations                                                         -->
  71. <!-- ==================================================================== -->
  72. <xsl:template match="indent">
  73. <xsl:text>\begin{list}{}{\topsep 0pt\rightmargin 0pt\leftmargin 2em}
  74. \item[] </xsl:text>
  75. <xsl:apply-templates/>
  76. <xsl:text>\end{list}</xsl:text>
  77. </xsl:template>
  78. <!-- ==================================================================== -->
  79. <!-- <note>                                                               -->
  80. <!-- ==================================================================== -->
  81. <xsl:template match="note">
  82. <xsl:text>\par\smallskip
  83. {\Huge </xsl:text>
  84. <xsl:choose>
  85. <xsl:when test="@type='warning'">
  86.   <xsl:text>\fbox{!} </xsl:text>
  87. </xsl:when>
  88. <xsl:otherwise>
  89.   <xsl:text>$\Longrightarrow$</xsl:text>
  90. </xsl:otherwise>
  91. </xsl:choose>
  92. <xsl:text>}\begin{minipage}[t]{.8\textwidth}
  93. \noindent </xsl:text>
  94. <xsl:apply-templates select="title" mode="print" />
  95. <xsl:apply-templates/>
  96. <xsl:text>\end{minipage}\par\smallskip</xsl:text>
  97. </xsl:template>
  98. <xsl:template match="note/title" mode="print">
  99. <xsl:text>\textbf{</xsl:text>
  100.     <xsl:apply-templates/>
  101. <xsl:text>} \\
  102. \noindent </xsl:text>
  103. </xsl:template>
  104. <!-- ==================================================================== -->
  105. <!-- <directive>                                                          -->
  106. <!-- Inserts link to another directive, which might be in another module. -->
  107. <!-- References are converted into lower case.                            -->
  108. <!-- ==================================================================== -->
  109. <xsl:template match="directive" name="directive">
  110. <xsl:text>\textsc{</xsl:text>
  111.    <xsl:if test="@type='section'"><xsl:text>\textless{}</xsl:text></xsl:if>
  112.    <xsl:text>\hyperlink{/mod/</xsl:text>
  113.    <xsl:value-of select="@module"/>
  114.    <xsl:text>:</xsl:text>
  115.    <xsl:value-of select="translate(.,$uppercase,$lowercase)"/>
  116.    <xsl:text>}{</xsl:text>
  117.         <xsl:apply-templates/>
  118.    <xsl:text>}</xsl:text>
  119.    <xsl:if test="@type='section'"><xsl:text>\textgreater{}</xsl:text></xsl:if>
  120. <xsl:text>}</xsl:text>
  121. </xsl:template>
  122. <!-- /directive -->
  123. <!-- ==================================================================== -->
  124. <!-- <module>                                                             -->
  125. <!-- Inserts a link to refereed module                                    -->
  126. <!-- ==================================================================== -->
  127. <xsl:template match="module" name="module">
  128. <xsl:text>\textsc{\hyperlink{/mod/</xsl:text>
  129.   <xsl:value-of select="."/>
  130.   <xsl:text>}{</xsl:text>
  131.     <xsl:apply-templates/>
  132.   <xsl:text>}</xsl:text>
  133. <xsl:text>}</xsl:text>
  134. </xsl:template>
  135. <!-- /module -->
  136. <!-- ==================================================================== -->
  137. <!-- <related>                                                            -->
  138. <!-- ==================================================================== -->
  139. <xsl:template match="related">
  140. <xsl:text>
  141. \fbox{\begin{tabular}{rr}
  142. \begin{minipage}[t]{.49\linewidth}
  143. \textbf{</xsl:text>
  144. <xsl:value-of select="$messages/message[@name='relatedmodules']" />
  145. <xsl:text>} \\
  146. </xsl:text>
  147. <xsl:for-each select="modulelist/module">
  148. <xsl:call-template name="module"/>
  149. <xsl:text> \\
  150. </xsl:text>
  151. </xsl:for-each>
  152. <xsl:text>
  153. \end{minipage} & 
  154. \begin{minipage}[t]{.4\linewidth}
  155. \textbf{</xsl:text>
  156. <xsl:value-of select="$messages/message[@name='relateddirectives']" />
  157. <xsl:text>} \\
  158. </xsl:text>
  159. <xsl:for-each select="directivelist/directive">
  160. <xsl:call-template name="directive"/>
  161. <xsl:text> \\
  162. </xsl:text>
  163. </xsl:for-each>
  164. <xsl:text>
  165. \end{minipage}
  166. \end{tabular}}
  167. \smallskip
  168. </xsl:text>
  169. </xsl:template>
  170. <!-- ==================================================================== -->
  171. <!-- <seealso>                                                            -->
  172. <!-- ==================================================================== -->
  173. <xsl:template name="seealso">
  174.      <xsl:if test="seealso">
  175.     <xsl:text>\textbf{</xsl:text>
  176.         <xsl:value-of select="$messages/message [@name='seealso']" />
  177.         <xsl:text>}\begin{itemize}</xsl:text>
  178.         <xsl:for-each select="seealso">
  179.         <xsl:text>\item </xsl:text>
  180.           <xsl:apply-templates />
  181.         <xsl:text>
  182. </xsl:text>
  183.         </xsl:for-each>
  184. <xsl:text>\end{itemize}</xsl:text>
  185.      </xsl:if>
  186. </xsl:template>
  187. <!-- ==================================================================== -->
  188. <!-- section-title                                                        -->
  189. <!-- ==================================================================== -->
  190. <xsl:template name="section-title">
  191. <xsl:variable name="metafile" select="document(/*/@metafile)/metafile" />
  192. <xsl:text>\section{</xsl:text><xsl:apply-templates select="title"/>
  193. <xsl:text>}</xsl:text>
  194. <xsl:text>\label{</xsl:text><xsl:value-of 
  195. select="$metafile/path"/><xsl:value-of 
  196. select="$metafile/basename"/>
  197. <xsl:text>}
  198. </xsl:text>
  199. </xsl:template>
  200. </xsl:stylesheet>
  201.