common.xsl revision 01979b991e320f79fe2c1ae2afc298e8651bd69a
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<?xml version="1.0"?>
643d9e63923382336d6fcbcb3835fc6a50d0e93dnd<xsl:stylesheet version="1.0"
d25f483469fdeb2ca813928eec854375b2eb65cdnd xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
643d9e63923382336d6fcbcb3835fc6a50d0e93dnd xmlns="http://www.w3.org/1999/xhtml">
643d9e63923382336d6fcbcb3835fc6a50d0e93dnd
643d9e63923382336d6fcbcb3835fc6a50d0e93dnd<!-- Constants used for case translation -->
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
db878466c5e95073429dda0bdd001f45e9486e16fielding
db878466c5e95073429dda0bdd001f45e9486e16fielding<!-- ==================================================================== -->
db878466c5e95073429dda0bdd001f45e9486e16fielding<!-- Process a documentation section -->
db878466c5e95073429dda0bdd001f45e9486e16fielding<!-- ==================================================================== -->
db878466c5e95073429dda0bdd001f45e9486e16fielding<xsl:template match="section">
db878466c5e95073429dda0bdd001f45e9486e16fielding<xsl:apply-templates/>
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end</xsl:template>
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end<xsl:template match="section/title">
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end<xsl:text>\subsection*{</xsl:text>
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end<xsl:apply-templates/>
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end<xsl:text>}</xsl:text><xsl:call-template name="label"/>
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end<xsl:text>
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end</xsl:text>
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end</xsl:template>
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="section/section/title">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\subsubsection*{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>}</xsl:text><xsl:call-template name="label"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="section/section/section/title">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\subsubsection*{</xsl:text>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<xsl:apply-templates/>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<xsl:text>}</xsl:text><xsl:call-template name="label"/>
117a9c5156c08125e2060ff892adac4634b7ad2dnd<xsl:text>
117a9c5156c08125e2060ff892adac4634b7ad2dnd</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="note/title"></xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="example/title"></xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template name="label">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:if test="../@id">
5e9423b4ca454c6416a2dc465dea1b1d34cec7a9slive<xsl:variable name="metafile" select="document(/*/@metafile)/metafile" />
1cb160a981947e75a8353da3fe40a653aa87100eslive<xsl:text>\label{</xsl:text><xsl:value-of
1cb160a981947e75a8353da3fe40a653aa87100esliveselect="$metafile/path"/><xsl:value-of
3fa58e00171aebf3b2cfa90035ed530f5b1f651dsliveselect="$metafile/basename"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>:</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="../@id"/>
f5d245e2129454d0fcaa77e21de055a30ea8a9c7slive<xsl:text>}</xsl:text>
46d1ef8cb385aa2f519ce7d355afc51f144bd938slive</xsl:if>
1cb160a981947e75a8353da3fe40a653aa87100eslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive
f5d245e2129454d0fcaa77e21de055a30ea8a9c7slive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- <example> -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
5e9423b4ca454c6416a2dc465dea1b1d34cec7a9slive<xsl:template match="example">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\par\smallskip\begin{center}</xsl:text>
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:if test="not(pre)"><xsl:text>\fbox{</xsl:text></xsl:if>
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:text>\begin{minipage}{.8\textwidth}\begin{flushleft}</xsl:text>
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:apply-templates select="title" mode="print" />
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:if test="not(pre)"><xsl:text>{\ttfamily\small </xsl:text></xsl:if>
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:text>\noindent </xsl:text><xsl:apply-templates/>
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:if test="not(pre)"><xsl:text>}</xsl:text></xsl:if>
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:text>\end{flushleft}\end{minipage}</xsl:text>
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:if test="not(pre)"><xsl:text>}</xsl:text></xsl:if>
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:text>\end{center}\par\smallskip</xsl:text>
1c6a10274e908898347be82bc82bc7ae18c66410slive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="example/title" mode="print">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\textbf{</xsl:text>
46d1ef8cb385aa2f519ce7d355afc51f144bd938slive <xsl:apply-templates/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>}\\ </xsl:text>
456e821cac32e7317745a636f7da7f695b7f0dd4nd</xsl:template>
456e821cac32e7317745a636f7da7f695b7f0dd4nd
456e821cac32e7317745a636f7da7f695b7f0dd4nd
456e821cac32e7317745a636f7da7f695b7f0dd4nd<!-- ==================================================================== -->
456e821cac32e7317745a636f7da7f695b7f0dd4nd<!-- indentations -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
f5d245e2129454d0fcaa77e21de055a30ea8a9c7slive<xsl:template match="indent">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\hfill\begin{minipage}{.9\textwidth}{\texttt </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>}\end{minipage}</xsl:text>
1c6a10274e908898347be82bc82bc7ae18c66410slive</xsl:template>
1c6a10274e908898347be82bc82bc7ae18c66410slive
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<!-- ==================================================================== -->
1c6a10274e908898347be82bc82bc7ae18c66410slive<!-- <note> -->
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<!-- ==================================================================== -->
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:template match="note">
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<xsl:text>\par\smallskip
1c6a10274e908898347be82bc82bc7ae18c66410slive{\Huge $\Longrightarrow$}\begin{minipage}[t]{.8\textwidth}
b3137f48abe3090c5531392e57ff0fefd76f59ebnd\noindent </xsl:text>
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:apply-templates select="title" mode="print" />
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:apply-templates/>
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:text>\end{minipage}\par\smallskip</xsl:text>
1c6a10274e908898347be82bc82bc7ae18c66410slive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<xsl:template match="note/title" mode="print">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\textbf{</xsl:text>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd <xsl:apply-templates/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>} \\
b3137f48abe3090c5531392e57ff0fefd76f59ebnd\noindent </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- <directive> -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- Inserts link to another directive, which might be in another module. -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- References are converted into lower case. -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
5e9423b4ca454c6416a2dc465dea1b1d34cec7a9slive<xsl:template match="directive" name="directive">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\textsc{</xsl:text>
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:if test="@type='section'"><xsl:text>\textless{}</xsl:text></xsl:if>
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:text>\hyperlink{/mod/</xsl:text>
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:value-of select="@module"/>
27b8489f5fe26106de6a15fd68928797939d6610fielding <xsl:text>:</xsl:text>
27b8489f5fe26106de6a15fd68928797939d6610fielding <xsl:value-of select="translate(.,$uppercase,$lowercase)"/>
27b8489f5fe26106de6a15fd68928797939d6610fielding <xsl:text>}{</xsl:text>
27b8489f5fe26106de6a15fd68928797939d6610fielding <xsl:apply-templates/>
27b8489f5fe26106de6a15fd68928797939d6610fielding <xsl:text>}</xsl:text>
27b8489f5fe26106de6a15fd68928797939d6610fielding <xsl:if test="@type='section'"><xsl:text>\textgreater{}</xsl:text></xsl:if>
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive<xsl:text>}</xsl:text>
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive</xsl:template>
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive<!-- /directive -->
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive<!-- ==================================================================== -->
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive<!-- <module> -->
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive<!-- Inserts a link to refereed module -->
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive<!-- ==================================================================== -->
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive<xsl:template match="module" name="module">
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive<xsl:text>\textsc{\hyperlink{/mod/</xsl:text>
b51bf223f42d43ca6b1b33c95124edcfa5a871a4nd <xsl:value-of select="."/>
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive <xsl:text>}{</xsl:text>
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive <xsl:apply-templates/>
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive <xsl:text>}</xsl:text>
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive<xsl:text>}</xsl:text>
368bcafaedaee463f769c1b5f3547b9970df90d0slive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- /module -->
5e9423b4ca454c6416a2dc465dea1b1d34cec7a9slive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- <related> -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="related">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>
27d00945ba0085e3d3ba2d329e51f61f242bc91and\fbox{\begin{tabular}{rr}
2f9338296f846174ea5c8eab620399071afaef1bslive\begin{minipage}[t]{.4\linewidth}
d25f483469fdeb2ca813928eec854375b2eb65cdnd\textbf{</xsl:text>
d25f483469fdeb2ca813928eec854375b2eb65cdnd<xsl:value-of select="$messages/message[@name='relatedmodules']" />
27d00945ba0085e3d3ba2d329e51f61f242bc91and<xsl:text>} \\
27d00945ba0085e3d3ba2d329e51f61f242bc91and</xsl:text>
27d00945ba0085e3d3ba2d329e51f61f242bc91and<xsl:for-each select="modulelist/module">
27d00945ba0085e3d3ba2d329e51f61f242bc91and<xsl:call-template name="module"/>
d25f483469fdeb2ca813928eec854375b2eb65cdnd<xsl:text> \\
2f9338296f846174ea5c8eab620399071afaef1bslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:for-each>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\end{minipage} &amp;
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\begin{minipage}[t]{.4\linewidth}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\textbf{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message[@name='relateddirectives']" />
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd<xsl:text>} \\
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd</xsl:text>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd<xsl:for-each select="directivelist/directive">
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd<xsl:call-template name="directive"/>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd<xsl:text> \\
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd</xsl:text>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd</xsl:for-each>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd<xsl:text>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd\end{minipage}
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd\end{tabular}}
d25f483469fdeb2ca813928eec854375b2eb65cdnd\smallskip
0b860e6cd01f584266b2101afc005896dda55437nd</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:stylesheet>