Logical Structure
- A document is represented as a document tree
- Logical in that implementations do not have to build the structure
- Each node in the tree is an object in the object-oriented programming sense:
- Data is hidden so cannot be manipulated directly
- Functions associated with object manipulate the data