1. XXE, a multi-document, multi-view per document, XML editor

App is the XMLmind XML Editor desktop application.

A document opened in an App is represented by an OpenedDocument object. An OpenedDocument is a wrapper around the actual XML document: the Document object. (OpenedDocument.getDocument returns this Document object.)

An OpenedDocument is displayed and can be edited using an Editor. An OpenedDocument may have several views, that is, several Editors.

An Editor is basically a JScrollPane containing a StyledDocumentPane which in turn contains a StyledDocumentView; the important object here being the StyledDocumentView.

App assumes that a single Editor is active at a time. The active Editor is the Editor having the keyboard focus. The whole GUI of XMLmind XML editor is expected to act on this active Editor and to reflect its state. The active Editor is obtained using App.getActiveEditor and the OpenedDocument displayed by an Editor is obtained using Editor.getOpenedDocument. Therefore, the OpenedDocument displayed by the active Editor is called the active OpenedDocument. (Convenience method App.getActiveOpenedDocument allows to directly get it.)