MarkLogic 版本:9.0-6.2
这是我正在使用 mlcp 将 staging db 摄取的示例 xml 文件。我的要求是将 xml 拆分为每个 Policy 的单独文档,但是在将 TransactionRequestDt 重新格式化为 YYYYMMDDHHMMSS 之后,将 uri_id 创建为 /policy/PolNum/TransactionRequestDt.xml。示例 uri 是 /policy/P123/201610171533390000000.xml
<?xml version="1.0" encoding="UTF-8"?>
<PolicyInfo>
<TransactionRequestDt>2016-10-17T15:33:39.770<TransactionRequestDt>
<Policy>
<PolNum>P123</PolNum>
....
....
</Policy>
<Policy>
<PolNum>P456</PolNum>
....
....
</Policy>
</PolicyInfo>
我的 mlcp 代码如下所示
mlcp.sh import -ssl \
-host localhost \
-port 8010 \
-username nnnn \
-password ffff \
-input_file_path /f1/f2 \
-input_file_type aggregates \
-aggregate_record_element Policy \
-output_collections policy \
-output_uri_prefix /policy/ \
-uri_id PolNum \
-transform_module /ext/ingesttransform.sjs \
-output_uri_suffix ".xml"
我的想法是使用转换函数重新格式化 TransactionRequestDt,但意识到元素 TransactionRequestDt 不可用于转换(因为它在“策略”聚合之外)。
访问 TransactionRequestDt 并在 uri 中使用它的最佳方法是什么?我试过了
-transaction_param TransactionRequestDt
但看起来参数值作为“TransactionRequestDt”(字符串)而不是 TransactionRequestDt 的实际日期值传递。