Subject: Use of SVG in Chemistry and xml2svg Transformations (fwd)

From: Eugene Leitl <[email-masked]>
Date: Wed, 6 Mar 2002 13:19:53 +0100 (MET)

-- Eugen* Leitl <a href="http://leitl.org">leitl</a>
______________________________________________________________
ICBMTO: N48 04'14.8'' E11 36'41.2'' http://www.leitl.org
57F9CFD3: ED90 0433 EB74 E4A9 537F CFF5 86E7 629B 57F9 CFD3

---------- Forwarded message ----------
Date: Wed, 6 Mar 2002 11:59:56 +0000
From: "Rzepa, Henry" <[email-masked]>
To: [email-masked]
Subject: Use of SVG in Chemistry and xml2svg Transformations

Some discussion on another list (the SVG developers) has prompted me
(and others) to summarise progress in  the "XML" solution to handling
and in particular displaying  of chemical content.

Unlike  HTML, which is predominantly a display and text-based format
where  chemical content has to be included via "legacy" formats such as
eg Molfiles, or via  images,  XML is designed for essentially complete
semantic markup of content. Because no  browser could easily handle
such a broad scope, the concept is that XML documents will be displayed
by appropriate transformation of the content into a small set of generic
display formats which the browser CAN handle.
The pre-eminent XML-based graphical format is  SVG (scalable
vector graphics) and hence the issue now resolves to how to transform
any particular  XML component to eg SVG, generically referred to here
as xml2svg (although this does not preclude transformation to older non-XML
formats such as Molfile and hence use of  eg Chime).

Listed below are some useful sites which cover issues of handling
XML, and converting it to  SVG

1. http://www.adobe.com/svg/demos/main.html

which has an  XSLT-based  cml2svg converter

2.  http://www.xml-cml.org/jumbo3/jumbo3-JS/
being a JavaScript based dynamic  cml2svg converter.
The http://www.xml-cml.org/  site  has much other
information about  XML and CML. Also there you will
find XACE (eXtensible annotating chemical editor), based
on JME, but with  "XML" wrappers. Work on XACE Mk II
is well under way.

3. The  cml2xbl2svg  concept, originally part of
Croczilla (http://www.croczilla.com/svg/),  now part of
one of the builds of  Mozilla  0.9.8,  and expected to be
a permanent part of  the  Mozilla  1.0 release.

4.   http://www.schemasoft.com/MathML/
which is a  mathml2svg converter based on XSLT

5. See http://www.web3d.org/TaskGroups/source/xj3d.html
being an XML version of  VRML, and for which a viewer is
now available.
( http://www.adobe.com/svg/demos/main.html  also does 3D rotations)

6. http://www.ch.ic.ac.uk/rzepa/xml/
where the process of  converting cml2svg, and in general
then on to  PDF using FOP, is described
A  XSLT stylesheet for the conversion is
at http://www.ch.ic.ac.uk/rzepa/xml/fop.html

The above article was published as
G. V. Gkoutos, P. Murray-Rust, H. S. Rzepa, and M. Wright, Internet
J. Chemistry, 2001, article 13.

7.   Jiri.Jirat has  written a custom CML2SVG converter (XSLT), the results
can be viewed at: http://zvon.org/xxl/CML1.0/Output/index.html

8.  Marvin outputs SVG, and reads, inter alia,  CML
http://www.chemaxon.com/marvin/

There is no doubt much more out there.  This collection also illustrates one
very powerful aspect of  XML, which is the re-usability of various generic
tools in a chemical context, a phenomenon that is largely new (previously
the chemical community had to pretty much write its own tools!).

If anyone in their travels comes across other interesting examples of
xml2xml (in the generic sense) tools, and interesting examples say
> from the bio-informatics and other physical sciences, do please let
this list know.

-- 

Henry Rzepa.
+44 (0870) 132 3747 (eFax)
 http://www.ch.ic.ac.uk/rzepa/ Dept. Chemistry, Imperial College, London, SW7  2AY, UK.

chemweb: A list for Chemical Applications of the Internet.
To post to list:  mailto:[email-masked]
Archived as: http://www.lists.ic.ac.uk/hypermail/chemweb/
To (un)subscribe, mailto:[email-masked] the following message;
(un)subscribe chemweb
List coordinator, Henry Rzepa (mailto:[email-masked])