dls:retention-rule( $name as xs:string, $comment as item()*, $num-versions as xs:unsignedInt?, $duration as xs:duration?, $document-query-text as xs:string?, $document-query as cts:query? ) as element(dls:retention-rule)
This function creates and returns a retention rule element.
Use
dls:insert-retention-rule
to insert the retention rule into
the database.
$num-versions
and $duration
retains a numbered
version only if it is both one of the N most recent versions and it was
created more recently than "now - duration." If neither
$num-versions
or $duration
is specified,
then any numbered version matching the document query is kept forever.
The $document-query-text
parameter is intended to be
used for the human readable form of a query that was used to produce the
corresponding
cts:query
. This may be the text that a user
typed into a search text field in the UI. This parameter does NOT affect
the retention policy.
dls-admin
role is required to run
this function, or the privilege:http://marklogic.com/xdmp/privileges/dls-admin
xquery version "1.0-ml"; import module namespace dls="http://marklogic.com/xdmp/dls" at "/MarkLogic/dls.xqy"; dls:retention-rule( "All Versions Retention Rule", "Retain all versions of all documents", (), (), "Locate all of the documents", cts:and-query(())) (: Returns a retention rule in XML format. :)
xquery version "1.0-ml"; import module namespace dls = "http://marklogic.com/xdmp/dls" at "/MarkLogic/dls.xqy"; dls:retention-rule( "Rule1", "Keep the five most recent versions of Jim's documents that are 15 days old or newer", 5, xs:duration("P15D"), "Locate documents authored by Jim", dls:author-query(xdmp:user("Jim"))) (: Returns a retention rule in XML format. :)
xquery version "1.0-ml"; import module namespace dls = "http://marklogic.com/xdmp/dls" at "/MarkLogic/dls.xqy"; dls:retention-rule( "Rule2", "Keep the five most recent versions of Jim's documents in the 'foo' collection that are 15 days old or newer", 5, xs:duration("P15D"), "Locate documents in the 'foo' collection authored by Jim", cts:and-query(( cts:collection-query("http://marklogic.com/documents/foo"), dls:author-query(xdmp:user("Jim")) )) ) (: Returns a retention rule in XML format. :)