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>