Hi,
I believe you are saving both docs to the file-system with two separate calls.
I suggest when staring (and even generally) to include the XQuery header:
declare option xdmp:mapping "false";.
Which will not treat a sequence as an instruction to call a function multiple
times. That’s what you have now. The comma makes a sequence and then you pass
that to xdmp:save() which writes *one item* to the file-system. So it loops
automatically using the “mapping” option and saves twice. Both are saved at the
same file-name, so you just get one.
But you probably want to save the data into the database. That function is
xdmp:document-insert($uri, $doc-or-rootNode).l And I suspect you want create a
new URI in MarkLogic based on the ID or URL attribute.
So try:
xquery version "1.0-ml";
declare namespace html = "http://www.w3.org/1999/xhtml";
let $docs := (
<record url="http://dbfeed.ured/EN0001" mimetype="text/html" last-modified="NA"
pagerank="NA">
<metadata>
<meta name="AN" content="US0001"></meta>
<meta name="ANP" content="US"></meta>
</metadata>
</record>,
<record url="http://dbfeed.ured/SP0002" mimetype="text/html" last-modified="NA"
pagerank="NA">
<metadata>
<meta name="AN" content="SP0002"></meta>
<meta name="ANP" content="SPAIN"></meta>
</metadata>
</record>
)
for $d in $docs
let $uri := "/" || substring-after($d/@url, "http://")
return xdmp:document-insert($uri, $d)
From: general-bounces-dev-marklogic <[email protected]>
on behalf of Ly CafeSua <[email protected]>
Reply-To: MarkLogic Discussion <[email protected]>
Date: Thursday, May 10, 2018 at 1:42 PM
To: MarkLogic Discussion <[email protected]>
Subject: [MarkLogic Dev General] how to save multiple documents to file system.
Hello all,
I am new to Marklogic and would like to learn how to save document nodes to
server. I have a sample code but it always save a last record has "SP0002".
How can I save both records. Thanks in advance.
xquery version "1.0-ml";
declare namespace html = "http://www.w3.org/1999/xhtml";
let $doc := (
<record url="http://dbfeed.ured/EN0001" mimetype="text/html"
last-modified="NA" pagerank="NA">
<metadata>
<meta name="AN" content="US0001"></meta>
<meta name="ANP" content="US"></meta>
</metadata>
</record>,
<record url="http://dbfeed.ured/SP0002" mimetype="text/html"
last-modified="NA" pagerank="NA">
<metadata>
<meta name="AN" content="SP0002"></meta>
<meta name="ANP" content="SPAIN"></meta>
</metadata>
</record>
)
return xdmp:save("/output/mdr/xml/data2016.xml",$doc)
_______________________________________________
General mailing list
[email protected]
Manage your subscription at:
http://developer.marklogic.com/mailman/listinfo/general