Thanks
The answer may depend on how you want to handle multi-value fields in the CSV. As an example the first record has:
From this data, in OpenRefine you'll end up with a record that has two values in the 'setSpec' column, three values in the 'dc:subject' column and three values in the 'dc:date' column (the column names will be longer than this if you've just used the names generated by the XML import, but hopefully this is clear)
So I get an example like this
So the question is what the CSV should look like for this data? Because XML is a complex hierarchical format that can have nested elements, it doesn't neatly map to CSV - this requires decision making on the part of the person creating /specifying the CSV.
In this case you can join each of these records into a single row by using "Edit Cells -> Join multi-valued cells" menu option in the various columns - you will have to decide what character you want to use as a separator. If I do this I get:
You can see that this record is now on a single row but with the cells for dc:date and dc:subject (and offscreen also setSpec) having multiple values. If this is what you need, that's fine, but you might want to make other decisions at this point - e.g. having multiple columns for the subject headings (can be done using Edit column -> Split into several columns). I also think the data is a bit odd - some of the multiple values seem like they are lacking context - for example what are each of those dc:date values actually meant to show? Why are there three of them?
If you look across all the records you'll find that different fields are repeated in different records - some have multiple creators, some multiple descriptions, some multiple identifiers etc. etc. You'd have to use the 'join multi-valued cells' option on all the relevant columns to ensure all records are on a single line
Hope this is of some help
Best wishes
Owen