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.
- 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 at bottom and usability on top](./images/fig004.png)
- 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.