op:from-doc-descriptors( $docs-descriptors as map:map+, [$qualifier as xs:string?] ) as map:map
This function constructs document rows from the docsDescriptors.
Parameters | |
---|---|
$docs-descriptors | A map of document descriptors. Each document descriptor describes a document. A document descriptor contains a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. This is a simpler form of op:from-param. |
$qualifier | Specifies a name for qualifying the column names. |
xquery version "1.0-ml"; import module namespace op="http://marklogic.com/optic" at "/MarkLogic/optic.xqy"; op:from-doc-descriptors( map:entry("uri", '/optic/update/write1.xml') =>map:with("doc", <doc>1</doc>) =>map:with("collections", ("from-doc-descriptor", "optic")) =>map:with("metadata", map:entry("meta", "value1")) =>map:with("permissions", (xdmp:permission("rest-reader","read"),xdmp:permission("rest-writer","update"))) =>map:with("quality", 1) =>map:with("temporalCollection", "update") ) =>op:result()
xquery version "1.0-ml"; import module namespace op="http://marklogic.com/optic" at "/MarkLogic/optic.xqy"; declare option xdmp:update "true"; let $doc-descriptors := ( map:entry("uri", '/optic/update/write1.xml') =>map:with("doc", <doc>1</doc>) =>map:with("collections", ("from-doc-descriptor", "optic")) =>map:with("metadata", map:entry("validStart", "2014-04-03T11:00:00")=>map:with("validEnd", "9999-12-31T11:59:59Z")) =>map:with("permissions", (xdmp:permission("rest-reader","read"),xdmp:permission("rest-writer","update"))) =>map:with("quality", 1) =>map:with("temporalCollection", "update"), map:entry("uri", '/optic/update/write2.xml') =>map:with("doc", <doc>2</doc>) =>map:with("collections", ("from-doc-descriptor", "optic")) =>map:with("metadata", map:entry("validStart", "2014-04-03T11:00:00")=>map:with("validEnd", "9999-12-31T11:59:59Z")) =>map:with("permissions", (xdmp:permission("rest-reader","read"),xdmp:permission("rest-writer","update"))) =>map:with("quality", 2) =>map:with("temporalCollection", "update") ) return op:from-doc-descriptors($doc-descriptors) =>op:write() =>op:result()
xquery version "1.0-ml"; import module namespace op="http://marklogic.com/optic" at "/MarkLogic/optic.xqy"; let $doc-descriptors := ( map:entry("uri", '/test/fromDocUris/0.xml')=>map:with("doc", <doc>0</doc>), map:entry("uri", '/test/fromDocUris/1.xml')=>map:with("doc", <doc>1</doc>), map:entry("uri", '/test/fromDocUris/5.xml')=>map:with("doc", <doc>5</doc>) ) let $from-doc-descriptors := op:from-doc-descriptors($doc-descriptors, "left") let $rows := ( map:entry("uri", '/test/fromDocUris/0.xml')=>map:with("val", 0), map:entry("uri", '/test/fromDocUris/5.xml')=>map:with("val", 5)) let $from-literals := op:from-literals($rows, "right") return $from-doc-descriptors => op:join-inner($from-literals, op:on(op:view-col("left", "uri"), op:view-col("right", "uri"))) => op:order-by(op:view-col("left", "uri")) => op:result()
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.