2011-05-31 15 views
5

Me gustaría convertir una expresión MathML en una cadena de ecuación en python, para la cual el MathDOM module debería ser bueno.Alternativa para python-mathdom

Un ejemplo sería:

<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> 

debe asignar a "A + B". Obviamente, esto debería funcionar con expresiones más complejas.

Sin embargo, es bastante viejo y no funciona correctamente con las nuevas versiones del módulo XML (tratando de incluir la estructura del módulo incorrecto, etc.)

¿Alguien sabe alternativas útiles?

Respuesta

2

mejor solución hasta el momento: libsbml

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

bien para mí, ya que yo ya estoy trabajando con él, pero lejos de ser una solución general.

+0

¿Es imposible una solución general? – Santhucool

+0

no es compatible con Python 3.4. Solo tiene soporte para 2.6 y 2.7 – Santhucool