From: Clark C . E. <cc...@cl...> - 2001-05-18 15:53:37
|
----- Forwarded message from "Clark C . Evans" <cc...@cl...> ----- Date: Thu, 17 May 2001 22:11:06 -0500 From: "Clark C . Evans" <cc...@cl...> To: Brian Ingerson <briani@ActiveState.com> Cc: Oren Ben-Kiki <or...@ri...> Subject: Re: YAML & Pointers/References (please correct if there are any mis-conceptions) A few summary points about RFC822: - Every internet mail sent relies upon it. ;) - It is just a bunch of headers followed by a single blank line. After the blank line the "message" is user defined. - In the headers, they use "folding" technique. - They also allow for "quoting" within the header. Thus: Header: "Clark" and Header: Clark are identical. The "" are used when spaces are significant and special characters are needed. - The headers are a mapping - The headers are _not_ recursive - The header content can extend on as many lines as one desires, as long as it has a space character in column 1. - Headers beginning with an X- are open to use without an RFC. - For compliance, one must have three headers, "Date", "From", and "To" - There is a nasty comment mechanism using parenthesis which not many people use - Most of the headers are free form, (especially the ones beginning with X-) - A few of the headers have very strict productions, including, as you can imagine Date. - The output of sendmail or any mail transfer agent is an RFC822 document. - RFC882 is the basis for MIME!!! Our impacts: - It looks alot like what we have except we are hierarchical, and we don't have as many nasty exceptions. - I think we will have an optional RFC822 envelope (headers) seperated by a space from the "real" data. This allows us to put in meta-data about our document, including encoding information and processing instructions that arn't part of the data. - This will give us direct ability to have perl/python as the recipient of a mail processing output (using |/my/program in /etc/aliases) and have the YAML library the *only* thing you need to process the mail. - We may want to have our syntax moderately similar so as to be an "extension of RFC822". This helps us with the super nerds since we arn't inventing our own thing, especially from the perspective of the XMLers. - I don't think we need to parse all of the productions, but we should be able to minimally extract the content. - We can use MIME for "attachments" I think we will have a simple rule. If the first set of "maps" contains "X-YAML-Version" then we will assume it is an RFC 822 envelope and treat it appropriately. Thus, we don't have to cater to it too much, but we should be as close as possible without compromising our integrety. Best, Clark ----- End forwarded message ----- |