[Next] [Up] [Previous]
Next: Summarizing the selection Up: Browsing audio documents Previous: A complex example

Traversing high-level document structure

 

Our internal representation for document structure is an attributed tree. Tree structures are easy to traverse, and they provide a uniform way of browsing structure present in both plain text as well as mathematical formulae. This section outlines our approach to enabling such browsing actions.

All browsing actions are defined with respect to the current selection (a node in the internal tree representation of the document) that is recorded in variable *read-pointer*. Typically, the current selection is initially the top of the document. The current selection can be changed in two ways:

The following browser commands can be executed when no rendering is in progress. Our key-mapping for these commands is inspired principally by the key-map used by the UNIX VI editor.

Below, these browser actions are augmented to enable the traversal of the attributed tree structure defined in c:recognition. In our model, all nodes have content. The following actions move the selection to the various attributes. The parent of an attribute is defined to be the object being attributed. The result of moving to attributes can therefore be undone by moving back up to the parent. The above key-map[+] for traversing the attributes was arrived at as follows: The choice for superscript and subscript is automatic, since the keystrokes match the symbols used by TeX to markup these attributes. Placing the fingers on the row of numerals on a standard keyboard, the actions necessary for typing ^ and _ are mimicked with the left hand to arrive at the key-bindings for the left superscript and subscript. The middle finger of each hand is used to get to the accent/underbar.

Tables are the only objects in our internal representation that do not conform completely to the tree-traversal model. This is because each table element is linked to its parent as well as to its four neighbors. The left and right neighbors can be modeled as siblings, but we need extra links and hence extra actions to traverse the entries by columns.





[Next] [Up] [Previous]
Next: Summarizing the selection Up: Browsing audio documents Previous: A complex example



TV Raman
Thu Mar 9 20:10:41 EST 1995