Hi Marco -
Are you missing a separator ('\') in your $output variable, or in your
`fn:concat($output, '\', 'marco.xml')`?

Here's a similar example that's working for me:
```
declare variable $data := (1, 2, 3, 4);
declare variable $output := '/home/bridger/';

declare function local:process-data(
  $seq as item()*
) as item()* {
  <test created="{fn:current-dateTime()}">
    {
      for $s in $data
      return(
        <item>{$s}</item>
      )
    }
  </test>
};

let $filename := "bridger.xml"
return
  file:write($output || $filename, local:process-data($data))
```

I hope this is helpful!
Best,
Bridger

On Thu, Sep 6, 2018 at 11:13 AM Marco Roling <marcorol...@hotmail.com>
wrote:

> Dear all,
>
> I am new on the block here, and trying to find my way around BaseX, which
> seems to meet my needs for my research on digital museum collection data
> analysis.
>
> I have a very large collection of xml files (> 600000 files) that I am
> querying, and I want to write the returned result immediately in a file. The
> following xquery (see below) is not working, which probably comes as no
> surprise to you all.
>
> But to get me started, I would like to have a simple example that works.
> Any example would do.
>
> Hope anyone can help me out with this.
>
> Thanks very much, best, Marco.
>
>
> =====
>
> declare variable $data := collection(PRODRMCollectionItems);
> declare variable $output := 'C:\DATAQUERY\BaseX\Q001\outputPROD';
>
> (:This is where all the work is happening:)
> declare function local:process-data ($nodes as item()*) as element (root)
> {
>   <RMCollectionItemsDATA created="{current-dateTime()}">
>   {
>      for $a in $nodes//artObjectGetResponse/artObject[objectNumber eq
> 'NG-NM-1395-A']
>        return
>         <item>{$a}</item>
>   }
>   </RMCollectionItemsDATA>
> };
>
> (:here we store stuff:)
> let $filename := concat($output, "marco.xml")
> return
>   file:write($filename, local:process-data($data))
> =====
>
>

Reply via email to