[jira] [Commented] (CSV-54) Confusing semantic of the ignore leading/trailing spaces parameters
[ https://issues.apache.org/jira/browse/CSV-54?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13236661#comment-13236661 ] Sebb commented on CSV-54: - Definitely better to drop the separate leading/trailing space options. However, I think interleavedSpacesIgnored should apply for both quoted and unquoted values. As far as I can tell, that is the expectation in the CSV format specs I've seen. The trimmedSpaces setting would then be identical to interleavedSpacesIgnored for unquoted values. For quoted values it would also trim the enclosed value; not sure that's particularly useful to provide as part of CSV. It's easy enough for the application to trim the fields, so I'm not sure the setting is necessary. Seems like it is straying away from the basic purpose of CSV. However, if/when CSV is updated support creating Java Beans, value trimming would be much more appropriate there, as it would be on a per-column basis. Let's keep the initial parsing simple. Confusing semantic of the ignore leading/trailing spaces parameters --- Key: CSV-54 URL: https://issues.apache.org/jira/browse/CSV-54 Project: Commons CSV Issue Type: Bug Components: Parser Reporter: Emmanuel Bourg Fix For: 1.0 {{CSVFormat}} has two parameters to control how the leading and trailing spaces around values are handled, but the actual behavior depends on the value being enclosed in quotes or not. If the value is not enclosed in quotes, setting {{leading/trailingSpacesIgnored}} to {{true}} will left or right trim the value. For example with this input (using the default format): {code}a, b ,c{code} the second value will be equal to {{'b'}}. But if the value is enclosed into quotes, the value is no longer trimmed: {code}a, b ,c{code} this will give {{' b '}}. With quoted values the parser actually ignores the spaces between the delimiter and the quote. Thus with this input: {code}a, b ,c{code} The value returned is {{' b '}}. If {{leading/trailingSpacesIgnored}} is set to {{false}}, we get instead {{' b '}} which is consistent with RFC 4180. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CSV-54) Confusing semantic of the ignore leading/trailing spaces parameters
[ https://issues.apache.org/jira/browse/CSV-54?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13227540#comment-13227540 ] Emmanuel Bourg commented on CSV-54: --- I suggest replacing {{leading/trailingSpacesIgnored}} with two parameters: - {{interleavedSpacesIgnored}}: this will ignore the spaces between the delimiter and the opening quote, and between the closing quote and the next delimiter. - {{trimmedSpaces}}: this will remove the spaces around the values, on the left and on the right. I don't see the need to trim only on one side and not the other. Confusing semantic of the ignore leading/trailing spaces parameters --- Key: CSV-54 URL: https://issues.apache.org/jira/browse/CSV-54 Project: Commons CSV Issue Type: Bug Components: Parser Reporter: Emmanuel Bourg Fix For: 1.0 {{CSVFormat}} has two parameters to control how the leading and trailing spaces around values are handled, but the actual behavior depends on the value being enclosed in quotes or not. If the value is not enclosed in quotes, setting {{leading/trailingSpacesIgnored}} to {{true}} will left or right trim the value. For example with this input (using the default format): {code}a, b ,c{code} the second value will be equal to {{'b'}}. But if the value is enclosed into quotes, the value is no longer trimmed: {code}a, b ,c{code} this will give {{' b '}}. With quoted values the parser actually ignores the spaces between the delimiter and the quote. Thus with this input: {code}a, b ,c{code} The value returned is {{' b '}}. If {{leading/trailingSpacesIgnored}} is set to {{false}}, we get instead {{' b '}} which is consistent with RFC 4180. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CSV-54) Confusing semantic of the ignore leading/trailing spaces parameters
[ https://issues.apache.org/jira/browse/CSV-54?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13227659#comment-13227659 ] Sebb commented on CSV-54: - I'm not sure I would expect any space removal to ever occur within quoted values. Surely that's one of the reasons why values are quoted - to prevent removal of spaces. Confusing semantic of the ignore leading/trailing spaces parameters --- Key: CSV-54 URL: https://issues.apache.org/jira/browse/CSV-54 Project: Commons CSV Issue Type: Bug Components: Parser Reporter: Emmanuel Bourg Fix For: 1.0 {{CSVFormat}} has two parameters to control how the leading and trailing spaces around values are handled, but the actual behavior depends on the value being enclosed in quotes or not. If the value is not enclosed in quotes, setting {{leading/trailingSpacesIgnored}} to {{true}} will left or right trim the value. For example with this input (using the default format): {code}a, b ,c{code} the second value will be equal to {{'b'}}. But if the value is enclosed into quotes, the value is no longer trimmed: {code}a, b ,c{code} this will give {{' b '}}. With quoted values the parser actually ignores the spaces between the delimiter and the quote. Thus with this input: {code}a, b ,c{code} The value returned is {{' b '}}. If {{leading/trailingSpacesIgnored}} is set to {{false}}, we get instead {{' b '}} which is consistent with RFC 4180. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CSV-54) Confusing semantic of the ignore leading/trailing spaces parameters
[ https://issues.apache.org/jira/browse/CSV-54?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13227699#comment-13227699 ] Emmanuel Bourg commented on CSV-54: --- The reason for enclosing the values into quotes is to put a delimiter or a line separator in the value. Spaces are always part of the value, quoted or not. At least that's how it's specified in RFC 4180. Confusing semantic of the ignore leading/trailing spaces parameters --- Key: CSV-54 URL: https://issues.apache.org/jira/browse/CSV-54 Project: Commons CSV Issue Type: Bug Components: Parser Reporter: Emmanuel Bourg Fix For: 1.0 {{CSVFormat}} has two parameters to control how the leading and trailing spaces around values are handled, but the actual behavior depends on the value being enclosed in quotes or not. If the value is not enclosed in quotes, setting {{leading/trailingSpacesIgnored}} to {{true}} will left or right trim the value. For example with this input (using the default format): {code}a, b ,c{code} the second value will be equal to {{'b'}}. But if the value is enclosed into quotes, the value is no longer trimmed: {code}a, b ,c{code} this will give {{' b '}}. With quoted values the parser actually ignores the spaces between the delimiter and the quote. Thus with this input: {code}a, b ,c{code} The value returned is {{' b '}}. If {{leading/trailingSpacesIgnored}} is set to {{false}}, we get instead {{' b '}} which is consistent with RFC 4180. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira