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

如何在eXist-db中正确配置Saxon以抑制模糊匹配警告?

在eXist-db 6.0.1中配置Saxon-PE 9.9.1.8J抑制模糊匹配警告的正确方法

你之前在conf.xml里配置的version-warning和recoveryPolicyName特性,和命令行-warnings:silent控制的不是同一类警告——前者分别负责关闭版本提示、设置错误恢复策略,而模糊匹配警告属于Saxon的通用警告范畴,需要通过以下方法配置:

方法一:全局配置(通过Saxon配置文件)

  1. 创建一个Saxon配置文件(比如命名为saxon-config.xml),内容如下:
<configuration xmlns="http://saxon.sf.net/ns/configuration" edition="PE">
    <warnings>silent</warnings>
</configuration>
  1. 将该文件放在eXist-db可访问的路径下(比如eXist安装目录的conf文件夹)。
  2. 修改conf.xml中的Transformer配置,添加指定配置文件的属性:
<transformer class="net.sf.saxon.TransformerFactoryImpl" caching="yes">
    <attribute name="http://saxon.sf.net/feature/config-file" value="/path/to/eXist/conf/saxon-config.xml" type="string"/>
</transformer>

注意替换/path/to/eXist/conf/为你实际的文件路径。

方法二:动态配置(针对特定XQuery)

如果不需要全局生效,可在XQuery代码中动态设置Saxon的警告级别:

declare namespace saxon="http://saxon.sf.net/";
declare variable $config := saxon:get-configuration();
saxon:set-configuration-property($config, 'warnings', 'silent')

将这段代码放在你的查询开头,执行时会临时调整当前上下文的Saxon配置。

方法三:通过JVM启动参数全局生效

修改eXist-db的启动脚本(如startup.sh或startup.bat),添加JVM系统参数:

-Dsaxon.warnings=silent

重启eXist-db后,所有使用Saxon的操作都会抑制模糊匹配警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 21:57:29