Thank you, Michael Blakeley, for posting your function: declare function local:document-rename( $old-uri as xs:string, $new-uri as xs:string) as empty-sequence() { xdmp:document-delete($old-uri) , let $permissions := xdmp:document-get-permissions($old-uri) let $collections := xdmp:document-get-collections($old-uri) return xdmp:document-insert( $new-uri, doc($old-uri), if ($permissions) then $permissions else xdmp:default-permissions(), if ($collections) then $collections else xdmp:default-collections(), xdmp:document-get-quality($old-uri) ) , let $prop-ns := namespace-uri(<prop:properties/>) let $properties := xdmp:document-properties($old-uri)/node() [ namespace-uri(.) ne $prop-ns ] return xdmp:document-set-properties($new-uri, $properties) };
It helped me to reclaim some lost time when I inadvertently renamed all the documents in a modules database (warning to all: in OS X Finder, if you add a WebDAV-connected folder to the sidebar, and rename the sidebar entry, you actually end up renaming the source directory, i.e., all the documents in your database!, not the shortcut/alias, which is utterly unexpected behavior; to make matters worse, it prefixed "http://" to the URIs which is an invalid WebDAV pathname, so the documents appeared to be *deleted* at first glance, which was pretty unsettling). So, thanks, Mike, for helping me to get my app back, and I'm curious, why is there an xdmp:document-rename? Best regards, Shannon _______________________________________________ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general