当我发现它时,我刚开始将旧的DTD切换到XSD,我想知道如何使用我的XML文件强制执行XSD?我已经在那里看到了W3C验证器,但我希望如果发现XSD错误,有一种方法可以使程序无法在浏览器中运行。这可能吗?
答案 0 :(得分:4)
是的,这可以使用验证XML解析器,它可用于大多数通用语言。
好的,所以它是PHP,然后,直接来自第一个谷歌点击“验证XML PHP”:
<?php
$xml = new DOMDocument();
$xml->load('./lures.xml');
if (!$xml->schemaValidate('./lures.xsd')) {
echo "invalid<p/>";
}
else {
echo "validated<p/>";
}
?>
答案 1 :(得分:2)
执行XSD规则不能直接在XML中完成,因为它是一种文本文件格式,并没有内在的逻辑或检查自身的有效性。
为了强制执行规则,您需要使用验证解析器 - 此解析器可以加载XML和XSD,并检查XML对XSD的有效性。对于DTD也是如此。