Альтернатива для python-mathdom - PullRequest
6 голосов
/ 31 мая 2011

Я хотел бы преобразовать выражение MathML в строку уравнения в python, для которой должен подходить модуль MathDOM .

Примером может быть:

<math xmlns="http://www.w3.org/1998/Math/MathML">
   <lambda>
     <bvar><ci>A</ci></bvar>
     <bvar><ci>B</ci></bvar>
     <apply>
         <plus/>
         <ci>A</ci>
         <ci>B</ci>
     </apply>
   </lambda>
</math>

должен отображаться на «A + B».Очевидно, это должно работать с более сложными выражениями.

Однако оно довольно старое и не работает должным образом с новыми версиями модуля xml (пытается включить неправильную структуру модуля и т. Д.)

Кто-нибудь знает полезные альтернативы?

1 Ответ

2 голосов
/ 01 июня 2011

Лучшее решение на данный момент: libsbml

from libsbml import *
ast = readMathMLFromString(xmlString)
f = FunctionDefinition(2,4)
f.setMath(ast)
kl = KineticLaw(2,4)
kl.setMath(f.getBody())
kl.getFormula()

Хорошо, я уже работаю с ним, но далеко от общего решения.

...