You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MarkLogic采用何种引擎针对XML Schema 1.1验证XML文档?

MarkLogic的XML Schema 1.1验证引擎说明

我来给你梳理下MarkLogic在XML Schema 1.1验证上的核心细节:

首先,MarkLogic并没有采用Saxonica或Xerces这类第三方引擎,它用的是自研的原生XML Schema 1.1验证引擎,专门针对自身的文档存储和处理场景做了优化。

结合你提到的Schematron断言整合、自定义错误消息需求,补充两个关键点:

  • Schematron断言整合:MarkLogic完全支持在XSD 1.1中通过标准的<xs:assert>元素嵌入Schematron风格的断言逻辑,同时也支持单独运行Schematron验证(可以和XSD验证组合使用,实现分层校验)。
  • 自定义错误消息:虽然XSD 1.1标准本身没有统一规定自定义错误消息的方式,但MarkLogic给<xs:assert>扩展了error-message属性,让你可以直接指定个性化的错误提示,示例代码如下:
<xs:element name="date">
  <xs:simpleType>
    <xs:restriction base="xs:date">
      <xs:assert test=". gt '2000-01-01'" error-message="日期必须晚于2000年1月1日"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

如果你的校验规则更复杂,也可以单独编写Schematron文件,通过MarkLogic的XQuery或Server-Side JavaScript API调用验证接口,把XSD结构校验和Schematron业务规则校验结合起来,满足更灵活的校验需求。

内容的提问来源于stack exchange,提问作者Loren Cahlander

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:45:30