Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EclipseLink/DesignDocs/217508
Contents
Support for Root Elements representing Simple Types
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:boolean
andxsd:float
), or more robust types (xsd:hexBinary
,xsd:dateTime
,xsd:QName
).
XML Schema Primitive Data Types:
string | boolean | decimal | float | double | duration | dateTime | time |
date | gYearMonth | gYear | gMonthDay | gDay | gMonth | hexBinary | base64Binary |
anyURI | QName | NOTATION |
normalizedString | token | language | NMTOKEN | NMTOKENS | Name | NCName | ID |
IDREF | IDREFS | ENTITY | ENTITIES | integer | nonPositiveInteger | negativeInteger | long |
int | short | byte | nonNegativeInteger | unsignedLong | unsignedInt | unsignedShort | unsignedByte |
positiveInteger |
Issue # | Owner | Description / Notes |
---|
Issue # | Description / Notes | Decision |
---|