具有多个输入文档的xproc:p:xquery

具有多个输入文档的xproc:p:xquery,xquery,xproc,Xquery,Xproc,根据p:xquery只获取一个输入文档和参数(只能是原子的,对吗?) 如果我的查询有多个输入文档(来自前面的步骤),我真的必须首先存储它们并将它们加载到查询中吗?否,正如您引用的语法描述所表明的,“源”端口具有sequence=“true”,这意味着该步骤可能会在源端口上接收一系列文档,而不仅仅是一个 因此,不必存储它们,然后将它们加载到查询中;只需将它们作为一系列文档输入p:xquery步骤的源端口。没错。但重要的是要知道,这些文件的处理方式是不同的。第一个是上下文项,其他项使用colle

根据p:xquery只获取一个输入文档和参数(只能是原子的,对吗?)



如果我的查询有多个输入文档(来自前面的步骤),我真的必须首先存储它们并将它们加载到查询中吗?

否,正如您引用的语法描述所表明的,“源”端口具有
sequence=“true”
,这意味着该步骤可能会在源端口上接收一系列文档,而不仅仅是一个


因此,不必存储它们,然后将它们加载到查询中;只需将它们作为一系列文档输入p:xquery步骤的源端口。

没错。但重要的是要知道,这些文件的处理方式是不同的。第一个是上下文项,其他项使用collection()访问。
<p:declare-step type="p:xquery">
 <p:input port="source" sequence="true" primary="true"/>
 <p:input port="query"/>
 <p:input port="parameters" kind="parameter"/>
 <p:output port="result" sequence="true"/>
</p:declare-step>