2011-12-05 6 views
2

私は与えられた例えば、MathMLのに中置と中置したMathMLに変換することができますC/C++ライブラリを探しています: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> 

ライブラリは2 * xにはMathMLを変換します。またはX +罪(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では使用できません。私はそれを自分自身使ったことがない、しかしlibSBMLがあなたの目的を果たす可能性があるかのように見えます

答えて

2

:このページ

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からインフィクス文字列表記への変換が可能であるように注意深く設計されており、数学的表現の構造を最小限に抑えることができます。

そして、あなたが何をしようとしての例を持っている...

+0

そのことは、私が実際に現時点で使用しています何だから面白いあなたはlibSBMLを言及する必要があります。唯一の問題は、libSBMLが8.14 MBだということです。私は関連するセクションを取り出すコードを見てみることを考えましたが、それがいかに簡単か分かりません。だから私はそのルートを熟考する前に他の解決策があるかどうか最初に尋ねると思った。 – rhody

+0

@rhody:D'oh! :)悲しいことに、これまでにやろうとしたことではないので、私はあなたのために何かを掘り起こそうとしていました。 –

+0

私は、これを行う多くのソフトウェアライブラリがないことを意味すると思います。もっと一般的だったと思っていたでしょうか。私はあなたが答える時間を感謝します。 – rhody

関連する問題