我又来了:/我设法使现有数据库以嵌入式模式运行。但是,我不能做的是隐式 XML 验证。我按照这个页面进行:http ://exist.sourceforge.net/validation.html
这是我的 conf.xml:
<validation mode="auto">
<entity-resolver>
<catalog uri="/db/catalog.xml" />
</entity-resolver>
</validation>
这是我插入现有数据库的 catalog.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<uri name="http://www.w3.org/2001/XMLSchema" uri="videodes.xsd"/>
</catalog>
我也插入数据库的 XML 模式 videodes.xsd 如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
...
</xsd:schema>
(我认为这个文件的全部内容并不重要,它只会让这个问题太长)
这是我插入到数据库中的文件 (videodes.xml),我希望对其进行验证:
<?xml version="1.0" encoding="UTF-8"?>
<videodes xsi:noNamespaceSchemaLocation="videodes.xsd" xmlns=""
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
</videodes>
(再次,我认为没有必要将全部内容放在这里)
不幸的是,验证不起作用,我可以将无效数据插入到我的 videodes.xml 中。我错过了什么?我想我的 catalog.xml 是问题所在,但我不知道我应该在里面放什么。我试图搜索很多,但它没有任何用处。
我将不胜感激,因为我真的需要完成这项工作。
预先感谢。