Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EclipseLink/DesignDocs/217508

< EclipseLink‎ | DesignDocs
Revision as of 15:29, 4 February 2008 by Rick.barkhouse.oracle.com (Talk | contribs) (Requirements)

Support for Root Elements representing Simple Types

ER 217508

Document History

Date Author Version Description & Notes
2008-02-01 Rick Barkhouse Initial Draft

Project overview

This project will add the ability for EclipseLink OX to unmarshal XML documents that have simple types as their root element. Instead of a "rich" top-level element representing a domain object (e.g. Employee, PurchaseOrder), the root element may be a simple primitive value.

For example, the JAXB TCK uses the following types of test documents:

XML Schema - The schema contains a single element, that is a restriction (extension) of the base64Binary simple type:

<schema ...>
...
   <element name="NISTSchema-base64Binary-enumeration" type="nist:NISTSchema-base64Binary-enumeration-Type"/>
 
   <simpleType name="NISTSchema-base64Binary-enumeration-Type">
      <restriction base="base64Binary">
         <enumeration value="bHlsY2JmaXFjaW9ubmg="/>
      </restriction>
   </simpleType>
</schema>

XML Instance Document - The document contains a single element with value zGk=:

<NISTSchema-base64Binary-enumeration
    xmlns="NISTSchema-base64Binary-enumeration-NS"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="NISTSchema-base64Binary-enumeration-NS enumeration.xsd">zGk=</NISTSchema-base64Binary-enumeration>

Goals:

  • Allow the user to unmarshal XML documents that contain simple type root elements.

Concepts

The following concepts are used in this document:

  • Simple Type - one of the basic, "built-in" types available in XML Schema. These may represent basic Java primitives (such as xsd:integer and xsd:float), or more robust types (xsd:hexBinary, xsd:dateTime, xsd:QName).

Requirements

The requirements for this project are as follows:

  • Support unmarshalling of XML instance documents that contain simpleType root elements.
  • Support marshalling "primitive" Java objects to XML.
  • Ensure that the proper ConversionManager is used when converting XML to Java.
  • Ensure that the proper ClassLoader is used when converting values.

Functionality

Design Constraints

Maintainability

GUI

Config files

Documentation

Open Issues

This section lists the open issues that are still pending that must be decided prior to fully implementing this project's requirements.

Decisions

This section lists decisions made. These are intended to document the resolution of open issues or constraints added to the project that are important.

Issue # Owner Description / Notes

Future Considerations

Issue # Description / Notes Decision

Back to the top