In 1996, the World Wide Web Consortium (W3C) began to develop a new standard markup language that would be simpler to use than SGML but with a more rigid structure than HTML. The W3C established the XML Working Group (XWG) to begin the process of creating XML.

Goals of XML

The goals of XML as given in the version 1.0 specification (http://www.w3.org/TR/WD-xml-lang#sec1.1) are listed here, followed by a description of how well these have been implemented in the current XML standard:

  • XML shall be straightforwardly usable over the Internet. Currently, only minimal support for XML is provided in most Web browsers. Internet Explorer 4 and Netscape Navigator 4 both provide minimal support. Internet Explorer 5 provides additional support for XML, which will allow Web developers to use XSL pages to present XML content.

  • XML shall support a wide variety of applications. With the introduction of BizTalk and SOAP, XML will be used in a wider range of applications. Other applications, such as Lotus Domino, also use XML. Many applications are now available for viewing and editing XML content and DTDs.

  • XML shall be compatible with SGML. Many SGML applications and SGML standard message formats are currently in existence. By making XML compatible with SGML, many of these SGML applications can be reused. Although the conversion process can be complex, XML is compatible with SGML.

  • It shall be easy to write programs that process XML documents. For XML to become widely accepted, the applications that process XML documents must be easy to build. If these applications are simple, it will be cost-effective to use XML. The current specification does meet this goal, especially when you use a parser such as the ones provided by Microsoft and IBM.

  • The number of optional features in XML is to be kept to the absolute minimum, ideally zero. The more optional features, the more difficult it will be to use XML. The more complex a language, the more it costs to develop with it and the less likely anyone will be to use it. The XML standard has met this goal.

  • XML documents should be human-legible and reasonably clear. Ideally, you should be able to open an XML document in any text editor and determine what the document contains. With a basic understanding of XML, you should be able to read an XML document.

  • The XML design should be prepared quickly. It is essential that the standard be completed quickly so that XML can be used to solve current problems.

  • The design of XML shall be formal and concise. It is essential that computer applications be able to read and parse XML. Making the language formal and concise will allow it to be easily interpreted by a computer application. XML can be expressed in Extended Backus-Naur Form (EBNF), which is a notation for describing the syntax of a language. EBNF in turn can be easily parsed by a computer software program. SGML cannot be expressed in EBNF. For more information about EBNF, refer to http://nwalsh.com/docs/articles/xml/toc.html#EBNF.

  • XML documents shall be easy to create. Several XML editors are now available that make it easy to create XML documents; these editors will be discussed in Chapter 3. You can also create your own custom XML editor.

  • Terseness in XML markup is of minimal importance. Making the XML markup extremely concise is less important than keeping the XML standard concise. You could include an entire set of acceptable shortcuts in the standard (as SGML does) and avoid putting them in the markup, but this will make XML much more complex. XML has successfully done this.

These goals are geared toward making XML the ideal medium for creating Web applications. As an added bonus, XML will also be perfect for creating standard messages and passing messages to call methods.

Four specifications define XML and specify how it will achieve these goals:

  • The XML specification defines XML syntax. It is available at http://www.w3.org/TR/WD-xml-lang.

  • The XLL specification defines the Extensible Linking Language. It is available at http://www.w3.org/TR/xlink.

  • The XSL specification defines Extensible Style Sheets. It is available at http://www.w3.org/TR/NOTE-XSL.html.

  • The XUA specification defines the XML User Agent. This specification will define an XML standard similar to SOAP; it has not yet been created.

The current XML specification is only 26 pages long-as opposed to several hundred pages for the SGML specification. XML is easy to use and, with BizTalk, can be used to create messages in a standardized format. XML allows you to separate content and presentation using XML documents and XSL pages. Using SOAP, you can package a request for a method on a remote server in an XML document, which can be used by a server to call the method. Thus, XML can fulfill the three basic goals perfectly.