* <code>$csv?names?*</code> returns the names of all fields (if available)
* Return enumerated strings for all records:
<syntaxhighlight pre lang="'xquery"'>
for $record at $pos in $csv?records
return $pos || ". " || string-join($record?*, ', ')
'''Query:'''
<syntaxhighlight pre lang="'xquery"'>
let $text := file:read-text('addressbook.csv')
return csv:parse($text, map { 'header': true() })
'''Query:'''
<syntaxhighlight pre lang="'xquery"'>
let $options := map { 'lax': false() }
let $input := file:read-text('some-data.csv')
'''Query:'''
<syntaxhighlight pre lang="'xquery"'>
let $text := ``[Name,City
Jack,Chicago
'''Result:'''
<syntaxhighlight pre lang="'xquery"'>
Distinct values:
* Name: Jack, John