J'ai trouv=E9 cet exemple pour v=E9rifier la validit=E9 syntaxique
(caract=E8re, balise) sans le DTD, les sch=E9mas, etc..
=E0 : http://www.info.univ-angers.fr/~gh/tuteurs/tutxmloutils.htm
use XML::Parser;
$nf =3D "dmf.xml" ;
my $parser=3D new XML::Parser( Style =3D> 'Stream');
eval {$parser->parsefile( $nf )};
if ($@) { die "\n Document mal form=E9 : \n\t\t $@\n" ; } ;
# si on arrive ici, c'est que tout va bien
Ca fait ce que j'attends en termes de v=E9rification mais il me sort le
document XML =E0 chaque fois.
(bien sp=E9cifi=E9 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 =E9viter cette sortie ?
J'ai essay=E9 les autres styles de parsing (Debug, Object, Tree, Subs)
sans r=E9sultat.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Gaborit
À (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 - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
À (at) Thu, 12 Mar 2009 07:33:52 -0700 (PDT),
apolojnet@gmail.com é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 - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>
À (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 - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>