|
|
dls:document-purge(
|
|
$uri as xs:string,
|
|
$delete as xs:boolean,
|
|
$retain-history as xs:boolean
|
| ) as xs:string* |
|
 |
Summary:
This function deletes all numbered versions of the specified
managed document and its referenced documents, as specified by the rention
policies set by dls:retention-rule. The document versions are
deleted if they
have no retention rule causing them to be kept and if they are not included
by documents that cannot yet be deleted. If $delete is
false, the document's versions are not actually deleted and instead
a list of the documents that would have been deleted is returned.
If you set $retain-history to true, you can use
xdmp:document-properties to view the deleted document's properties
fragment in the database.
|
Parameters:
$uri
:
The URI of the document to be purged.
|
$delete
:
Determines whether or not to delete the
documents. Set to true to remove the documents or false
to list which documents would have been deleted.
|
$retain-history
:
Determines whether to retain the deleted document's property fragment
in the database. Set to true to
retain the property fragment, or false to delete.
|
|
Required Privilege:
The dls-user role is required to run
this function, or the privilege:
http://marklogic.com/xdmp/privileges/dls-user
|
Example:
xquery version "1.0-ml";
import module namespace dls = "http://marklogic.com/xdmp/dls"
at "/MarkLogic/dls.xqy";
dls:document-purge("/foo/bar/baz.xml", fn:false(), fn:true())
(: Returns the versions of the 'baz.xml' document and its referenced
documents, as specified by the rention policy. :)
|
|
|
|
dls:purge(
|
|
$delete as xs:boolean,
|
|
$retain-history as xs:boolean
|
| ) as xs:string* |
|
 |
Summary:
This function deletes all numbered versions of managed documents and
its referenced documents (such as /foo/bar.xml_versions/1-bar.xml), as
specified by the rention policy set by one or more dls:retention-rule
functions. Documents are deleted if they
have no retention rule causing them to be kept and if they are not included
by some document that cannot yet be deleted. If $delete is
false, the document versions are not actually deleted and instead
a list of the documents that would have been deleted is returned. This function
returns a list of URIs that it would/did delete.
If you set $retain-history to true, you can use
xdmp:document-properties to view the deleted document's properties
fragment in the database.
|
Parameters:
$delete
:
Determines whether or not to delete the
documents. Set to true to delete the documents or false
to list which documents would have been deleted.
|
$retain-history
:
Determines whether to retain the deleted documents' property fragments in the database.
Set to true to retain the property fragments, or false to delete.
|
|
Required Privilege:
The dls-user role is required to run
this function, or the privilege:
http://marklogic.com/xdmp/privileges/dls-user
|
Example:
xquery version "1.0-ml";
import module namespace dls = "http://marklogic.com/xdmp/dls"
at "/MarkLogic/dls.xqy";
dls:document-purge(fn:true(), fn:true())
(: Deletes all of the versions of the 'baz.xml' document and its
referenced documents. :)
|
|
|
|
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) |
|
 |
Summary:
This function creates and returns a retention rule element.
Use dls:insert-retention-rule to insert the retention rule into
the database.
Specifying multiple constraints implies AND between them. For example,
specifying both $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.
|
Parameters:
$name
:
The name of the retention rule. The name must be unique to this rule.
|
$comment
:
Comment that describes this retention rule.
|
$num-versions
:
The number of most recent versions to be retained. This means to keep versions
greater than (but not equal to) num-versions - current-version, if they still exist.
|
$duration
:
Retain all versions that were created on or after the duration date/time.
|
$document-query-text
:
Comment that describes the document query.
|
$document-query
:
The document query. Typically returned by a Query Constructor Function.
|
|
Required Privilege:
The dls-admin role is required to run
this function, or the privilege:
http://marklogic.com/xdmp/privileges/dls-admin
|
Example:
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. :)
|
Example:
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. :)
|
Example:
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. :)
|
|
|
|
dls:retention-rule-insert(
|
|
$rules as element(dls:retention-rule)*
|
| ) as empty-sequence() |
|
 |
Summary:
This function inserts retention rules into the database.
They will be readable by the dls-user role and modifiable/deletable by
the dls-admin role.
|
Parameters:
$rules
:
The retention
rule to be inserted.
|
|
Required Privilege:
The dls-admin role is required to run
this function, or the privilege:
http://marklogic.com/xdmp/privileges/dls-admin
|
Example:
xquery version "1.0-ml";
import module namespace dls = "http://marklogic.com/xdmp/dls"
at "/MarkLogic/dls.xqy";
dls:retention-rule-insert((
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 all documents authored by Jim",
dls:author-query(xdmp:user("Jim"))),
dls:retention-rule(
"Rule2",
"Retain the five most recent versions of documents that match the query below",
5,
(),
"Locate only docs that include 'Baz' and 'Disco'" ,
cts:and-query((
cts:word-query("Baz"),
cts:word-query("Disco"))) ) ))
(: Inserts the retention rules, 'Rule1' and 'Rule2', into the database. :)
|
|
|
|
dls:retention-rules(
|
|
$names as xs:string*
|
| ) as element(dls:retention-rule)* |
|
 |
Summary:
This function returns the specified retention rules from the database.
|
Parameters:
$names
:
The names of the retention rules to be returned. The name can include wild cards.
For example, a * can be used to retrieve all of the retention rules.
|
|
Required Privilege:
The dls-user role is required to run
this function, or the privilege:
http://marklogic.com/xdmp/privileges/dls-user
You must have read permissions on the rentention-rule
document to see the rules.
|
Example:
xquery version "1.0-ml";
import module namespace dls = "http://marklogic.com/xdmp/dls"
at "/MarkLogic/dls.xqy";
dls:retention-rules("Rule1")
(: Returns the 'Rule1' retention rule in XML format. :)
|
|
|