【发布时间】:2021-04-09 09:08:27
【问题描述】:
let $stylesheet := "abc.xsl"
let $params := map:map()
let $_ := map:put ($params,"col1","abc")
return
xdmp:xslt-invoke(
$stylesheet, (), $params,
<options xmlns="xdmp:eval">
<template>a:schema</template>
</options>)
abc.xsl
<xsl:template name="a:schema">
<xsl:param name="collection-uri" as="xs:string" select="$col1"/>
<xsl:apply-templates select="collection($collection-uri)"/>
</xsl:template>
目前,我们正在收集“abc”集合中的所有文档。 但是我想在 $param 映射中添加多个集合,这样包含集合“abc”和“def”的文档就会出现 例如:
| Document| collection
|:---------|:----------:|
| Doc1 | abc, def |
| Doc2 | abc |
| Doc3 | abc, def |
它将选择 Doc1 和 Doc3
【问题讨论】:
-
关于收集的撒克逊文档:saxonica.com/html/documentation/sourcedocs/collections.html 请参阅此处有关如何使用收集功能的示例:stackoverflow.com/a/6138562/3710053
-
最好用“|”而不是“,”,以确保对两个集合中存在的文档进行重复数据删除(但同样,我不知道 MarkLogic)。
标签: xslt schema xquery marklogic