我正在使用SAX解析MathML表达式(尽管它的MathML可能并不完全相关).输入字符串的示例是
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<mrow>
<mo>λ</mo>
</mrow>
</math>
Run Code Online (Sandbox Code Playgroud)
为了让SAX解析器接受这个字符串,我稍微扩展一下:
<?xml version="1.0"?>
<!DOCTYPE doc_type [
<!ENTITY nbsp " ">
<!ENTITY amp "&">
]>
<body>
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<mrow>
<mo>λ</mo>
<mrow>
</math>
</body>
Run Code Online (Sandbox Code Playgroud)
现在,当我在此运行SAX解析器时,我得到一个异常:
[Fatal Error] :5:86: The entity "lambda" was referenced, but not declared.
org.xml.sax.SAXParseException: The entity "lambda" was referenced, but not
declared.
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
但是,我知道如何解决这个问题.我只是将这一行添加到正在解析的字符串中:
<!ENTITY lambda "Λ">
Run Code Online (Sandbox Code Playgroud)
这给了我
<?xml version="1.0"?>
<!DOCTYPE doc_type [
<!ENTITY nbsp " ">
<!ENTITY amp "&">
<!ENTITY lambda "Λ">
]>
<body>
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<mrow>
<mo>λ</mo>
<mrow>
</math>
</body> …Run Code Online (Sandbox Code Playgroud) 我正在尝试包含html输入字段,例如:
<input id="txtBox" type="text" size="1" style="text-align: center">
Run Code Online (Sandbox Code Playgroud)
在mathML方程中.当我最初在Firefox上本地创建和测试它们时,一切看起来都很好(本机呈现内容).但是,现在我已将它上传到我们的网站,该网站使用mathjax 2.01呈现内容,我得到的输入框应该是"未知节点类型:输入"错误.我现在把盒子包裹起来
<annotation>
Run Code Online (Sandbox Code Playgroud)
标签,如另一篇文章中所述,但我仍然收到相同的错误.
<script type="math/mml">
<math>
<mstyle displaystyle="true">
<msup>
<mi>x</mi>
<semantics>
<annotation-xml encoding="application/xhtml+xml">
<input xmlns="http://www.w3.org/1999/xhtml" style="text-align:right" type="text" size="2" name="n" /></input>
</annotation-xml>
</semantics>
</msup>
<mo>+</mo>
<semantics>
<annotation-xml encoding="application/xhtml+xml">
<input xmlns="http://www.w3.org/1999/xhtml" type="text" size="2" name="b" /></input>
</annotation-xml>
</semantics>
</mstyle>
</math>
</script>
Run Code Online (Sandbox Code Playgroud) 我使用MathML创建一些数据块,我需要将它通过OpenXML SDK插入到docx文件中.我听说有可能,但我没有管理它.有人可以帮我解决这个问题吗?
如何将OpenXml数学公式(m:OMathPara标签)转换为MathML.有没有转换库?
我的问题是从MS Word导入数据并将其保存在数据库中并在网页中查看.我已经使用openxml作为文本导入但我无法导入数学方程式.我认为,对于html页面,数学方程必须是MathML或图像格式.
提前致谢.
受这篇文章的启发,我尝试转换MathML示例,如下所示:
<math>
<mrow>
<mfrac>
<mrow><mi>x</mi></mrow>
<mrow><mi>y</mi></mrow>
</mfrac>
</mrow>
</math>
Run Code Online (Sandbox Code Playgroud)
到乳胶使用xsltproc.首先,我从这里下载了XSLT文件.现在,对于那些不会说MathML的人来说,上面的例子是一个分数:1/2
在我解压缩xslt文件并创建MathML文件(input.mml)后,我有以下文件:
$ ls
README cmarkup.xsl entities.xsl glayout.xsl input.mml mmltex.xsl scripts.xsl tables.xsl tokens.xsl
Run Code Online (Sandbox Code Playgroud)
所以,当我这样做的时候
$> xsltproc mmltex.xsl input.mml
x
y
Run Code Online (Sandbox Code Playgroud)
哪个不正确,它不是乳胶分数.有什么建议我可能在这里做错了吗?
我试图使用d3.js在svg上渲染MathML方程.任何人都可以帮助我在svg上获得二次方程.我尝试使用异物做到没有成功.
我正在使用MathML DTD使用System.Xml.Linq解析MathML.虽然普通的MathML内容得到了很好的识别,System.Xml.Linq.但DTD中的include会被忽略,我会收到错误.这是我正在使用的代码:
if (!string.IsNullOrWhiteSpace(mathML))
{
try
{
const string preamble =
"<!DOCTYPE mml:math PUBLIC \"-//W3C//DTD MathML 2.0//EN\"\n" +
"\"http://www.w3.org/Math/DTD/mathml2/mathml2.dtd\" [\n" +
"<!ENTITY % MATHML.prefixed \"INCLUDE\">\n" +
"<!ENTITY % MATHML.prefix \"mml\"> \n" +
"]>";
var parsed = Parser.Parse(preamble + Environment.NewLine + mathML);
textEditor.Text = printed;
lblStatus.Caption = "MathML successfully translated.";
}
catch (Exception e)
{
lblStatus.Caption = "Cannot translate text. " + e.Message;
}
}
Run Code Online (Sandbox Code Playgroud)
解析器就是这么做的MMLEXTRA.任何帮助赞赏!
我正在遵循lxml验证文档来构建一个类,该类根据Math ML 3.0模式验证给定的XML字符串.这是班级:
class XMLSchema(object):
def __init__(self, path_to_xsd_file):
with open(path_to_xsd_file) as f:
xmlschema_doc = etree.parse(f)
self.xmlschema = etree.XMLSchema(xmlschema_doc)
def validate(self, well_formed_xml_string):
"""Validates a well-formed XML string against an XML schema.
Returns True if xml_string is valid, False if not.
"""
xml = etree.parse(StringIO(well_formed_xml_string))
return self.xmlschema.validate(xml)
Run Code Online (Sandbox Code Playgroud)
实例化它会产生以下结果:
>>> x = XMLSchema('mathml3.xsd')
Traceback (most recent call last):
...
lxml.etree.XMLSchemaParseError: complex type
'annotation-xml.model': The content model is not determinist., line 42
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
我正在使用我们的学习管理系统 (LMS) 中内置的 MathML 编辑器,并注意到一些奇怪的东西。当我输入浮点数时,它会用<mo>标签包裹小数点。
例如,我希望1.2输出为:
<mn>1.2</mn>
Run Code Online (Sandbox Code Playgroud)
但是,编辑器输出:
<mn>1</mn>
<mo>.</mo>
<mn>2</mn>
Run Code Online (Sandbox Code Playgroud)
我很好奇是否有人可以确认这两个输出相等或不相等,以便我知道是否请求修复。
我正在尝试将嵌入在HTML文档中的乳胶代码(旨在与Javascript填充程序一起使用)转换为MathML.Pandoc似乎是一个很棒的工具.以下示例:http://pandoc.org/demos.html,
pandoc input.html -s --latexmathml -o output.html
Run Code Online (Sandbox Code Playgroud)
不会对文件进行任何更改.我甚至制作了一个带有各种文本表达式的准系统空白HTML文件进行测试; 输出没有变化.我错过了什么?
http://math.etsu.edu/LaTeXMathML/这个由Pandoc链接的网站似乎显示了一个独立案例的文档,但是它使用JS shim而不是直接输出MathML.(我认为它有浏览器渲染动态渲染的MathML,但实际上并没有将它输出到文件中)它也缺少一些基本功能,比如使用\ begin {equation}的自行函数.
我花了几个小时用谷歌搜索完成这个的方法.有任何想法吗?我发现的唯一完全可行的解决方案是https://www.mathtowebonline.com/这个网站.还有一个名为latex2mathml的python模块,但它也缺少规范的大块.