Re: [Pmt-exif] "keyword=valueline" syntax
Brought to you by:
glennrp
From: Adam M. C. <am...@cs...> - 2000-08-08 19:55:21
|
Glenn Randers-Pehrson <gl...@ho...> wrote: > We must be able to encode all of these STRINGs and SUBSTRINGs using > the definitions in the proposal: > > STRING or SUBSTRING with no newlines > STRING or SUBSTRING with a newline at the end > STRING or SUBSTRING with a newline at the beginning > STRING or SUBSTRING with an embedded newline > empty lines in STRING or SUBSTRING > empty STRING or SUBSTRING If we consider a string to be a sequence of characters, some of which may be newlines, then the following syntax allows any string to be assigned to a keyword: Every line has the form [keyword][=valueline]\n where valueline contains zero or more non-newline characters. When valueline is present, it is appended to the value of the most recent keyword seen, separated by a newline if it is not the first valueline to be appended. Note that if the string to be assigned ends with a newline, the last valueline must be empty. Presumably, if any string can be represented, and your syntax for breaking up strings into substrings is general enough, then any substring can be represented. > I posted draft 0.14 (http://pmt.sourceforge.net/exif/drafts/d014.html) It still says: A single whitespace character (the "\n=" sequence is considered to be a single whitespace character for this purpose) may precede the STRING and is not included in it. If multiple whitespace characters appear, all but the first form the beginning of the string. So in this example: firstkey=foo secondkey= foo thirdkey= foo firstkey and secondkey have the same value "foo", and thirdkey has the value " foo". Is this complexity justified? Why not just say everything between the equal sign and the newline is the valueline? I think this rule was originally added so that key=foo and key= =foo would be equivalent. But now that we have key =foo there should be no need for it. AMC |