Introduction
o2xdl is a definition language that allows you to define Object Oriented structures in XML.
XML, the next-generation of HTML, is now viewed as the standard way information will be exchanged in environments that do not share common platforms. [xml.org]
Tree transformation allows the structure of the result tree to be significantly different from the structure of the source tree. For example, one could add a table-of-contents as a filtered selection of an original source document, or one could rearrange source data into a sorted tabular presentation.. (omissis).. Tree transformation is defined in the XSLT Recommendation [XSLT]. A diagram depicting this conceptual process is shown..[XSL - W3C Recommendation]
The missing link
In this panorama there is a lack of a second level vision, which can allow management and use of XML (and XSLT) more agile, efficient, economic. This can only be achieved by moving from the "microscopic" view of the individual tree nodes to a "macro-block" vision, more structured and linked to the application context. In other words, an object oriented paradigm.
According to Harmon (Paul Harmon.Objects In Action: Commercial Applications Of Object-Oriented Technologies. Jan., 1993. A-W ISBN 0-201-63336-1) the advantages of the OO approach are:- Faster development
- Increased Quality
- Easier maintenance
- Enhanced modifiability
- a full featured persistent class-type mechanism
- inheritance
- polymorphism
- complex objects construction
- full-fledged functional programming language (Turing complete).
o2xdl facilitates the transformations of XML data structures, enabling reuse and generation of common application components.
UML design integration and embedded documentation make o2xdl well suited for industrial strength software production.
o2xdl specifications
- CORE
- uses a tree of o2x:object to represent complex data structures and to perform transformations on them. CORE is agnostic to the technology used to create the o2x:object tree.
- USABILITY
- defines the structures necessary for the object-workshop phase, i.e. the creation and management of o2x:object using o2x:class and a full-fledged OO language in UML.