触发器配置中的目录作用域/文档作用域/集合作用域是可选的。我有一种情况,我需要考虑集合范围和目录范围的和组合来创建触发器配置。
我需要考虑特定集合下某个目录的文档。在触发器创建期间,我无法在触发器配置中定义这两个作用域。
当我尝试同时创建具有两个范围的触发器时,出现以下错误:
{"<xs:complexType name="data-event" abstract="false" mixed="false"> <xs:annotation> <xs:documentation> A description of triggering events. </xs:documentation> <xs:appinfo/> </xs:annotation> <xs:sequence minOccurs="1" maxOccurs="1"> <xs:choice minOccurs="1" maxOccurs="1"> <xs:element ref="document-scope" minOccurs="1" maxOccurs="1"/> <xs:element ref="collection-scope" minOccurs="1" maxOccurs="1"/> <xs:element ref="directory-scope" minOccurs="1" maxOccurs="1"/> </xs:choice>"}
我查看了manage-trigger-properties.xsd文件,该文件显示了架构定义如下:
{" {
"name": "trg-create-policy-esb-harmonization",
"description": "Harmonize the documents from PREP as soon as documents are created in edh-PREP",
"event":
{
"data-event":
{
"directory-scope":
{
"uri":"<sample Uri>",
"depth": "infinity"
},
"collection-scope":
{
"uri":"<sample Collection>"
},
"document-content":
{
"update-kind":"create"
},
"when": "post-commit"
}
},
"module":"<sample Modules file>",
"module-db": "%%MODULES_DATABASE%%",
"module-root": "/",
"enabled": true,
"recursive":false,
"task-priority": "normal"
}"}
我无法更改marklogic定义的架构
我们尝试创建的示例触发器配置:
\r\n
我们希望触发器将同时具有集合范围和目录范围。
原因:如果我只想考虑特定目录下的文档集,这些文档属于一个公共集合,那么我需要这种情况才能解决。