2010-01-09 13 views
7

To może być proste pytanie dla większości programistów Perla, do tej pory używałem Perla tylko przez dwa tygodnie i jestem bardzo obeznany z pakietami Perla.Jak mogę sprawdzić poprawność XML z XSD w Perlu?

Mam prosty plik XSD jak poniżej:

<?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> 

chciałbym sprawdzić poprawność pliku XML z powyższym XSD do zapewnienia tego jest prawidłowy XML. Z jakiego modułu Perla powinienem skorzystać? Wolę moduł, który jest dostępny zarówno w ActivePerl, jak i Perl na * nix. Byłoby bardzo pomocne, aby opublikować niektóre fragmenty kodu.

Dzięki

+0

Duplikat: "Czy istnieje moduł Perla, który sprawdza poprawność kodu XML względem schematu?" - http://stackoverflow.com/questions/322080/is-there-a-perl-module-that-validates-an-agent--chechema – draegtun

Odpowiedz

4

myślę, że trzeba XML::Validator::Schema z CPAN. Oto README i zainstalować:

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

@Brian - dzięki za szybką odpowiedź, nie jestem w stanie znaleźć ten moduł w ActivePerl. Dobra alternatywa dla ActivePerl? Mam nadzieję, że znajdę moduł, który jest dostępny i działa zarówno w systemie Windows, jak i Linux. – John

+0

Jeśli musisz używać perla w oknach, sugeruję zamiast tego używać perl truskawek. ** http://strawberryperl.com/ ** Jest znacznie lepszy niż ActivePerl (jeśli chodzi o zasięg pakietu (i inne rzeczy)) dostarczam prawidłowe CPAN chell do instalacji i kompilacji o wiele więcej pakietów. – Nifle

+0

Nie wiem, obawiam się. Mam nadzieję, że ActivePerl będzie wspierać CPAN, ale być może nie. –

Powiązane problemy