// Attribute: id
// Operation: None
// Attribute: prohibitChanges, optional, default=false
// Operation: Replace
ProfileType extendedData = extendedProfile.data;
if (extendedData.isSetProhibitChanges() && !data.isSetProhibitChanges()) {
data.setProhibitChanges(extendedData.getProhibitChanges());
}
// Attribute: abstract
// Operation: None
// Attribute: note-tag, optional
// Operation: Replace
if (extendedData.isSetNoteTag() && !data.isSetNoteTag()) {
data.setNoteTag(extendedData.getNoteTag());
}
// Attribute: extends
// Operation: None
// Attribute: xml:base
// Operation: ???None
// Attribute: Id
// Operation: None???
// Element: status
// Operation: None
// Element: version, optional
// Operation: Replace
if (extendedData.isSetVersion() && !data.isSetVersion()) {
data.setVersion((VersionType) extendedData.getVersion()
.copy());
}
// Element: title
// Operation: Override
PropertyExtensionResolver.getTextWithSubTypeResolver().resolve(
data.getTitleList(), extendedData.getTitleList(),
PropertyExtensionResolver.Action.OVERRIDE);
// Element: description
// Operation: Override
PropertyExtensionResolver.getHtmlTextWithSubTypeResolver().resolve(
data.getDescriptionList(),
extendedData.getDescriptionList(),
PropertyExtensionResolver.Action.OVERRIDE);
// Element: reference
// Operation: ???Override (What is the key for the override?)
PropertyExtensionResolver.getReferenceTypeResolver().resolve(
data.getReferenceList(),
extendedData.getReferenceList(),
PropertyExtensionResolver.Action.OVERRIDE);
// Element: platform
// Operation: ???Override (Why is this an override?)
PropertyExtensionResolver.getURIIdRefTypeResolver().resolve(
data.getPlatformList(),
extendedData.getPlatformList(),
PropertyExtensionResolver.Action.OVERRIDE);
// Element: select, set-value, refine-value and refine-rule
new ProfileSelectorResolver(data, extendedData).resolve();