Eseb

From ESEwiki

Revision as of 13:37, 4 September 2006; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

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:

  1. read the DTD and build an abstract tree:
  2. 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
  3. 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...

Personal tools