A.1 What Is XML?
XML (Extensible Markup Language) is an Internet-friendly format for
data and documents, invented by the World Wide Web Consortium (W3C).
"Markup" denotes a way of
expressing the structure of a document within the document itself.
XML has its roots in a markup language called
SGML
(Standard Generalized Markup Language), which is used in publishing
and shares this heritage with HTML. XML was created to do for
machine-readable documents on the Web what HTML did for
human-readable documents � that is, provide a commonly
agreed-upon syntax, so that processing the underlying format becomes
a commodity and documents are made accessible to all users.
Unlike
HTML, though,
XML comes with
very little predefined. HTML developers are accustomed to both the
notion of using angle brackets (< >) for
denoting elements (that is, syntax), and also the set of element
names themselves (such as head, body, etc.). XML shares only the
former feature (i.e., the notion of using angle brackets for denoting
elements). Unlike HTML, XML has no predefined elements, but is merely
a set of rules that lets you write other languages like HTML. (To
clarify XML's relationship with
SGML: XML is an SGML subset. In contrast, HTML is an SGML
application. RSS uses XML to express its operations and thus is an
XML application.)
Because XML defines so
little, it is easy for everyone to agree to use the XML syntax and
then build applications on top of it. It's like
agreeing to use a particular alphabet and set of punctuation symbols,
but not saying which language to use. However, if
you're coming to XML from an HTML background (and
have an interest in extending RSS), then you may need to prepare
yourself for the shock of having to choose what to call your tags!
Knowing that XML's roots lie with SGML should help
you understand some of XML's features and design
decisions. Note that although SGML is essentially a document-centric
technology, XML's functionality also extends to
data-centric applications, including RSS.
Commonly, data-centric applications do not need all the flexibility
and expressiveness that XML provides and limit themselves to
employing only a subset of XML's functionality.
|