This code sample is adapted from Clifford B. Anderson and Joseph C. Wicentowski, XQuery for Humanists (College Station: Texas A&M University Press, 2020), 282. Download this code sample in its raw form. View the source on GitHub.

xquery version "3.1";

for $line in fn:unparsed-text-lines("books.csv")
let $columns := fn:tokenize($line, ",")
    element row {
        for $column in $columns
            element column { $column }