无法编译 xquery : err:XPST0003 map 表达式中不再接受“:=”符号

ktc*_*tcl 2 xquery exist-db

我正在尝试使用 ActiveMQ 进行 eXist-db 复制。当我为消费者实例配置时,它需要执行这样的 XQuery 来注册 JMS 接收器:

xquery version "3.0";
import module namespace replication="http://exist-db.org/xquery/replication" at "java:org.exist.jms.xquery.ReplicationModule"; 
let $jmsConfiguration := map {
    "java.naming.factory.initial" 
            := "org.apache.activemq.jndi.ActiveMQInitialContextFactory",
    "java.naming.provider.url" := "tcp://localhost:61616",
    "connection-factory" := "ConnectionFactory",
    "destination" := "dynamicTopics/eXistdb-replication-example",
    "subscriber.name" := "SubscriptionId",
    "connection.client-id" := "ClientId"
}

return
    replication:register($jmsConfiguration)
Run Code Online (Sandbox Code Playgroud)

当我运行这个查询时,它返回一个类似标题的错误。我是 XQuery 的新手,你能帮我检查一下吗?

Mic*_*Kay 5

该表示法map{ x := y, p := q }在 XSLT 3.0 的早期草案中使用,该表示法在map{ x : y, p : q }XQuery 采用时更改为。该错误消息表明您使用的实现曾经支持草案规范中的语法,但后来放弃了它。

如果这实际上是撒克逊人的“幕后”,那么完整的错误消息是“地图表达式中不再接受 ':=' 符号:使用 ':' 代替”,它准确地告诉您需要做什么。