--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2000, HELM Team -->
+<!-- This file is part of HELM, an Hypertextual, Electronic -->
+<!-- Library of Mathematics, developed at the Computer Science -->
+<!-- Department, University of Bologna, Italy. -->
+<!-- HELM is free software; you can redistribute it and/or -->
+<!-- modify it under the terms of the GNU General Public License -->
+<!-- as published by the Free Software Foundation; either version 2 -->
+<!-- of the License, or (at your option) any later version. -->
+<!-- HELM is distributed in the hope that it will be useful, -->
+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
+<!-- GNU General Public License for more details. -->
+<!-- You should have received a copy of the GNU General Public License -->
+<!-- along with HELM; if not, write to the Free Software -->
+<!-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, -->
+<!-- MA 02111-1307, USA. -->
+<!-- For details, see the HELM World-Wide-Web page, -->
+<!-- http://cs.unibo.it/helm/. -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:i="http://www.cs.unibo.it/helm/InputNotationalElements" xmlns:o="http://www.cs.unibo.it/helm/OutputNotationalElements" version="1.0">
+<!-- HTML SYMBOLS -->
+<!--and-->
+ <xsl:variable name="and">
+ <xsl:choose>
+ <xsl:when test="$UNICODEvsSYMBOL = 'symbol'">Ù</xsl:when>
+ <xsl:when test="$UNICODEvsSYMBOL = 'unicode'">∧</xsl:when>
+ <xsl:otherwise>???</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+<!--or-->
+ <xsl:variable name="or">
+ <xsl:choose>
+ <xsl:when test="$UNICODEvsSYMBOL = 'symbol'">Ú</xsl:when>
+ <xsl:when test="$UNICODEvsSYMBOL = 'unicode'">∨</xsl:when>
+ <xsl:otherwise>???</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+<!--iff-->
+ <xsl:variable name="iff">
+ <xsl:choose>
+ <xsl:when test="$UNICODEvsSYMBOL = 'symbol'">Û</xsl:when>
+ <xsl:when test="$UNICODEvsSYMBOL = 'unicode'">⇔</xsl:when>
+ <xsl:otherwise>???</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+<!--not-->
+ <xsl:variable name="not">
+ <xsl:choose>
+ <xsl:when test="$UNICODEvsSYMBOL = 'symbol'">Ø</xsl:when>
+ <xsl:when test="$UNICODEvsSYMBOL = 'unicode'">¬</xsl:when>
+ <xsl:otherwise>???</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+<!--eq-->
+ <xsl:variable name="eq">
+ <xsl:choose>
+ <xsl:when test="$UNICODEvsSYMBOL = 'symbol'">=</xsl:when>
+ <xsl:when test="$UNICODEvsSYMBOL = 'unicode'">=</xsl:when>
+ <xsl:otherwise>???</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+<!--neq-->
+ <xsl:variable name="neq">
+ <xsl:choose>
+ <xsl:when test="$UNICODEvsSYMBOL = 'symbol'">¹</xsl:when>
+ <xsl:when test="$UNICODEvsSYMBOL = 'unicode'">≠</xsl:when>
+ <xsl:otherwise>???</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+<!--exists-->
+ <xsl:variable name="exists">
+ <xsl:choose>
+ <xsl:when test="$UNICODEvsSYMBOL = 'symbol'">$</xsl:when>
+ <xsl:when test="$UNICODEvsSYMBOL = 'unicode'">∃</xsl:when>
+ <xsl:otherwise>???</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+<!-- AND -->
+ <xsl:template match="m:apply[m:and[count(*) = 0] and count(*) = 3]">
+ <xsl:param name="current_indent" select="0"/>
+ <xsl:param name="width" select="$framewidth"/>
+ <xsl:variable name="charlength">
+ <xsl:apply-templates select="." mode="root_charcount"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$width >= $charlength">
+ <xsl:apply-templates select="." mode="inline"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>(</xsl:text>
+ <xsl:apply-templates select="*[2]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ <BR/>
+ <xsl:call-template name="make_indent">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:call-template>
+ <a href="{m:and/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($and)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$and"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>and</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:apply-templates select="*[3]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ <xsl:text>)</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+<!-- AND (INLINE MODE) -->
+ <xsl:template match="m:apply[m:and[count(*) = 0] and count(*) = 3]" mode="inline">
+ <xsl:text>(</xsl:text>
+ <xsl:apply-templates select="*[2]" mode="inline"/>
+ <a href="{m:and/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($and)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$and"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>and</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:apply-templates select="*[3]" mode="inline"/>
+ <xsl:text>)</xsl:text>
+ </xsl:template>
+<!-- AND (CHARCOUNT MODE) -->
+ <xsl:template match="m:apply[m:and[count(*) = 0] and count(*) = 3]" mode="root_charcount">
+ <xsl:param name="incurrent_length" select="0"/>
+ <xsl:value-of select="$incurrent_length + 3"/>
+ </xsl:template>
+<!-- OR -->
+ <xsl:template match="m:apply[m:or[count(*) = 0] and count(*) = 3]">
+ <xsl:param name="current_indent" select="0"/>
+ <xsl:param name="width" select="$framewidth"/>
+ <xsl:variable name="charlength">
+ <xsl:apply-templates select="." mode="root_charcount"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$width >= $charlength">
+ <xsl:apply-templates select="." mode="inline"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>(</xsl:text>
+ <xsl:apply-templates select="*[2]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ <BR/>
+ <xsl:call-template name="make_indent">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:call-template>
+ <a href="{m:or/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($or)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$or"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>or</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:apply-templates select="*[3]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ <xsl:text>)</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+<!-- OR (INLINE MODE) -->
+ <xsl:template match="m:apply[m:or[count(*) = 0] and count(*) = 3]" mode="inline">
+ <xsl:text>(</xsl:text>
+ <xsl:apply-templates select="*[2]" mode="inline"/>
+ <a href="{m:or/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($or)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$or"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>or</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:apply-templates select="*[3]" mode="inline"/>
+ <xsl:text>)</xsl:text>
+ </xsl:template>
+<!-- OR (CHARCOUNT MODE) -->
+ <xsl:template match="m:apply[m:or[count(*) = 0] and count(*) = 3]" mode="root_charcount">
+ <xsl:param name="incurrent_length" select="0"/>
+ <xsl:value-of select="$incurrent_length + 3"/>
+ </xsl:template>
+<!-- IFF -->
+ <xsl:template match="m:apply[m:csymbol[text() = 'iff' and count(*) = 0] and count(*) = 3]">
+ <xsl:param name="current_indent" select="0"/>
+ <xsl:param name="width" select="$framewidth"/>
+ <xsl:variable name="charlength">
+ <xsl:apply-templates select="." mode="root_charcount"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$width >= $charlength">
+ <xsl:apply-templates select="." mode="inline"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>(</xsl:text>
+ <xsl:apply-templates select="*[2]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ <BR/>
+ <xsl:call-template name="make_indent">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:call-template>
+ <a href="{m:csymbol/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($iff)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$iff"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>iff</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:apply-templates select="*[3]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ <xsl:text>)</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+<!-- IFF (INLINE MODE) -->
+ <xsl:template match="m:apply[m:csymbol[text() = 'iff' and count(*) = 0] and count(*) = 3]" mode="inline">
+ <xsl:text>(</xsl:text>
+ <xsl:apply-templates select="*[2]" mode="inline"/>
+ <a href="{m:csymbol/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($iff)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$iff"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>iff</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:apply-templates select="*[3]" mode="inline"/>
+ <xsl:text>)</xsl:text>
+ </xsl:template>
+<!-- IFF (CHARCOUNT MODE) -->
+ <xsl:template match="m:apply[m:csymbol[text() = 'iff' and count(*) = 0] and count(*) = 3]" mode="root_charcount">
+ <xsl:param name="incurrent_length" select="0"/>
+ <xsl:value-of select="$incurrent_length + 3"/>
+ </xsl:template>
+<!-- NOT -->
+ <xsl:template match="m:apply[m:not[count(*) = 0] and count(*) = 2]">
+ <xsl:param name="current_indent" select="0"/>
+ <xsl:param name="width" select="$framewidth"/>
+ <a href="{m:not/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($not)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$not"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>not</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:apply-templates select="*[2]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ </xsl:template>
+<!-- NOT (INLINE MODE) -->
+ <xsl:template match="m:apply[m:not[count(*) = 0] and count(*) = 2]" mode="inline">
+ <a href="{m:not/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($not)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$not"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>not</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:apply-templates select="*[2]" mode="inline"/>
+ </xsl:template>
+<!-- NOT (CHARCOUNT MODE) -->
+ <xsl:template match="m:apply[m:not[count(*) = 0] and count(*) = 2]" mode="root_charcount">
+ <xsl:param name="incurrent_length" select="0"/>
+ <xsl:value-of select="$incurrent_length + 1"/>
+ </xsl:template>
+<!-- EQUALITY and TYPE EQUALITY -->
+ <xsl:template match="m:apply[m:eq[count(*) = 0] and count(*) = 3]">
+ <xsl:param name="current_indent" select="0"/>
+ <xsl:param name="width" select="$framewidth"/>
+ <xsl:variable name="charlength">
+ <xsl:apply-templates select="." mode="root_charcount"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$width >= $charlength">
+ <xsl:apply-templates select="." mode="inline"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>(</xsl:text>
+ <xsl:apply-templates select="*[2]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ <BR/>
+ <xsl:call-template name="make_indent">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:call-template>
+ <a href="{m:eq/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($eq)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$eq"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>eq</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:apply-templates select="*[3]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ <xsl:text>)</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+<!-- EQUALITY and TYPE EQUALITY (INLINE MODE) -->
+ <xsl:template match="m:apply[m:eq[count(*) = 0] and count(*) = 3]" mode="inline">
+ <xsl:text>(</xsl:text>
+ <xsl:apply-templates select="*[2]" mode="inline"/>
+ <a href="{m:eq/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($eq)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$eq"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>eq</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:apply-templates select="*[3]" mode="inline"/>
+ <xsl:text>)</xsl:text>
+ </xsl:template>
+<!-- EQUALITY and TYPE EQUALITY (CHARCOUNT MODE) -->
+ <xsl:template match="m:apply[m:eq[count(*) = 0] and count(*) = 3]" mode="root_charcount">
+ <xsl:param name="incurrent_length" select="0"/>
+ <xsl:value-of select="$incurrent_length + 3"/>
+ </xsl:template>
+<!-- NOT-EQ and NOT-EQT -->
+ <xsl:template match="m:apply[m:neq[count(*) = 0] and count(*) = 3]">
+ <xsl:param name="current_indent" select="0"/>
+ <xsl:param name="width" select="$framewidth"/>
+ <xsl:variable name="charlength">
+ <xsl:apply-templates select="." mode="root_charcount"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$width >= $charlength">
+ <xsl:apply-templates select="." mode="inline"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>(</xsl:text>
+ <xsl:apply-templates select="*[2]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ <BR/>
+ <xsl:call-template name="make_indent">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:call-template>
+ <a href="{m:neq/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($neq)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$neq"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>neq</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:apply-templates select="*[3]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ <xsl:text>)</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+<!-- NOT-EQ and NOT-EQT (INLINE MODE) -->
+ <xsl:template match="m:apply[m:neq[count(*) = 0] and count(*) = 3]" mode="inline">
+ <xsl:text>(</xsl:text>
+ <xsl:apply-templates select="*[2]" mode="inline"/>
+ <a href="{m:neq/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($neq)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$neq"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>neq</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:apply-templates select="*[3]" mode="inline"/>
+ <xsl:text>)</xsl:text>
+ </xsl:template>
+<!-- NOT-EQ and NOT-EQT (CHARCOUNT MODE) -->
+ <xsl:template match="m:apply[m:neq[count(*) = 0] and count(*) = 3]" mode="root_charcount">
+ <xsl:param name="incurrent_length" select="0"/>
+ <xsl:value-of select="$incurrent_length + 3"/>
+ </xsl:template>
+<!-- EXIST -->
+ <xsl:template match="m:apply[m:exists[count(*) = 0] and m:bvar/m:ci[count(*) = 0] and m:condition[count(*) = 1] and count(*) = 4]">
+ <xsl:param name="current_indent" select="0"/>
+ <xsl:param name="width" select="$framewidth"/>
+ <xsl:variable name="charlength">
+ <xsl:apply-templates select="." mode="root_charcount"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$width >= $charlength">
+ <xsl:apply-templates select="." mode="inline"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <a href="{m:exists/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($exists)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$exists"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>exists</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:value-of select="m:bvar/m:ci/text()"/>
+ <xsl:text>:</xsl:text>
+ <xsl:apply-templates select="m:condition/*[1]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ <BR/>
+ <xsl:call-template name="make_indent">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:call-template>
+ <xsl:text>.</xsl:text>
+ <xsl:apply-templates select="*[4]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+<!-- EXIST (INLINE MODE) -->
+ <xsl:template match="m:apply[m:exists[count(*) = 0] and m:bvar/m:ci[count(*) = 0] and m:condition[count(*) = 1] and count(*) = 4]" mode="inline">
+ <a href="{m:exists/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($exists)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$exists"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>exists</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:value-of select="m:bvar/m:ci/text()"/>
+ <xsl:text>:</xsl:text>
+ <xsl:apply-templates select="m:condition/*[1]" mode="inline"/>
+ <xsl:text>.</xsl:text>
+ <xsl:apply-templates select="*[4]" mode="inline"/>
+ </xsl:template>
+<!-- EXIST (CHARCOUNT MODE) -->
+ <xsl:template match="m:apply[m:exists[count(*) = 0] and m:bvar/m:ci[count(*) = 0] and m:condition[count(*) = 1] and count(*) = 4]" mode="root_charcount">
+ <xsl:param name="incurrent_length" select="0"/>
+ <xsl:value-of select="$incurrent_length + 3"/>
+ </xsl:template>
+<!-- EXIST -->
+ <xsl:template match="m:apply[m:exists[count(*) = 0] and m:bvar/m:ci[count(*) = 0] and m:condition[count(*) = 1] and count(*) = 4]">
+ <xsl:param name="current_indent" select="0"/>
+ <xsl:param name="width" select="$framewidth"/>
+ <xsl:variable name="charlength">
+ <xsl:apply-templates select="." mode="root_charcount"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$width >= $charlength">
+ <xsl:apply-templates select="." mode="inline"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <a href="{m:exists/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($exists)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$exists"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>exists</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:value-of select="m:bvar/m:ci/text()"/>
+ <xsl:text>:</xsl:text>
+ <xsl:apply-templates select="m:condition/*[1]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ <BR/>
+ <xsl:call-template name="make_indent">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:call-template>
+ <xsl:text>.</xsl:text>
+ <xsl:apply-templates select="*[4]">
+ <xsl:with-param name="current_indent" select="$current_indent + 2"/>
+ </xsl:apply-templates>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+<!-- EXIST (INLINE MODE) -->
+ <xsl:template match="m:apply[m:exists[count(*) = 0] and m:bvar/m:ci[count(*) = 0] and m:condition[count(*) = 1] and count(*) = 4]" mode="inline">
+ <a href="{m:exists/@definitionURL}">
+ <xsl:choose>
+ <xsl:when test="boolean($exists)">
+ <xsl:call-template name="mksymbol">
+ <xsl:with-param name="symbol" select="$exists"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>exists</xsl:otherwise>
+ </xsl:choose>
+ </a>
+ <xsl:value-of select="m:bvar/m:ci/text()"/>
+ <xsl:text>:</xsl:text>
+ <xsl:apply-templates select="m:condition/*[1]" mode="inline"/>
+ <xsl:text>.</xsl:text>
+ <xsl:apply-templates select="*[4]" mode="inline"/>
+ </xsl:template>
+<!-- EXIST (CHARCOUNT MODE) -->
+ <xsl:template match="m:apply[m:exists[count(*) = 0] and m:bvar/m:ci[count(*) = 0] and m:condition[count(*) = 1] and count(*) = 4]" mode="root_charcount">
+ <xsl:param name="incurrent_length" select="0"/>
+ <xsl:value-of select="$incurrent_length + 3"/>
+ </xsl:template>
+</xsl:stylesheet>