##
## Licensed to the Apache Software Foundation (ASF) under one
## or more contributor license agreements. See the NOTICE file
## distributed with this work for additional information
## regarding copyright ownership. The ASF licenses this file
## to you under the Apache License, Version 2.0 (the
## "License"); you may not use this file except in compliance
## with the License. You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing,
## software distributed under the License is distributed on an
## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
## KIND, either express or implied. See the License for the
## specific language governing permissions and limitations
## under the License.
##

About
-----

DOOM (DOM over OM) implements both the Axiom API and the standard DOM API. To use this implementation,
add `axiom-dom` to your project and request an `OMMetaFactory` with the DOM feature:

    OMMetaFactory mf = OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM);

You can then get `OMFactory` and `SOAPFactory` instances from that `OMMetaFactory`. All nodes
created using these factories will implement both APIs; e.g. you can cast any `OMElement` to an `org.w3c.dom.Element`.
The exact semantics are documented [here][1].

To parse an existing XML document with DOOM, make sure that you use one of the methods in `OMXMLBuilderFactory` that
take an `OMFactory` or `OMMetaFactory` argument.

Finally, if you need to use JAXP/DOM APIs to create an object model, cast the `OMMetaFactory` obtained by the
instruction shown above to a `DOMMetaFactory`. That API then allows you to create a `DocumentBuilderFactory` implemented
by DOOM.

[1]: ../../apidocs/org/apache/axiom/om/dom/DOMMetaFactory.html
