Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
20865 views
1
<?xml version="1.0"?>
2
<xsl:stylesheet version="1.0"
3
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
4
<xsl:output method="html"/>
5
6
<!-- Normalize whitespace but don't completely trim beginning or end: https://stackoverflow.com/a/5044657/1607849 -->
7
<xsl:template match="text()"><xsl:value-of select="translate(normalize-space(concat('&#x7F;',.,'&#x7F;')),'&#x7F;','')"/></xsl:template>
8
9
<xsl:template match="exercise">
10
<div class="exercise"><xsl:apply-templates/></div>
11
</xsl:template>
12
13
<xsl:template match="statement">
14
<div class="exercise-statement"><xsl:apply-templates/></div>
15
</xsl:template>
16
17
<xsl:template match="answer">
18
<div class="exercise-answer">
19
<p><b>Answer:</b></p>
20
<xsl:apply-templates/>
21
</div>
22
</xsl:template>
23
24
<xsl:template match="p">
25
<p><xsl:apply-templates/></p>
26
</xsl:template>
27
28
<xsl:template match="claim">
29
<p><xsl:apply-templates/></p>
30
</xsl:template>
31
32
<xsl:template match="me"><p>\[<xsl:value-of select="."/>\]</p></xsl:template>
33
34
<xsl:template match="md">
35
<xsl:choose>
36
<xsl:when test="@alignment='alignat'">
37
\begin{alignat*}{<xsl:value-of select="normalize-space(@alignat-columns)"/>} <xsl:apply-templates select="mrow"/> \end{alignat*}
38
</xsl:when>
39
<xsl:otherwise>
40
\begin{align*} <xsl:apply-templates select="mrow"/> \end{align*}
41
</xsl:otherwise>
42
</xsl:choose>
43
</xsl:template>
44
45
<xsl:template match="mrow"><xsl:value-of select="."/> \\</xsl:template>
46
47
<xsl:template match="m">\(<xsl:value-of select="."/>\)</xsl:template>
48
49
50
<xsl:template match="ul"><ul><xsl:apply-templates select="li"/></ul></xsl:template>
51
<xsl:template match="ol"><ol type="a"><xsl:apply-templates select="li"/></ol></xsl:template>
52
<xsl:template match="li"><li><xsl:apply-templates/></li></xsl:template>
53
54
<xsl:template match="c"><code><xsl:value-of select="."/></code></xsl:template>
55
<xsl:template match="url"><a><xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute><xsl:value-of select="@href"/></a></xsl:template>
56
57
<xsl:template match="image"><img><xsl:attribute name="src"><xsl:value-of select="@source"/></xsl:attribute></img></xsl:template>
58
59
</xsl:stylesheet>
60