de Koning Associates Inc.


Find it here
About us
   Gerry's resumé

Quote of the week

You should use iterative development only on projects that you want to succeed.
Martin Fowler

XML Resources
Gerry de Koning
July 11, 2001

| Resource Collections | Standards | Consortia, Vendors and Publishers | Applications of XML | Comdex Examples |

. Resource Collections

XML Coverpages

The XML Coverpages is a very comprehensive and well-organized introduction to resources for XML and related technologies. Robin Cover, the editor, has been covering XML and SGML for long time. This site is sponsored by OASIS, the XML industry consortium.

An industry consortium, OASIS, provides this portal. It carries news and offers a good XML resources section. It also has a registry for XML-based mark-up languages used by many industries. Before creating your own document types, check them out.

O'Reilly, the publishers, provide this site with news, articles, tutorials, resources by business type, and links to tools.


The ultimate home base for XML is the W3C (World Wide Web Consortium). Look here for news, standards, white papers and more. This site will be of interest to anyone following the evolution of XML standards.

The One-stop XML Resource Center

An extensive list of XML links.
. Standards

These standards are the ultimate references for XML technologies. They can be difficult to read and understand. A good text or classroom course can help you read these documents and understand the finer points of each technology.

Tim Bray's Annotated XML

At some point, most XML developers need to refer to the official XML 1.0 Specification. It is not easy to read. Tim Bray, one of its authors, has provided a wonderful annotated version of the XML Specification. It contains the exact, unaltered text of the W3C XML 1.0 specification, but adds links to notes covering usage, history, technical details, and other commentary.

XML Schemas

When creating an XML-compliant markup-language, a designer can either use a Document Type Definition (DTD) or an XML Schema to define the legal content: elements, attributes and ordering. The DTD, based on an approach used in SGML, was described in XML 1.0. The W3C XML Schema Recommendation (that's what they call their official standards) specifies another way to specify what content is valid. Schemas are XML files and so can be created and parsed by XML tools. If you can read XML, you can figure out the syntax of XML Schema files. Many people expect XML Schemas to become more common, and DTDs less common, especially for encoding data in XML files.

XLink, XPointer and XBase

When XML was first released, there was no way to specify a location or range within an XML document, nor was there a way to specify linkages between documents, similar to HTML's hyperlinks. This has now been solved by this trio of standards covering XML linking.

XML Namespaces

As XML becomes widely used, people will create documents which use element tags from more than one XML-based mark-up language. This creates the possibility of conflicts of element names. This standard defines how namespaces should be used to make sure that every element in every XML language is unique.


Stylesheets describe how to transform or render a document. This page is the home base for all W3C style activities, including Cascading Style Sheets (CSS), XML Stylesheets, and DSSSL.

XSL Transformations

This is the standard which describes the XSLT language. It covers all the elements, attributes and selection patterns and the functions which can be used in selection patterns. Like the other standards, it is not easy reading, but it is a very useful reference.

XSL Formatting Objects

This is the XSL standard which covers XSL formatting objects. Technically, it includes XSLT by reference, but you will be looking here when you need a reference for XSL:FO.

Simple API for XML

The SAX standard did not come from W3C, but rather from an urgent need felt by XML programmers. Dave Megginson led the effort and the SAX home pages are still on his site. Find SAX references here for Java, Python, COM, Perl and C++.

Document Object Model

The Document Object Model (DOM) from W3C is an object-oriented view of an XML or HTML document. The standard defines the model and language bindings for Java and ECMAScript (Javascript).
. Consortia, Vendors and Publishers

XML at W3C

XML was created at the World Wide Web Consortium (W3C). This site is the home base for standards and news about the evolution of the standards. It is not the easiest place to begin when learning about XML. It is, however, an essential site for authoritative reference information.


OASIS, the Organization for the Advancement of Structured Information Standards, is a large industry consortium which is promoting and coordinating the use of XML in many industries. This site covers news and provides links to technical information about their projects and other XML resources.

XML at Apache

Apache, an Open-Source Software Foundation, is very active in developing tools for XML. Based on initial work done by Sun and IBM, they provide the following tools:
  • Xerces, an XML parser which provides both SAX and DOM APIs. (Java, C++, Perl)
  • Crimson, another Java XML parser
  • Xalan, an XSL Tranformation processor (Java, C++)
  • FOP, an XSL Formatting processor (Java)
  • Cocoon, an XML document processing servlet
  • SOAP, a Java toolkit to simplify creating SOAP clients and servers
Apache XML tools work well with their Tomcat and Apache web servers.


IBM is committed to XML. This site, the XML Zone, is where developers can go for good quality tutorials, feature articles, tools, product information sample code, case studies and other resources.

XML at Lotus

Lotus provides many resources for developers who are using XML with the Domino Notes web servers.

XML at Microsoft

XML is an essential part of Microsoft's .NET products. In addition to the Microsoft XML parser, MSXML, this site contains many tutorials, technical articles, code examples, and links to standards, product information and other reference material.

XML at Oracle

Oracle provides a full suite of XML software development kits for Java, C, C++ and PL/SQL. As usual, there are links to whitepapers, products and more.

XML at Sun

This Sun site covers XML news, tutorials, FAQs, and much more. It also lists all the Sun products using XML. The other Sun XML Site, Java APIs for XML, is the site for Java XML developers. It presents the core Java APIs for programming XML applications.
. Applications of XML

SOAP: The Standard

SOAP stands for Simple Object Access Protocol. SOAP is a lightweight protocol for exchanging data among programs on a network. It is used for the interactions between client programs and servers using the web's HTTP, email or other transport mechanisms. The W3C SOAP site is the home for the official standards and related news.


Dave Winer of UserLand has been involved in developing the SOAP standards since the beginning. This site is the place developers should begin looking for specifications, implementations, news, tutorials, articles and more.

SOAP: Aaron Skonnard's article about SOAP

This detailed tutorial introduction to SOAP is a bit dated (January 2000; SOAP 0.9), but still an excellent place to start. Skonnard starts with the reasons why you need SOAP, moves on to look at the protocol itself, shows a sample SOAP client and, finally, points to additional resources.

SOAP: Microsoft's SOAP site

Microsoft has been involved in developing the SOAP standard from the beginning and has incorporated it into BizTalk Server. This site covers news, tutorials, Microsoft's toolkits for SOAP and more.

SOAP: Apache's SOAP Documentation

The Apache SOAP documentation documents their toolkits for building SOAP clients and servers. It lists the current limitations of these toolkits. You will also find links to a number of excellent SOAP sites.

SOAP: Web services and CORBA

This article by Dan Grisolfi of IBM discusses SOAP and compares it with CORBA and DCOM. In addition to showing the similarities and differences between SOAP and the others, he predicts, with reasons, that SOAP will succeed where the others have failed.

SVG: W3C's Scalable Vector Graphics

W3C's Graphics working group is completing the SVG standard for describing graphics and pictures in XML files.

BizTalk is a Microsoft-developed protocol for conducting commerce among businesses. It uses SOAP and XML. This site contains technical documentation, links to product information, and more.

BizTalk at Microsoft

BizTalk Server is Microsoft's product for implementing the BizTalk framework. This site gives product information, news, developer tips, case studies and more.


ebXML is a new set of standards for conducting business electronically among companies around the world. It was developed by a large consortium of industry groups, standards bodies, businesses and the United Nations body charged with facilitating world trade. It is based on extensive experience with EDI. But it is much more lightweight and simple to use than EDI. ebXML is supported by many high-tech and traditional industry groups. This site is the home base for standards, news, an FAQ and more.

ebXML: David Mertz: Understanding ebXML

This article is an introduction to ebXML. After describing what ebXML is, Mertz goes on to discuss how business process models are described and shared so that Company A can publish its business services, Company B can discover them, and they can automatically set up a way to do electronic business with each other. The article concludes with a list of ebXML resources.

OFX: Open Financial Exchange

OFX is a set of XML-based standards for communicating financial information to, from and among financial institutions such as banks and brokerage houses. These are the standards used by Quicken to get your bank account information online.

NewsML Home

There is a need today to manage news stories and not lose track of the associated pictures, video and audio. Sometimes the story is made available in several languages at once. NewsML was developed by the International Press Telecommunications Council to meet the needs of wire services, publishers and other news organizations. This XML-based language is used for news items and their management. This site also hosts the NewsML Specifications.

XML for News Organizations

This site covers news, specifications, software and other resources for using XML in news organizations. Besides NewsML they cover ICE, NITF, PRISM and RSS. They have a link to the excellent NewsML page at Reuters, who are committed to using it.
. Comdex Examples

On July 10, 2001, Gerry de Koning delivered a one-day tutorial, "XML for Developers," at Comdex Canada 2001 in Toronto. These are the materials used for examples and demonstrations.

ZIP file of all Comdex Tutorial Examples

This file contains all the files used in demonstrations during the tutorial, except one or two which are copyright and readily available from websites listed in this resource guide. These files are also available as a UNIX tar file. (Note: some material in these files is not as up to date as the XML Resources page you are now reading.)

weather.xml - a sample XML file

This is a sample file of some weather information. It is used for several demos in this course.

report.xml - a sample XML file

This is a very simple XML file which represents a report. The file contains a preface (1 sentence) and a chapter (2 paragraphs including a recommendation).

resources.xml - a sample XML file

This XML file contains the raw data used to create this web page of resources.

SAX Demo (Java)

This demonstration program reads an XML file, and displays the sequence of events passed to the application by the SAX parser.

DOM Demo (Java)

This demonstration program reads the sample file "weather.xml" and modifies it by adding a Fahrenheit equivalent to every Celsius temperature. The resulting XML document is written to a file.

XSLT Demo (Cocoon)

This page describes the files used to get Cocoon to serve up the "resources.xml" data file as an HTML page.

XSLFO Demo (Cocoon)

This demo consists of three XML files: a wrapper file, a data file, and an XSL stylesheet. These work together to create a PDF output file from the data. This demonstration shows how XML can be used to separate data from document design.

Copyright 2001 de Koning Associates Inc.