Is CML Object-Oriented?
Yes. Any SGML document can be held as a tree of objects and all CML documents are trivially parsable in this way. JUMBO is written in Java and a CML document is displayable as a tree of objects. The CML document is a serialisation of those objects. There are many advantages to this. Firstly, CML automatically gains the benefit of generic advances in OO technology, such as CORBA/IDL, Java beans, etc. Object databases will accept SGML (CML) as an input specification and can therefore build complex search and management tools using their generic procedures. On top of this objects can have methods which they can invoke, so that they ‘carry around with them’ methods for rendering, answering questions about themselves, linking to other objects, etc. A key method is validation, so that objects ‘know’ whether their data is valid or not. For example, all ELEMENTs in CML have a Java class and many of these have over 1000 lines of code.