![](/img/trans.png)
[英]How can I validate XML against an XSD with distinct imports and namespaces?
[英]How can I validate XML with XSD in Perl?
对于大多数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上都可用的模块。 发布一些代码片段会非常有帮助。
谢谢
我认为你需要来自CPAN的XML :: Validator :: Schema 。 这是自述文件 ,并安装:
perl -MCPAN -e 'install XML::Validator::Schema'
XML :: LibXML :: Schema有一个validate
方法。
另请参阅我的答案为什么我的XSD文件无法使用XML :: LibXML解析? 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.