ChiMu  
 
Menu Edge About   Products   Services   Projects   Publications  
  Projects > MONDO                 

OML FAQ

What is OML?

OML is a simple Object Markup Language very similar to SGML/XML. OML is a possible front end to MONDO and supports representing complex information in textual files. OML is especially good at encoding objects and structured information in addition to textual information.

MONDO has a proprietary markup language?

OML is not required for MONDO. You can also use SGML/XML as a front end or several other types of encodings. The reason OML exists is because complex structured information can be difficult to encode in SGML/XML. The main problem with using SGML/XML for this purpose is that it can only have a single complex property (i.e. 'content'), so the SGML application has to work around this limitation, and the writer of a document may be encumbered by the contortions to encode complex data in SGML. OML is also free including reference implementations.

How is OML different from XML?

In OML any attribute of an element can have complex markup. This provides the regularity and generality to easily represent complex information. OML also has a much simpler syntax: OML has less than 15 productions.

What does OML look like?

Like SGML except in OML content has a different pair of delimiters from element's pair and all attributes can have complex markup (e.g. elements) as their value. A simple example is:
<P {I will be out of the office during the period of <Period
start=<Date iso='1997-10-01'> end=<Date iso='1997-10-05'>>
and you should contact my coworker <Reference name='...'>
if you need assistance.} P>
A more data-oriented example is:
<Map pairs=(
    <Pair key= "OML"  value = "Object Markup Language">
    <Pair key= "Favorite Colors"  value = ("red" "green" "blue")>
    <Pair key= "Favorite People"
        value= (<Person ...> <Person ...> <Person ...>)
    >
    <Pair key= "Other"  value = <OMLReader url="http://.../"> >
) Map>

Where do I get more information about OML and MONDO?

http://www.chimu.com/projects/mondo/

Please see the MONDO design and implementation documentation for more information on OML including the full production rules (all fifteen of them), the lexical rules, and the Java and Perl implementations.

 
Projects > MONDO