The following XML technologies are said to belong to the core XML infrastructure group because they establish the basis for all other XML-based technologies, including all the industry-specific XML vocabularies, which will be discussed in the next section.
The following core XML infrastructure technologies provide the technological foundation from which all other related XML technologies are derived:
Extensible Markup Language 1.0 (www.w3.org/TR/REC-xml): The core XML specification, originally published in February 1998. A second edition was published in October 2000.
Namespaces in XML (www.w3.org/TR/REC-xml-names/): XML namespaces provide a method for qualifying element and attribute names used in XML documents by associating them with namespaces identified by URI references. Published as a W3C recommendation in January 1999.
Document Object Model (DOM) (www.w3.org/DOM/): A platform- and language-neutral interface to an XML document meant to provide a standardized interface by which software applications and scripts programmatically access and update the content, structure, and style of an XML document. Available in several parts: DOM Level 1 (W3C recommendation, October 1998), DOM Level 2 (W3 recommendation, November 2000), and DOM Level 3 (W3C Working Draft, April 2002).
XML Schema (www.w3.org/XML/Schema): An XML-based vocabulary for describing families or classes of XML documents. The XML-Schema specification is comprised of two parts: XML Schema Part 1, Structures (www.w3.org/TR/xmlschema-1/), which offers facilities for describing the structure and constraining the contents of XML 1.0 documents; and XML Schema Part 2, Data Types (www.w3.org/TR/xmlschema-2/), which describes an XML-based syntax for defining data types to be used in XML Schemas, as well as other XML specifications. Published as a W3C recommendation in May 2001.
XSL Transformation (www.w3.org/TR/xslt): XSL consists of both XSLT, a language for transforming XML documents into other XML documents, and XSL:FO, a document layout and formatting language. Published as a W3C version 1.0 recommendation in November 1999.
XML documents contain a wealth of information that is useful only if it can be efficiently searched and its contents retrieved. The following specifications provide the means to search and retrieve the content stored in your XML documents:
XML Path Language (www.w3.org/TR/xpath): Expressions for finding, evaluating, and extracting information from XML documents. Published as a W3C recommendation in November 1999.
XQuery (www.w3.org/XML/Query): XML-based query language to extract data from real and virtual documents on the Web, facilitating interaction between the Web world and relational databases. Working draft in progress.
Resource Description Framework (www.w3.org/RDF/): RDF integrates a variety of applications from library catalogs and world-wide directories to syndication and aggregation of news, software, and content to personal collections of music, photos, and events using XML as an interchange syntax, with the overall goal of providing a system for better describing and exchanging knowledge on the Web. Published as a W3C recommendation in February 1999.
Web services refers to the use of XML-based protocols to access programs (services) on the Internet. The following technologies are used to describe, locate, and invoke services in a standardized way:
Simple Object Access Protocol (www.w3.org/TR/SOAP/): SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML-based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it; a set of encoding rules for expressing instances of application-defined data types; and a convention for representing remote procedure calls and responses. Published as a W3C note in May 2000.
XML Protocol (www.w3.org/2000/xp/Group): XML Protocol is part of the Web Services group whose mission is to develop a set of technologies in order to bring Web services to their full potential. It focuses on topics such as Web services architecture. The Web Services group has numerous publications published as notes or drafts.
Web Service Description Language (www.w3.org/2002/ws/desc/): An XML vocabulary for describing the interface that clients, servers, and other agents can use to interoperate. It includes a definition for the types and structures of the data being exchanged, descriptions of the sequence of operations supported by a Web service, and a mechanism for binding a protocol used by a Web service, independent of its message exchange patterns and its messages. Published as a Note by the W3C in March 2001.
Universal Description Discovery and Integration (www.uddi.org/): UDDI is an XML vocabulary for describing services, discovering businesses, and integrating business services using the Internet, as well as an operational registry (or directory). The UDDI protocol is a building block that will enable businesses to quickly, easily, and dynamically find and transact with one another using their preferred applications.
XML technologies were not developed in a vacuum, rather they were built on top on existing, widely supported transport and application protocols. The following is a listing of important transport protocol specifications that often come up when working on XML-application development:
Hypertext Transfer Protocol (www.w3.org/Protocols/): HTTP is an application-level protocol for distributed, collaborative information systems. It is a generic, stateless protocol that can be used for many tasks beyond its use for hypertext. These include name servers and distributed object management systems through extension of its request methods, error codes, and headers. A feature of HTTP is the typing and negotiation of data representation, allowing systems to be built independently of the data being transferred.
File Transfer Protocol (www.ietf.org/): FTP defines a set of commands that enable file sharing over the Internet. The FTP protocol is a primary Internet protocol that allows different machines, using different operating systems and different hardware to exchange files efficiently in a safe manner.
Web-based Distributed Authoring and Versioning (www.webdav.org/): WebDAV is a set of extensions to the HTTP protocol that enables users to collaboratively edit and manage files on remote Web servers.