From: Steve H. <sh...@zi...> - 2002-12-19 12:12:48
|
On Thu, 2002-12-19 at 05:13, Oren Ben-Kiki wrote: > Brian Ingerson (in...@tt...) [19 Dec 2002 13:32]: > > Neil Watkiss and I were chatting the other day. One thing > > that came > > up was whether YAML cares about what text is "between documents". > > > > In other words, could we allow *any* characters to be present > > between '...\n' and the next '\n---'? > > Iain 'Spoon' Truskett wrote: > > You should. Very useful for files in transition between YAML and > > non-YAML. In particular, non-automated Changelogs. > > Nathan Sharfi wrote: > > You shouldn't; if someone inserted a file between the two > > (one proposed use case was to sandwich in files inbetween and > > turn YAML into a package format (as if the world didn't have > > plenty already)), some random bytes in the file might very > > well be "\n---". Don't laugh: I've scanned through binaries > > viewed in the browser, and somehow, some of them manage to > > have bold, italicized, struck through text by the time I get > > to the end. > > OK, that's one +1 and one -1 vote. > > If I understand Iain correctly, Iain wasn't suggesting the insertion of > arbitrary files between the '...' and the '---'. Rather I took it to > mean it would be easy to switch between YAML and non-YAML data within a > file, but still under some application control. That does sound useful. > > Nathan's point is valid - whatever we do, you can't put _anything_ > between the '...' and '---'. So the question is whether allowing > anything other than '\n---' would be tempting people to stuff anything > just hoping that "it will be OK". Good questions. Of course we can add > warnings and threats that would deter people from doing this. > I think all of the interleaving decisions should be left up to competent programmers. There's really no need to interleave non-YAML documents into a YAML document, because you can always yaml.dump() the non-YAML documents. If you're trying to stick YAML inside of some outer non-YAML format, then just use whatever escaping mechanism works best for the outer format. |