MCLP uri_id, как указать атрибут тега xml в совокупном xml - PullRequest
0 голосов
/ 01 мая 2018

Мне было интересно, возможно ли иметь 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"

1 Ответ

0 голосов
/ 02 мая 2018

В модуле преобразования (mlcp-flow-transform.xqy) вы можете создать желаемый URI, используя атрибут Id.

В операторе возврата поместите новый ключ с именем 'uri' в $ content. Как мы добавляем «значение».

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

Для получения дополнительной информации см. Главу 4 руководства пользователя MLCP Импорт контента на сервер MarkLogic - реализация XQuery

...