MONDO And SGML FAQ
SGML and XML are the current standards for document-oriented information management, so it is important to describe how MONDO relates to SGML and SGML-related technologies. This FAQ describes some of these relationships and comparisons.
What are the differences between MONDO's and SGML's goals?
The goals of MONDO are a generalization of the goals of SGML. SGML provides an application-independent syntax and metamodel for humans and computers to work with document-oriented information. MONDO desires to expand these capabilities to work with full object-oriented information models and to integrate with the tools that work with those models.
How do Information Models compare to DTDs, and Groves?
Object-oriented information modeling is both very general and very
descriptive; it subsumes SGML's DTD and grove model.
DTDs can be viewed as information models where
only a single attribute ('content') is allowed
to be a full association with other non-primitive
types in the model, and there is a pure containment
hierarchy among all the objects. The rest of the
attributes must be simple data types and very few
rules can be modeled. The grove model is an even further
simplification where there are only a handful of classes
that describe a document's information.
MONDO uses a full OO information model to remove restrictions, to add expressiveness, and to take advantage of all the analysis, patterns, and models that are available in both information modeling and SGML DTDs. To see the advantage of combining these two fields, consider (for example) combining the major SGML DTDs [see ???] with the analysis patterns available in [Fowler 97].
What about SGML/XML technologies like HyTime?
SGML concepts and technologies fall into two major categories: some of them apply mostly to a document-oriented domain model and others are much more general and would apply to any domain model. MONDO tries to generalize where possible and to support domain specific needs when no general need is available.
For example, HyTime is very general model of relating information and matches up extremely well with object association capabilities. Much of HyTime's funcionality is subsumed within association models, other functionality would be a welcomed addition to general associations, and some of its functionality would only be applicable to a document-oriented domain model. MONDO tries to use all of HyTime concepts and make them as general as possible.
What about SDQL, DSSSL, XSL, etc.?
MONDO is still in its infancy and has not dealt with all these different needs. Our initial impressions are that OQL (with some domain object functionality to support containment questions) will handle document-oriented queries extremely well. DSSSL and XSL are very document/presentation oriented and will probably remain attached to document-oriented/SGML domain models. Also, frequently there are information technologies that appear different but may be able handle similar needs.
Are you asking me to convert all my SGML/XML documents?
No. You can use you current documents and current DTDs with MONDO as they are. You can then decide if you want to migrate closer to an object model and add object-oriented annotations to your current DTDs. Maybe part of your DTD is not really a very good model for the information you have and you would like to be more expressive of that type of information. You may design tags with an OO model in mind but they will still be useable (if less informative) with normal SGML tools.
But OML uses a different syntax from SGML/XML?
Yes, OML uses a very simple syntax that is slightly more expressive for OO information representation than SGML/XML. You do not need to use OML with MONDO and you can always auto-translate between OML and XML. OML is simply a more convenient syntax to represent information and has an extremely simple parser.
So MONDO is trying to replace the SGML/XML industry?
No. In a sense, MONDO is trying to align the SGML/XML industry with the
information modeling and data management industry. This should make many more, high-quality tools and techniques available for everyone to use for their common and specific needs.
Where do I get more information about MONDO and
Object-Oriented Information Modeling?
The main MONDO site is at:
http://www.chimu.com/projects/mondo/
There is a "References and Links" section which can point you to the references mentioned here and many more sources of tools and information about OO information modeling and MONDO.
|