blob: c66717faac73d1cac9abfca4acf5db46098ac321 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 1998, 2013 Oracle and/or its affiliates. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Oracle - initial API and implementation from Oracle TopLink
******************************************************************************/
package org.eclipse.persistence.internal.oxm.schema;
import java.util.ArrayList;
import org.eclipse.persistence.internal.oxm.Constants;
import org.eclipse.persistence.internal.oxm.schema.model.*;
import org.eclipse.persistence.mappings.converters.ObjectTypeConverter;
import org.eclipse.persistence.oxm.NamespaceResolver;
import org.eclipse.persistence.oxm.XMLDescriptor;
import org.eclipse.persistence.oxm.XMLField;
import org.eclipse.persistence.oxm.mappings.*;
import org.eclipse.persistence.oxm.mappings.nullpolicy.NullPolicy;
import org.eclipse.persistence.sessions.Project;
/**
* <p><b>Purpose</b>: TopLink OX project to map org.eclipse.persistence.internal.schema.model.*
* Used by TopLink SDO and JAXB implementations
*/
public class SchemaModelProject extends Project {
private NamespaceResolver namespaceResolver;
public SchemaModelProject() {
namespaceResolver = new NamespaceResolver();
namespaceResolver.put(Constants.SCHEMA_PREFIX, "http://www.w3.org/2001/XMLSchema");
addDescriptor(buildSchemaDescriptor());
addDescriptor(buildAttributeGroupDescriptor());
addDescriptor(buildComplexTypeDescriptor());
addDescriptor(buildComplexContentDescriptor());
addDescriptor(buildSimpleTypeDescriptor());
addDescriptor(buildListDescriptor());
addDescriptor(buildUnionDescriptor());
addDescriptor(buildSimpleContentDescriptor());
addDescriptor(buildElementDescriptor());
addDescriptor(buildChoiceDescriptor());
addDescriptor(buildSequenceDescriptor());
addDescriptor(buildAllDescriptor());
addDescriptor(buildAnyDescriptor());
addDescriptor(buildAnyAttributeDescriptor());
addDescriptor(buildAttributeDescriptor());
addDescriptor(buildRestrictionDescriptor());
addDescriptor(buildExtensionDescriptor());
addDescriptor(buildImportDescriptor());
addDescriptor(buildIncludeDescriptor());
addDescriptor(buildAnnotationDescriptor());
addDescriptor(buildGroupDescriptor());
//addDescriptor(buildTypeDefParticleDescriptor());
//addDescriptor(buildOccursDescriptor());
}
private XMLDescriptor buildSchemaDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Schema.class);
descriptor.setDefaultRootElement(Constants.SCHEMA_PREFIX + ":" + "schema");
descriptor.setNamespaceResolver(namespaceResolver);
XMLCompositeCollectionMapping importsMapping = new XMLCompositeCollectionMapping();
importsMapping.setReferenceClass(Import.class);
importsMapping.setAttributeName("imports");
importsMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "import");
descriptor.addMapping(importsMapping);
XMLCompositeCollectionMapping includesMapping = new XMLCompositeCollectionMapping();
includesMapping.setReferenceClass(Include.class);
includesMapping.setAttributeName("includes");
includesMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "include");
descriptor.addMapping(includesMapping);
XMLDirectMapping targetNamespaceMapping = new XMLDirectMapping();
targetNamespaceMapping.setAttributeName("targetNamespace");
targetNamespaceMapping.setXPath("@targetNamespace");
descriptor.addMapping(targetNamespaceMapping);
XMLDirectMapping defaultNamespaceMapping = new XMLDirectMapping();
defaultNamespaceMapping.setAttributeName("defaultNamespace");
XMLField xmlField = new XMLField();
xmlField.setXPath("@xmlns");
xmlField.getXPathFragment().setNamespaceURI(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI);
defaultNamespaceMapping.setField(xmlField);
descriptor.addMapping(defaultNamespaceMapping);
XMLAnyAttributeMapping attributesMapMapping = new XMLAnyAttributeMapping();
attributesMapMapping.setAttributeName("attributesMap");
attributesMapMapping.setGetMethodName("getAttributesMap");
attributesMapMapping.setSetMethodName("setAttributesMap");
descriptor.addMapping(attributesMapMapping);
XMLCompositeCollectionMapping attributeGroupsMapping = new XMLCompositeCollectionMapping();
attributeGroupsMapping.setReferenceClass(AttributeGroup.class);
attributeGroupsMapping.setAttributeName("attributeGroups");
attributeGroupsMapping.useMapClass(java.util.HashMap.class, "getName");
attributeGroupsMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "attributeGroup");
descriptor.addMapping(attributeGroupsMapping);
XMLCompositeCollectionMapping groupsMapping = new XMLCompositeCollectionMapping();
groupsMapping.setReferenceClass(Group.class);
groupsMapping.setAttributeName("groups");
groupsMapping.useMapClass(java.util.HashMap.class, "getName");
groupsMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "group");
descriptor.addMapping(groupsMapping);
ObjectTypeConverter converter = new ObjectTypeConverter();
converter.addConversionValue("unqualified", false);
converter.addConversionValue("qualified", true);
converter.setFieldClassification(String.class);
XMLDirectMapping elementFormDefaultMapping = new XMLDirectMapping();
elementFormDefaultMapping.setAttributeName("elementFormDefault");
elementFormDefaultMapping.setXPath("@elementFormDefault");
elementFormDefaultMapping.setNullValue(false);
elementFormDefaultMapping.setConverter(converter);
descriptor.addMapping(elementFormDefaultMapping);
XMLDirectMapping attributeFormDefaultMapping = new XMLDirectMapping();
attributeFormDefaultMapping.setAttributeName("attributeFormDefault");
attributeFormDefaultMapping.setXPath("@attributeFormDefault");
attributeFormDefaultMapping.setNullValue(false);
attributeFormDefaultMapping.setConverter(converter);
descriptor.addMapping(attributeFormDefaultMapping);
XMLCompositeCollectionMapping topLevelComplexTypesMapping = new XMLCompositeCollectionMapping();
topLevelComplexTypesMapping.setReferenceClass(ComplexType.class);
topLevelComplexTypesMapping.setAttributeName("topLevelComplexTypes");
topLevelComplexTypesMapping.useMapClass(java.util.HashMap.class, "getName");
topLevelComplexTypesMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "complexType");
descriptor.addMapping(topLevelComplexTypesMapping);
XMLCompositeCollectionMapping topLevelElementsMapping = new XMLCompositeCollectionMapping();
topLevelElementsMapping.setReferenceClass(Element.class);
topLevelElementsMapping.setAttributeName("topLevelElements");
topLevelElementsMapping.useMapClass(java.util.HashMap.class, "getName");
topLevelElementsMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "element");
descriptor.addMapping(topLevelElementsMapping);
XMLCompositeCollectionMapping topLevelSimpleTypesMapping = new XMLCompositeCollectionMapping();
topLevelSimpleTypesMapping.setReferenceClass(SimpleType.class);
topLevelSimpleTypesMapping.setAttributeName("topLevelSimpleTypes");
topLevelSimpleTypesMapping.useMapClass(java.util.HashMap.class, "getName");
topLevelSimpleTypesMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "simpleType");
descriptor.addMapping(topLevelSimpleTypesMapping);
XMLCompositeCollectionMapping topLevelAttributesMapping = new XMLCompositeCollectionMapping();
topLevelAttributesMapping.setReferenceClass(Attribute.class);
topLevelAttributesMapping.setAttributeName("topLevelAttributes");
topLevelAttributesMapping.useMapClass(java.util.HashMap.class, "getName");
topLevelAttributesMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "attribute");
descriptor.addMapping(topLevelAttributesMapping);
XMLCompositeObjectMapping annotationMapping = new XMLCompositeObjectMapping();
annotationMapping.setReferenceClass(Annotation.class);
annotationMapping.setAttributeName("annotation");
annotationMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "annotation");
descriptor.addMapping(annotationMapping);
descriptor.setNamespaceResolver(namespaceResolver);
return descriptor;
}
private XMLDescriptor buildComplexTypeDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(ComplexType.class);
descriptor.setNamespaceResolver(namespaceResolver);
XMLDirectMapping nameMapping = new XMLDirectMapping();
nameMapping.setAttributeName("name");
nameMapping.setXPath("@name");
descriptor.addMapping(nameMapping);
XMLDirectMapping abstractValueMapping = new XMLDirectMapping();
abstractValueMapping.setAttributeName("abstractValue");
abstractValueMapping.setXPath("@abstract");
abstractValueMapping.setNullValue(false);
descriptor.addMapping(abstractValueMapping);
XMLDirectMapping mixedMapping = new XMLDirectMapping();
mixedMapping.setAttributeName("mixed");
mixedMapping.setXPath("@mixed");
mixedMapping.setNullValue(false);
descriptor.addMapping(mixedMapping);
XMLCompositeObjectMapping annotationMapping = new XMLCompositeObjectMapping();
annotationMapping.setReferenceClass(Annotation.class);
annotationMapping.setAttributeName("annotation");
annotationMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "annotation");
descriptor.addMapping(annotationMapping);
XMLCompositeObjectMapping sequenceMapping = new XMLCompositeObjectMapping();
sequenceMapping.setReferenceClass(Sequence.class);
sequenceMapping.setAttributeName("sequence");
sequenceMapping.setSetMethodName("setSequence");
sequenceMapping.setGetMethodName("getSequence");
sequenceMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "sequence");
descriptor.addMapping(sequenceMapping);
XMLCompositeObjectMapping choiceMapping = new XMLCompositeObjectMapping();
choiceMapping.setReferenceClass(Choice.class);
choiceMapping.setAttributeName("choice");
choiceMapping.setSetMethodName("setChoice");
choiceMapping.setGetMethodName("getChoice");
choiceMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "choice");
descriptor.addMapping(choiceMapping);
XMLCompositeObjectMapping allMapping = new XMLCompositeObjectMapping();
allMapping.setReferenceClass(All.class);
allMapping.setAttributeName("all");
allMapping.setSetMethodName("setAll");
allMapping.setGetMethodName("getAll");
allMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "all");
descriptor.addMapping(allMapping);
XMLCompositeObjectMapping complextContentMapping = new XMLCompositeObjectMapping();
complextContentMapping.setReferenceClass(ComplexContent.class);
complextContentMapping.setAttributeName("complexContent");
complextContentMapping.setGetMethodName("getComplexContent");
complextContentMapping.setSetMethodName("setComplexContent");
complextContentMapping.setXPath(Constants.SCHEMA_PREFIX + ":complexContent");
descriptor.addMapping(complextContentMapping);
XMLCompositeObjectMapping simpleContentMapping = new XMLCompositeObjectMapping();
simpleContentMapping.setReferenceClass(SimpleContent.class);
simpleContentMapping.setAttributeName("simpleContent");
simpleContentMapping.setGetMethodName("getSimpleContent");
simpleContentMapping.setSetMethodName("setSimpleContent");
simpleContentMapping.setXPath(Constants.SCHEMA_PREFIX + ":simpleContent");
descriptor.addMapping(simpleContentMapping);
XMLAnyCollectionMapping orderedAttributesMapping = new XMLAnyCollectionMapping();
orderedAttributesMapping.setAttributeName("orderedAttributes");
descriptor.addMapping(orderedAttributesMapping);
XMLCompositeObjectMapping anyAttributeMapping = new XMLCompositeObjectMapping();
anyAttributeMapping.setReferenceClass(AnyAttribute.class);
anyAttributeMapping.setAttributeName("anyAttribute");
anyAttributeMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "anyAttribute");
descriptor.addMapping(anyAttributeMapping);
XMLAnyAttributeMapping attributesMapMapping = new XMLAnyAttributeMapping();
attributesMapMapping.setAttributeName("attributesMap");
attributesMapMapping.setGetMethodName("getAttributesMap");
attributesMapMapping.setSetMethodName("setAttributesMap");
descriptor.addMapping(attributesMapMapping);
return descriptor;
}
private XMLDescriptor buildComplexContentDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(ComplexContent.class);
descriptor.setNamespaceResolver(namespaceResolver);
XMLDirectMapping mixedMapping = new XMLDirectMapping();
mixedMapping.setAttributeName("mixed");
mixedMapping.setXPath("@mixed");
mixedMapping.setNullValue(false);
descriptor.addMapping(mixedMapping);
XMLCompositeObjectMapping restrictionMapping = new XMLCompositeObjectMapping();
restrictionMapping.setAttributeName("restriction");
restrictionMapping.setReferenceClass(Restriction.class);
restrictionMapping.setGetMethodName("getRestriction");
restrictionMapping.setSetMethodName("setRestriction");
restrictionMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "restriction");
descriptor.addMapping(restrictionMapping);
XMLCompositeObjectMapping extensionMapping = new XMLCompositeObjectMapping();
extensionMapping.setAttributeName("extension");
extensionMapping.setReferenceClass(Extension.class);
extensionMapping.setGetMethodName("getExtension");
extensionMapping.setSetMethodName("setExtension");
extensionMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "extension");
descriptor.addMapping(extensionMapping);
return descriptor;
}
private XMLDescriptor buildSimpleContentDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(SimpleContent.class);
descriptor.setNamespaceResolver(namespaceResolver);
XMLCompositeObjectMapping restrictionMapping = new XMLCompositeObjectMapping();
restrictionMapping.setAttributeName("restriction");
restrictionMapping.setReferenceClass(Restriction.class);
restrictionMapping.setGetMethodName("getRestriction");
restrictionMapping.setSetMethodName("setRestriction");
restrictionMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "restriction");
descriptor.addMapping(restrictionMapping);
XMLCompositeObjectMapping extensionMapping = new XMLCompositeObjectMapping();
extensionMapping.setAttributeName("extension");
extensionMapping.setReferenceClass(Extension.class);
extensionMapping.setGetMethodName("getExtension");
extensionMapping.setSetMethodName("setExtension");
extensionMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "extension");
descriptor.addMapping(extensionMapping);
return descriptor;
}
private XMLDescriptor buildSimpleTypeDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(SimpleType.class);
descriptor.setNamespaceResolver(namespaceResolver);
XMLDirectMapping nameMapping = new XMLDirectMapping();
nameMapping.setAttributeName("name");
nameMapping.setXPath("@name");
descriptor.addMapping(nameMapping);
XMLCompositeObjectMapping annotationMapping = new XMLCompositeObjectMapping();
annotationMapping.setReferenceClass(Annotation.class);
annotationMapping.setAttributeName("annotation");
annotationMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "annotation");
descriptor.addMapping(annotationMapping);
XMLCompositeObjectMapping restrictionMapping = new XMLCompositeObjectMapping();
restrictionMapping.setAttributeName("restriction");
restrictionMapping.setReferenceClass(Restriction.class);
restrictionMapping.setGetMethodName("getRestriction");
restrictionMapping.setSetMethodName("setRestriction");
restrictionMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "restriction");
descriptor.addMapping(restrictionMapping);
XMLCompositeObjectMapping listMapping = new XMLCompositeObjectMapping();
listMapping.setAttributeName("list");
listMapping.setReferenceClass(org.eclipse.persistence.internal.oxm.schema.model.List.class);
listMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "list");
descriptor.addMapping(listMapping);
XMLCompositeObjectMapping unionMapping = new XMLCompositeObjectMapping();
unionMapping.setAttributeName("union");
unionMapping.setReferenceClass(Union.class);
unionMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "union");
descriptor.addMapping(unionMapping);
XMLAnyAttributeMapping attributesMapMapping = new XMLAnyAttributeMapping();
attributesMapMapping.setAttributeName("attributesMap");
attributesMapMapping.setGetMethodName("getAttributesMap");
attributesMapMapping.setSetMethodName("setAttributesMap");
descriptor.addMapping(attributesMapMapping);
return descriptor;
}
private XMLDescriptor buildListDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(org.eclipse.persistence.internal.oxm.schema.model.List.class);
descriptor.setNamespaceResolver(namespaceResolver);
XMLDirectMapping itemTypeMapping = new XMLDirectMapping();
itemTypeMapping.setAttributeName("itemType");
itemTypeMapping.setXPath("@itemType");
descriptor.addMapping(itemTypeMapping);
XMLCompositeObjectMapping simpleTypeMapping = new XMLCompositeObjectMapping();
simpleTypeMapping.setReferenceClass(SimpleType.class);
simpleTypeMapping.setAttributeName("simpleType");
simpleTypeMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "simpleType");
descriptor.addMapping(simpleTypeMapping);
return descriptor;
}
private XMLDescriptor buildUnionDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Union.class);
descriptor.setNamespaceResolver(namespaceResolver);
XMLCompositeDirectCollectionMapping memberTypeMapping = new XMLCompositeDirectCollectionMapping();
memberTypeMapping.setAttributeName("memberTypes");
memberTypeMapping.setXPath("@memberTypes");
memberTypeMapping.setUsesSingleNode(true);
descriptor.addMapping(memberTypeMapping);
XMLCompositeCollectionMapping simpleTypesMapping = new XMLCompositeCollectionMapping();
simpleTypesMapping.setReferenceClass(SimpleType.class);
simpleTypesMapping.setAttributeName("simpleTypes");
simpleTypesMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "simpleType");
descriptor.addMapping(simpleTypesMapping);
return descriptor;
}
private XMLDescriptor buildRestrictionDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Restriction.class);
descriptor.setNamespaceResolver(namespaceResolver);
XMLDirectMapping baseTypeMapping = new XMLDirectMapping();
baseTypeMapping.setAttributeName("baseType");
baseTypeMapping.setXPath("@base");
descriptor.addMapping(baseTypeMapping);
XMLCompositeObjectMapping sequenceMapping = new XMLCompositeObjectMapping();
sequenceMapping.setReferenceClass(Sequence.class);
sequenceMapping.setAttributeName("sequence");
sequenceMapping.setSetMethodName("setSequence");
sequenceMapping.setGetMethodName("getSequence");
sequenceMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "sequence");
descriptor.addMapping(sequenceMapping);
XMLCompositeObjectMapping choiceMapping = new XMLCompositeObjectMapping();
choiceMapping.setReferenceClass(Choice.class);
choiceMapping.setAttributeName("choice");
choiceMapping.setSetMethodName("setChoice");
choiceMapping.setGetMethodName("getChoice");
choiceMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "choice");
descriptor.addMapping(choiceMapping);
XMLCompositeObjectMapping allMapping = new XMLCompositeObjectMapping();
allMapping.setReferenceClass(All.class);
allMapping.setAttributeName("all");
allMapping.setSetMethodName("setAll");
allMapping.setGetMethodName("getAll");
allMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "all");
descriptor.addMapping(allMapping);
XMLCompositeObjectMapping simpleTypeMapping = new XMLCompositeObjectMapping();
simpleTypeMapping.setReferenceClass(SimpleType.class);
simpleTypeMapping.setAttributeName("simpleType");
simpleTypeMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "simpleType");
descriptor.addMapping(simpleTypeMapping);
XMLCompositeCollectionMapping attributesMapping = new XMLCompositeCollectionMapping();
attributesMapping.setReferenceClass(Attribute.class);
attributesMapping.setAttributeName("attributes");
attributesMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "attribute");
descriptor.addMapping(attributesMapping);
XMLCompositeObjectMapping anyAttributeMapping = new XMLCompositeObjectMapping();
anyAttributeMapping.setReferenceClass(AnyAttribute.class);
anyAttributeMapping.setAttributeName("anyAttribute");
anyAttributeMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "anyAttribute");
descriptor.addMapping(anyAttributeMapping);
XMLDirectMapping minInclusiveMapping = new XMLDirectMapping();
minInclusiveMapping.setAttributeName("minInclusive");
minInclusiveMapping.setSetMethodName("setMinInclusive");
minInclusiveMapping.setGetMethodName("getMinInclusive");
minInclusiveMapping.setXPath(Constants.SCHEMA_PREFIX + ":minInclusive/@value");
descriptor.addMapping(minInclusiveMapping);
XMLDirectMapping maxInclusiveMapping = new XMLDirectMapping();
maxInclusiveMapping.setAttributeName("maxInclusive");
maxInclusiveMapping.setSetMethodName("setMaxInclusive");
maxInclusiveMapping.setGetMethodName("getMaxInclusive");
maxInclusiveMapping.setXPath(Constants.SCHEMA_PREFIX + ":maxInclusive/@value");
descriptor.addMapping(maxInclusiveMapping);
XMLDirectMapping minExclusiveMapping = new XMLDirectMapping();
minExclusiveMapping.setAttributeName("minExclusive");
minExclusiveMapping.setSetMethodName("setMinExclusive");
minExclusiveMapping.setGetMethodName("getMinExclusive");
minExclusiveMapping.setXPath(Constants.SCHEMA_PREFIX + ":minExclusive/@value");
descriptor.addMapping(minExclusiveMapping);
XMLDirectMapping maxExclusiveMapping = new XMLDirectMapping();
maxExclusiveMapping.setAttributeName("maxExclusive");
maxExclusiveMapping.setSetMethodName("setMaxExclusive");
maxExclusiveMapping.setGetMethodName("getMaxExclusive");
maxExclusiveMapping.setXPath(Constants.SCHEMA_PREFIX + ":maxExclusive/@value");
descriptor.addMapping(maxExclusiveMapping);
XMLCompositeDirectCollectionMapping enumerationFacetsMapping = new XMLCompositeDirectCollectionMapping();
enumerationFacetsMapping.setAttributeName("enumerationFacets");
enumerationFacetsMapping.useCollectionClass(java.util.ArrayList.class);
enumerationFacetsMapping.setXPath(Constants.SCHEMA_PREFIX + ":enumeration/@value");
descriptor.addMapping(enumerationFacetsMapping);
return descriptor;
}
private XMLDescriptor buildExtensionDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Extension.class);
descriptor.setNamespaceResolver(namespaceResolver);
XMLDirectMapping baseTypeMapping = new XMLDirectMapping();
baseTypeMapping.setAttributeName("baseType");
baseTypeMapping.setXPath("@base");
descriptor.addMapping(baseTypeMapping);
XMLCompositeObjectMapping sequenceMapping = new XMLCompositeObjectMapping();
sequenceMapping.setReferenceClass(Sequence.class);
sequenceMapping.setAttributeName("sequence");
sequenceMapping.setSetMethodName("setSequence");
sequenceMapping.setGetMethodName("getSequence");
sequenceMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "sequence");
descriptor.addMapping(sequenceMapping);
XMLCompositeObjectMapping choiceMapping = new XMLCompositeObjectMapping();
choiceMapping.setReferenceClass(Choice.class);
choiceMapping.setAttributeName("choice");
choiceMapping.setSetMethodName("setChoice");
choiceMapping.setGetMethodName("getChoice");
choiceMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "choice");
descriptor.addMapping(choiceMapping);
XMLCompositeObjectMapping allMapping = new XMLCompositeObjectMapping();
allMapping.setReferenceClass(All.class);
allMapping.setAttributeName("all");
allMapping.setSetMethodName("setAll");
allMapping.setGetMethodName("getAll");
allMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "all");
descriptor.addMapping(allMapping);
XMLAnyCollectionMapping orderedAttributesMapping = new XMLAnyCollectionMapping();
orderedAttributesMapping.setAttributeName("orderedAttributes");
descriptor.addMapping(orderedAttributesMapping);
XMLCompositeObjectMapping anyAttributeMapping = new XMLCompositeObjectMapping();
anyAttributeMapping.setReferenceClass(AnyAttribute.class);
anyAttributeMapping.setAttributeName("anyAttribute");
anyAttributeMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "anyAttribute");
descriptor.addMapping(anyAttributeMapping);
return descriptor;
}
private XMLDescriptor buildElementDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Element.class);
descriptor.setNamespaceResolver(namespaceResolver);
descriptor.setDefaultRootElement(Constants.SCHEMA_PREFIX + ":element");
XMLDirectMapping nameMapping = new XMLDirectMapping();
nameMapping.setAttributeName("name");
nameMapping.setXPath("@name");
descriptor.addMapping(nameMapping);
XMLDirectMapping typeMapping = new XMLDirectMapping();
typeMapping.setAttributeName("type");
typeMapping.setXPath("@type");
descriptor.addMapping(typeMapping);
XMLDirectMapping formMapping = new XMLDirectMapping();
formMapping.setAttributeName("form");
formMapping.setXPath("@form");
descriptor.addMapping(formMapping);
XMLDirectMapping refMapping = new XMLDirectMapping();
refMapping.setAttributeName("ref");
refMapping.setXPath("@ref");
descriptor.addMapping(refMapping);
XMLDirectMapping minOccursMapping = new XMLDirectMapping();
minOccursMapping.setAttributeName("minOccurs");
minOccursMapping.setXPath("@minOccurs");
minOccursMapping.setNullValue(Occurs.ONE);
//minOccursMapping.setNullValue(Occurs.ZERO);
descriptor.addMapping(minOccursMapping);
XMLDirectMapping maxOccursMapping = new XMLDirectMapping();
maxOccursMapping.setAttributeName("maxOccurs");
maxOccursMapping.setXPath("@maxOccurs");
maxOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(maxOccursMapping);
XMLDirectMapping nillableMapping = new XMLDirectMapping();
nillableMapping.setAttributeName("nillable");
nillableMapping.setXPath("@nillable");
nillableMapping.setNullValue(false);
descriptor.addMapping(nillableMapping);
XMLDirectMapping defaultMapping = new XMLDirectMapping();
defaultMapping.setAttributeName("defaultValue");
defaultMapping.setGetMethodName("getDefaultValue");
defaultMapping.setSetMethodName("setDefaultValue");
defaultMapping.setXPath("@default");
((NullPolicy) defaultMapping.getNullPolicy()).setSetPerformedForAbsentNode(false);
descriptor.addMapping(defaultMapping);
XMLDirectMapping fixedMapping = new XMLDirectMapping();
fixedMapping.setAttributeName("fixed");
fixedMapping.setXPath("@fixed");
descriptor.addMapping(fixedMapping);
XMLDirectMapping subGroupMapping = new XMLDirectMapping();
subGroupMapping.setAttributeName("substitutionGroup");
subGroupMapping.setXPath("@substitutionGroup");
descriptor.addMapping(subGroupMapping);
XMLCompositeObjectMapping annotationMapping = new XMLCompositeObjectMapping();
annotationMapping.setReferenceClass(Annotation.class);
annotationMapping.setAttributeName("annotation");
annotationMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "annotation");
descriptor.addMapping(annotationMapping);
XMLCompositeObjectMapping simpleTypeMapping = new XMLCompositeObjectMapping();
simpleTypeMapping.setReferenceClass(SimpleType.class);
simpleTypeMapping.setAttributeName("simpleType");
simpleTypeMapping.setGetMethodName("getSimpleType");
simpleTypeMapping.setSetMethodName("setSimpleType");
simpleTypeMapping.setXPath(Constants.SCHEMA_PREFIX + ":simpleType");
descriptor.addMapping(simpleTypeMapping);
XMLCompositeObjectMapping complexTypeMapping = new XMLCompositeObjectMapping();
complexTypeMapping.setReferenceClass(ComplexType.class);
complexTypeMapping.setAttributeName("complexType");
complexTypeMapping.setGetMethodName("getComplexType");
complexTypeMapping.setSetMethodName("setComplexType");
complexTypeMapping.setXPath(Constants.SCHEMA_PREFIX + ":complexType");
descriptor.addMapping(complexTypeMapping);
XMLAnyAttributeMapping attributesMapMapping = new XMLAnyAttributeMapping();
attributesMapMapping.setAttributeName("attributesMap");
attributesMapMapping.setGetMethodName("getAttributesMap");
attributesMapMapping.setSetMethodName("setAttributesMap");
descriptor.addMapping(attributesMapMapping);
return descriptor;
}
private XMLDescriptor buildChoiceDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Choice.class);
descriptor.setNamespaceResolver(namespaceResolver);
descriptor.setDefaultRootElement(Constants.SCHEMA_PREFIX + ":choice");
//descriptor.getInheritancePolicy().setParentClass(TypeDefParticle.class);
XMLDirectMapping minOccursMapping = new XMLDirectMapping();
minOccursMapping.setAttributeName("minOccurs");
minOccursMapping.setXPath("@minOccurs");
minOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(minOccursMapping);
XMLDirectMapping maxOccursMapping = new XMLDirectMapping();
maxOccursMapping.setAttributeName("maxOccurs");
maxOccursMapping.setXPath("@maxOccurs");
maxOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(maxOccursMapping);
XMLAnyCollectionMapping contentsMapping = new XMLAnyCollectionMapping();
contentsMapping.setAttributeName("orderedElements");
contentsMapping.setGetMethodName("getOrderedElements");
contentsMapping.setSetMethodName("setOrderedElements");
descriptor.addMapping(contentsMapping);
return descriptor;
}
private XMLDescriptor buildAllDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(All.class);
descriptor.setNamespaceResolver(namespaceResolver);
descriptor.setDefaultRootElement(Constants.SCHEMA_PREFIX + ":all");
// descriptor.getInheritancePolicy().setParentClass(TypeDefParticle.class);
XMLDirectMapping minOccursMapping = new XMLDirectMapping();
minOccursMapping.setAttributeName("minOccurs");
minOccursMapping.setXPath("@minOccurs");
minOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(minOccursMapping);
XMLDirectMapping maxOccursMapping = new XMLDirectMapping();
maxOccursMapping.setAttributeName("maxOccurs");
maxOccursMapping.setXPath("@maxOccurs");
maxOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(maxOccursMapping);
XMLCompositeCollectionMapping elementsMapping = new XMLCompositeCollectionMapping();
elementsMapping.setReferenceClass(Element.class);
elementsMapping.setAttributeName("elements");
elementsMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "element");
descriptor.addMapping(elementsMapping);
return descriptor;
}
private XMLDescriptor buildSequenceDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Sequence.class);
descriptor.setNamespaceResolver(namespaceResolver);
descriptor.setDefaultRootElement(Constants.SCHEMA_PREFIX + ":sequence");
// descriptor.getInheritancePolicy().setParentClass(TypeDefParticle.class);
XMLDirectMapping minOccursMapping = new XMLDirectMapping();
minOccursMapping.setAttributeName("minOccurs");
minOccursMapping.setXPath("@minOccurs");
minOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(minOccursMapping);
XMLDirectMapping maxOccursMapping = new XMLDirectMapping();
maxOccursMapping.setAttributeName("maxOccurs");
maxOccursMapping.setXPath("@maxOccurs");
maxOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(maxOccursMapping);
XMLAnyCollectionMapping contentsMapping = new XMLAnyCollectionMapping();
contentsMapping.setAttributeName("orderedElements");
contentsMapping.setGetMethodName("getOrderedElements");
contentsMapping.setSetMethodName("setOrderedElements");
descriptor.addMapping(contentsMapping);
return descriptor;
}
private XMLDescriptor buildAnyDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Any.class);
descriptor.setNamespaceResolver(namespaceResolver);
descriptor.setDefaultRootElement(Constants.SCHEMA_PREFIX + ":any");
XMLDirectMapping processContentsMapping = new XMLDirectMapping();
processContentsMapping.setAttributeName("processContents");
processContentsMapping.setXPath("@processContents");
descriptor.addMapping(processContentsMapping);
XMLDirectMapping namespaceMapping = new XMLDirectMapping();
namespaceMapping.setAttributeName("namespace");
namespaceMapping.setXPath("@namespace");
descriptor.addMapping(namespaceMapping);
XMLDirectMapping minOccursMapping = new XMLDirectMapping();
minOccursMapping.setAttributeName("minOccurs");
minOccursMapping.setXPath("@minOccurs");
minOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(minOccursMapping);
XMLDirectMapping maxOccursMapping = new XMLDirectMapping();
maxOccursMapping.setAttributeName("maxOccurs");
maxOccursMapping.setXPath("@maxOccurs");
maxOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(maxOccursMapping);
return descriptor;
}
private XMLDescriptor buildAttributeDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Attribute.class);
descriptor.setNamespaceResolver(namespaceResolver);
descriptor.setDefaultRootElement(Constants.SCHEMA_PREFIX + ":attribute");
XMLDirectMapping nameMapping = new XMLDirectMapping();
nameMapping.setAttributeName("name");
nameMapping.setXPath("@name");
descriptor.addMapping(nameMapping);
XMLDirectMapping typeMapping = new XMLDirectMapping();
typeMapping.setAttributeName("type");
typeMapping.setXPath("@type");
descriptor.addMapping(typeMapping);
XMLDirectMapping formMapping = new XMLDirectMapping();
formMapping.setAttributeName("form");
formMapping.setXPath("@form");
descriptor.addMapping(formMapping);
XMLDirectMapping useMapping = new XMLDirectMapping();
useMapping.setAttributeName("use");
useMapping.setXPath("@use");
descriptor.addMapping(useMapping);
XMLDirectMapping defaultMapping = new XMLDirectMapping();
defaultMapping.setAttributeName("defaultValue");
defaultMapping.setGetMethodName("getDefaultValue");
defaultMapping.setSetMethodName("setDefaultValue");
defaultMapping.setXPath("@default");
((NullPolicy) defaultMapping.getNullPolicy()).setSetPerformedForAbsentNode(false);
descriptor.addMapping(defaultMapping);
XMLDirectMapping fixedMapping = new XMLDirectMapping();
fixedMapping.setAttributeName("fixed");
fixedMapping.setXPath("@fixed");
descriptor.addMapping(fixedMapping);
XMLDirectMapping refMapping = new XMLDirectMapping();
refMapping.setAttributeName("ref");
refMapping.setXPath("@ref");
descriptor.addMapping(refMapping);
XMLCompositeObjectMapping annotationMapping = new XMLCompositeObjectMapping();
annotationMapping.setReferenceClass(Annotation.class);
annotationMapping.setAttributeName("annotation");
annotationMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "annotation");
descriptor.addMapping(annotationMapping);
XMLCompositeObjectMapping simpleTypeMapping = new XMLCompositeObjectMapping();
simpleTypeMapping.setReferenceClass(SimpleType.class);
simpleTypeMapping.setAttributeName("simpleType");
simpleTypeMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "simpleType");
descriptor.addMapping(simpleTypeMapping);
XMLAnyAttributeMapping attributesMapMapping = new XMLAnyAttributeMapping();
attributesMapMapping.setAttributeName("attributesMap");
attributesMapMapping.setGetMethodName("getAttributesMap");
attributesMapMapping.setSetMethodName("setAttributesMap");
descriptor.addMapping(attributesMapMapping);
return descriptor;
}
private XMLDescriptor buildAnyAttributeDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(AnyAttribute.class);
descriptor.setNamespaceResolver(namespaceResolver);
descriptor.setDefaultRootElement("any");
XMLDirectMapping processContentsMapping = new XMLDirectMapping();
processContentsMapping.setAttributeName("processContents");
processContentsMapping.setXPath("@processContents");
descriptor.addMapping(processContentsMapping);
XMLDirectMapping namespaceMapping = new XMLDirectMapping();
namespaceMapping.setAttributeName("namespace");
namespaceMapping.setXPath("@namespace");
descriptor.addMapping(namespaceMapping);
return descriptor;
}
private XMLDescriptor buildImportDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Import.class);
descriptor.setNamespaceResolver(namespaceResolver);
XMLDirectMapping schemaLocationMapping = new XMLDirectMapping();
schemaLocationMapping.setAttributeName("schemaLocation");
schemaLocationMapping.setXPath(Constants.ATTRIBUTE+Constants.SCHEMA_LOCATION);
descriptor.addMapping(schemaLocationMapping);
XMLDirectMapping idMapping = new XMLDirectMapping();
idMapping.setAttributeName("id");
idMapping.setXPath("@id");
descriptor.addMapping(idMapping);
XMLDirectMapping namespaceMapping = new XMLDirectMapping();
namespaceMapping.setAttributeName("namespace");
namespaceMapping.setXPath("@namespace");
descriptor.addMapping(namespaceMapping);
return descriptor;
}
private XMLDescriptor buildIncludeDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Include.class);
descriptor.setNamespaceResolver(namespaceResolver);
XMLDirectMapping schemaLocationMapping = new XMLDirectMapping();
schemaLocationMapping.setAttributeName("schemaLocation");
schemaLocationMapping.setXPath(Constants.ATTRIBUTE+Constants.SCHEMA_LOCATION);
descriptor.addMapping(schemaLocationMapping);
XMLDirectMapping idMapping = new XMLDirectMapping();
idMapping.setAttributeName("id");
idMapping.setXPath("@id");
descriptor.addMapping(idMapping);
return descriptor;
}
private XMLDescriptor buildAnnotationDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Annotation.class);
descriptor.setNamespaceResolver(namespaceResolver);
XMLCompositeDirectCollectionMapping documentationMapping = new XMLCompositeDirectCollectionMapping();
documentationMapping.setAttributeName("documentation");
documentationMapping.useCollectionClass(ArrayList.class);
documentationMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "documentation");
((XMLField)documentationMapping.getField()).setUsesSingleNode(false);
descriptor.addMapping(documentationMapping);
XMLFragmentCollectionMapping appInfoMapping = new XMLFragmentCollectionMapping();
appInfoMapping.setAttributeName("appInfo");
appInfoMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "appinfo");
appInfoMapping.useCollectionClass(java.util.ArrayList.class);
descriptor.addMapping(appInfoMapping);
return descriptor;
}
private XMLDescriptor buildGroupDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Group.class);
descriptor.setNamespaceResolver(namespaceResolver);
descriptor.setDefaultRootElement(Constants.SCHEMA_PREFIX + ":group");
XMLDirectMapping nameMapping = new XMLDirectMapping();
nameMapping.setAttributeName("name");
nameMapping.setGetMethodName("getName");
nameMapping.setSetMethodName("setName");
nameMapping.setXPath("@name");
descriptor.addMapping(nameMapping);
XMLDirectMapping refMapping = new XMLDirectMapping();
refMapping.setAttributeName("ref");
refMapping.setXPath("@ref");
descriptor.addMapping(refMapping);
XMLDirectMapping minOccursMapping = new XMLDirectMapping();
minOccursMapping.setAttributeName("minOccurs");
minOccursMapping.setXPath("@minOccurs");
minOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(minOccursMapping);
XMLDirectMapping maxOccursMapping = new XMLDirectMapping();
maxOccursMapping.setAttributeName("maxOccurs");
maxOccursMapping.setXPath("@maxOccurs");
maxOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(maxOccursMapping);
XMLCompositeObjectMapping annotationMapping = new XMLCompositeObjectMapping();
annotationMapping.setReferenceClass(Annotation.class);
annotationMapping.setAttributeName("annotation");
annotationMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "annotation");
descriptor.addMapping(annotationMapping);
XMLCompositeObjectMapping sequenceMapping = new XMLCompositeObjectMapping();
sequenceMapping.setReferenceClass(Sequence.class);
sequenceMapping.setAttributeName("sequence");
sequenceMapping.setSetMethodName("setSequence");
sequenceMapping.setGetMethodName("getSequence");
sequenceMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "sequence");
descriptor.addMapping(sequenceMapping);
XMLCompositeObjectMapping choiceMapping = new XMLCompositeObjectMapping();
choiceMapping.setReferenceClass(Choice.class);
choiceMapping.setAttributeName("choice");
choiceMapping.setSetMethodName("setChoice");
choiceMapping.setGetMethodName("getChoice");
choiceMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "choice");
descriptor.addMapping(choiceMapping);
XMLCompositeObjectMapping allMapping = new XMLCompositeObjectMapping();
allMapping.setReferenceClass(All.class);
allMapping.setAttributeName("all");
allMapping.setSetMethodName("setAll");
allMapping.setGetMethodName("getAll");
allMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "all");
descriptor.addMapping(allMapping);
return descriptor;
}
private XMLDescriptor buildAttributeGroupDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(AttributeGroup.class);
descriptor.setNamespaceResolver(namespaceResolver);
descriptor.setDefaultRootElement(Constants.SCHEMA_PREFIX + ":attributeGroup");
XMLDirectMapping nameMapping = new XMLDirectMapping();
nameMapping.setAttributeName("name");
nameMapping.setGetMethodName("getName");
nameMapping.setSetMethodName("setName");
nameMapping.setXPath("@name");
descriptor.addMapping(nameMapping);
XMLDirectMapping refMapping = new XMLDirectMapping();
refMapping.setAttributeName("ref");
refMapping.setXPath("@ref");
descriptor.addMapping(refMapping);
XMLCompositeCollectionMapping attributesMapping = new XMLCompositeCollectionMapping();
attributesMapping.setReferenceClass(Attribute.class);
attributesMapping.useCollectionClass(ArrayList.class);
attributesMapping.setAttributeName("attributes");
attributesMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "attribute");
descriptor.addMapping(attributesMapping);
XMLCompositeObjectMapping anyAttributeMapping = new XMLCompositeObjectMapping();
anyAttributeMapping.setReferenceClass(AnyAttribute.class);
anyAttributeMapping.setAttributeName("anyAttribute");
anyAttributeMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "anyAttribute");
descriptor.addMapping(anyAttributeMapping);
return descriptor;
}
/*
private XMLDescriptor buildOccursDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(Occurs.class);
descriptor.setNamespaceResolver(namespaceResolver);
XMLDirectMapping minOccursMapping = new XMLDirectMapping();
minOccursMapping.setAttributeName("minOccurs");
minOccursMapping.setXPath("@minOccurs");
minOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(minOccursMapping);
XMLDirectMapping maxOccursMapping = new XMLDirectMapping();
maxOccursMapping.setAttributeName("maxOccurs");
maxOccursMapping.setXPath("@maxOccurs");
maxOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(maxOccursMapping);
return descriptor;
}
*/
/*
private XMLDescriptor buildTypeDefParticleDescriptor() {
XMLDescriptor descriptor = new XMLDescriptor();
descriptor.setJavaClass(TypeDefParticle.class);
descriptor.setNamespaceResolver(namespaceResolver);
ElementNameClassExtractor extractor = new ElementNameClassExtractor();
extractor.addElementNameMapping(new QName(Constants.SCHEMA_URL, "sequence"),Sequence.class);
extractor.addElementNameMapping(new QName(Constants.SCHEMA_URL, "choice"),Choice.class);
extractor.addElementNameMapping(new QName(Constants.SCHEMA_URL, "all"),All.class);
descriptor.getInheritancePolicy().setClassExtractor(extractor);
//descriptor.getInheritancePolicy().setClassIndicatorField(new org.eclipse.persistence.oxm.XMLField(""));
XMLDirectMapping minOccursMapping = new XMLDirectMapping();
minOccursMapping.setAttributeName("minOccurs");
minOccursMapping.setXPath("@minOccurs");
minOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(minOccursMapping);
XMLDirectMapping maxOccursMapping = new XMLDirectMapping();
maxOccursMapping.setAttributeName("maxOccurs");
maxOccursMapping.setXPath("@maxOccurs");
maxOccursMapping.setNullValue(Occurs.ONE);
descriptor.addMapping(maxOccursMapping);
XMLCompositeObjectMapping anyMapping = new XMLCompositeObjectMapping();
anyMapping.setReferenceClass(Any.class);
anyMapping.setAttributeName("any");
anyMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "any");
descriptor.addMapping(anyMapping);
XMLCompositeCollectionMapping elementsMapping = new XMLCompositeCollectionMapping();
elementsMapping.setReferenceClass(Element.class);
elementsMapping.setAttributeName("elements");
elementsMapping.setXPath(Constants.SCHEMA_PREFIX + ":" + "element");
descriptor.addMapping(elementsMapping);
return descriptor;
}
*/
}