2

MathML を infix に、infix を MathML に変換できる C/C++ ライブラリを探しています。

<?xml version="1.0" encoding="UTF-8"?>
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <apply>
    <times/>
    <cn type="integer"> 2 </cn>
    <ci> x </ci>
  </apply>
</math>

ライブラリは mathml を 2*x に変換します。または x+sin (t) を指定すると、次の mathml が得られます

<?xml version="1.0" encoding="UTF-8"?>
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <apply>
    <plus/>
    <ci> x </ci>
    <apply>
      <sin/>
      <ci> t </ci>
    </apply>
  </apply>
</math>

私はそのようなライブラリを作成する方法を知っていますが、可能であれば車輪を再発明したくありません。ライブラリを管理されていないコードにリンクできる必要があるため、Java にすることはできません。

4

1 に答える 1

2

私はそれを自分で使用したことはありませんが、libSBML があなたの目的に役立つようです:

http://www.google.co.uk/search?q=libsbml+convert+mathml+infix

http://sbml.org/Software/libSBML/docs/cpp-api/libsbml-features.html

このページでは:

http://sbml.org/Software/libSBML/docs/cpp-api/

それは言います:

「libSBML 数式パーサーは慎重に設計されているため、MathML から中置文字列表記への変換、およびその逆の変換が、数式の構造への混乱を最小限に抑えて可能です。」

そして、あなたがやろうとしていることの例があります...

于 2011-12-05T22:05:50.610 に答える