Map XML documents to Java classes
Read/Write
Allow in-memory manipulation
Hide the XML details
Common assumptions:
Documents have schemas
Documents are valid.
Structures are fairly flat and definitely not recursive.
Narrative documents aren't worth considering.
Mixed content doesn't exist.
Choices don't exist.
Order doesn't matter.
Sees the world through object-colored glasses