<commit_before>The original version of ctop.xsl can be found at http://code.google.com/p/web-xslt/source/browse/trunk/ctop/ctop.xsl. However, the following Content MathML:

    <math xmlns="http://www.w3.org/1998/Math/MathML">
        <apply>
            <eq/>
            <apply>
                <diff/>
                <bvar>
                    <ci>t</ci>
                </bvar>
                <ci>V</ci>
            </apply>
            <apply>
                <divide/>
                <apply>
                    <minus/>
                    <apply>
                        <plus/>
                        <ci>i_Na</ci>
                        <ci>i_K</ci>
                        <ci>i_Leak</ci>
                    </apply>
                </apply>
                <ci>Cm</ci>
            </apply>
        </apply>
    </math>

would get translated as:

    <math xmlns="http://www.w3.org/1998/Math/MathML">
        <m:mrow xmlns:m="http://www.w3.org/1998/Math/MathML">
            <m:mfrac>
                <m:mrow>
                    <m:mi>d</m:mi>
                    <m:mrow>
                        <m:mi>V</m:mi>
                    </m:mrow>
                </m:mrow>
                <m:mrow>
                    <m:mi>d</m:mi>
                    <m:mi>
                        <m:mrow>
                            <m:mi>t</m:mi>
                        </m:mrow>
                    </m:mi>
                </m:mrow>
            </m:mfrac>
            <m:mo>=</m:mo>
            <m:mrow>
                <m:mrow>
                    <m:mo>-</m:mo>
                    <m:mrow>
                        <m:mo>(</m:mo>
                        <m:mrow>
                            <m:mi>i_Na</m:mi>
                        </m:mrow>
                        <m:mo>+</m:mo>
                        <m:mrow>
                            <m:mi>i_K</m:mi>
                        </m:mrow>
                        <m:mo>+</m:mo>
                        <m:mrow>
                            <m:mi>i_Leak</m:mi>
                        </m:mrow>
                        <m:mo>)</m:mo>
                    </m:mrow>
                </m:mrow>
                <m:mo>/</m:mo>
                <m:mrow>
                    <m:mi>Cm</m:mi>
                </m:mrow>
            </m:mrow>
        </m:mrow>
    </math>

which doesn't get rendered as expected using our Viewer plugin and this for two main reasons:
 - We have <m:xxx>...</m:xxx> while our viewer expects <xxx>...</xxx>; and
 - The bvar element gets translated as <mi><mrow><mi>...</mi></mrow></mi> while our viewer expects an mi element to have a text child.

Also, the divide element gets translated as <mrow>...</mrow><mo>/</mo><mrow>...</mrow> while, ideally, it would get translated as <mfrac><mrow>...</mrow><mrow>...</mrow></mfrac>.

All of these issues are addressed in this new version of ctop.xsl. For information, the divide element issue was addressed using the solution provided by Wikiwide on 9 June 2013 (see https://addons.mozilla.org/en-US/firefox/addon/mathml-ctop/).

Another additional improvement is:
 - Improvements to the way some mi elements are rendered (see https://github.com/opencor/opencor/issues/297).<commit_msg>Now using middle dots rather than invisible multiplication signs in our Viewer widget (closes #301).<commit_after>The original version of ctop.xsl can be found at http://code.google.com/p/web-xslt/source/browse/trunk/ctop/ctop.xsl. However, the following Content MathML:

    <math xmlns="http://www.w3.org/1998/Math/MathML">
        <apply>
            <eq/>
            <apply>
                <diff/>
                <bvar>
                    <ci>t</ci>
                </bvar>
                <ci>V</ci>
            </apply>
            <apply>
                <divide/>
                <apply>
                    <minus/>
                    <apply>
                        <plus/>
                        <ci>i_Na</ci>
                        <ci>i_K</ci>
                        <ci>i_Leak</ci>
                    </apply>
                </apply>
                <ci>Cm</ci>
            </apply>
        </apply>
    </math>

would get translated as:

    <math xmlns="http://www.w3.org/1998/Math/MathML">
        <m:mrow xmlns:m="http://www.w3.org/1998/Math/MathML">
            <m:mfrac>
                <m:mrow>
                    <m:mi>d</m:mi>
                    <m:mrow>
                        <m:mi>V</m:mi>
                    </m:mrow>
                </m:mrow>
                <m:mrow>
                    <m:mi>d</m:mi>
                    <m:mi>
                        <m:mrow>
                            <m:mi>t</m:mi>
                        </m:mrow>
                    </m:mi>
                </m:mrow>
            </m:mfrac>
            <m:mo>=</m:mo>
            <m:mrow>
                <m:mrow>
                    <m:mo>-</m:mo>
                    <m:mrow>
                        <m:mo>(</m:mo>
                        <m:mrow>
                            <m:mi>i_Na</m:mi>
                        </m:mrow>
                        <m:mo>+</m:mo>
                        <m:mrow>
                            <m:mi>i_K</m:mi>
                        </m:mrow>
                        <m:mo>+</m:mo>
                        <m:mrow>
                            <m:mi>i_Leak</m:mi>
                        </m:mrow>
                        <m:mo>)</m:mo>
                    </m:mrow>
                </m:mrow>
                <m:mo>/</m:mo>
                <m:mrow>
                    <m:mi>Cm</m:mi>
                </m:mrow>
            </m:mrow>
        </m:mrow>
    </math>

which doesn't get rendered as expected using our Viewer plugin and this for two main reasons:
 - We have <m:xxx>...</m:xxx> while our viewer expects <xxx>...</xxx>; and
 - The bvar element gets translated as <mi><mrow><mi>...</mi></mrow></mi> while our viewer expects an mi element to have a text child.

Also, the divide element gets translated as <mrow>...</mrow><mo>/</mo><mrow>...</mrow> while, ideally, it would get translated as <mfrac><mrow>...</mrow><mrow>...</mrow></mfrac>.

All of these issues are addressed in this new version of ctop.xsl. For information, the divide element issue was addressed using the solution provided by Wikiwide on 9 June 2013 (see https://addons.mozilla.org/en-US/firefox/addon/mathml-ctop/).

Some additional improvements are:
 - Improvements to the way some mi elements are rendered (see https://github.com/opencor/opencor/issues/297); and
 - Use of middle dots rather than invisible multiplication signs (see https://github.com/opencor/opencor/issues/301).
{'fraction_non_alphanumeric': 0.14466928420416791, 'fraction_numerical': 0.007852612503775294, 'mean_word_length': 1.0491955445544554, 'pattern_counts': {'":': 0, '<': 229, '<?xml version=': 0, '>': 229, 'https://': 5, 'lorem ipsum': 0, 'www.': 6, 'xml': 6}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5927656', 'n_tokens_mistral': 2153, 'n_tokens_neox': 1989, 'n_words': 423}