如何在Perl中使用XSD验证XML?

时间:2010-01-09 22:35:33

标签: xml perl xsd

对于大多数Perl程序员来说,这可能是一个简单的问题,到目前为止我只使用Perl两周,并且对Perl软件包非常不熟悉。

我有一个简单的XSD文件,如下所示:

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

我希望使用上面的XSD验证XML文件,以确保这是一个有效的XML。我应该使用什么Perl模块?我更喜欢在* nix上的ActivePerl和Perl上都可用的模块。发布一些代码片段会非常有帮助。

由于

2 个答案:

答案 0 :(得分:4)

我认为您需要来自CPAN的XML::Validator::Schema。这是README,并安装:

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

答案 1 :(得分:2)

XML::LibXML::Schemavalidate方法。

另请参阅我对Why does my XSD file fail to parse with XML::LibXML?的回答。