我已经为我的ML内容数据库中的文档创建了模板,而没有 <invalid-values>ignore</invalid-values>。因此,在创建/更新文档期间出现无效行值时,我的代码会抛出TDE-索引错误。
TDE-索引: xdmp: Eval ("xquery“1.0-ml;导入模块名称.”,(),*.)-将模板/template.xml应用于文档/workid.xml: /workid.xml:EVALFAILED:EVALFAILED=‘$subject@code$subject/text()’返回多个值(只有一个是预期的)
现在,我需要跟踪ErrorLog.txt文件中的错误并继续文档插入。
从有关TDE的Marklogic文档中,我可以看到这可以通过两种方式来处理。
<invalid-values>ignore</invalid-values>,我们无法记录错误,它将继续操作。
如果没有该选项,
现在有两个问题我正在寻找答案:
发布于 2022-02-01 16:37:38
对于使用TDE的所有关键任务文档,我们实际上首先进行了一个显式调用,以根据XSD验证文档。然后,我们预先知道它是否会在严格的TDE模板上出错。对于许多项,我们实际上从DSL生成TDE和模式,保证它们一致。
通过预先进行验证,您可以使用业务逻辑记录错误并通过与TDE一起工作的某种切换机制触发TDE索引:
我们经常使用的一个技巧是将提示嵌入到上下文逻辑中的模板或子模板中。例如,可以在元素或集合中存储关于验证成功的布尔值,并使用类似于/some/path[fancy condition related to node -collection or element ]的上下文。
https://stackoverflow.com/questions/70936680
复制相似问题