Data-iRealPro
view release on metacpan or search on metacpan
lib/Data/iRealPro/Input/MusicXML.pm view on Meta::CPAN
package Data::iRealPro::Input::MusicXML;
use XML::LibXML;
#use DDumper;
use Encode qw( decode_utf8 encode_utf8 );
sub encode {
my ( $self, $xml ) = @_;
$self->{transpose} //= 0;
my $parser = XML::LibXML->new;
my $opts = { no_cdata => 1 };
if ( $self->{catalog} && -r $self->{catalog} ) {
$parser->load_catalog( $self->{catalog} );
}
else {
$opts->{load_ext_dtd} = 0;
}
$parser->set_options( $opts );
my $data = $parser->load_xml( string => $xml );
# <score-partwise>
( run in 0.299 second using v1.01-cache-2.11-cpan-454fe037f31 )