我希望通过MarkLogic CoRB工具获取xml输入文件,但无法通过CoRB工具获得该文件:
ML配置属性文件:
THREAD-COUNT=16
MODULE-ROOT=/
MODULES-DATABASE=.\\37074\\XQuery\\PROD-MetadataModules
XML-FILE=.\\37074\\input\\asme_module_v3.xml
XML-NODE=rdf:RDF
PROCESS-MODULE=.\\37074\\XQuery\\upload-skos-file.xqy|ADHOC
EXPORT-FILE-DIR=.\\37074\\Report
EXPORT-FILE-NAME=update-Non-member-price-report.xml
EXPORT-FILE-TOP-CONTENT="Record"
URIS-LOADER=com.marklogic.developer.corb.FileUrisXMLLoader
PROCESS-TASK=com.marklogic.developer.corb.ExportBatchToFileTask
DECRYPTER=com.marklogic.developer.corb.JasyptDecrypterXML输入文件(‘asme_module_v3.xml’),我想通过MarkLogic Corb工具完成‘upload file.xqy’:
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#">
<skos:ConceptScheme rdf:about="http://www.bsigroup.com/asme/">
<skos:hasTopConcept rdf:resource="http://www.bsigroup.com/asme/A112"/>
<skos:hasTopConcept rdf:resource="http://www.bsigroup.com/asme/A120"/>
</skos:ConceptScheme>
</rdf:RDF>“upload-skos-file.xqy”文件中的代码:
xquery version "1.0-ml";
declare variable $URI external;
let $skos-number := $URI
let $_ := xdmp:log("=========================skos-number===========================")
return xdmp:log($skos-number)MarkLogic corb工具成功执行,但没有在Marklogic文件中获得任何条目,我不知道哪里有错误。
发布于 2021-06-07 21:24:05
CoRB StreamingXPath目前无法注册和利用名称空间和名称空间前缀,因此针对命名空间限定元素的XPath不能利用命名空间前缀。
不过,在文档元素上使用local-name()的谓词筛选进行更一般的匹配将是可行的。它有点难看,打字量也大得多,但效果很好:
XML-NODE=*[local-name()='RDF' and namespace-uri()='http://www.w3.org/1999/02/22-rdf-syntax-ns#']或者如果RDF local-name()足够好的话:
XML-NODE=*[local-name()='RDF']https://stackoverflow.com/questions/67877088
复制相似问题