Goals
The W3C needed a Web client to conduct various testbed
-
Browsing and Authoring
-
Code freely available
-
Open architecture
The first experiment to be conducted was an implementation of CSS
Amaya, based on work done at INRIA
was selected as Arena's sucessor
Architecture
Amaya is built on top of the Thot editing toolkit, and libWWW.
Document model
Document model (2)
Each element holds
-
a list of child
-
a list of attributes
Document interfaces
The Thot
API contains approximately 200 functions:
-
General: initialization, memory, errors, registry, ...
-
Documents and schemas: open, close, create, remove, ...
-
Tree: new, copy, create, insert, getRoot, getFirstChild, getLastChild,
nextSibling, previousSiblings, getAncestor, ...
-
Text: setText, appendText, insertText, deleteText, merge ...
-
Attributes: new, attach, remove, get/setValue, getAttribute, nextAttribute...
-
References: setReference, giveReffertedElement, ...
-
Presentation rules: new, copy, attach, remove, get/setValue
-
Views: openMainView, openSubView, closeView, zoom, ...
-
Actions: software events triggered by the editor or UI
-
Search functions: for type, attributes and references
-
printing
Thot languages
The structure and presentation of Thot document are specified in "schemas"
files
-
defined using specific languages
-
compiled
-
loaded on-demand at runtime
Languages are available to describe:
-
document structure
-
document presentation (rendering and views)
-
export filters
Amaya
Amaya add specific support needed for a Web application:
-
HTTP access using libWWW
-
Parsing of HTML documents, and export
-
Web specific User Interface (navigation, links, CSS, URL and Title)
-
HTML specific interfaces (H1, Lists, Links, views)
-
Publishing of HTML file
-
An small Amaya API is defined
Amaya-Java
Testbed implementation
-
CSS
Math-ML
or
1/
= 1
Others
-
PICS
-
DOM (Document Object Model)
-
WebDav
-
XML
-
HTTP-NG
Problems
-
stability
-
portability
-
lacks frames
-
table formating and CSS support are not perfect
Conclusion
-
Amaya is an open environment for HTTP client testbeds
-
Built on a structured document model
-
Source availability, completely free
-
Used sucessfully for demos