在 MathML 和 MathJax 中使用 OpenMath 注释
using annotation with OpenMath in MathML and MathJax
我正尝试在 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>⁡<!--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 value
在 xmlns
上是 URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
而在 MathML3 (http://www.w3.org/TR/MathML3/chapter5.html#html.annotation.xml) 的文档中,他们说
"Note that the Namespace extensibility used in the examples may not be available if the MathML is not being treated as an XML document. ... In particular HTML parsers treat xmlns attributes as ordinary attributes, so the OpenMath example would be clasified as invalid by an HTML validator."
但是我不明白它的意思,特别是'MathML is not being treated as an XML document'
如何在 MathML 和 MathJax 中使用 OpenMath(?)?
这里是 W3C HTML 检查器(验证器)的维护者。我不知道是什么工具产生了问题的输出,但我猜这些部分是红色的原因只是因为 HTML 检查器报告了这些部分的错误。
对于 MathML,我想检查器比需要的要严格一些。特别是,它根本不识别 OpenMath,因为几年前我 yanked all OpenMath-specific code from the checker 应 MathML 工作组某人的要求。
但是,这并不意味着您的代码无法在 MathJax 中正常运行。如果它在 MathJax 中按预期工作,那么您可以安全地忽略来自报告这些错误的任何工具的消息。
我正尝试在 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>⁡<!--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 value
在 xmlns
上是 URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
而在 MathML3 (http://www.w3.org/TR/MathML3/chapter5.html#html.annotation.xml) 的文档中,他们说
"Note that the Namespace extensibility used in the examples may not be available if the MathML is not being treated as an XML document. ... In particular HTML parsers treat xmlns attributes as ordinary attributes, so the OpenMath example would be clasified as invalid by an HTML validator."
但是我不明白它的意思,特别是'MathML is not being treated as an XML document'
如何在 MathML 和 MathJax 中使用 OpenMath(?)?
这里是 W3C HTML 检查器(验证器)的维护者。我不知道是什么工具产生了问题的输出,但我猜这些部分是红色的原因只是因为 HTML 检查器报告了这些部分的错误。
对于 MathML,我想检查器比需要的要严格一些。特别是,它根本不识别 OpenMath,因为几年前我 yanked all OpenMath-specific code from the checker 应 MathML 工作组某人的要求。
但是,这并不意味着您的代码无法在 MathJax 中正常运行。如果它在 MathJax 中按预期工作,那么您可以安全地忽略来自报告这些错误的任何工具的消息。