I think xml2dict cannot accomplish it, since I get the same key for 
multiple values...

For example: mathml_prueba='''<mrow> <mfrac> <mrow> <mn>3</mn> </mrow> 
<mrow> <mn>5</mn> </mrow> </mfrac> </mrow> '''

I get the following dict: 
{'mrow': {'mfrac': {'mrow': [{'mn': '3'}, {'mn': '5'}]}}}
Notice the merged 'mrow' key...

Any suggestion for a xml lib to parse the expression?


El martes, 2 de julio de 2013 19:53:28 UTC+2, peibol escribió:
>
> The mathdox box produces Presentation Mathml.
>
> Sympy produces Content Mathml in the printing module, but there is the c2p 
> function in utils module that converts Content Mathml into Presentation 
> Mathml.
>
> So I'm trying the xml2dict parsing with presentation mathml... I think 
> that once I have the dict, at least for easy expressions like fractions, 
> with addings, algebraic... it's nothing more than a -sophisticated- 
> replacement with some parenthesis abuse.
>
> El martes, 2 de julio de 2013 19:38:08 UTC+2, Aaron Meurer escribió:
>>
>> Just to be clear, is this presentation mathml or content mathml? I 
>> believe the latter would be much easier to parse. 
>>
>> Aaron Meurer 
>>
>> On Tue, Jul 2, 2013 at 12:03 PM, Ondřej Čertík <ondrej...@gmail.com> 
>> wrote: 
>> > On Tue, Jul 2, 2013 at 10:35 AM, Stefan Krastanov 
>> > <krastano...@gmail.com> wrote: 
>> >> I am sorry, I do not think there is an out-of-the-box way to do this 
>> currently. 
>> >> 
>> >> What I can suggest is to use the xml2dict python library to parse the 
>> >> openmath xml and then write your own small routine for traversing the 
>> >> dictionary and transforming it into a sympy expression. 
>> >> 
>> >> If you do this I am sure that the sympy team would be very interested 
>> >> to have your work merged. 
>> > 
>> > Absolutely. Pablo, if you would send us a PR that could do that, 
>> > that would be awesome. 
>> > 
>> > Ondrej 
>> > 
>> >> 
>> >> 
>> >> On 2 July 2013 18:22, peibol <pab...@gmail.com> wrote: 
>> >>> Hehe, they don't write the expression in MathML, I'm not that kind of 
>> demon. 
>> >>> 
>> >>> They enter expressions in a textarea by means of 
>> >>> http://mathdox.org/formulaeditor/, from which I can get the openmath 
>> or the 
>> >>> (presentation) mathml .The web app is for K12 students, well 12-16 
>> years 
>> >>> old, so I think this way to enter mathematical expressions is one of 
>> the 
>> >>> easiest... 
>> >>> 
>> >>> El martes, 2 de julio de 2013 18:17:19 UTC+2, Stefan Krastanov 
>> escribió: 
>> >>>> 
>> >>>> This is probably not very helpful, but why require the students to 
>> >>>> write their results in MathML? It is not a very natural way to write 
>> >>>> expression. On the other hand, if you use valid python expression it 
>> >>>> would probably be much easier. 
>> >>> 
>> >>> -- 
>> >>> You received this message because you are subscribed to the Google 
>> Groups 
>> >>> "sympy" group. 
>> >>> To unsubscribe from this group and stop receiving emails from it, 
>> send an 
>> >>> email to sympy+un...@googlegroups.com. 
>> >>> To post to this group, send email to sy...@googlegroups.com. 
>> >>> Visit this group at http://groups.google.com/group/sympy. 
>> >>> For more options, visit https://groups.google.com/groups/opt_out. 
>> >>> 
>> >>> 
>> >> 
>> >> -- 
>> >> You received this message because you are subscribed to the Google 
>> Groups "sympy" group. 
>> >> To unsubscribe from this group and stop receiving emails from it, send 
>> an email to sympy+un...@googlegroups.com. 
>> >> To post to this group, send email to sy...@googlegroups.com. 
>> >> Visit this group at http://groups.google.com/group/sympy. 
>> >> For more options, visit https://groups.google.com/groups/opt_out. 
>> >> 
>> >> 
>> > 
>> > -- 
>> > You received this message because you are subscribed to the Google 
>> Groups "sympy" group. 
>> > To unsubscribe from this group and stop receiving emails from it, send 
>> an email to sympy+un...@googlegroups.com. 
>> > To post to this group, send email to sy...@googlegroups.com. 
>> > Visit this group at http://groups.google.com/group/sympy. 
>> > For more options, visit https://groups.google.com/groups/opt_out. 
>> > 
>> > 
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to