Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

I want to do some algebraic manipulation, preferably in Perl. I first looked at Math::Expr, which I've had around for a while and fooled with a little, but I now see that M::E has a lot of shortcomings. Its data file format is undocumented, its error checking and handling is inadequate, and it appears to have been long abandoned in an unfinished state.

One of the things M::E does is output a parse tree in MathML. Looking at the MathML specification to see what the module was doing, it dawned on me that a MathML parser ought to be able to do the whole job, with XSLT to do the algebraic transformations and representational output. The xml parse tree for content MathML should look almost like the kind of algebraic parse tree M::E produces. That ought to settle just about all the problems I have with M::E.

Neither CPAN nor the W3 MathML site list an existing perl module specialized for MathML. I'm not very savvy with XML, but this sure seems like an opportunity to learn (this project is a personal itch - no deadline).

So, I have both the Schema and DTD available for MathML, and all the XML resources of CPAN. I have the green monkey book, which I'm sure will lead me where I want to go as soon as I pick a strategy.

What would your preferred approach to this problem be? What strategy would you use to take an xml namespace and its specs and produce a parser and XSLT engine?

After Compline,

In reply to XML Strategy For Computer Algebra by Zaxo

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?

What's my password?
Create A New User
Domain Nodelet?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (2)
As of 2023-03-25 20:10 GMT
Find Nodes?
    Voting Booth?
    Which type of climate do you prefer to live in?

    Results (63 votes). Check out past polls.