标签: mathml

使用SAX进行解析并处理字符实体

我正在使用SAX解析MathML表达式(尽管它的MathML可能并不完全相关).输入字符串的示例是

<math xmlns='http://www.w3.org/1998/Math/MathML'>
     <mrow>
          <mo>&lambda;</mo>
     </mrow>
</math>
Run Code Online (Sandbox Code Playgroud)

为了让SAX解析器接受这个字符串,我稍微扩展一下:

<?xml version="1.0"?>
     <!DOCTYPE doc_type [
          <!ENTITY nbsp "&#160;">
          <!ENTITY amp "&#38;">
]>
<body>
     <math xmlns='http://www.w3.org/1998/Math/MathML'>
          <mrow>
               <mo>&lambda;</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 "&#923;">
Run Code Online (Sandbox Code Playgroud)

这给了我

<?xml version="1.0"?>
     <!DOCTYPE doc_type [
          <!ENTITY nbsp "&#160;">
          <!ENTITY amp "&#38;">
          <!ENTITY lambda "&#923;">
]>
<body>
     <math xmlns='http://www.w3.org/1998/Math/MathML'>
          <mrow>
               <mo>&lambda;</mo>
          <mrow>
     </math>
</body> …
Run Code Online (Sandbox Code Playgroud)

parsing sax mathml character-entities

4
推荐指数
1
解决办法
3380
查看次数

MathJax在MathML中渲染HTML输入字段

我正在尝试包含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)

html javascript input mathml mathjax

4
推荐指数
1
解决办法
3190
查看次数

OpenXML SDK和MathML

我使用MathML创建一些数据块,我需要将它通过OpenXML SDK插入到docx文件中.我听说有可能,但我没有管理它.有人可以帮我解决这个问题吗?

equation mathml docx openxml

3
推荐指数
1
解决办法
3922
查看次数

如何将Open Xml Math Equation转换为MathML

如何将OpenXml数学公式(m:OMathPara标签)转换为MathML.有没有转换库?

我的问题是从MS Word导入数据并将其保存在数据库中并在网页中查看.我已经使用openxml作为文本导入但我无法导入数学方程式.我认为,对于html页面,数学方程必须是MathML或图像格式.

提前致谢.

c# mathml openxml

3
推荐指数
1
解决办法
1733
查看次数

将MathML转换为Latex

这篇文章的启发,我尝试转换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)

哪个不正确,它不是乳胶分数.有什么建议我可能在这里做错了吗?

xslt latex transformation mathml

3
推荐指数
1
解决办法
2736
查看次数

使用d3.js在svg上渲染MathML

我试图使用d3.js在svg上渲染MathML方程.任何人都可以帮助我在svg上获得二次方程.我尝试使用异物做到没有成功.

svg mathml d3.js

3
推荐指数
1
解决办法
997
查看次数

LINQ to XML忽略了DTD吗?

我正在使用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.任何帮助赞赏!

c# xml dtd mathml linq-to-xml

2
推荐指数
1
解决办法
1462
查看次数

lxml/MathML XML Schema - 如何修复"内容模型不是决定论者".错误?

我正在遵循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)

我该如何解决?

python xsd lxml mathml

2
推荐指数
1
解决办法
2582
查看次数

MathML &lt;mo&gt; 标记包裹小数点

我正在使用我们的学习管理系统 (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 mathml

2
推荐指数
1
解决办法
214
查看次数

在HTML中将Latex转换为MathML

我正在尝试将嵌入在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模块,但它也缺少规范的大块.

latex mathml pandoc

2
推荐指数
1
解决办法
1289
查看次数