#! /usr/bin/perl -w # La redistribution du code source, modifié ou non, est soumise aux # conditions suivantes : # Le copyright ci-dessus, la présente liste de conditions et # l'avertissement qui la suit doivent figurer dans le code source. # CE PROGRAMME EST FOURNI « TEL QUEL » ET IL N'EST DONNÉ AUCUNE # GARANTIE, IMPLICITE OU EXPLICITE, QUANT À SON UTILISATION # COMMERCIALE, PROFESSIONNELLE OU AUTRE. L'AUTEUR NE PEUT EN AUCUN CAS # ÊTRE TENU POUR RESPONSABLE DE QUELQUE DOMMAGE OU PRÉJUDICE DIRECT, # INDIRECT, SECONDAIRE OU ACCESSOIRE (Y COMPRIS LES PERTES FINANCIÈRES # DUES AU MANQUE À GAGNER, À L'INTERRUPTION D'ACTIVITÉS, OU LA PERTE # D'INFORMATIONS ET AUTRES) DÉCOULANT DE L'UTILISATION DE PROGRAMME OU # DE L'IMPOSSIBILITÉ D'UTILISER CELUI-CI, ET DONT L'UTILISATEUR # ACCEPTE L'ENTIÈRE RESPONSABILITÉ. use strict; use XML::Parser; my $p = new XML::Parser(Style=>'Subs', Pkg=>'SubHandlers', ErrorContext=>2); $p->setHandlers(Char => \&char); my $fichier = shift; $p->parsefile($fichier); exit 0; ### Handler pour tout ce qui n'est pas une balise. sub char { my ($p,$donnees) = @_; if ($donnees eq '<') { $donnees = '<'; } elsif ($donnees eq '>') { $donnees = '>'; } elsif ($donnees eq '&') { $donnees = '&'; }# else { # $donnees =~ s/(.*[\.\!\?:])$/$1
/; #} print $donnees; } ### Handlers pour les balises. package SubHandlers; my (@types_listes, $titre, $section, $ssection); sub article { my ($p, $balise, %attribs) = @_; $titre = $attribs{'titre'}; print ""; } sub article_ { print ""; } sub tete { print "
\n"; } sub resume_ { print "\n
\n"; print "
"; } sub para_ { print "
"; } sub section { $section +=1; $ssection = 0; print "";
}
sub verbatim_ {
print "";
}
sub url {
my ($p, $balise, %attribs) = @_;
print "$attribs{'nom'}";
}
sub url_ {
print "";
}