From mboxrd@z Thu Jan 1 00:00:00 1970 Message-Id: <4C1F05E7-B327-480A-91F3-055076377C99@fastmail.fm> From: Ethan Grammatikidis To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> In-Reply-To: Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v936) Date: Mon, 28 Jun 2010 18:06:48 +0100 References: Subject: Re: [9fans] xml Topicbox-Message-UUID: 37c98126-ead6-11e9-9d60-3106f5b1d025 On 28 Jun 2010, at 17:19, hugo rivera wrote: > If you haven't heard of XML yet, you must be living under a rock! - > Programming in the .NET Environment > Taken from the fortunes file. I guess I must be living under a rock, > but I don't know what xml is, or pragmatically, what is it for. > Please, understand that I'm not trying to start a flame war in here, > but I'd really appreciate if someone could explain xml to me. I've > read the wikipedia entry but doesn't help me a lot, and for the first > time in my life I saw some xml code today, in a program that I need to > use and, hopefully, understand. > I know this subject isn't plan 9 related, but 9fans is my best > resource for CS questions. Okay... here's how I understand XML: It's a format for serialising hierarchically-structured data with arbitrary metadata. That's the good part. The bad parts... well, here's two: XML must be valid. It must be valid because the gods of computing, when cyberspace was graced with their presence, found validation to be a good idea as it would quickly tell you if your file would parse correctly before you fed it into the slow, slow, parser. XML validation is far slower than parsing, but the gods of computing found validation to be a good idea, so it must be done. XML must not contain binary data. All binary data must be uuencoded. This is because the gods of computing suffered networks which would pass only textual data. We remember their pain, and worshipfully deny all means by which binary data may be packed into the same file as textual without harm. -- One must always specify what one's computer should do, always, before even considering what, perhaps, the computer may be able to provide freely, lest the computer become uppity.