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.
Difference between revisions of "EclipseLink/UserGuide/MOXy/Simple Values/Collections/XMLDirectCollectionMapping"
(→XML Direct Collection Mappings) |
|||
Line 58: | Line 58: | ||
<xml-root-element name="customer"/> | <xml-root-element name="customer"/> | ||
<java-attributes> | <java-attributes> | ||
− | <xml- | + | <xml-element java-attribute="emailAddresses" name="email-address"/> |
</java-attributes> | </java-attributes> | ||
</java-type> | </java-type> |
Revision as of 17:41, 20 December 2010
EclipseLink | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source |
Key API
Contents
XML Direct Collection Mappings
XML direct collection mappings map a collection of simple Java values directly to XML text nodes. You can use an XML direct collection mapping in the following scenarios:
Mapping to Text Nodes
Given the XML schema in this example, the figure below illustrates an XML direct collection mapping to elements in a corresponding XML document.
Schema for XML Direct Collection Mapping to Text Nodes
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="customer" type="customer-type"/> <xsd:complexType name="customer-type"> <xsd:sequence> <xsd:element name="email-address" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:schema>
XML Direct Mapping to an Attribute
The following example shows how to annotate your Java class to obtain this mapping with EclipseLink. All that is needed is the standard JAXB @XmlElement annotation.
Java for XML Direct Mapping to an Attribute
@XmlRootElement public class Customer { @XmlElement(name="email-address") public List<String> emailAddress; }
The example below shows how to to define your mapping information in EclipseLink's OXM metadata format.
OXM for XML Direct Mapping to an Attribute
... <java-type name="Customer"> <xml-root-element name="customer"/> <java-attributes> <xml-element java-attribute="emailAddresses" name="email-address"/> </java-attributes> </java-type> ...