2
<!DOCTYPE xsl:stylesheet
4
<!ENTITY % mmlalias PUBLIC "MathML alias" "ent/mmlalias.ent"> %mmlalias;
5
<!ENTITY % mmlextra PUBLIC "MathML extra" "ent/mmlextra.ent"> %mmlextra;
7
<!--#############################################################################
8
| $Id: mathml.content.mod.xsl,v 1.1.1.1 2003/03/14 10:42:54 rcasellas Exp $
9
|- #############################################################################
10
| $Author: rcasellas $
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
17
| MathML namespace used -> mml
18
+ ############################################################################## -->
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">
24
<xsl:template match="mml:semantics">
28
<xsl:template match="mml:set|mml:list">
32
<xsl:template match="mml:matrix">
35
<xsl:template match="mml:reln">
38
<xsl:template match="mml:lambda">
47
<!-- att. closure : open, closed, open-closed, or closed-open, with a default value of closed. -->
48
<xsl:template match="mml:interval">
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>
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>
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>
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>
81
<xsl:template name="interval.render">
82
<xsl:param name="node"/>
83
<xsl:param name="fst"/>
84
<xsl:param name="scd"/>
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"/>
94
<!-- A condition defines the interval -->
95
<xsl:otherwise> </xsl:otherwise>