use strict;
use warnings;
use XML::Parser;
use XML::Twig;
my $twig=XML::Twig->new(
twig_roots=>{
indd_document=>\&update_root,
'document/header'=>\&update_header,
},
);
$twig->parsefile( $xmlfile);
open(FH,">output.xml") or die "cannot open output.xml: $!";
my $temp = $twig->toString;
print FH $temp;
close (FH);
$twig->purge;
}
sub update_root
{
my ($t, $root) = @_;
$root->insert_new_elt(first_child => header => {type=>"layout"});
$root->set_tag( 'document');
}
sub update_header
{
my ($t, $header)=@_;
$header->insert_new_elt(first_child => headerfield => {type=>"layout"});
}
####
####