Validité simple syntaxique d'un fichier XML

Le
apolojnet
Bonjour,

J'ai trouvé cet exemple pour vérifier la validité syntaxique
(caractère, balise) sans le DTD, les schémas, etc..
à : http://www.info.univ-angers.fr/~gh/tuteurs/tutxmloutils.htm


use XML::Parser;

$nf = "dmf.xml" ;

my $parser= new XML::Parser( Style => 'Stream');
eval {$parser->parsefile( $nf )};
if ($@) { die " Document mal formé : tt $@" ; } ;

# si on arrive ici, c'est que tout va bien


Ca fait ce que j'attends en termes de vérification mais il me sort le
document XML à chaque fois.
(bien spécifié par la doc -> " Stream : This style also uses the Pkg
package. If none of the subs that this style looks for is there, then
the effect of parsing with this style is to print a canonical copy of
the document without comments or declarations.)

Comment éviter cette sortie ?

J'ai essayé les autres styles de parsing (Debug, Object, Tree, Subs)
sans résultat.

Merçi d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Paul Gaborit
Le #18887191
À (at) Thu, 12 Mar 2009 07:33:52 -0700 (PDT),
écrivait (wrote):
Bonjour,

J'ai trouvé cet exemple pour vérifier la validité syntaxique
(caractère, balise) sans le DTD, les schémas, etc..
à : http://www.info.univ-angers.fr/~gh/tuteurs/tutxmloutils.htm


use XML::Parser;

$nf = "dmf.xml" ;

my $parser= new XML::Parser( Style => 'Stream');
eval {$parser->parsefile( $nf )};
if ($@) { die "n Document mal formé : ntt $@n" ; } ;

# si on arrive ici, c'est que tout va bien


Ca fait ce que j'attends en termes de vérification mais il me sort le
document XML à chaque fois.
(bien spécifié par la doc -> " Stream : This style also uses the Pkg
package. If none of the subs that this style looks for is there, then
the effect of parsing with this style is to print a canonical copy of
the document without comments or declarations.)

Comment éviter cette sortie ?

J'ai essayé les autres styles de parsing (Debug, Object, Tree, Subs)
sans résultat.



Je ne comprends pas vraiment... Si vous ne voulez pas utiliser de
'Style', il suffit de ne pas fournir cette option : créez votre
XML::Parser sans paramètre tout simplement.

Si vous tenez absolument à utiliser le style 'Stream', lisez la
documentation de ce style (perldoc XML::Parser::Style::Stream) et
définissez vos propres traitements dans un package que vous créez pour
l'occasion.

--
Paul Gaborit - Perl en français -
Publicité
Poster une réponse
Anonyme