On Tue, Jul 2, 2013 at 12:32 PM, peibol <[email protected]> wrote:
> 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?

lxml seems to be able to parse the expression:

http://nbviewer.ipython.org/5912034

Ondrej

>
>
> 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 <[email protected]>
>>> wrote:
>>> > On Tue, Jul 2, 2013 at 10:35 AM, Stefan Krastanov
>>> > <[email protected]> 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 <[email protected]> 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 [email protected].
>>> >>> To post to this group, send email to [email protected].
>>> >>> 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 [email protected].
>>> >> To post to this group, send email to [email protected].
>>> >> 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 [email protected].
>>> > To post to this group, send email to [email protected].
>>> > 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 [email protected].
> To post to this group, send email to [email protected].
> 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 [email protected].
To post to this group, send email to [email protected].
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