我是XML的新手。答案很简单,但几天都在苦苦挣扎。 Ofcourse完全在stackoverflow中获得解决方案,但我不知道我是否有足够的XML知识来获取或理解它。所以,最后我在这里得到专家的解决方案。
好吧,我有一个xml文件,DTD和sch文件。我使用eclipse来验证针对DTD的xml。但我不知道如何针对sch文件验证xml。
示例xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SAGE-hubxml
PUBLIC "-//SAGE//DTD SAGE Hub XML DTD v1.0 20111101/EN" "SAGE-hubxml.dtd">
<SAGE-hubxml xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<body>
</body>
</SAGE-hubxml>
在此,我定义了DTD文件进行验证。我不知道如何定义sch文件来验证。最简单的方法是什么? 我会使用php来验证针对DTD的xml。
PHP
$dom = new DOMDocument;
$dom->Load('sample.xml');
if ($dom->validate()) {
echo "This document is valid!\n";
}
else{
echo "This document is not valid!";
}
因此,如果我们可以使用php验证xml对抗sch,那将非常有帮助
更新
在某些文档中,他们提到了关于氧气xml编辑器,以验证sch文件。我需要其他类似的东西,因为氧气是一种商业工具。
答案 0 :(得分:0)
我认为您无法定义类似XML架构(或DTD)的schematron文件,并以相同的方式验证它。
你必须使用php schematron库而不是处理sch文件,或者将sch文件转换为XSLT文件,然后使用XLST处理器来验证XML文件。