XML is typically used in two different kinds of contexts:
It was originally designed to describe large and complex
documents in a structured way. XML is a pragmatic evolution
of SGML which had proven to be very cumbersome to use in practice.
It is more and more used as a neutral language to describe data structures
passed among processes in distributed environments. XML then provides a more
flexible and neutral communication medium than binary solutions such as RPC
(Remote Procedure Call) and CORBA.
The former described context basically requires validators, XML databases, XML
query languages, and XML transformers, which can be in the form of style sheets.
Basically, the issue is just to store, retrieve and possibly restructure XML
documents.
The latter just needs parsers (to convert an XML stream
to some form of usable data structure) and unparsers
(to perform the opposite translation), but it puts more stress on performance,
since it must compare with statically compiled schemes based on RPCs.
Generic XML parsers are now available. As depicted in the figure below,
applications commonly use them to take an incoming XML message and turn
it into a generic tree structure (Such a tree is typically built according to
the DOM standard, defined by the W3C.) Depending on the application,
the incoming message can then be validated using a DTD or not.
The generic tree is then used by the application to fetch useful information
using runtime table lookups in attributes, and tree walkthrough primitives.
"We use XMLBooster as a fast prototyping tool. The data model is turned
into a working GUI in less than a minute, and the final user can validate
the resulting application and provide feedback instantly."
Laurent R., Financial markets, France
"Using these strongly typed interface is so productive when compared with
DOM parsers, I can't believe anyone still contemplates Xerxes for
serious work."
John F., Financial markets, Canada
"The scripting facility has allowed us to automate the entire compilation chain,
from schemas to optimized parsers."
Michel M., Insurance, France
"We now generate GUIs for every XML schema we have, just in case."
Nicholas P., System integration, USA
"XMLBooster-generated GUI's have slashed our development
times. And they can be customized to better suit the
needs and tastes of our customers. A great product!"
Chris C., Document management, USA
"It works like magic. I just don't have to worry
about the XML issue any longer, I can concentrate
on my application"
John W., System integrator, Netherlands
"XMLBooster is so fast, it solved all our performance
problems"
Alain de N., Belgium
"As far as I know, XMLBooster is the only decent
solution to integrate XML in COBOL applications"