How do I set the CSV parser to use "header" true?
so that when the record is imported it has the header information as below?
nicholas@mordor:~/flwor/csv$ nicholas@mordor:~/flwor/csv$ basex BaseX 9.0.1 [Standalone] Try 'help' to get more information.
create database addressbook
Database 'addressbook' created in 240.02 ms.
open addressbook
Database 'addressbook' was opened in 0.06 ms.
set parser csv
PARSER: csv
add addressbook.csv
Resource(s) added in 23.74 ms.
xquery .
<csv> <record> <entry>Name</entry> <entry>First Name</entry> <entry>Address</entry> <entry>City</entry> </record> <record> <entry>Huber</entry> <entry>Sepp</entry> <entry>Hauptstraße 13</entry> <entry>93547 Hintertupfing</entry> </record> </csv> Query executed in 219.65 ms.
exit
Enjoy life. nicholas@mordor:~/flwor/csv$ nicholas@mordor:~/flwor/csv$ basex addressbook.xq <csv> <record> <Name>Huber</Name> <First_Name>Sepp</First_Name> <Address>Hauptstraße 13</Address> <City>93547 Hintertupfing</City> </record> </csv>nicholas@mordor:~/flwor/csv$ nicholas@mordor:~/flwor/csv$ nicholas@mordor:~/flwor/csv$ cat addressbook.csv Name,First Name,Address,City Huber,Sepp,Hauptstraße 13,93547 Hintertupfing
nicholas@mordor:~/flwor/csv$ nicholas@mordor:~/flwor/csv$ cat addressbook.xq xquery version "3.1";
let $text := file:read-text('addressbook.csv') return csv:parse($text, map { 'header': true() })
nicholas@mordor:~/flwor/csv$
see also:
https://stackoverflow.com/q/65275618/4531180
thanks,
Nick