Java XML Mapping (JXM) is a tool for writing
Java objects to XML and reading them back again. JXM provides
a default mapping so that Java objects that follow Java Bean
naming conventions can be written to
XML by calling a single method. The default mapping can be customized
by creating and registering mapping classes with the JXM framework.
JXM differs from other XML binding tools by not requiring objects
to include or inherit from JXM code. No generated code
is included in the objects, and they don't
need to implement JXM interfaces. Customization is done by writing
Java code rather than XML descriptors. JXM differs from other
XML binding tools by supporting the mapping of object relationships
to XML elements. Capturing object relationship information makes
reading from XML easier, and is inspired by the XMI specification for
representing UML associations in XML. The design goal
of JXM is to make the source Java objects and the generated XML
as decoupled as possible.
Another design goal of JXM is simplicity, which accepts some loss of function.
JXM does not support XML namespaces, and there is no tool to generate
code from XML Schema. JXM will support XML namespaces in a future release.