Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Marklogic中使用转换插入XML标记?_Javascript_Xml_Json_Transformation_Marklogic - Fatal编程技术网

Javascript 如何在Marklogic中使用转换插入XML标记?

Javascript 如何在Marklogic中使用转换插入XML标记?,javascript,xml,json,transformation,marklogic,Javascript,Xml,Json,Transformation,Marklogic,我有xml文档,需要使用marklogic中的转换向现有xml添加一个额外的标记。这不能使用任何xquery 所有编码都必须使用javascript 以下是向JSON添加新标记的代码: function insertTimestamp(context, params, content) { workaround(context); if (context.inputType.search('json') >= 0) { var result = content.toObje

我有xml文档,需要使用marklogic中的转换向现有xml添加一个额外的标记。这不能使用任何xquery

所有编码都必须使用javascript

以下是向JSON添加新标记的代码:

function insertTimestamp(context, params, content)
{
  workaround(context);
  if (context.inputType.search('json') >= 0) {
    var result = content.toObject();
    if (context.acceptTypes) {                 /* read */
      result.readTimestamp = fn.currentDateTime();
    } else {                                   /* write */
      result.writeTimestamp = fn.currentDateTime();
    }
    return result;
  } else {
    /* Pass thru for non-JSON documents */
    return content;
  }
};

exports.transform = insertTimestamp;

同样,我需要向XML(而不是JSON)添加一个标记。

与XQuery一样,节点在服务器端JavaScript中是不可变的

要修改XML结构,策略是通过复制要保留的节点、省略要删除的节点以及创建要插入的新节点来创建新结构

在服务器端JavaScript中,可以使用builder API创建新的XML结构:


即使您使用的是用XQuery编写的库模块,也可以使用服务器端JavaScript。例如,你可以利用

请注意,您从XQuery导入的蠕虫案例名称将在JavaScript中作为驼峰案例名称进行访问

var mem = require('/lib/memory-operations.xqy');

mem.insertChild(...);