Cosa fa questo strumento
Ogni riga del CSV diventa un elemento row dentro un documento rows, e ogni colonna un elemento figlio che prende il nome dalla sua intestazione. I valori vengono sottoposti a escape come XML richiede: la e commerciale diventa &, le parentesi angolari diventano < e >.
Scegli tu l’indentazione, se i tipi vengono riconosciuti, e se la dichiarazione XML compare in cima.
I nomi di colonna non sono liberi
Un nome di elemento XML segue delle regole, un’intestazione di foglio di calcolo no. Un nome non può contenere spazi, non può iniziare con una cifra e non ammette gran parte della punteggiatura: tutte cose ordinarie in una riga di intestazione esportata.
I nomi dell’intestazione vengono quindi adattati anziché copiati:
- un carattere vietato diventa un trattino basso:
first namedàfirst_name,a+bdàa_b; - un nome che inizia con qualcosa che XML non accetta riceve un prefisso, non un troncamento:
2coldà_2col, così si capisce ancora di quale colonna si trattava; - le lettere che XML ammette restano intatte, accenti e CJK compresi —
cafée日本語passano invariati.
L’alternativa sarebbe emettere l’intestazione alla lettera e restituirti un file che sembra convertito e fallisce alla prima analisi. Quel fallimento compare lontano dalla sua causa, ed è questo a renderlo costoso.
Intestazioni duplicate
Due colonne con lo stesso nome vengono separate prima di arrivare all’XML: la seconda diventa a_1. Nessuna colonna viene fusa in silenzio in un’altra. Lo stesso vale quando due intestazioni diverse si riducono allo stesso nome: user id e user_id danno entrambe user_id, quindi la seconda diventa user_id_1. Senza, una delle due colonne sparirebbe dal documento, valore compreso.
Privato per progettazione
Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.