1

我想知道是否可以让正在加载的文档的 uri 从聚合 xml 中的 xml 标记属性中提取?

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<trialRecordsOutput>
  <serviceExecutionTime>427</serviceExecutionTime>
  <Trial id="10006">...<Trial>
  <Trial id="123456">...<Trial>
</trialRecordsOutput>

在上面的示例中,我将每个文档提取<Trial>为单独的文档,并且我希望文档 uri_id 成为标签中的属性id<Trial>这可能吗?以下是我的 mlcp 选项示例

-input_compressed
true
-input_compression_codec
gzip
-input_file_type
aggregates
-output_permissions
rest-reader,read,rest-writer,update
-output_uri_prefix
/cortellis/trial/
-output_uri_suffix
.xml
-aggregate_record_element
Trial
-uri_id
__XXXX How to specify XML attribute XXXX__
-transform_module
/com.marklogic.hub/mlcp-flow-transform.xqy
-transform_namespace
http://marklogic.com/data-hub/mlcp-flow-transform
-transform_param
"entity-name=trial,flow-name=input-trial,flow-type=input,job-id=trial_initial_load"
4

1 回答 1

1

在转换模块 (mlcp-flow-transform.xqy) 中,您可以使用属性 Id 创建所需的 uri。

在 return 语句中,将名为 'uri' 的新键放入 $content。当我们添加“价值”时。

let $uri := 'Your new uri'
let $value := 'Your actual content'
return (map:put($content,'uri',$uri),
     map:put($content,'value',$value))

有关详细信息,请参阅 MLCP 用户指南将内容导入 MarkLogic Server - XQuery 实现的第 4 章

于 2018-05-02T06:31:24.743 回答