You should use iterative development only on projects that
you want to succeed.
Gerry de Koning
July 11, 2001
| Resource Collections | Standards | Consortia, Vendors and Publishers | Applications of XML | Comdex Examples |
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.
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.
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.
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.
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
| . ||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
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:
Apache XML tools work well with their Tomcat and Apache web servers.
- Xerces, an XML parser which provides
both SAX and DOM APIs. (Java, C++, Perl)
- Crimson, another Java XML parser
- Xalan, an XSL Tranformation processor
- FOP, an XSL Formatting processor (Java)
- Cocoon, an XML document processing servlet
- SOAP, a Java toolkit to simplify creating
SOAP clients and servers
XML at IBM
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.
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
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
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
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.
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
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.
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
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.