This chapter provides a general overview of XML. If you are familiar with XML, feel free to skip ahead to Chapter 4.
A markup language is a mechanism for identifying structure in a document. The Extensible Markup Language Recommendation [XML] specifies a way to structure, store, and send information. It does not say anything about what information should be presented to the user, however. Rather, this meta-markup language is used for creating other languages (each called an XML "application"). As such, XML is really a grammatical system that enables the creation of customized markup languages for particular documents and domains [Harold].
An XML markup language defines tags for labeling content, and the relationship between such tags. Consider the following example:
<foo>. . . content of tag foo . . .</foo>
The XML Recommendation defines a methodology for tag creation. It specifies neither tag semantics nor a specific tag set. That is, XML specifies structure, not meaning. You can define an infinite number of markup languages based on the XML Recommendation standards.
Once defined, tags are mixed with character data to form an "XML document." An XML document can take numerous forms. For example, it can be a logical structure within a computer program or an external file in the traditional sense. Likewise, an XML document can be sent as a data stream, reported as a database result set, or dynamically generated by one application and sent to another.