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?
Thanks,
Jeff
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
Sounds good. Want to work with me on FMPS v1.1?
By the way, what player/app/library are you working on?
Thanks,
Jeff