temporal:node-insert-before( $temporal-collection as xs:string, $sibling as node(), $new as node(), [$temporal-doc-uri as xs:string] ) as empty-sequence()
Adds an immediately preceding sibling to a node in a temporal document.
Parameters | |
---|---|
temporal-collection | The URI for the protected temporal collection in which the document is to belong. This must have been previously created by the temporal:collection-create function. All versions of the temporal document will be associated with this temporal collection. |
sibling | The sibling node to be preceded by the new node. |
new | The new node to be inserted. |
temporal-doc-uri | The URI of the temporal document to be updated. |
Attribute nodes cannot be preceded by non-attribute nodes. Non-attribute nodes cannot be preceded by attribute nodes. Element nodes cannot have document node children. Document nodes cannot have multiple roots. On-the-fly constructed nodes cannot be updated.
(: create a document :) let $options := <options xmlns="xdmp:document-insert"> <metadata> <map:map xmlns:map="http://marklogic.com/xdmp/map"> <map:entry key="validStart"> <map:value>2014-04-03T11:00:00</map:value> </map:entry> <map:entry key="validEnd"> <map:value>2014-04-03T16:00:00</map:value> </map:entry> </map:map> </metadata> </options> return temporal:document-insert("tempcol","/example.xml", <a><b>bbb</b></a>, $options); (: add a c node before the b node :) temporal:node-insert-before("tempcol", fn:doc("/example.xml")/a/b, <c>ccc</c>); (: look at the new document :) fn:doc("/example.xml") => <?xml version="1.0" encoding="UTF-8"?> <a><c>ccc</c><b>bbb</b></a>