XML Resources

The CCAT project uses XML as the "lingua franca" for lightweight communication between constituent elements. Examples include transferring component information and configuration data, framework signal/error/exception handling and event messaging. The tools listed below can be used to create XML parsers in a variety of languages/platforms.

  • Fast free XML parser: expat, xml4c++ (written in C or C++)
  • Portable XML parser: xp, xset, xml4j, xerces (written in Java)
  • Event XML parser: SAX (API for Java and Python)
  • Microsoft XML parser: jparser (for J++), cparser (for IE)
  • There are also tools for translating XML to/from different formats. Below are some tools that are of interested to us:

  • ASCII -> XML: xflat, xconvert (written in Java)
  • XML -> XML: xbeans (written in Java as a JavaBean)
  • XML -> XML: xtrans; see also the xmlenabler servlet for rendering XML (written in Java)
  • XML -> XML: xalan, the 1st part of the dual language XSL (written in Java)
  • XML -> HTML: cocoon (written in Java)
  • Java classes -> XML: koala (written in Java)
  • GLADE -> XML: libglade (GTK+ UI engine written in Python)
  • Although XML can be edited using any text editor, some editors provide enhancements such as syntax highlighting, form views, and so forth, that can facilitate navigation through XML files. Below is a sampling of such editors:

  • jEdit (written in Java)
  • InDelv (written in Java)
  • xeena (written in Java)
  • morphon (written in Java)
  • XEmacs XML-mode (written in elisp)
  • JUMBO (written in Java)
  • ICEbrowser (written in Java)
  • Near&Far XML modeler (Windows only)
  • There is also a wealth of information on XML on the Web. You can wade through the XML links at W3C or use IBM's XCentral or XML.COM's search engines to find relevant XML info. Other interesting links are shown below.

  • XML Servers: good overview of the general architecture and some example implementations
  • SOAP: an RPC mechanism using HTTP as the transport layer and XML for document encoding/decoding; see also the FAQ
  • XML RPC: precursor to SOAP; briefly, an XML-RPC message is an HTTP-POST request where the body of the request is in XML; a procedure executes on the server and the value it returns is also formatted in XML
  • Zope XML-RPC: Zope is an "object-based web publishing environment"; Zope is implemented as a Python-based web server for running "web applications" written in DTML (where the server-side scripts are written in Python); there is a Zope plugin for Apache
  • XHTML: first step towards an XML (rather than HTML) based Web
  • DXML: Dynamic XML allows XML documents to be accessed in the same fashion as Java objects (i.e., using Java classes and interfaces instead of traversing DOM tree nodes)
  • Coins: component-oriented programming using JavaBeans with XML as the serialization protocol
  • XML Schemas: provides an alternate mechanism (i.e., no DTDs) for specifying XML data types and formats; basically schemas are used to represent classes of XML documents
  • Castor: Java/XML/database persistence
  • And of course, the official HTML4.x specification and validation service.


    Last modified: Tue Apr 11 21:25:53 EST 2000