我有一个 csv 文件。我已经使用 mlcp 管理将这些数据导入 MarkLogic,然后在 MarkLogic 中创建了一个 xml 文件。
现在在 csv 中,我在其中一列中随机使用了这种格式“6/29/2013 5:00:00 PM”。如何使用 xquery 和可能的节点替换作为转换函数将此日期转换为不同的格式,例如“2013-06-29”作为 MarkLogic 默认日期格式?
任何帮助表示赞赏...
我已经创建了 transform.xqy 并将其安装在 MLogic 中的模块上。我正在考虑使用“xdmp:node-replace”将日期替换为预期格式。或者我应该逐列浏览 csv 列(如何做?)并使用“castable as xs:dateTime”来确定日期值与否。然而,即使只是打印出内容值/uri,总是给我错误。
xquery version "1.0-ml";
module namespace example = "http://test.com/example";
(: If the input document is XML, insert @NEWATTR, with the value
: specified in the input parameter. If the input document is not
: XML, leave it as-is.
:)
declare function example:transform(
$content as map:map,
$context as map:map
) as map:map*
{
let $the-doc-uri := map:get($content, "uri")
let $the-doc := map:get($content, "value")
return
trace($the-doc, 'The value of doc is: ')
};