你如何执行XSD?

时间:2010-09-21 20:59:49

标签: php xml xsd

当我发现它时,我刚开始将旧的DTD切换到XSD,我想知道如何使用我的XML文件强制执行XSD?我已经在那里看到了W3C验证器,但我希望如果发现XSD错误,有一种方法可以使程序无法在浏览器中运行。这可能吗?

2 个答案:

答案 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也是如此。