The purpose of this tutorial is to familiarize readers with the XMLSocket object in Flash, it's methods and properties. Teach the reader the more common methods of using the XMLSocket object, and then open the reader up to the possibilities allowed by the XMLSocket Object.
In this article, the XML language is not explained at all. For a tutorial on XML, see XML Basics. I do plan on discussing certain methods of formatting your XML so that parsing in the Flash Player 5.04 is faster. Flash has always been meant to facilitate SVG, primarily for web delivery, and recently also for other mediums of presentation. With any presentation there will be data that needs to be conveyed. Be it through a web site shopping cart, or an ATM infomercial - data is the heart of the matter.
XML was introduced as a means of freeing the languages we use to define the data we traffic in. Since XML is more a way of defining data rather than a strict method of defining data, there have been many *MLs introduced in an effort to best define the data particular to a given industry. While this massive effort to define data is laudable, we need to remember that sometimes it doesn't really matter how we define it, as long as all of the members of the conversation understand the language that is being spoken. To this end Flash's XMLSocket object works wonders.
True XML is often accompanied by a DTD, to help foreign environments interpret and manipulate the accompanying XML. Flash currently does not support a DTD. While it can interpret the DTD tag, and return the information contained therein, Flash does not validate XML from the DTD. While this could hamper Flash’s ability to survive in an increasingly ‘XMLish’ world of data, we'll see how it really doesn't matter.
Another important point to consider when speaking of Flash and its XMLSocket object is that Flash has a history of being the tool easiest to produce great works of non-usability. Many first impressions of Flash were of it's pointless self-aggrandizing intros, or maybe of inescapable pre-loaders. As I said - Flash's development environment facilitates the creation of unusable content. As we approach the XMLSocket object, we must then keep in mind that Flash (currently) has limitations to its true usability. But there are many developers who have helped rid us of many of those limitations, if we choose to use their tools, and the upcoming versions of Flash appear promising indeed.
In the end, Flash is preparing to dominate a market that did not exist before. Used properly, and effectively, the XMLSocket object will play a key role in that future. The web will not exist in its current form for long. Already we see changes in the fundamental uses of the sprawling Internet, and yet there are purposes that drive that change which will remain forever. Data will need to be exchanged. Through one language or another, using a web services platform or a web server, data will need to be conveyed.
The XMLSocket object brings about the marriage of both data and presentation in an environment not possible before. Those on the client end, and those with their hands on the stirring spoons can see changes as the bi-directional exchange of data is presented in the robust and warm environment Flash has to offer.
That having been said... let's examine the beast that's known as the XMLSocket object.