PassiveTeX supports MathML directly. An XSL style sheet can pass <math> and its children through unchanged, as follows:
<xsl:template match="math">
<xsl:apply-templates mode="math"/>
</xsl:template>
<xsl:template mode="math"
match="*|@*|comment()|processing-instruction()|text()">
<xsl:copy>
<xsl:apply-templates mode="math"
select="*|@*|processing-instruction()|text()"/>
</xsl:copy>
</xsl:template>
A reasonable subset of presentation MathML is recognized, and produces good output. We show an example later.