#!/usr/bin/perl
use utf8;
use XML::Rules;
open my $OUT, '>:utf8', 'output.xml';
open my $LOGOUT, '>:utf8', 'log.dat';
my $parser = new XML::Rules (
rules => [
_default => 'raw',
# 'data,title' => sub{
'data' => sub{
my ($tagname, $attrHash, $contexArray, $parentDataArray, $parser) = @_;
my $string = $attrHash->{_content};
$string =~ s/^file:\/\/\/var\//file:\/\/\/usr\//;
return $tagname => $string;
},
],
style => 'filter',
# other options
);
#open my $IN, '<', 'input.xml';
#binmode $IN;
$IN = \*DATA;
$parser->filter( $IN, $OUT);
close $IN;
close $OUT;
__DATA__
<?xml version="1.0"?>
<recs>
<rec>
<title>The times & the rivers</title>
<data>file:///var/documents/doc.pdf</data>
</rec>
</recs>