首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Marklogic中处理TDE错误

在Marklogic中处理TDE错误
EN

Stack Overflow用户
提问于 2022-02-01 07:05:49
回答 1查看 62关注 0票数 0

我已经为我的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文档中,我可以看到这可以通过两种方式来处理。

  1. 设置<invalid-values>ignore</invalid-values>,我们无法记录错误,它将继续

操作。

如果没有该选项,

  1. 将抛出错误并停止处理。

现在有两个问题我正在寻找答案:

  1. 是否可以使用try/catch表达式捕获TDE错误?

  1. 是否可以记录TDE错误并允许文档插入/更新操作?
EN

回答 1

Stack Overflow用户

发布于 2022-02-01 16:37:38

对于使用TDE的所有关键任务文档,我们实际上首先进行了一个显式调用,以根据XSD验证文档。然后,我们预先知道它是否会在严格的TDE模板上出错。对于许多项,我们实际上从DSL生成TDE和模式,保证它们一致。

通过预先进行验证,您可以使用业务逻辑记录错误并通过与TDE一起工作的某种切换机制触发TDE索引:

  • collection
  • directory
  • context

我们经常使用的一个技巧是将提示嵌入到上下文逻辑中的模板或子模板中。例如,可以在元素或集合中存储关于验证成功的布尔值,并使用类似于/some/path[fancy condition related to node -collection or element ]的上下文。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70936680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档