XML Software Guide: Specialized XML Software
July 5th 1998
Last Modified: July 29, 2000
In this section, we highlight software targeted for specific
interpreted languages (perl, Python, JavaScript), as well as a few
specialized tools (such as RDF for XML, MSXSL, B2B Server,
etc.) that do not fit neatly into the previous sections
of this article.
Note: The IBM software discussed below is only a small portion
of their current list. See WDVL's separate
IBM XML Software from alphaWorks page.
- alphaWorks Technologies
from IBM
- At the XML '98 conference in Chicago in November 1998, alphaWorks Technologies
from IBM announced
nine XML freeware technologies. XML Productivity Kit for Java, Bean Markup
Language, XML BeanMaker, and XML EditorMaker look particularly interesting.
[freeware for all Java platforms]
Bean
Markup Language - an XML-based component configuration
and wiring language that supports the JavaBean component model.
BML is a XML-based language for accessing and configuring
JavaBeans. The BML language can be used to create new beans,
access and configure beans by setting/getting their
properties and fields, bind events from some beans to other
beans, and call arbitrary methods in beans.
There are two components of BML: an interpreter that "plays"
a BML script to create the desired bean hierarchy; and a
compiler that compiles any BML script into reflection-free
Java code. The language is directly executable, so
processing a BML script will result in a running
application.
DataCraft
- provides an XML view of databases and enables publishing XML forms
to the Web. DataCraft is an application generation tool targeted for
RDF/XML applications in the context of Web-commerce applications.
Datacraft offers database administrators or web developers a visual
development tool for building queries and publishing the results. The
current implementation is built for IBM's DB/2 and Microsoft
Access.
Dynamic
XML for Java - a processor for attaching Java displays
and behaviors to XML trees and sub-trees (elements and
children); add namespace-based annotations that can specify how a
particular subtree in the XML document is to be interpreted.
PatML -
rule-based pattern match/replace Java processor for XML.
Once the match happens, an optional condition is evaluated
and, if true, the optional transformation may be done. Alternatively, (or in
addition) a set of Java inline statements can be applied.
TeXML -
provides a path from XML into the TeX formatting language.
XML
BeanMaker - takes an arbitrary schema (DTD) for an XML instance
and automatically generates JavaBean classes. The BeanMaker reads a
DTD files and generates Java class interfaces corresponding to the
elements and attributes in the DTD file. The root element of the DTD
is converted to a bean class, and every element inside of it is
converted into an inner bean class. The BeanMaker produces a default
Bean class that implements the Bean interface described above. This
bean class provides mechanisms to set and get element and attribute
values, notifying any listener when values are changed. XML BeanMaker
enables quicker development of applications and allows the programmer
to convert passive specification and data to classes and objects.
XML
Editor Maker - takes an XML schema and allows you to
automatically generate visual editors for building XML
documents. The Editor Maker is a Rapid Application
Development Tool that can be bundled with any application
that uses XML, and liberates the user from having to
understand XML syntax and schema for creating XML
documents. Note: Requires XML
BeanMaker.
XML
Productivity Kit for Java (XPK4J) -
companion technology to the
XML Parser in Java
which provides the next
level of programming resources needed to quickly
build and deploy robust XML applications using
the Java language.
XML
TreeDiff - a package of beans that provide the ability to
efficiently differentiate and update DOM trees, just like
diff and patch differentiate and update data files.
- IBM LotusXSL
- LotusXSL is yet another free XML product from IBM's alphaWorks folks.
"XSL provides a mechanism for formatting and transforming XML, either at the browser or on the server. It allows
the developer to take the abstract data semantics of an XML instance and transform it into a
presentation language such as HTML. LotusXSL implements an XSL processor in Java, and can
interface to APIs that conform to the October 1 Document Object Model (DOM) Level 1
Specification. The processor can be used from the command line or from an wrapper applet, or it
can be used as a submodule of other programs, and accessed via the API."
[freeware for all Java platforms]
- XML Enabler
- XML Enabler, also from IBM's alphaWorks group, "....is a servlet that can successfully implement
stylesheets such as the LotusXSL technology. Using the XML Enabler, developers with any kind
of browser can now send requests to a servlet and as the servlet responds, it formats the data
using different XSL stylesheets. The system administrator can then configure which stylesheets
go with which browser types."
[freeware for all Java platforms]
- Apache XML Project
- Since November 1999, the Apache XML Project
has been developing a growing suite of
specialized XML software, including:
- Xerces - XML parsers in Java,
C++, and
Perl
- Xalan - XSLT stylesheet processors, in Java and C++
- Cocoon - XML-based web publishing, in Java
- FOP - XSL formatting objects, in Java
- Xang - Rapid development of dynamic server pages, in Java
[freeware for all Java, C++, and other platforms]
- Data Discovery
- Paladyne's Data Discovery inputs a text file and then references the file against a
pre-packaged default pattern library as well as against a library that you
can customize and create yourself based on your unique business rules. After
the pattern analysis occurs, the reformatted text file can be made available
to your e-business initiative by exporting the file into XML format.
[commerical product]
- Financial Metadata Language Repository
- Marketed by The X Markets Limited. Web browser access to the
Financial Metadata Language (the-FML) element repository.
The-FML elements are used to create structured DTDs supporting
Enterprise Application Integration for all types of International
Banking. Using common elements across all markets, front to back
office, will facilitate Straight Through Processing and cross
market MIS.
[ccommercial product, initially for Windows, soon to be for all Java platforms]
- upCast
- upCast
by infinity-loop converts RTF documents to XML.
It may either be used to "upcast" legacy documents without any
manual work into XML or to turn a typical word processor like
Microsoft Word into an XML editor.
Supported output formats are currently XHTML (optionally with an external
CSS-1 stylesheet) as well as well-formed XML. Pictures contained
in converted documents are written to external files, and
wmf-files are converted into the jpg format.
[commerical product for all Java platforms]
- exactXML
- eXactML by Bristol Technologies
simplifies the task of XML-enabling your C++ applications by
generating object-oriented interfaces for reading and writing valid XML
content based on your DTD or Schema.
[commerical product for Windows but generated
C++ code can build on other platforms]
- Breeze XML Studio
- Breeze XML Studio is a development
environment for building XML-based business solutions. It provides Java and XML
developers with a natural and productive method for building Business-to-Business
and EAI (Enterprise Application Integration) solutions.
Breeze enables Java developers to create, access and transport XML-based objects in
the most logical and efficient manner through JavaBeans bound directly to XML data
elements. XML element and attribute names immediately become Java class fields.
Breeeze takes a strong stand against DOM as unnatural for Java
programmers with their
Say No to DOM philosophy.
[commerical product for all(?) Java platforms]
-
Python and XML
- Above link is to Robin Cover's XML and Python list. See also the
SIG for XML Processing
in Python from www.python.org and the section entitled
"Python Software for XML" on the XML-SIG: Useful
Resources page. See also
Python tools for parsing XML.
[freeware for all Python platforms]
-
Perl and XML
- Above link is to Robin Cover's XML and Perl list. See also the
Perl and XML page from
www.perl.com which, among other things, calls for a
Perl/XML spec in Q3, 1998. According to perl inventor, Larry Wall,
"Plans call for Unicode support (UTF-8 for starters), an
object-oriented model of XML in Perl, a Perl processing model that
hides some or all of the hierarchical nature of XML."
[freeware for all perl platforms]
-
Parser for XPointer
-
XML Pointer Language (XPointer)
is a W3C Working Draft. XPointer is related to the
XML Link Language (XLink). This XPointer parser uses the
Java Parser
Generator from Sun.
[freeware for all Java platforms]
-
SParse
- Sparse is an alpha
XSL
(eXtensible Style Language) parser in JavaScript by the same
developer as Xparse. Note: No longer under development; based on
old XSL syntax (pre-Working Draft).
[freeware for all JavaScript platforms]
- XT
- James Clark is a long time SGML/DSSSL/XML/XSL developer with a
number of tools to his credit:
XP (a high-performance XML parser in Java),
SP (leading SGML parser which also converts SGML to XML),
and Expat (C XML Parser Toolkit),
as well as XML test cases.
As co-author of the W3C
XSL Working Draft,
Clark provides XT as a sample implementation of the tree construction
(transformation) portion of XSL. (The other portion is formatting,
which is only partially specified in the Working Draft so far.)
[freeware for all Java platforms]
- Koala XSL engine
- "This is an XSL processor written in Java, using the Simple
API for XML (SAX 1.0) and the Document Object Model (DOM 1.0) API.
This package also contains
xslSlideMaker,
a post-processor that can quickly make slides and multi-level
slides with XML and XSL."
[freeware for all Java platforms]
-
RDF for XML
- Like the XML for Java parser, RDF for XML is the product of the
alphaWorks folks at IBM. It conforms to the February 1998 RDF
Working Draft,
Resource Description Framework (RDF) Model and Syntax
Specification.
According to IBM, "This
RDF processor
builds, queries, and manipulates RDF structures, and it serializes
and de-serializes them to and from XML forms. As a foundation for
processing metadata, RDF for XML provides inter-operability between
applications that exchange machine-understandable information on the
Web. RDF for XML describes resources and their properties in a
domain-independent way. It can be used in a variety of areas,
including resource discovery for search engines, cataloging for
describing contents, content rating, and so on."
[free product from IBM for all Java
platforms]
- SiRPAC
- Simple RDF Parser And Compiler. "The program compiles
RDF/XML documents into the triples of the corresponding RDF data
model; it is suitable for embedded use as well as command line use.
It is designed as a reference implementation of an RDF parser which
does a compilation process from XML encoding syntax to the triples
of the underlying data model. SiRPAC builds on top of the Simple API
to XML documents (SAX)."
[free reference software from W3C
for all Java platforms]
- Zydeco
- Zydeco claims to be an XML Development Environment.
"Zydeco's purpose is to offer a development environment to aid
in the creation of DTDs and XML documents....Zydeco is meant to be
a powerful tool, allowing people to create new DTD's (Document
Type Definitions) if they want to create their own tags and
languages, and it is also meant to serve as a general XML editor
for creating and maintaining XML documents."
[freeware for all Java platforms]
-
B2B Product Line
- According to webMethods, " The B2B Integration Server is
the first and only XML-based e-commerce solution that automates the
exchange of data between applications, Web sites and legacy data
sources. The B2B Integration Server makes it possible for companies
to encapsulate key business services for automated access by their
major business partners or customers."
[commercial product from webMethods, Inc.
for all Java platforms]
-
DataChannel: XML Resources page
- DataChannel offers a number of XML-related tools, in addition to
DXP (above): the XML Development Kit, XML Generator, DOM Builder,
XMLTreeViewer applet, and the Xapi-J compliant XML parser Pax
Syntactica.
[free and commercial products from DataChannel; all Java
platforms]
- Jade
- James' DSSSL Engine (also by James Clark, developer of XP,
expat, and SP) [freeware; all Windows
and Unix platforms]
- xslj
- XSL with Jade. "xslj is a virtually complete implementation
of XSL by way of translation into extended DSSSL, as supported by
the latest release of James Clark's DSSSL engine Jade. xslj
translates valid XSL style sheets into valid extended DSSSL style
sheets, which can then be used to render XML documents using
Jade." [freeware
for all Java platforms]
- TaskGuide Viewer
- "TaskGuide Viewer is an XML-based tool for creating
wizards. This wizard-creation tool makes computer tasks
easier by breaking complicated tasks into sequential, simple
steps that can be performed using a graphical, user-friendly
interface.
TaskGuide Viewer is a step above other wizard systems,
which require you build the graphical user interface and
manage data using traditional programming languages.
Building & displaying wizards with the TaskGuide Viewer
is as easy as creating & viewing HTML files."
[freeware by IBM for all Java platforms]
- Productivity+PLUS
- "Information Strategies, Inc. currently delivers a tool suite
called Productivity+PLUS that has proven useful and popular in
structured editing circles, especially among technical and reference
publishers. The suite runs on top of ADEPT (but is undergoing preliminary
consideration for expansion to Word in structured editing mode) and supports
several functions that are often encountered by authors creating data for
electronic delivery, including the Web. We believe that these functions
describe at least part of the evolving market for XML authoring tools,
focusing not on the basic creation of tagged files but the processes
required to ensure that those files are tagged correctly and that the
processes themselves are productive. With Microsoft leaving the field open
(for now), niche uses and tools may act to fill the function gap for many
parts of the editorial market likely to be affected by the need to generate
XML for electronic delivery."
[commercial product for Windows platforms]
- AXSL: Activated [Intelligence] XSL
- AXSL combines XML and XSL so you can create
customizable presentations. Read How AXSL Works. "AXSL is in production use today,
dynamically generating hundreds of thousands of page views per month in real time at the Java
Lobby website."
[commercial product for all Java platforms]
XML Software Guide: XML APIs
XML Software Guide
XML Software Guide: Additional XML Software Resource Lists
|