New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
jumbo.html in vendors/XMLF90/current/doc/Tutorial – NEMO

source: vendors/XMLF90/current/doc/Tutorial/jumbo.html @ 1967

Last change on this file since 1967 was 1967, checked in by flavoni, 14 years ago

importing XMLF90 vendor

File size: 2.7 KB
Line 
1<html>
2<head>
3  <style>
4        TABLE {align: center; }
5        H1    {color: #ffffff; background: Navy; font-weight: bold; font-family: Tahoma, Verdana; margin: 0px; padding: 2px; }
6        H2    {color: #ffffff; background: #4682B4; font-weight: bold; font-family: Tahoma, Verdana; }
7        TH    {color: #ffffff; background: #4682B4; font-weight: bold; font-family: Tahoma, Verdana; }
8   LI    {font-weight: bold; font-family: Tahoma, Verdana; }
9  </style>
10</head>
11
12<body>
13 <H1>Jumbo90</H1>
14
15 <p>Jumbo90 is a library written in Fortran for creating CML
16 documents. Actually, Jumbo allows you to create XML, CML and STMML
17 (another markup language closely related to CML).  After a moments
18 thought you may ask why do we need a library to write things? I mean,
19 you can always type <pre>write(*,*)
20 "&lt;cml&gt;stuff&lt;/cml&gt;"</pre></p>
21 
22 <p>Well, while in theory it is a fairly simply task to write CML, or
23 indeed any XML, in any language, in practice it's not quite that
24 easy.  Balancing tags that are opened at one end of a 2000 line
25 source file and closed at the other or even opened and closed in
26 different source files, is an unnecessary memory exercise, and
27 balancing them in the right order a pain. More importantly,
28 you'll probably only spot your mistake when you try to process the
29 file, and given that XML is case sensitive it's a pretty easy to make
30 a mistake.  Furthermore, CML elements will often be built up in a
31 standard manner using a large number of tags - and it can be fairly
32 tedious typing in all of these.  Add to this the fact that it is
33 extremely difficult to correctly indent an XML document whose
34 structure is as dynamic as that of the underlying program [1] (just
35 using write statements).  So, we decided that it was probably worth
36 our while to create a library for handling the more tedious or tricky
37 elements of creating a CML document.  We also added functionality to
38 check the well-formedness of all XML. In fact, most programming
39 languages provide utilties for performing these seemingly simple
40 tasks</p>
41 
42<p>The original idea for Jumbo90 came from Peter Murray-Rust, who has
43a similar but much more rounded suite of tools written in Java, called
44Jumbo.  I then converted Peter's original F77 code into F90, but it
45suffered a little from its F77 inheritance, so now the base XML
46formatting layer of Jumbo is provided by Alberto Garcia's WXML
47library.</p>
48   
49<p>The Jumbo90 README containing a breakdown of all Jumbo90
50subroutines is available <a href="jumbodocs.html">here</a></p>
51
52<br/>
53<hr/>
54<p align="right"><i>Jon Wakelin, March 2004</i></p>
55<p> [1] It's only a cosmetic feature but it's very useful when you
56need someone to read the file, of course, there's nothing wrong with
57writing a 12M XML file in a single line.</p> </body>
58 
59</html>
Note: See TracBrowser for help on using the repository browser.