【发布时间】:2013-12-13 19:13:46
【问题描述】:
我正在使用以下代码针对 xsd 尝试以下 xml
my $schema = XML::LibXML::Schema->new(location => $xsd);
my $parser = XML::LibXML->new;
my $doc = $parser->parse_file($xml);
eval { $schema->validate( $doc ) };
if ( my $ex = $@ ) {
print "error"
}
else {
print "Schema validated ok";
}
即使我的架构通过 ok 验证, 我在这条线上得到这个警告/错误
http 错误:没有这样的文件或目录
值得一提的是 xsd 在我当地的办公桌上 并在这一行发出错误
my $schema = XML::LibXML::Schema->new(location => $xsd);
并且 $xsd 具有我的 xml 文件 c:\users\vivo\validate\xml.xsd 的位置
以下是我的架构的第一个概要
?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://ce.omb.edu/schema/34"
xmlns:vivo="http://ce.omb.edu/schema/vivo/0.4"
targetNamespace="http://ce.omb.edu/schema/subversion/vivi/2.0"
elementFormDefault="qualified" attributeFormDefault="unqualified"
version="2.0">
<xsd:import namespace="http://ce.omb.edu/schema/vivo/0.4" schemaLocation="c:/users/vivo/desktop/validate/vivo.xsd"/>
有人可以帮助我为什么收到此警告/错误消息吗?
【问题讨论】:
-
代码的哪一行发出了错误?
-
这一行:我的 $schema = XML::LibXML::Schema->new(location => $xsd);
-
$xsd的值是多少? (请将这些信息编辑到问题中,而不是在 cmets 中发布)
标签: xml perl xsd xsd-validation