+<!-- noannot -->
+
+<xsl:template name="mk-mml-op-noannot"> <!-- makes MML nodes for operators (noannot mode) -->
+ <xsl:param name="hide"
+ select="0"/> <!-- hidden params -->
+ <xsl:param name="arity"
+ select="2"/> <!-- operator arity -->
+ <xsl:param name="c-tag"/> <!-- CIC tag -->
+ <xsl:param name="m-tag"/> <!-- MathML tag -->
+ <xsl:param name="rnset"
+ select="*[position() > 1 + $hide]"/> <!-- nodes for recursion -->
+ <xsl:variable name="mbody">
+ <xsl:apply-templates select="$rnset" mode="noannot"/>
+ </xsl:variable>
+ <xsl:call-template name="out-mml-op">
+ <xsl:with-param name="hide" select="$hide"/>
+ <xsl:with-param name="arity" select="$arity"/>
+ <xsl:with-param name="c-tag" select="$c-tag"/>
+ <xsl:with-param name="m-tag" select="$m-tag"/>
+ <xsl:with-param name="mbody" select="$mbody"/>
+ </xsl:call-template>
+</xsl:template>
+
+<!-- interp -->
+
+<xsl:template name="start-interp"> <!-- interp mode starter -->
+ <xsl:param name="rtree"/>
+ <xsl:param name="atree"/>
+ <m:apply helm:xref="{@id}">
+ <m:csymbol>interp</m:csymbol>
+ <xsl:apply-templates mode="interp" select="$rtree">
+ <xsl:with-param name="atree" select="$atree"/>
+ </xsl:apply-templates>
+ </m:apply>
+</xsl:template>
+
+<xsl:template name="mk-mml-op-interp"> <!-- make MML node for operators (interp mode) -->
+ <xsl:param name="arity"/> <!-- operator arity -->
+ <xsl:param name="c-tag"/> <!-- CIC tag -->
+ <xsl:param name="m-tag"/> <!-- MathML tag -->
+ <xsl:param name="atree"/> <!-- abstract tree pointer -->
+ <xsl:variable name="mbody">
+ <xsl:apply-templates select="*[position() > 1]" mode="interp">
+ <xsl:with-param name="atree" select="$atree"/>
+ </xsl:apply-templates>
+ </xsl:variable>
+ <xsl:call-template name="out-mml-op">
+ <xsl:with-param name="arity" select="$arity"/>
+ <xsl:with-param name="c-tag" select="$c-tag"/>
+ <xsl:with-param name="m-tag" select="$m-tag"/>
+ <xsl:with-param name="mbody" select="$mbody"/>
+ </xsl:call-template>
+</xsl:template>
+