Eseb
From ESEwiki
eseb is the Enterprise SmartEiffel Binder, focused at creating XML bindings. Its design is quite simple:
Contents |
The framework library
The library only has a few classes that extend the XML framework. Indeed there is currently only one, and it is almost cosmetic: ESEB_FWK_ELEMENT which is a node generated by eseb.
This library is not intended to be directly used.
The tool
Algorithm
It is straightforward:
- read the DTD and build an abstract tree:
- one ESEB_ELEMENT per element
- one ESEB_ATTLIST per attribute of each element
- one ESEB_CHILD_DESCRIPTION per element
- generate the node classes
- delegate the work to each ESEB_ELEMENT which in turn delegates some of its work to the attributes and to its child description
- generate the parser class
- by subclassing XML_TREE and redefining its new_node feature to create the good kind of node
Element
There is one ESEB_ELEMENT object per element in the DTD file. Each object contains its attributes (ESEB_ATTLIST) and one description (ESEB_CHILD_DESCRIPTION).
Attribute
The ESEB_ATTLIST class describes an attribute of an element. It says if the attribute is a CDATA, an id or an idref, if it is required or optional, its default value...
Child description
An object of the class ESEB_CHILD_DESCRIPTION belongs to an ESEB_ELEMENT. It describes which elements can be nested, if they are optional or may appear more than once...

