#/usr/bin/perl
use XML::LibXML;
# On vérifie le nombre d'arguments de l'appel au script ($0 : le nom du script)
if($#ARGV!=0){
	print "usage : perl $0 fichier_tag fichier_motif";
	exit;
}
#---------------------------------------------------------------------------------------------------------------------------------------------------
my $encodagesortie="utf-8";
open(OUT1,">:encoding($encodagesortie)","sortie-textebrut-avec-xmllibxml.txt");
open(OUT2,">:encoding($encodagesortie)","sortie-textexml-avec-xmllibxml.xml");
print OUT2 "<?xml version=\"1.0\" encoding=\"$encodagesortie\" ?>\n";
print OUT2 "<file>\n";
print OUT2 "<name>$ARGV[0]</name>\n";
my $input_file= shift @ARGV;

my $parser = XML::LibXML->new();
my $xp = $parser->parse_file($input_file);

# boucle sur les nœud s reconnus du chemin xpath
foreach my $noeud ( $xp->findnodes('//item')->get_nodelist ) {
	my $titre=$noeud->findnodes('title')->string_value;
	my $resume=$noeud->findnodes('description')->string_value;
	$titre=&nettoietexte($titre);
	$resume=&nettoietexte($resume);
	print OUT1 "Titre : $titre \n";
	print OUT1 "Resume : $resume \n";;
	print OUT2 "<item><title>$titre</title><abstract>$resume</abstract></item>\n";
}

#----------------------------------------------------------
print OUT2 "</items>\n</file>\n";
close(OUT1);
close(OUT2);
close(FILE);
exit;
sub nettoietexte {
    my $texte=shift;
    $texte=~s/&#39;/'/g;
    $texte=~s/&#34;/"/g;
    $texte =~ s/&lt;/</g;
    $texte =~ s/&gt;/>/g;
    $texte =~ s/<a href[^>]+>//g;
    $texte =~ s/<img[^>]+>//g;
    $texte =~ s/<\/a>//g;
    $texte =~ s/&#38;#39;/'/g;
    $texte =~ s/&#38;#34;/"/g;
    $texte =~ s/<[^>]+>//g;
    return $texte;
}
