2011-12-05 56 views
2

我正在尋找一個C/C++庫,可以轉換到MATHML綴和綴成MathML,例如教:是否有一個C/C++庫來轉換MathML <-> Infix?

<?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 +罪(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中,因爲我必須能夠將庫鏈接到非託管代碼。

回答

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轉換爲中綴字符串符號和後面的轉換。」

並擁有你想要做什麼的例子...

+0

好笑,你應該提到libSBML,因爲這是我在實際使用的時刻。唯一的問題是,libSBML是8.14 MB,這對我之後的功能來說有點多。我曾想過要試着去看看相關部分的代碼,但不知道這會是多麼容易。所以我想在考慮這條路線之前,我會先問是否有其他解決方案。 – rhody

+0

@rhody:D'oh! :)可悲的是,這並不是我之前嘗試過的,所以我只是想爲你挖掘一些東西 - 對不起我沒有更多的幫助。 –

+0

我想這只是意味着沒有很多軟件庫可以做到這一點。本來以爲它會更普遍。我很感激你回答的時間。 – rhody

相關問題