[Slide]

XML: So What?

Provides some well-defined syntactic rules for marking up Unicode text, defining a hierarchy of elements with attributes.

XML Namespaces: So What?

Provides a reasonable mechanism for keeping short tag names distinct. Useful when multiple vocabularies are united in a single document in a schema-validated or non-validated environment. (Doesn't play nice with DTDs.)

XML Infoset: So What?

Provides a well-defined abstract model for XML. Useful as a basis for other specifications so they need not bother about trivia of syntax and character sequences.

XML Schemas: So What?

Provides a comprehensive set of simple datatypes, plus rich structural composition and type derivation mechanisms. Validation story that plays nice with namespaces and that is more than just pass/fail. A key technology for type-aware information.

XPath: So What?

A non-XML syntax that is embeddable in URLs for tersely expressing selection and navigation within an XML document. Key enabling technology for XML-based linking and query.

XPointer: So What?

Provides a pointer syntax for pointing inside XML documents. Useful as a means of expressing references into large XML data sources. Based on XPath.

XLink: So What?

Provides an XML vocabulary for expressing links, analogous but more extensive than that of HTML.

XSLT: So What?

Provides an XML vocabulary for defining transformations of XML data to XML, HTML, or text. A key technology for data manipulation.

XSL (FO): So What?

Provides an XML vocabulary for expressing high quality printed output. Useful for documents that need richer controls over final form than that offered by HTML.

DOM: So What?

Provides a standard generic object model and API for interacting with the XML infoset. Bindings exist for a number of programming languages. Useful for generic processing of small amounts of small XML documents . Too heavy weight for efficient use with large XML documents or many concurrently. (In short: a client-side technology, primarily.)

SAX: So What?

Provides a standard generic event-based API for processing an XML data stream. Bindings exist for a number of programming languages. Useful for applications that do not need to or cannot keep the entire document in memory at once or that want to build their own tuned objects. Suitable for high-performance server-side processing.

Copyright (c) 2001 Mary Holstege
All rights reserved.