Media Type "text/csv": new draft (-02) and Last Call
Yakov Shafranovich
YakovS at solidmatrix.com
Wed Mar 23 07:14:24 CET 2005
Clyde,
Thanks for pointing this out. I personally think that instead of making
the header record mandatory which is something that most CSV
applications do not have, I would rather take the comma out of the end
of the record and have the last field end with a CRLF instead of an
optional COMMA. Do you think that is a plausible solution?
Yakov
clyde.ingram at edl.uk.eds.com wrote:
> In section "2.Definition of the CSV format", items 3 & 4 state:
>
> 3. There maybe an optional header line appearing as the first line of
> the file with the same format as normal record lines. This header will
> contain names corresponding to the fields in the file and will usually
> contain the same number of fields as the records in the rest of the
> file. For example:
>
> field_name,field_name,field_name CRLF
> aaa,bbb,ccc CRLF
> zzz,yyy,xxx CRLF
> 4. Within the header and each record there may be one or more fields,
> delimited by commas. The last field in the record may or may not be
> followed by a comma. For example:
>
> aaa,bbb,ccc
>
> Why would you permit the last field in the record to be followed by a
> comma?
> If a CSV record comprises:
>
> aaa,,ccc,ddd,,CRLF
>
> does it have 6 fields or 5?
> If comma is a field separator only, there are 6 fields:
>
> 1. aaa
> 2. <null>
> 3. ccc
> 4. ddd
> 5. <null>
> 6. <null>
>
> But if the comma is also a mandatory terminator for the last field
> (effectively the record separator becomes comma-CRLF), then there are 5
> fields.
>
> In my view, permitting the last field to end with comma leads to
> ambiguity, and prevents an application from checking that an exact
> number of fields is present. The only way to guarantee the exact number
> of fields is then to count the fields in the header. But then your item
> 3 allows the header record to be omitted.
>
> Would it not be safer to make the header record mandatory?
>
> Thank-you and regards,
> Clyde Ingram
>
More information about the Ietf-types
mailing list