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 --> |