Der Befehl zum Anlegen eines Dokuments in der Marklogic DB sieht folgendermassen aus (Doku): Programmierkonstrukte DB insert
xdmp:document-insert( "/alex-test/example-alex.xml", <root>Hier steht der Content</root>, <options xmlns="xdmp:document-insert"> <metadata>{ map:map() => map:with("valid-start", "2014-06-03T14:13:05.472585-07:00") => map:with("valid-end", "9999-12-31T11:59:59Z") }</metadata> </options>)Plain Text
Packt man diese Instruktion in die for-Schleife oben, dann sieht das Konstrukt so aus:
(for $i in (1 to 10) return xdmp:document-insert( concat("/alex-test/example-alex-",$i,".xml"), <root>Hier steht der Content {$i}</root>, <options xmlns="xdmp:document-insert"> <metadata>{ map:map() => map:with("valid-start", "2014-06-03T14:13:05.472585-07:00") => map:with("valid-end", "9999-12-31T11:59:59Z") }</metadata> </options>) )Plain Text
Dokumente kann man einer Collection Programmierkonstrukte DB Collection zuweisen, um sie leichter finden und auswerten zu können. Das geht mit dem folgenden Befehl (Doku) und diesem Schnippsel:
let $root := <mein-test> <id>{$id}</id> <content>Hallo Welt!</content> </mein-test>, $options := <options xmlns="xdmp:document-insert"> <permissions>{xdmp:default-permissions()}</permissions> <collections> <collection>/alex-test</collection> </collections> </options>, $fname := concat('/',$id,'_','.xml'), $td := xdmp:document-insert($fname,$root,$options) return [...]Plain Text
Die Dokumente, die mit der Collection alex-test getaggt wurden, kann man sich mit der folgenden Schleife ausgeben lassen:
for $x in collection("/alex-test") return fn:document-uri($x)Plain Text