Preface
Extensible Markup Language or XML (http://www.w3.org/TR/REC-xml/) appeared as a recommendation of the World Wide Web Consortium (http://www.w3.org) in early 1998. XML is a restricted subset of Standard Generalized Markup Language or SGML (ISO/IEC 8879). By some grace, XML has enjoyed considerable popularity and has been almost universally received as an interoperability solution for heterogeneous computer systems. Although not without shortcomings, XML is probably the best thing we have going for us to deal with software interoperability issues, mainly because of its wide acceptance and presence.
Today, you can find XML just about anywhere you find software. To name a few examples:
OpenOffice’s file format [Hack #65] consists of a set of ZIP-archived XML files.
Ant’s build file format [Hack #91] is written in XML, as are Microsoft Visual Studio .NET project files (http://msdn.microsoft.com/vstudio/).
Mac plist configuration files [Hack #44] are also written in XML.
Web pages now increasingly use Extensible Hypertext Markup Language (XHTML), an XML version of HTML.
XML User Interface Language (XUL) is a Mozilla project that allows you to define applications with XML (http://www.mozilla.org/projects/xul/). Likewise, Extensible Application Markup Language (XAML) is an XML-based language for defining user interfaces for the Avalon framework, part of Microsoft’s upcoming release of Windows code-named “Longhorn” (http://msdn.microsoft.com/longhorn/).
XML is by no means a panacea ...