On 9/17/2010 8:02 AM, Jeff Mitchell wrote: > On 09/17/2010 01:12 AM, Quentin Sculo wrote: >> Hi >> I'm implementing parts of the FMPS specs, and I'm wondering about the >> escaping of lists. >> How is a string such as ":::" (3 colons) escaped ? >> 1) "\:\::" >> or >> 2) "\:\:\:" >> The specs only talk about escaping double colons (and double >> semicolons), so that would mean 1) but 1) is difficult to split correctly. > > 1) is the correct answer, according to the spec, but I see why you say > that it's more difficult to split correctly. I wish you'd brought this > up earlier sometime in the past year of the spec's development... :-) > >> I realize strings such as ":::" are not a very common occurrence, but >> I'm sure some lyrics contain it. >> >> Personally I would prefer to escape all ";", ":" and "\" with a "\", >> simple and effective. > > This was discussed at some point but that solution wasn't preferred, > because you still have to do a replacement over the string, and it makes > it less readable for the far more common case of single colons or > semicolons. We were also trying to keep it simple in that escaping a > block of two \:\: characters is not something you will likely find > anywhere else, whereas possibly you'll find \: somewhere -- so then do > you escape the escape, and have \\\: if you actually want a backslash > and a colon? (IOW we didn't want to get into escaping hell.) > > However, I don't think anyone thought of how the triple-colon case makes > the splitting harder. I also don't think that it's likely that you'll > find \: or \; as a literal string in lyrics; I think you're more likely > (although still not likely) to see ::: > > Considering that 1.0 was just released, implementation can't be *too* > far progressed for those working on it, so it probably wouldn't be too > big a burden to issue a v1.0.1 and change the behavior. I'd like to see > if others have opinions on the matter -- what do others think; should we > change to #2 above?
Quentin, As nobody else seems to have an issue with it (or care? :-) ) I'll release an updated spec that escapes all :, ;, and \. It'll still use :: and ;; for list/field separators; escaping will be done in identifiers and field values only. Does that sound good? --Jeff
signature.asc
Description: OpenPGP digital signature
_______________________________________________ xdg mailing list xdg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xdg