2010-01-09 30 views
7

Esta puede ser una pregunta simple para la mayoría de los programadores de Perl, hasta ahora solo he usado Perl durante dos semanas y no estoy muy familiarizado con los paquetes de Perl.¿Cómo puedo validar XML con XSD en Perl?

que tienen un simple archivo XSD de la siguiente manera:

<?xml version="1.0" ?> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:mapping-schema"> 
    <xsd:element name="elementname"> 
     <xsd:complexType> 
      <xsd:sequence> 
       <xsd:element name="field1" type="xsd:integer" minOccurs="0" maxOccurs="1"/> 
       <xsd:element name="field2" type="xsd:string" minOccurs="0" maxOccurs="1"/>    
      </xsd:sequence> 
     </xsd:complexType> 
    </xsd:element> 
</xsd:schema> 

me gustaría validar un archivo XML con el XSD arriba para asegurar que este es un XML válido. ¿Qué módulo de Perl debería usar? Prefiero un módulo que está disponible tanto en ActivePerl como Perl en * nix. Sería muy útil publicar algunos fragmentos de código.

Gracias

+0

Duplicado: "¿Hay un módulo Perl que valide un XML contra un esquema?" - http://stackoverflow.com/questions/322080/is-there-a-perl-module-that-validates-an-xml-against-a-schema – draegtun

Respuesta

4

creo que es necesario XML::Validator::Schema de CPAN. Aquí está la README, e instalar:

perl -MCPAN -e 'install XML::Validator::Schema' 
+0

@Brian - gracias por su rápida respuesta, no puedo para encontrar este módulo en ActivePerl. ¿Alguna buena alternativa en ActivePerl? Estoy esperando encontrar un módulo que esté disponible y se ejecute tanto en Windows como en Linux. – John

+0

Si tiene que usar Perl en Windows, le sugiero que use perl de fresa en su lugar. ** http://strawberryperl.com/ ** Es mucho mejor que ActivePerl (cuando se trata de la cobertura del paquete (y de otras cosas también)) Proporciono un Cheall CPAN adecuado para instalar y compilar muchos más paquetes. – Nifle

+0

No lo sé, me temo. Espero que ActivePerl sea compatible con CPAN, pero quizás no. –

Cuestiones relacionadas