Loading TOC...

MarkLogic 12 Product Documentation
op:column-builder

op:column-builder() as map:map

Summary

Create column definitions which can be used in op:from-docs. Below functions are used to create column definitions. op:add-column, op:type, op:xpath, op:expr, op:nullable, op:default, op:dimension, op:coordinate-system, op:units, op:collation.

Example

xquery version "1.0-ml";
import module namespace op="http://marklogic.com/optic"
     at "/MarkLogic/optic.xqy";

op:from-docs(
  cts:collection-query("fromDocsColl"),
  "/my:root",
  op:column-builder()
   =>op:add-column("id")=>op:nullable(fn:true())=>op:type("integer")=>op:default(-1)
   =>op:add-column("name")=>op:expr(op:xpath(op:context(),"my2:name"))=>op:collation("http://marklogic.com/collation/codepoint")
   =>op:add-column("testXpath")=>op:xpath("./my2:name" )
   =>op:add-column("node")=>op:type("node")=>op:xpath(".")
   =>op:add-column("vector")=>op:xpath("./my2:vector")=>op:type("vector")=>op:dimension(3)
   =>op:add-column("geo")=>op:type("point")=>op:xpath("./my2:geo" )=>op:coordinate-system("wgs84/double")=>op:units("miles"),
  "TEST",
  op:fragment-id-col("myFragmentIdCol"),
  map:entry("my","https://www.example.com/my")=>map:with("my2","https://www.example.com/my2")
  )
=>op:select(("id","name","testXpath","node","vector","geo","myFragmentIdCol"))
=>op:result()
  

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.