Perl et XSD

Perl et XSD - Perl - Programmation

Marsh Posté le 18-09-2006 à 14:21:24    

Bonjour,  
dans mes nombreux problèmes de Perl, on m'a demandé de formaliser les documents XML avec un schéma XSD.
Seulement voilà, je ne sais pas comment récupérer les erreurs. En fait j'ai bien placé le lien du XSD dans mes données XML, mais comment je peux faire pour récupérer les erreurs? y a t il une option dans XML::Simple ?
Merci !

Reply

Marsh Posté le 18-09-2006 à 14:21:24   

Reply

Marsh Posté le 18-09-2006 à 15:41:50    

à l'époque où je faisais du Perl, il n'y avait pas énormément de fonctions avancées, du coup pour valider les syntaxes je passais par un binaire externe (xmllint sous solaris)

Reply

Marsh Posté le 18-09-2006 à 15:43:01    

Merci de ton aide.
En l'occurence, là je n'ai pas le droit d'appeler autre chose que des sripts perl.
D'où mon soucis !  
Une autre ?

Reply

Marsh Posté le 18-09-2006 à 15:57:43    

t'as fait un coup de search.cpan.org pour voir si tu n'y trouvais rien?

Reply

Marsh Posté le 18-09-2006 à 16:23:30    

Oui, pour récupérer la doc sur le module que j'utilise XML::Simple; et XML::Parser.
 
Mais je n'ai aps trouvé le moindre indice sur XSD...

Reply

Marsh Posté le 22-09-2006 à 09:08:43    

Personne d'autre n'a une idée? :)

Reply

Marsh Posté le 24-11-2006 à 17:34:06    

utilise la XML::LibXML

 


#! /usr/bin/perl

 

use XML::LibXML;

 

sub report_validate
{
 my $document = $_[0];

 

my $schema_file = "$CONF_DIR/" . "schema.xsd";
 my $schema = XML::LibXML::Schema->new(location => $schema_file);
 my $parser = XML::LibXML->new;
 

 

eval {
  # Parser le document
  my $doc = $parser->parse_file($document);

 

 # Valider le
  $schema->validate($doc)
 };

 

if ($@)
 {
  print "Validation du document a echoué:\n";
  print $@;
  return 0;
 }
 
 return 1;
}


Message édité par nashdot le 28-11-2006 à 01:22:08
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed