MCLP uri_id,如何在聚合xml中指定xml标记的属性

时间:2018-05-01 19:42:35

标签: marklogic marklogic-9 mlcp

我想知道是否有可能将正在加载的文档用于在聚合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"

1 个答案:

答案 0 :(得分:1)

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

在return语句中,输入一个名为&#39; uri&#39;的新密钥。到$ content。当我们添加&#39;值&#39;。

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

有关详细信息,请参阅MLCP用户指南Importing Content Into MarkLogic Server - XQuery Implementation

的第4章