MarkLogic 9 Product Documentation
temporal:node-insert-before

temporal:node-insert-before(
   $temporal-collection as xs:string,
   $sibling as node(),
   $new as node(),
   [$temporal-doc-uri as xs:string]
) as empty-sequence()

Summary

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.

Usage Notes

The fourth argument "temporal-doc-uri" is not required for documents inserted with MarkLogic 9.0 version of temporal:document-insert or later.

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.

Example

(: 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>
Powered by MarkLogic Server | Terms of Use | Privacy Policy