Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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 8转换_Marklogic - Fatal编程技术网

JavaScript中的MarkLogic 8转换

JavaScript中的MarkLogic 8转换,marklogic,Marklogic,我试图在JavaScript REST ext上使用JavaScript转换。我无法使用该转换。为了检查这一点,我编写了一个跟踪日志行,如下面的脚本所示。 我用Roxy上传转换时遇到问题,所以我使用了CURL命令进行转换。包括该命令 当我调用此URL时,我希望“transform running”显示在我的日志文件中: 我得到的只是“ext running” somethingext.sjs: /** * @name somethingext * This REST extentsion

我试图在JavaScript REST ext上使用JavaScript转换。我无法使用该转换。为了检查这一点,我编写了一个跟踪日志行,如下面的脚本所示。 我用Roxy上传转换时遇到问题,所以我使用了CURL命令进行转换。包括该命令

当我调用此URL时,我希望“transform running”显示在我的日志文件中:

我得到的只是“ext running”

somethingext.sjs:

/**
 * @name somethingext 
 * This REST extentsion provides SOAP service for the shipment data
 */

function post(context, params, input) {
    try {
      xdmp.trace('somethingext', 'ext running ');
      // or: xdmp.log('transform');
   }
   catch(err){
   }
}

// Main
exports.POST = post;
something-transform.sjs:

function something(context, params, content) {
    var mutableDoc = content.toObject();
    xdmp.trace('something', 'transform running');
};

exports.transform = something;
用于上载变换的卷曲:

curl --anyauth --user admin:admin -X PUT -i \
    --data-binary @"./something-transform.sjs" \
    -H "Content-type: application/vnd.marklogic-javascript" \
    'http://localhost:12040/LATEST/config/transforms/something'

我认为这里的主要问题是您正在调用一个REST扩展,并且您不能将transform参数应用于该扩展。这只适用于/v1/documents、/v1/search,如果我没有弄错的话,还适用于其他一些。另见:


是否在默认组的诊断页面上启用了跟踪事件?也许最好先尝试xdmp.log。我将尝试使用日志而不是跟踪。是的,会显示ext,但转换没有列出所有使用的跟踪事件标签吗?在我的本地代码中,两者都有相同的标签。也许这是个线索。。罗克西有个问题,就是把表格弄过了线。不计算。在上一个项目中,我们使用:servername:8012/v1/resources/obiproject摄取?rs:title=main_node&rs:transform=manual transform,或者这里的转换只是一个参数吗?是的,因此在
rs:transform
中使用了rs:prefix.:)Thijs-这是一个使用转换的自定义扩展,我的直觉是,自定义扩展目前只支持xqy/xsl转换。好的,那么我需要使用/v1/文档接收并将我的转换添加到其中?此处解释:这可能是一种有用的替代方法,而且也很优雅。但是,如果扩展需要做的不仅仅是转换和摄取,还可以将xsl作为普通xsl上传到模块中,并从扩展中调用
xdmp:xslt