xproc: p:xquery 有多个输入文档
xproc: p:xquery with multiple input documents
根据XProc: W3C Recommendation p:xquery 只得到一个输入文档和参数(只能是原子的,对吧?)
<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>
如果我的查询有多个输入文档(来自前面的步骤),我真的必须先存储它们并在查询中加载它们吗?
不,正如您引用的语法描述清楚表明的那样,'source' 端口有 sequence="true"
,这意味着该步骤可能会在源端口上接收一系列文档,而不仅仅是一个。
所以不,您真的不必存储它们然后将它们加载到查询中;只需将它们作为文档序列输入 p:xquery 步骤的源端口即可。
根据XProc: W3C Recommendation p:xquery 只得到一个输入文档和参数(只能是原子的,对吧?)
<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>
如果我的查询有多个输入文档(来自前面的步骤),我真的必须先存储它们并在查询中加载它们吗?
不,正如您引用的语法描述清楚表明的那样,'source' 端口有 sequence="true"
,这意味着该步骤可能会在源端口上接收一系列文档,而不仅仅是一个。
所以不,您真的不必存储它们然后将它们加载到查询中;只需将它们作为文档序列输入 p:xquery 步骤的源端口即可。