 |
 |
 |
HighWire and DOM 2 correspondences and notes
date: June 24, 2002
author: Dan Ackerman (baldrick@netset.com)
Contents
1. Purpose
2. HighWire Internal Document Structures.
3. STRUCT S_CONTAINR
4. STRUCT FRAME_ITEM
5. STRUCT PARAGRAPH_ITEM
6. STRUCT WORD_ITEM
7. STRUCT S_IMAGE (Note this is posibly in transition)
8. STRUCT S_TABLE
8.1 STRUCT S_TABLE_ROW
8.2 STRUCT S_TABLE_CELL
9. Implementation NOTES
9.1 HTMLCollection Interface and attribute ID
9.2 Matching DOM and HighWire DOM
10. References
1. Purpose
This Document is meant to describe HighWires internal storage
mechanisms and cover the corespondences between
HighWire's internal storage of a Document and the W3 specifications
for the Document Object Model as found at
http://www.w3.org/TR/2002/CR-DOM-Level-2-HTML-20020605/
Also contained are some implementation notes.
2. HighWire Internal Document Structures.
There are 4 main internal structures for document storage in
HighWire.
These are the Container (s_containr), the frame (frame_item),
the paragraph (paragraph_item) and the word (word_item).
They operate exactly in that order of Heirachy.
Containers contain Frames or other containers
Frames contain Paragraphs
Paragraphs contain Words
3. STRUCT S_CONTAINR
The highest level structure is the struct s_containr, it's definition
is located in containr.h.
/*
* Containr.h -- Tree hirachy to hold frames.
*
* A container is a polymorph struct which can either hold one or more children
* containers or exactly one frame (or is empty). This way a tree structure of
* containers represents the hirachy as given by
|