README: JUMBO and XML/CML demonstration From: http://www.ccc.nottingham.ac.uk/~pazpmr/jumbo/README JUMBO and XML/CML demonstration ------------------------------- This package is a snapshot at April 11 1997 of the development of: - Chemical Markup Language (an application of XML) - JUMBO (a Java-based browser for XML documents) - Java *.class add-ons for molecular processing - examples of the Virtual Hyperglossary project in XML - example files, data, glossaries, etc. and is arranged as a self-explanatory demonstration. The material was demo'ed at WWW6 1997 at Santa Clara by Jon Bosak of SUN Microsystems. Many thanks, Jon! The distribution contains (at least): demos the top directory pmr the JUMBO classes and the molecular software PLAY classes to display Jon's Shakespeare XML glossary a range of glossaries swissdata a small number of SWISSPROT files in XML icons some icons for Jumbo and classes *.cml, *.xml Example CML and/or XML files *.mol, etc. Files in chemical/* MIME *.html files to drive applets, demos, etc. w3_*.html the W3 demo (start with w3_index.html) index.html start of a more advanced demo The subdirectories contain: glossary 12620 terms from ISO12620 for terminology cif Crystallographic Information File jcamp terms from JCAMP spectroscopic standard local miscellaneous terms mol BUILTIN terms for CML pdb embryonic - terms from Protein Data Bank manual swissprot terms from Swissprot manual tecml BUILTIN terms from TecML units SI units (NOTE: The contents of the glossary entries are copyright the original authors.We have collaborated with all of these and are extremely grateful for permission to produce edited glossaries under XML. No material has been deliberately edited (other than for software compatibility and formatting). pmr euclid, util utility classes simplegraph customisation of Java AWT molecule support for molecular properties sgml application-independent XML support stat simple statistics cml CML support routines chemime support for chemical/* MIME filetypes To run the demo: ---------------- This distribution may be read by at least the following distinct groups: - those interested in XML - those interested in CML - those interested in the VHG so parts of it may not be relevant to everyone. The demo is arranged as an INSTALLATION-FREE distribution, after unpacking. You need only a: Java-enabled browser (e.g. Netscape or Microsoft IE). (if you aren't sure, check under the 'Options' on the menu and see if it has 'Java Console'. If not, it's probably not Java-enabled (e.g. under Windows3.1)) If you have problems later, messages appear in the java console. Simply load your browser and load the file demos/w3_index.html. This will give a brief overview of JUMBO and then give a series of demos which should be automatic. Points to note: - it takes a little while to load the classes initially (perhaps 15-60 sec) but subsequent *.html pages should be rapid. - the windows need manually resizing. (I have spent a LOT of time trying to solve this problem and am now waiting for the next JDK). Sometimes the windows get hidden, and sometimes they don't come back after they have been closed. - very occasionally the demo crashes. In this case, restart the browser and **clear the cache**. - some windows, etc. take a few seconds to respond - be patient and don't click the mouse more than once - you might get 10 windows! This demo will teach you how to run JUMBO and you should become familiar with the use of the folder icons in the tree, clicking on icons, etc. If you then want to go onto a more molecular demo, go to: demos/index.html [You shouldn't have to alter any setup on your machine. However, occasionally browsers do NOT need CLASSPATH set, and it may be worth removing this.] Running JUMBO with other files. ------------------------------- JUMBO can be run BOTH as an applet (above) and as an application. Another way of running as an applet is appletviewer foo.html (This may be useful if foo.html crashes under a browser). To run as an application you will need a Java interpreter (e.g. in JDK). Then type: java pmr.sgml.SGMLTree [] JUMBO will read XML files, ESIS files and chemical/* files. [There may be some restrictions (e.g. not all XML options are supported, although JUMBO can interoperate with NXP or Lark - not in this distribution, I think). Also some chemical/* converters do not cover all the file (especially Gaussian, MOPAC, etc.)]. JUMBO will use the MIMEtype if given, or else try to deduce it from the extension (see mimtypes file). Examples: java pmr.sgml.SGMLTree 1ins.pdb java pmr.sgml.SGMLTree scene1.sgm text/xml java pmr.sgml.SGMLTree junk.foo chemical/x-mdl-molfile java pmr.sgml.SGMLTree bar.esis (I'm not sure whether the last works in this distribution) JUMBO will read the DOCTYPE and try to load a DTD from dtd.classes. If it fails it assumes a DTD of ANY. It will then probably throw a large number of warnings that it can't identify GIs, but will still produce a display. If you want to hack your own WF *.xml, feel free. JUMBO tries to check for content and may throw some warnings - ignore them. JUMBO supports most of XML up to March 31 1997, but some has no obvious rendering (e.g. ID->IDREF has no icons or actions). JUMBO guesses the element title from Content, TITLE attribute or GI in that order. Future Developments ------------------- XML is developing extremely quickly and the spec warns that you cannot rely on anything within it to be 'final'. Future developments in XML *will* be incompatible with this distribution :-). CML is also developing and, again, this is a snapshot of CML1.0. CML1.0 is not completely XML-compatible - there is no support for XML-LINK in the DTD, for example and the use of links (XVAR | TYPE="URL") will be changed to accommodate XML. I believe the XML files are syntactically correct, but may not remain so. So you are advised to use only the components in this distribution, because they are unlikely to interoperate with future ones. Links ----- There is a lot more CML and JUMBO stuff (including FAQs, tutorials, etc) at: http://www.venus.co.uk/omf/cml/ The VHG home page (including other glossaries, a mailing list, ideas of concept maps, etc.) is at: http://www.venus.co.uk/vhg The OMF is at: http://www.ch.ic.ac.uk/omf/ and my home page is at: http://www.nottingham.ac.uk/~pazpmr/ Please mail me with ideas at: peter.murray-rust@nottingham.ac.uk Copyright --------- Most of the material in this distribution is Copyright Peter Murray-Rust, 1997. (The known exceptions are most of the glossaries, and Jon Bosak's Shakespeare). My material is available for personal use and evaluation, but not for redistribution or use within packages whether academic or commercial (unless agreement is obtained). (It is my intention that JUMBO classes will be made availble for widespread free distribution but will not be in the public domain.) Source code will not be available except to committed developers (e.g. through the OMF). However, JUMBO is structured so that it should be possible to do what you want by either extending or overrriding JUMBO classes. Since JUMBO uses the TEI extended pointer search, it's possible to retrieve any subobject from any other. A (slightly out-of-date) API is available on the CML WWW tree above. The author disclaims any responsibility for any loss or damage however caused and makes no representation of the suitability of this material for any purpose. PeterMR April 14 1997