MarkLogic-每个XML部分都需要针对不同的模式进行验证



我有一个要求,我们需要根据MarkLogic中的不同模式验证传入的XML。因此,所需的步骤是:

  1. 针对模式A验证xml的外部结构中可能的元素/结构
  2. 根据专用的节模式验证每个节。[第1节方案、第2节方案等]
  3. 向前端报告收到的错误

到目前为止,我对需要在MarkLogic中针对单个架构进行验证的单个文档所读/所做的是:在Schemas DB中获取架构,如果传入文档都在同一命名空间中,则可以使用validate{}对其进行验证。我以前从未遇到过这样的要求,所以需要一些指导。

一种方法是使用XMLSchema标准重用机制来创建一个新的模式,该模式通过使用include、import或define语句通过引用来组合组件模式。

然后可以将组合模式安装在模式数据库中并用于验证。

通过引用的模式重用的解释性资源包括以下内容:

https://learn.microsoft.com/en-us/biztalk/core/schemas-that-use-other-schemas

作为替代方案,您可以在节点上使用模式:

https://docs.marklogic.com/xdmp:validate

这对于原型设计来说可能更容易,但从长远来看,可能比利用XMLSchema的重用机制更低效、更封装、更灵活。

希望有帮助,

最新更新