Subject: Re: CCL:Is CML dead?

From: "Rzepa, Henry" <[email-masked]>
Date: Wed, 12 Apr 2000 08:22:02 +0100

>On Tue, 11 Apr 2000, Rzepa, Henry wrote:
>
>>We have mounted a number of XML tests using CML on
>>http://www.xml-cml.org/test/ (a mirror site if the above is slow is
>>http://www.ch.ic.ac.uk/chimeral/test/ ) You will need Internet
>>Explorer 5.0 or 5.5 for Windows. 
>
>I think this is close to the heart of the problem. The current efforts
>are directed to *new* tools for visualisation (I work in a
>Windows-Free (tm) environment) while we have plenty of old tools which
>do the job, but are just not CML/XML enabled.

I should note that at the above site and elsewhere, a fair number of
legacy2cml converters (perl scripts and C programs) are available.
I know others have written such programs, a large number by
Peter Murray-Rust, but also others. This is of course a community
effort, and will succeed as such. I also point our the richness
of such tools originating from the bioinformatics communities;
there are several pdb2cml converters, and also
eg swissprot2cml etc etc

>In the tests there are examples of combined structure/spectra
>files. Instead of dumping the CML in a slow browser I would like to
>give the CML file to rasmol to view the structure and the same file to
>e.g. xmgrace to see a spectrum.

 Certainly as applications become  DOM (Document object model)
aware, this sort of behaviour will become routine. It need not
be restricted to eg Browsers.  Components for implementing DOMs
are becoming available. We are writing an article on the chemical
DOM  API which will address some of these issues.
Can I just add in the above example, that
using two  separate "legacy" programs to view separate elements
of the  XML document can only be an interim solution. Simple
requirements such as atom <=> peak linking etc become difficult.
The trend is to structured components, take for example
the Chemsymphony/Chime/Cambridgesoft/Daylight etc etc
Java classes.

>What is needed for that is a simple
>comprehensive C-library which can be called by the respective
>programs.

I believe a few years ago, Peter Murray-Rust developed about  400+ C classes
called  Euclid that does this. There are others (I believe
crystallographers have developed similar solutions using
CORBA).  Would the list like to comment?

>I realize that there is a need for (web) publishing tools,
>and that the current java tools are a means to this end, however
>without programs that generate CML there is nothing to publish.
>I am willing to contribute to the library, as long as someone else (Henry?)
>keeps the overview and coordinates things, which as Christoph Steinbeck
>pointed out is crucial.

We strongly encourage this. We will update our notes on
legacy2cml tools and welcome people letting us know of others.
-- 

Henry Rzepa. +44 (0)20 7594 5774 (Office) +44 (0)20 7594 5804 (Fax)
Dept. Chemistry, Imperial College, London, SW7  2AY, UK. 
http://www.ch.ic.ac.uk/rzepa/

---

From: "Andrew Dalke" <[email-masked]>
Date: Wed, 12 Apr 2000 04:42:19 -0600

Victor Anisimov  said:
>I have also failed finding such a library one can use for development
>of XML type applications. Without such a public domain or commercial
>available library it is difficult to expect a visible progress in CML/XML
>development.

The premier XML non-validating parser is a C library called "expat",
>from http://www.jclark.com/xml/expat.html , which is available under
the GNU GPL or the Mozilla public license.  It's been around for
a couple of years and is from all accounts well written and very
fast.  It is also used as the basis for XML parsers for languages
other than C and has been throughly tested.

I just searched freshmeat.net for "XML parser".  It came back with
161 matches of which over 20 are XML parsing libraries (I didn't
look past the first 30 results).  Looking at the first few:

XML Parser for Java (a validating parser in pure Java)
http://www.alphaworks.ibm.com/tech/xml4j
free to use but restricted

XML::Parser for Perl (uses expat)
http://wwwx.netheaven.com/~coopercc/xmlparser/intro.html
under the Perl licenses.

eXML for Eiffel (uses expat)
http://exml.sourceforge.net/
under the Eiffel Forum Freeware License

NanoXML for Java (non-validating, and only 5K in size!)
http://nanoxml.sourceforge.net/
BSD-like license

Python/XML (expat based, I think)
http://www.python.org/topics/xml/
BSD-like license

XML for C++ (validating)
http://www.alphaworks.ibm.com/tech/xml4c
free to use but restricted

XML for SCRIPT (nonvalidating, and written in JavaScript)
http://www.idle.org/experimental/
under the GNU LGPL

libxml, or "The XML library for Gnome" (in C, incomplete validation)
http://xmlsoft.org/
under the W3C IPR and the GNU LGPL

One of those should fulfill your needs.

> Another reason
>why I thought of development of proprietary protocol is related to XML
>functionality. I've heard a lot about unification of data exchange
mechanism,
>but I've never heard about event handling features which are extremely
>necessary for GUI - "computational engine" communication, and which make
>this link alive.

>does somebody know about event handling
>features implementes in such assume somewhere existing XML library?

You may want to look into Glade, at http://glade.pn.org/history.html
which stores the project and GUI description in XML.

Probably more relevant is XUL, from Mozilla.  I think the main page
is http://www.mozilla.org/docs/xul/xulnotes/ .  The page
http://www.mozilla.org/xpfe/xptoolkit/xulintro.html says:

] XUL (pronounced "zuul," as if that spelling helped any, and short
] for "XML-based User Interface Language") is our name for the
] language in which these UI descriptions are built.

Not that I've *used* either one.

                    Andrew Dalke
                    [email-masked]