Subject: Re: CCL:Is CML dead?

From: "Victor Anisimov" <[email-masked]>
Date: Wed, 12 Apr 2000 08:50:53 +0200

Hi, all.

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.

In my company I work with a variety of GUIs and computational engines.
Thinking how to reduce an amount of my work I spend on development
of new interface I realized for myself that I strongly need such a library.

As a result I developed a proprietary XML type library which I call NTM
which stands for Network Transparent Model and serves as a data
exchange and event handling layer between GUI and computational engine
either located on the same machine or  separated by means of LAN or Internet.

Having no XML library available I have designed NTM as an alternative
standard to XML preserving only similar philosophy. Extra new standard
is of course not good but as a developer I need a standard not only
on a paper but as a library that should simplify my work. 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.

Therefore in addition to question of Peter Shenkin about XML library I would
also add my piece of question - does somebody know about event handling
features implementes in such assume somewhere existing XML library?

With best regards,
Victor Anisimov.

-----Original Message-----
From: Peter Shenkin <[email-masked]>
To: [email-masked] <[email-masked]>
Date: 12 àïðåëÿ 2000 ã. 1:25
Subject: CCL:Is CML dead?

:Hear, hear.
:
:It was a lack of such tools several years ago that caused us to
:shy away from XML/CML when designing our new Maestro interface.
:
:It is disappointing if, indeed, there are no such tools linkable
:to C, Fortran and C++ even today.
:
:Henry, what sayest thou?
:
: -P.
:
:On Sat, 8 Jul 2000, David van der Spoel wrote:
:
:> 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.
:>
:> 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. What is needed for that is a simple
:> comprehensive C-library which can be called by the respective
:> programs. 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.
:>
:> Groeten, David.
:> ________________________________________________________________________
:> Dr. David van der Spoel Biomedical center, Dept. of Biochemistry
:> s-mail: Husargatan 3, Box 576,  75123 Uppsala, Sweden
:> e-mail: [email-masked] www: http://zorn.bmc.uu.se/~spoel
:> phone: 46 18 471 4205 fax: 46 18 511 755
:> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
:>
:>
:>
:>
:>
:>
:>
:>
:
:--
:** Whether the playing field is level depends on the coordinate system. ***
:********* Peter S. Shenkin; Schrodinger, Inc.; (201)433-2014 x111 *********
:*********** [email-masked]; http://www.schrodinger.com ***********
:
:
:-= This is automatically added to each message by mailing script =-
:[email-masked] -- To Everybody    |   [email-masked] -- To Admins
:[email-masked] -- HELP CHEMISTRY or HELP SEARCH
:[email-masked] -- archive search    |    Gopher: gopher.ccl.net 70
:Ftp: ftp.ccl.net  |  WWW: http://www.ccl.net/chemistry/   | Jan: [email-masked]
:
:
:
:

---

From: "Jesus M. Castagnetto" <[email-masked]>
Date: Wed, 12 Apr 2000 04:44:45 -0700 (PDT)

My 2 cents about the lack of XML libraries

On Wed, 12 Apr 2000, Victor Anisimov wrote:

> Date: Wed, 12 Apr 2000 08:50:53 +0200
> From: Victor Anisimov <[email-masked]>
> To: [email-masked]

There may not be a specific CML lib, but there are many, reliable and robust
general XML libraries. James Clark's expat, xt, jade and the sgmtools come to
mind. If that is not enough, ther is XML4J (for Java) from IBM, as well as
the XML libaries from the Apache group (Xerces, Xalan, etc.) for C++,
Java and Perl are available.

I do not understand there what the problem with not existentence of very
specific CML parsers. Just use XML4J (for example) and you will get a DOM
tree that you can manipulate to your heart's desire. And if you want validation
then XML4J will do that if you got the DTD.

If you write in C, then expat will allow you to generate any random parser,
and xt (if memory serves), will allow you validation. Why then the need of 
a monolithical CML parser, when a general one that creates the parser from the
DTD is possible in Java or C++?

> either located on the same machine or  separated by means of LAN or Internet.

For data interchange there is WDDX and XML-RPC. The later serves even as a
protocol over HTTP to be able to create modular distributed web or network
applications. There are WDDX libs for many languages (even javascript), see
www.wddx.org for more info. Similarly there are libs for XML-RPC, see
www.xml-rpc.com

Other DTDs exist that are being used/worked on around, but those are the
ones w/ existing support and examples of applications.

> necessary for GUI - "computational engine" communication, and which make

That is very strange as GNome uses ORB and XML packets alongside w/ CORBA
for managing very complex GUIs. It seems to me that there are examples of
usage of XML in applications all over the place. A visit to Sourceforge.net
or to Freshmeat.net will be illuminating.

> features implementes in such assume somewhere existing XML library?

Look at the Gnome architecture, and get in touch w/ the developers. I may be
getting the model not completely correct. See www.gnome.org

Also, there are java application servers that user not only RMI but also XML 
to pass pback and forth information. Some are very scalable, a search for
application servers will turn out some. 

For a web application that works w/ XML and XSLT, see Cocoon, which is now
part of the XML group of the Apache foundation (xml.apache.org). 

There are general XMl libs for Perl, Python, PHP, C, C++, Java, and even some
for Javascript. Mozilla (www.mozilla.org) understands XML (the new Netscape 6
is based on Mozilla).

Bottom line:

- There are parser generating libraries for many languages
- You can use event driven libs (expat is an example), or DOM based ones
- With a DTD, you can even generate validators
- You can use the parser to process anything you want: CML, WDDX, etc.

I have used the XML support in PHP (which is based on expat), to very concisely
parse CML files. It is even simpler in Java, as JMol, Jumbo and the pdb2cml
programs demonstrate.

Another nice example of a nice XML parser/validator is Xeena, the editor from
IBM's Alphaworks.

I step down now from my soapbox. I like discussions like this in CCL.

Cheers

> -= This is automatically added to each message by mailing script =-
> [email-masked] -- To Everybody    |   [email-masked] -- To Admins
> [email-masked] -- HELP CHEMISTRY or HELP SEARCH
> [email-masked] -- archive search    |    Gopher: gopher.ccl.net 70
> Ftp: ftp.ccl.net  |  WWW: http://www.ccl.net/chemistry/   | Jan: [email-masked]
> 
> 
> 
> 
> 
> 

--
Jesus M. Castagnetto <[email-masked]> - "Ken Zen Ichi-nyo"
Program Project:   http://www.scripps.edu/research/metallo/ 
Metalloprotein DB: http://metallo.scripps.edu/
Pilot Stuff: http://www.geocities.com/ResearchTriangle/Lab/1059/

---

From: David van der Spoel <[email-masked]>
Date: Sun, 9 Jul 2000 21:11:37 +0200 (CEST)

OK, once more, but  now I'll be a bit more to the point: this is the kind
of functions that I would like to see:

extern FILE *cml_open(char *filename);
/* Open filename and return file pointer, or NULL on failure */

extern int cml_validate(char *filename);
/* Validate the internal consistency of the file, return 1 on success */

extern int cml_read_coordinates(FILE *fp,int natoms,float **x);
/* Read coordinates for natoms particles, return the number of 
 * coordinates found 
 */

extern int cml_read_atom_names(FILE *fp,int natoms,char **names);
/* Read the names of natoms particles, return the number of coordinates
 * found 
 */

extern int cml_read_bonds(FILE *fp,int natoms,int **connect);
/* Read a connection table, return the number of bonds */

OK, I hope you get the idea, of course there are zillions of ways to
define such an interface. Is something like this available? Is there
anyone else who would like to have something like this?

I also did have a look at the Gnome web site (www.gnome.org), since they
obviously have open source XML tools. It is amazing how complicated even
the simplest example there is. Happily the CML DTD is not extensible.

Groeten, David.
________________________________________________________________________
Dr. David van der Spoel		Biomedical center, Dept. of Biochemistry
s-mail:	Husargatan 3, Box 576,  75123 Uppsala, Sweden
e-mail: [email-masked]	www: http://zorn.bmc.uu.se/~spoel
phone:	46 18 471 4205		fax: 46 18 511 755
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++