将xml架构命名空间链接到实例xml实例

将xml架构命名空间链接到实例xml实例,xml,xquery,exist-db,Xml,Xquery,Exist Db,我不熟悉xml,并使用existdb创建基本数据库。我有一个定义了targetNamespace的模式xml,并将该名称空间用作实例xml中的schemaLocation。但是,我不理解实例文档何时根据模式进行计算。即使我在实例文档中放置了无效的模式,所有查询都可以工作。我错过什么了吗?我们如何将模式和实例XML以及两者与xquery链接起来 instance document: <entities xmlns:xsi="http://www.w3.org/2001/XMLSch

我不熟悉xml,并使用existdb创建基本数据库。我有一个定义了targetNamespace的模式xml,并将该名称空间用作实例xml中的schemaLocation。但是,我不理解实例文档何时根据模式进行计算。即使我在实例文档中放置了无效的模式,所有查询都可以工作。我错过什么了吗?我们如何将模式和实例XML以及两者与xquery链接起来

instance document:

    <entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://NamespaceTest.com/CommonTypes schema.xsd">
    ...
    </entities>

schema document(document name is schema.xsd)
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://NamespaceTest.com/CommonTypes">
...
</xs:schema>
实例文档:
...
架构文档(文档名为schema.xsd)
...

针对模式的验证可以由XML解析器或专业模式验证器执行,在任何情况下,模式位置都可以从
xsi:schemaLocation
属性或其他地方获得。除了一两个可能的例外,大多数读取XML的软件不会仅仅因为看到
xsi:schemaLocation
属性而触发验证。有许多模式验证器和许多不同的启用模式验证的方法,但除非您明确请求,否则通常不会发生这种情况。

请在此处查看:

或在此:

“…隐式验证。 将文档插入数据库时,会自动执行隐式验证。 要启用隐式验证,请通过编辑conf.xml更改eXist db配置。必须配置以下两项: (1) 验证模式 (2) 目录实体解析器 ……”