[ Home Page ] [ Eiffel Archive ] [ Tools for Eiffel Developers ]

Arc de Triomphe clipart (2486 bytes)

Eiffel binding for Document Object Model Level 1 Version 1.0

Copyright (c) 1999, Alexander Kogtenkov (kwaxer@aha.ru)


Written by Alexander Kogtenkov.

dom_v1.zip (27,315 bytes) - source code


Objectives

  1. Consistent Eiffel binding for the DOM Level 1 specification.
  2. Universal interface for clients regardless of underlying implementation.
  3. Enforced by feature pre/postconditions and class invariants behaviour of the underlying implementation accordingly to the specification.
  4. Implemented predefined behaviour.

Naming convention

Names from the DOM specification are mapped into Eiffel names as follows:
all class names are prefixed by "DOM_"
all routine (i.e. procedure and function) names are preserved
all read-only attribute names are preserved
all attribute names are mapped as read-only attributes for "get"
operation and are prefixed by "set" for "set" operation
all constant names are preserved

Structure

DOM root directory for the Eiffel binding for the DOM specification
Core cluster DOM_Core, which reflects binding for DOM Core interfaces
DOMString binding for DOMString
Extended bindings for extended Core interfaces
Fundamental bindings for fundamental Core interfaces
Support support classes, they do not correspond to any Core interface class

Portability

The library makes no specific assumptions about Eiffel environment, so, in general, it should compile under any Eiffel compiler. The current version of the library was tested under the following Eiffel environments: Visual Eiffel v2.96 Beta (Build 2099)

Current status

All Core interfaces are mapped into corresponding Eiffel classes. Most predefined behaviour is encoded in the effective features. Implementation for deferred features should be provided by the implementation.

Future work

  1. Provide some implementation(s) for the DOM Core interfaces.
  2. Provide binding for HTML part of the DOM Level 1 specification.

Compilation

Current release is very abstract and does not provide any specific implementation of DOM. So, it does not contain any test that can be compiled and executed.

However, it can be compiled as a library, at least, in VE (using "precomp.eld", e.g., "start vec -p:precomp.eld"), and then it can be browsed or HTML pages can be generated for it (using gHTML).

Precompilation was not tested under ISE and, as far as I know, it is not applicable under SmallEiffel.

This should be changed soon as real implementations will be available.

History

1.0
The first public release of the library.

License

See "forum.txt" included in the distribution.

References

DOM Level 1 Specification, v1.0
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001

Contact

If you find any bugs or enhancements for the library, please, contact me:
Alexander Kogtenkov
e-mail: kwaxer@aha.ru

[ Home Page ] [ Eiffel Archive ] [ Tools for Eiffel Developers ]