Next update of VFS modules development guide
[sfrench/samba-autobuild/.git] / docs-xml / xslt / db2latex-xsl / xsl / mathml / mathml.content.mod.xsl
1 <?xml version='1.0'?>
2 <!DOCTYPE xsl:stylesheet
3 [
4  <!ENTITY % mmlalias PUBLIC "MathML alias" "ent/mmlalias.ent">  %mmlalias;
5  <!ENTITY % mmlextra PUBLIC "MathML extra" "ent/mmlextra.ent">  %mmlextra;
6 ]>
7 <!--############################################################################# 
8  |      $Id: mathml.content.mod.xsl,v 1.1.1.1 2003/03/14 10:42:54 rcasellas Exp $               
9  |- #############################################################################
10  |      $Author: rcasellas $                                                                                            
11  |                                                                                                              
12  |   PURPOSE: MathML content markup.
13  |      Note: these elements are not part of the DocBook DTD. I have extended
14  |    the docbook DTD in order to support this tags, so that's why I have these 
15  |      templates here.
16  |   
17  |      MathML namespace used -> mml
18  + ############################################################################## -->
19
20 <xsl:stylesheet version='1.0'
21         xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
22         xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns="http://www.w3.org/1998/Math/MathML">
23
24 <xsl:template match="mml:semantics">
25 </xsl:template>
26
27
28 <xsl:template match="mml:set|mml:list">
29 </xsl:template>
30
31
32 <xsl:template match="mml:matrix">
33 </xsl:template>
34
35 <xsl:template match="mml:reln">
36 </xsl:template>
37
38 <xsl:template match="mml:lambda">
39 </xsl:template>
40
41
42
43
44
45
46 <!-- Interval -->
47 <!-- att. closure : open, closed, open-closed, or closed-open, with a default value of closed. -->
48 <xsl:template match="mml:interval">
49 <xsl:choose>
50         <xsl:when test="@closure = 'open'">             
51                 <xsl:call-template name="interval.render">
52                 <xsl:with-param name="node" select="."/>
53                 <xsl:with-param name="fst">\left( </xsl:with-param>
54                 <xsl:with-param name="scd">\right) </xsl:with-param>
55                 </xsl:call-template>
56         </xsl:when>
57         <xsl:when test="@closure = 'open-closed'">      
58                 <xsl:call-template name="interval.render">
59                 <xsl:with-param name="node" select="."/>
60                 <xsl:with-param name="fst">\left( </xsl:with-param>
61                 <xsl:with-param name="scd">\right] </xsl:with-param>
62                 </xsl:call-template>
63         </xsl:when>
64         <xsl:when test="@closure = 'closed-open'">      
65                 <xsl:call-template name="interval.render">
66                 <xsl:with-param name="node" select="."/>
67                 <xsl:with-param name="fst">\left[ </xsl:with-param>
68                 <xsl:with-param name="scd">\right) </xsl:with-param>
69                 </xsl:call-template>
70         </xsl:when>
71         <xsl:otherwise> 
72                 <xsl:call-template name="interval.render">
73                 <xsl:with-param name="node" select="."/>
74                 <xsl:with-param name="fst">\left[ </xsl:with-param>
75                 <xsl:with-param name="scd">\right] </xsl:with-param>
76                 </xsl:call-template>
77         </xsl:otherwise>
78 </xsl:choose>
79 </xsl:template>
80
81 <xsl:template name="interval.render">
82 <xsl:param name="node"/>
83 <xsl:param name="fst"/>
84 <xsl:param name="scd"/>
85 <xsl:choose>
86         <!-- Two real numbers define the interval -->
87         <xsl:when test="count(child::*) = 2">
88                 <xsl:value-of select="$fst"/>
89                 <xsl:apply-templates select="$node/child::*[1]"/>
90                 <xsl:text> , </xsl:text>
91                 <xsl:apply-templates select="$node/child::*[2]"/>
92                 <xsl:value-of select="$scd"/>
93         </xsl:when>
94         <!-- A condition defines the interval -->
95         <xsl:otherwise> </xsl:otherwise>
96 </xsl:choose>
97 </xsl:template>
98
99 </xsl:stylesheet>