in reply to Replace MathML content using Twig
What 'this'? Here's a way to run through the XML and replace the contents of mml:mi elements with '...'. Maybe that's enough to get you started?
#!/usr/local/bin/perl use strict; use warnings; use XML::Twig; my $xml = <<XML; <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mstyle mathsize="1em"> <mml:mi>s</mml:mi> <mml:mo>+</mml:mo> <mml:mi>s</mml:mi> </mml:mstyle> </mml:math> XML my $twig = XML::Twig->new ( twig_roots => {'mml:mi' => \&subst,}, # process the element twig_print_outside_roots => 1, # print the rest ); $twig->parse ($xml); sub subst { my ($twig, $value) = @_; print '<mml:mi>...</mml:mi>'; }
Prints:
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mstyle mathsize="1em"> <mml:mi>...</mml:mi> <mml:mo>+</mml:mo> <mml:mi>...</mml:mi> </mml:mstyle> </mml:math>
Update: fix copy and paste madness.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Replace MathML content using Twig
by renovatio (Initiate) on May 10, 2011 at 10:42 UTC | |
by GrandFather (Saint) on May 10, 2011 at 11:14 UTC |