gpt4 book ai didi

java - XML 数据库 eXist 和语法验证

转载 作者:行者123 更新时间:2023-12-01 05:45:27 26 4
gpt4 key购买 nike

我又来了:/我设法使现有数据库以嵌入模式运行。但是,我无法实现隐式 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 是问题所在,但我不知道应该在其中放入什么。我尝试了很多搜索,但没有任何用处。

我将不胜感激任何帮助,因为我真的需要完成这项工作。

提前致谢。

最佳答案

查看我的answer to a different question ,这可能有一些帮助。简而言之,如果您的应用程序位于封闭的 Intranet 中,catalog.xml 文件中 DOCTYPE 声明的存在可能会产生问题,因为其系统标识符将无法解析。 DOCTYPE 声明不是必需的(除了验证文件),因此在生产时将其删除。

关于java - XML 数据库 eXist 和语法验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6058991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com