I cannot cover all the details of setting up Cocoon and a servlet-capable web server, such as Tomcat. Here are some hints which may help you do this for the first time.
<Context path="/demo-cocoon"
docBase="C:/demo/cocoon"
debug="0"
reloadable="true" >
</Context>
|
... set JAVA_HOME=C:\jdk1.3 set TOMCAT_HOME=C:\Apache\tomcat\jakarta-tomcat-3.2.1 ... :setClasspath set CP=%TOMCAT_HOME%\classes rem Cocoon classes and libraries set COCOON_HOME=c:\Apache\cocoon\cocoon-1.8.2 set CP=%CP%;%COCOON_HOME%\lib\xerces_1_2.jar set CP=%CP%;%COCOON_HOME%\lib\xalan_1_2_D02.jar set CP=%CP%;%COCOON_HOME%\lib\fop_0_15_0.jar set CP=%CP%;%COCOON_HOME%\lib\turbine-pool.jar set CP=%CP%;%COCOON_HOME%\lib\w3c.jar set CP=%CP%;%COCOON_HOME%\bin\cocoon.jar ... |
...
<web-app>
<servlet>
<servlet-name>
org.apache.cocoon.Cocoon
</servlet-name>
<servlet-class>
org.apache.cocoon.Cocoon
</servlet-class>
<init-param>
<param-name>
properties
</param-name>
<param-value>
WEB-INF/cocoon.properties
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>
org.apache.cocoon.Cocoon
</servlet-name>
<url-pattern>
*.xml
</url-pattern>
</servlet-mapping>
...
|
These instructions are far from complete. There is more good information about using Cocoon in Brett McLaughlin's book, "Java and XML." You should also read the documentation you receive with Tomcat and Cocoon. However, be warned: the setup procedure is not simple for the uninitiated. Be prepared to spend some time reading and experimenting.
The file, "resources.xml," which will be used for this demo is wrapped in the follwing XML wrapper file.
<?xml version="1.0" ?> <!DOCTYPE page [ <!ENTITY content SYSTEM "resources.xml" > ]> <?cocoon-process type="xslt" ?> <?xml-stylesheet href="resources.xsl" type="text/xsl" ?> <page> &content; </page> |
And here is the data file.
<?xml version="1.0" encoding="utf-8" ?>
<resource-collection title="XML Resources">
<section id="lists" title="Resource Collections">
<resource
name="XML Coverpages"
href="http://xml.coverpages.org/">
<description>
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.
</description>
</resource>
<resource
name="XML.org"
href="http://www.xml.org/">
<description>
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.
</description>
</resource>
<resource
name="XML.com"
href="http://www.xml.com/">
<description>
O'Reilly, the publishers, provide this site with
news, articles, tutorials, resources by business type, and
links to tools.
</description>
</resource>
<resource
name="W3C"
href="http://www.w3c.org/xml/">
<description>
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.
</description>
</resource>
<resource
name="The One-stop XML Resource Center"
href="http://members.ozemail.com.au/~sakthi/Common/xml.html">
<description>
An extensive list of XML links.
</description>
</resource>
</section>
<section id="standards" title="Standards">
<description>
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.
</description>
<resource
name="Tim Bray's Annotated XML"
href="http://www.xml.com/axml/axml.html">
<description>
At some point, most XML developers need to refer to the
<a href="http://www.w3.org/TR/2000/REC-xml-20001006">
official XML 1.0 Specification</a>. 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.
</description>
</resource>
<resource
name="XML Schemas"
href="http://www.w3c.org/XML/Schema">
<description>
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.
</description>
</resource>
<resource
name="XLink, XPointer and XBase"
href="http://www.w3.org/XML/Linking">
<description>
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.
</description>
</resource>
<resource
name="XML Namespaces"
href="http://www.w3.org/TR/1999/REC-xml-names-19990114/">
<description>
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.
</description>
</resource>
<resource
name="Stylesheets"
href="http://www.w3c.org/Style/">
<description>
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.
</description>
</resource>
<resource
name="XSL Transformations"
href="http://www.w3.org/TR/xslt.html">
<description>
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.
</description>
</resource>
<resource
name="XSL Formatting Objections"
href="http://www.w3.org/TR/2000/CR-xsl-20001121/">
<description>
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.
</description>
</resource>
<resource
name="Simple API for XML"
href="http://www.megginson.com/SAX/index.html">
<description>
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++.
</description>
</resource>
<resource
name="Document Object Model"
href="http://www.w3.org/DOM/DOMTR">
<description>
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).
</description>
</resource>
</section>
<section id="players" title="Consortia, Vendors and Publishers">
<resource
name="XML at W3C"
href="http://www.w3c.org/XML/">
<description>
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.
</description>
</resource>
<resource
name="OASIS"
href="http://www.oasis-open.org/">
<description>
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.
</description>
</resource>
<resource
name="XML at Apache"
href="http://xml.apache.org/">
<description>
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:
<ul><li><strong>Xerces</strong>, an XML parser which provides
both SAX and DOM APIs. (Java, C++, Perl)</li>
<li><strong>Crimson</strong>, another Java XML parser</li>
<li><strong>Xalan</strong>, an XSL Tranformation processor
(Java, C++)</li>
<li><strong>FOP</strong>, an XSL Formatting processor (Java)</li>
<li><strong>Cocoon</strong>, an XML document processing servlet</li>
<li><strong>SOAP</strong>, a Java toolkit to simplify creating
SOAP clients and servers</li>
</ul>
Apache XML tools work well with their Tomcat and Apache web servers.
</description>
</resource>
<resource
name="XML at IBM"
href="http://www.ibm.com/developer/xml/">
<description>
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.
</description>
</resource>
<resource
name="XML at Lotus"
href="http://www.lotus.com/developers/devbase.nsf/homedata/xml">
<description>
Lotus provides many resources for developers who are using XML with
the Domino Notes web servers.
</description>
</resource>
<resource
name="XML at Microsoft"
href="http://www.microsoft.com/xml/">
<description>
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.
</description>
</resource>
<resource
name="XML at Oracle"
href="http://technet.oracle.com/tech/xml/">
<description>
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.
</description>
</resource>
<resource
name="XML at Sun"
href="http://www.sun.com/xml/">
<description>
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,
<a href="http://java.sun.com/xml/">Java APIs for XML</a>, is the
site for Java XML developers. It presents the core Java APIs for
programming XML applications.
</description>
</resource>
</section>
<section id="apps" title="Applications of XML">
<resource
name="SOAP: The Standard"
href="http://www.w3.org/TR/SOAP/">
<description>
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.
</description>
</resource>
<resource
name="SOAP: Soapware.org"
href="http://www.soapware.org/">
<description>
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.
</description>
</resource>
<resource
name="SOAP: Aaron Skonnard's article about SOAP"
href="http://www.microsoft.com/mind/0100/soap/soap.asp">
<description>
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.
</description>
</resource>
<resource
name="SOAP: Microsoft's SOAP site"
href="http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=28000523">
<description>
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.
</description>
</resource>
<resource
name="SOAP: Apache's SOAP Documentation"
href="http://xml.apache.org/soap/docs/index.html">
<description>
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.
</description>
</resource>
<resource
name="SOAP: Web services and CORBA"
href="http://www-106.ibm.com/developerworks/webservices/library/ws-arc3">
<description>
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.
</description>
</resource>
<resource
name="SVG: W3C's Scalable Vector Graphics"
href="http://www.w3c.org/Graphics/SVG/">
<description>
W3C's Graphics working group is completing the SVG standard
for describing graphics and pictures in XML files.
</description>
</resource>
<resource
name="BizTalk.org"
href="http://www.biztalk.org/resources/resources.asp">
<description>
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.
</description>
</resource>
<resource
name="BizTalk at Microsoft"
href="http://www.microsoft.com/biztalk/">
<description>
BizTalk Server is Microsoft's product for implementing
the BizTalk framework. This site gives product information,
news, developer tips, case studies and more.
</description>
</resource>
<resource
name="ebXML"
href="http://www.ebxml.org/">
<description>
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.
</description>
</resource>
<resource
name="ebXML: David Mertz: Understanding ebXML"
href="http://www-106.ibm.com/developerworks/xml/library/x-ebxml/index.html">
<description>
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.
</description>
</resource>
<resource
name="OFX: Open Financial Exchange"
href="http://www.ofx.net/ofx/default.asp">
<description>
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.
</description>
</resource>
<resource
name="NewsML Home"
href="http://www.iptc.org/NMLIntro.htm">
<description>
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.
</description>
</resource>
<resource
name="XML for News Organizations"
href="http://www.xmlnews.org/">
<description>
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 <a href="http://newsshowcase.rtrlondon.co.uk/">
NewsML page</a> at Reuters, who are committed to using it.
</description>
</resource>
</section>
<section id="examples" title="Comdex Examples">
<description>
On July 10, 2001, Gerry de Koning delivered a one-day tutorial
at Comdex Canada 2001 in Toronto. These are the materials used
for examples and demonstrations.
</description>
<resource
name="ZIP file of all Comdex Tutorial Examples"
href="comdex-xml.zip">
<description>
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 <a href="comdex-xml.tar">UNIX tar</a>
file.
</description>
</resource>
<resource
name="weather.xml - a sample XML file"
href="weather.html">
<description>
This is a sample file of some weather information. It
is used for several demos in this course.
</description>
</resource>
<resource
name="report.xml - a sample XML file"
href="report.html">
<description>
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).
</description>
</resource>
<resource
name="resources.xml - a sample XML file"
href="resources.html">
<description>
This XML file contains the raw data used to create this web page
of resources.
</description>
</resource>
<resource
name="SAX Demo (Java)"
href="SAXDemo.html">
<description>
This demonstration program reads an XML file, and displays the
sequence of events passed to the application by the SAX parser.
</description>
</resource>
<resource
name="DOM Demo (Java)"
href="DOMDemo.html">
<description>
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.
</description>
</resource>
<resource
name="XSLT Demo (Cocoon)"
href="XSLTDemo.html">
<description>
This page describes the files used to get Cocoon to serve up
the "resources.xml" data file as an HTML page.
</description>
</resource>
<resource
name="XSLFO Demo (Cocoon)"
href="XSLFODemo.html">
<description>
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.
</description>
</resource>
</section>
</resource-collection>
|
This XML file will be processed by Cocoon using the following XSLT file, "resources.xsl."
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/">
<html>
<head>
<title><xsl:value-of select="/*/resource-collection/@title" /></title>
</head>
<body bgcolor="#FFFFFF">
<div align="center">
<font size="+1" face="verdana,arial,helvetica,sans-serif" color="blue">
<xsl:value-of select="/*/resource-collection/@title" />
</font></div><xsl:text>
</xsl:text>
<p align="center">
<font face="verdana,arial,helvetica,sans-serif">
<xsl:text> | </xsl:text>
<xsl:for-each select=".//section">
<xsl:element name="a">
<xsl:attribute name="href">#<xsl:value-of select="@id"/>
</xsl:attribute>
<xsl:value-of select="@title" />
</xsl:element><xsl:text> | </xsl:text>
</xsl:for-each>
</font></p>
<xsl:apply-templates /></body>
</html>
</xsl:template>
<xsl:template match="resource-list">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="section">
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id"/>
</xsl:attribute>
</xsl:element>
<table border="0" width="100%"><tr><td>
<table border="0" cellspacing="0" width="100%">
<tr><td bgcolor="blue" width="3%"><font color="blue">
<xsl:text> . </xsl:text></font></td>
<td bgcolor="blue" width="97%">
<font color="white" face="verdana,arial,helvetica,sans-serif"><b>
<xsl:value-of select="@title" />
</b></font>
</td></tr></table></td></tr>
<xsl:apply-templates /></table>
</xsl:template>
<xsl:template match="resource">
<tr><td>
<p><font face="verdana,arial,helvetica,sans-serif"><b>
<xsl:element name="a">
<xsl:attribute name="href"><xsl:value-of select="@href" /></xsl:attribute>
<xsl:value-of select="@name" />
</xsl:element>
</b></font></p></td></tr>
<xsl:apply-templates />
</xsl:template>
<xsl:template match="resource/description">
<tr><td><blockquote><xsl:call-template name="identity"/>
</blockquote></td></tr>
</xsl:template>
<xsl:template match="section/description">
<tr><td><p><xsl:call-template name="identity" />
</p><p><br /></p>
</td></tr>
</xsl:template>
<xsl:template name="identity" match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
|
If you have Cocoon running, you will be able to point your browser at the "index.xml" file and get an XML resources page back. The raw HTML which Cocoon creates is listed here.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><title>XML Resources</title></head><body bgcolor="#FFFFFF"><div align="center"><font color="blue" face="verdana,arial,helvetica,sans-serif" size="+1">XML Resources</font></div>
<p align="center"><font face="verdana,arial,helvetica,sans-serif"> | <a href="#lists">Resource Collections</a> | <a href="#standards">Standards</a> | <a href="#players">Consortia, Vendors and Publishers</a> | <a href="#apps">Applications of XML</a> | <a href="#examples">Comdex Examples</a> | </font></p><?xml-stylesheet href="resources.xsl" type="text/xsl" ?><page>
<resource-collection title="XML Resources">
<a name="lists"></a><table border="0" width="100%"><tr><td><table border="0" cellspacing="0" width="100%"><tr><td bgcolor="blue" width="3%"><font color="blue"> . </font></td><td bgcolor="blue" width="97%"><font color="white" face="verdana,arial,helvetica,sans-serif"><b>Resource Collections</b></font></td></tr></table></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://xml.coverpages.org/">XML Coverpages</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.xml.org/">XML.org</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.xml.com/">XML.com</a></b></font></p></td></tr>
<tr><td><blockquote><description>
O'Reilly, the publishers, provide this site with
news, articles, tutorials, resources by business type, and
links to tools.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.w3c.org/xml/">W3C</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://members.ozemail.com.au/~sakthi/Common/xml.html">The One-stop XML Resource Center</a></b></font></p></td></tr>
<tr><td><blockquote><description>
An extensive list of XML links.
</description></blockquote></td></tr>
</table>
<a name="standards"></a><table border="0" width="100%"><tr><td><table border="0" cellspacing="0" width="100%"><tr><td bgcolor="blue" width="3%"><font color="blue"> . </font></td><td bgcolor="blue" width="97%"><font color="white" face="verdana,arial,helvetica,sans-serif"><b>Standards</b></font></td></tr></table></td></tr>
<tr><td><p><description>
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.
</description></p><p><br></p></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.xml.com/axml/axml.html">Tim Bray's Annotated XML</a></b></font></p></td></tr>
<tr><td><blockquote><description>
At some point, most XML developers need to refer to the
<a href="http://www.w3.org/TR/2000/REC-xml-20001006">
official XML 1.0 Specification</a>. 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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.w3c.org/XML/Schema">XML Schemas</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.w3.org/XML/Linking">XLink, XPointer and XBase</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/">XML Namespaces</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.w3c.org/Style/">Stylesheets</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.w3.org/TR/xslt.html">XSL Transformations</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.w3.org/TR/2000/CR-xsl-20001121/">XSL Formatting Objections</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.megginson.com/SAX/index.html">Simple API for XML</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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++.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.w3.org/DOM/DOMTR">Document Object Model</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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).
</description></blockquote></td></tr>
</table>
<a name="players"></a><table border="0" width="100%"><tr><td><table border="0" cellspacing="0" width="100%"><tr><td bgcolor="blue" width="3%"><font color="blue"> . </font></td><td bgcolor="blue" width="97%"><font color="white" face="verdana,arial,helvetica,sans-serif"><b>Consortia, Vendors and Publishers</b></font></td></tr></table></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.w3c.org/XML/">XML at W3C</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.oasis-open.org/">OASIS</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://xml.apache.org/">XML at Apache</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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:
<ul><li><strong>Xerces</strong>, an XML parser which provides
both SAX and DOM APIs. (Java, C++, Perl)
<li><strong>Crimson</strong>, another Java XML parser
<li><strong>Xalan</strong>, an XSL Tranformation processor
(Java, C++)
<li><strong>FOP</strong>, an XSL Formatting processor (Java)
<li><strong>Cocoon</strong>, an XML document processing servlet
<li><strong>SOAP</strong>, a Java toolkit to simplify creating
SOAP clients and servers
</ul>
Apache XML tools work well with their Tomcat and Apache web servers.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.ibm.com/developer/xml/">XML at IBM</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.lotus.com/developers/devbase.nsf/homedata/xml">XML at Lotus</a></b></font></p></td></tr>
<tr><td><blockquote><description>
Lotus provides many resources for developers who are using XML with
the Domino Notes web servers.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.microsoft.com/xml/">XML at Microsoft</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://technet.oracle.com/tech/xml/">XML at Oracle</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.sun.com/xml/">XML at Sun</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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,
<a href="http://java.sun.com/xml/">Java APIs for XML</a>, is the
site for Java XML developers. It presents the core Java APIs for
programming XML applications.
</description></blockquote></td></tr>
</table>
<a name="apps"></a><table border="0" width="100%"><tr><td><table border="0" cellspacing="0" width="100%"><tr><td bgcolor="blue" width="3%"><font color="blue"> . </font></td><td bgcolor="blue" width="97%"><font color="white" face="verdana,arial,helvetica,sans-serif"><b>Applications of XML</b></font></td></tr></table></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.w3.org/TR/SOAP/">SOAP: The Standard</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.soapware.org/">SOAP: Soapware.org</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.microsoft.com/mind/0100/soap/soap.asp">SOAP: Aaron Skonnard's article about SOAP</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=28000523">SOAP: Microsoft's SOAP site</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://xml.apache.org/soap/docs/index.html">SOAP: Apache's SOAP Documentation</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www-106.ibm.com/developerworks/webservices/library/ws-arc3">SOAP: Web services and CORBA</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.w3c.org/Graphics/SVG/">SVG: W3C's Scalable Vector Graphics</a></b></font></p></td></tr>
<tr><td><blockquote><description>
W3C's Graphics working group is completing the SVG standard
for describing graphics and pictures in XML files.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.biztalk.org/resources/resources.asp">BizTalk.org</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.microsoft.com/biztalk/">BizTalk at Microsoft</a></b></font></p></td></tr>
<tr><td><blockquote><description>
BizTalk Server is Microsoft's product for implementing
the BizTalk framework. This site gives product information,
news, developer tips, case studies and more.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.ebxml.org/">ebXML</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www-106.ibm.com/developerworks/xml/library/x-ebxml/index.html">ebXML: David Mertz: Understanding ebXML</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.ofx.net/ofx/default.asp">OFX: Open Financial Exchange</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.iptc.org/NMLIntro.htm">NewsML Home</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="http://www.xmlnews.org/">XML for News Organizations</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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 <a href="http://newsshowcase.rtrlondon.co.uk/">
NewsML page</a> at Reuters, who are committed to using it.
</description></blockquote></td></tr>
</table>
<a name="examples"></a><table border="0" width="100%"><tr><td><table border="0" cellspacing="0" width="100%"><tr><td bgcolor="blue" width="3%"><font color="blue"> . </font></td><td bgcolor="blue" width="97%"><font color="white" face="verdana,arial,helvetica,sans-serif"><b>Comdex Examples</b></font></td></tr></table></td></tr>
<tr><td><p><description>
On July 10, 2001, Gerry de Koning delivered a one-day tutorial
at Comdex Canada 2001 in Toronto. These are the materials used
for examples and demonstrations.
</description></p><p><br></p></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="comdex-xml.zip">ZIP file of all Comdex Tutorial Examples</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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 <a href="comdex-xml.tar">UNIX tar</a>
file.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="weather.html">weather.xml - a sample XML file</a></b></font></p></td></tr>
<tr><td><blockquote><description>
This is a sample file of some weather information. It
is used for several demos in this course.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="report.html">report.xml - a sample XML file</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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).
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="resources.html">resources.xml - a sample XML file</a></b></font></p></td></tr>
<tr><td><blockquote><description>
This XML file contains the raw data used to create this web page
of resources.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="SAXDemo.html">SAX Demo (Java)</a></b></font></p></td></tr>
<tr><td><blockquote><description>
This demonstration program reads an XML file, and displays the
sequence of events passed to the application by the SAX parser.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="DOMDemo.html">DOM Demo (Java)</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="cocoon-xslt.html">XSLT Demo (Cocoon)</a></b></font></p></td></tr>
<tr><td><blockquote><description>
This page describes the files used to get Cocoon to serve up
the "resources.xml" data file as an HTML page.
</description></blockquote></td></tr>
<tr><td><p><font face="verdana,arial,helvetica,sans-serif"><b><a href="cocoon-fo.html">XSLFO Demo (Cocoon)</a></b></font></p></td></tr>
<tr><td><blockquote><description>
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.
</description></blockquote></td></tr>
</table>
</resource-collection>
</page></body></html>
<!-- This page was served in 1182 milliseconds by Cocoon 1.8.2 -->
|