【问题标题】:using annotation with OpenMath in MathML and MathJax在 MathML 和 MathJax 中使用 OpenMath 注释
【发布时间】:2017-07-11 22:36:17
【问题描述】:

我正在尝试通过 MathJax 在 MathML 中使用 OpenMath。代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Mixed Markup</title>

    <script type="text/x-mathjax-config">
        MathJax.Hub.Config({
            MathML: {
                extensions: ["content-mathml.js"]
            }
        });
    </script>

    <script type="text/javascript" async
            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
    </script>

</head>
<body>
    <math xmlns="http://www.w3.org/1998/Math/MathML">
        <semantics>
            <mrow>
                <mrow>
                    <mi>sin</mi>
                    <mo>&#x2061;<!--FUNCTION APPLICATION--></mo>
                    <mfenced><mi>x</mi></mfenced>
                </mrow>
                <mo>+</mo>
                <mn>5</mn>
            </mrow>
            <annotation encoding="application/x-tex">
                \sin x + 5
            </annotation>
            <annotation-xml encoding="application/openmath+xml">
                <OMA xmlns="http://www.openmath.org/OpenMath">
                    <OMS cd="arith1" name="plus"/>
                    <OMA><OMS cd="transc1" name="sin"/><OMV name="x"/></OMA>
                    <OMI>5</OMI>
                </OMA>
            </annotation-xml>
        </semantics>
    </math>    
</body>

当我写上面的代码时,annotation-xal标签和OMA的内容是 像下面捕获的图像一样着色为红色

(有关更多详细信息, encoding上的红线原因是Wrong attribute valuexmlnsURI is not registered (Settings | Languages &amp; Frameworks | Schemas and DTDs)

并且在 MathML3 (http://www.w3.org/TR/MathML3/chapter5.html#html.annotation.xml) 的文档中,他们说

"请注意,如果未将 MathML 视为 XML 文档,则示例中使用的命名空间可扩展性可能不可用。...特别是 HTML 解析器将 xmlns 属性视为普通属性,因此 OpenMath 示例将被分类被 HTML 验证器视为无效。”

但我不明白它的含义,特别是“MathML 没有被视为 XML 文档”

如何在 MathML 和 MathJax 中使用 OpenMath(?)?

【问题讨论】:

标签: xml html mathjax mathml


【解决方案1】:

这里是 W3C HTML 检查器(验证器)的维护者。我不知道是什么工具产生了问题中的输出,但我猜测这些部分显示为红色的原因仅仅是因为 HTML 检查器报告了这些部分的错误。

对于 MathML,我想检查器比需要的要严格一些。特别是,它根本不识别 OpenMath,因为几年前我在 MathML 工作组的某个人的要求下yanked all OpenMath-specific code from the checker

但是,这并不意味着您的代码不能在 MathJax 中正常工作。如果它在 MathJax 中按预期工作,那么您可以放心地忽略来自任何报告这些错误的工具的消息。

【讨论】:

  • 谢谢你的好意!!您能否提供“MathML 集成”的地址或任何内容?我想看看它学习:)
  • 例如,检查器报告&lt;annotation-xml encoding="application/openmath+xml"&gt; 错误的原因是检查器使用lines 84-86 in a RelaxNG schema file 来确定允许的值是什么。这些行将其限制为值application/xhtml+xmltext/html。认为它过于严格并不是完全不合理的,甚至认为我们应该允许 encoding 属性的任何值都不是完全不合理的。
猜你喜欢
  • 1970-01-01
  • 2021-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-20
  • 1970-01-01
相关资源
最近更新 更多