The following section explains level 1 of the API on a functional basis. For an explanation organized on an interface-by-interface basis, see the accompanying Javadoc.
Level 1 defines a read-only repository. This encompasses the following functionality:
Retrieval and traversal of nodes and properties
Reading the values of properties
Transient namespace remapping
Export to XML/SAX
Query facility with XPath syntax
Discovery of available node types
Where a level 2 repository (or a repository supporting an optional feature, such as versioning) would differ from a purely level 1 repository, the relevant difference is noted.
Since level 2 is a superset of level 1, anything required for level 1 compliance is automatically required for level 2 (see 4.2 Compliance Levels). Thus, this section applies to level 2 implementations as well.
Note that in the discussion below, reference to a “level 1 repository” means a repository that implements only level 1 features.