protected void addTypeAttributeIfNeeded(XMLDescriptor descriptor, DatabaseMapping mapping, MarshalRecord marshalRecord) { XMLSchemaReference xmlRef = descriptor.getSchemaReference(); if (xmlCompositeCollectionMapping.shouldAddXsiType(marshalRecord, descriptor) && (xmlRef != null)) { addTypeAttribute(descriptor, marshalRecord, xmlRef.getSchemaContext()); } }
private void writeTypeAttribute(MarshalRecord marshalRecord, XMLDescriptor descriptor, String xsiPrefix) { //xsi:type=schemacontext String typeValue = descriptor.getSchemaReference().getSchemaContext(); // handle case where the schema context is set as a QName if (typeValue == null) { QName contextAsQName = descriptor.getSchemaReference().getSchemaContextAsQName(); if (contextAsQName == null) { return; } String uri = contextAsQName.getNamespaceURI(); String localPart = contextAsQName.getLocalPart(); String prefix = marshalRecord.getNamespaceResolver().resolveNamespaceURI(uri); if (prefix == null) { String defaultUri = marshalRecord.getNamespaceResolver().getDefaultNamespaceURI(); if (defaultUri != null && defaultUri.equals(uri)) { typeValue = localPart; } else { prefix = marshalRecord.getNamespaceResolver().generatePrefix(); marshalRecord.attribute(XMLConstants.XMLNS_URL, prefix, XMLConstants.XMLNS + XMLConstants.COLON + prefix, uri); typeValue = prefix + XMLConstants.COLON + localPart; } } else { typeValue = prefix + XMLConstants.COLON + localPart; } } else { typeValue = typeValue.substring(1); } marshalRecord.attribute(XMLConstants.SCHEMA_INSTANCE_URL, XMLConstants.SCHEMA_TYPE_ATTRIBUTE, xsiPrefix + XMLConstants.COLON + XMLConstants.SCHEMA_TYPE_ATTRIBUTE, typeValue); }
String schemaContext = xmlSchemaReference.getSchemaContext(); if ((xmlSchemaReference.getType() == XMLSchemaReference.COMPLEX_TYPE) || (xmlSchemaReference.getType() == XMLSchemaReference.SIMPLE_TYPE)) { if ((null != schemaContext) && (schemaContext.lastIndexOf('/') == 0)) {
protected void addTypeAttributeIfNeeded(XMLDescriptor descriptor, DatabaseMapping mapping, MarshalRecord marshalRecord) { XMLSchemaReference xmlRef = descriptor.getSchemaReference(); if (xmlCompositeObjectMapping.shouldAddXsiType(marshalRecord, descriptor) && (xmlRef != null)) { addTypeAttribute(descriptor, marshalRecord, xmlRef.getSchemaContext()); } }
String schemaContext = xmlSchemaReference.getSchemaContext(); if ((xmlSchemaReference.getType() == XMLSchemaReference.COMPLEX_TYPE) || (xmlSchemaReference.getType() == XMLSchemaReference.SIMPLE_TYPE)) { if ((null != schemaContext) && (schemaContext.lastIndexOf('/') == 0)) {
/** * <p>INTERNAL: */ @SuppressWarnings("rawtypes") public void buildDescriptorIndex() { for (Iterator i = xrService.oxSession.getProject().getOrderedDescriptors().iterator(); i.hasNext();) { XMLDescriptor xd = (XMLDescriptor)i.next(); XMLSchemaReference schemaReference = xd.getSchemaReference(); if (schemaReference != null && schemaReference.getType() == XMLSchemaReference.COMPLEX_TYPE) { String context = schemaReference.getSchemaContext(); if (context != null && context.lastIndexOf(SLASH_CHAR) == 0) { String elementNameNS = context.substring(1); QName elementName = resolveName(elementNameNS, xd.getNamespaceResolver()); if (elementName == null) { continue; } xrService.descriptorsByQName.put(elementName, xd); } } } }
String schemaContext = xmlSchemaReference.getSchemaContext(); if ((xmlSchemaReference.getType() == XMLSchemaReference.COMPLEX_TYPE) || (xmlSchemaReference.getType() == XMLSchemaReference.SIMPLE_TYPE)) { if ((null != schemaContext) && (schemaContext.lastIndexOf('/') == 0)) {
/** * <p>INTERNAL: */ @SuppressWarnings("rawtypes") public void buildDescriptorIndex() { for (Iterator i = xrService.oxSession.getProject().getOrderedDescriptors().iterator(); i.hasNext();) { XMLDescriptor xd = (XMLDescriptor)i.next(); XMLSchemaReference schemaReference = xd.getSchemaReference(); if (schemaReference != null && schemaReference.getType() == XMLSchemaReference.COMPLEX_TYPE) { String context = schemaReference.getSchemaContext(); if (context != null && context.lastIndexOf(SLASH_CHAR) == 0) { String elementNameNS = context.substring(1); QName elementName = resolveName(elementNameNS, xd.getNamespaceResolver()); if (elementName == null) { continue; } xrService.descriptorsByQName.put(elementName, xd); } } } }
return true; } else if (((xmlRef.getType() == XMLSchemaReference.COMPLEX_TYPE) || (xmlRef.getType() == XMLSchemaReference.SIMPLE_TYPE)) && xmlRef.getSchemaContext() != null && xmlRef.isGlobalDefinition()) { QName ctxQName = xmlRef.getSchemaContextAsQName(descriptor.getNamespaceResolver()); if (!ctxQName.equals(leafType)) {
String value = xmlDescriptor.getSchemaReference().getSchemaContext(); String value = xmlDescriptor.getSchemaReference().getSchemaContext(); typeAttr.setValue(value);
return true; } else if (((xmlRef.getType() == XMLSchemaReference.COMPLEX_TYPE) || (xmlRef.getType() == XMLSchemaReference.SIMPLE_TYPE)) && xmlRef.getSchemaContext() != null && xmlRef.isGlobalDefinition()) { QName ctxQName = xmlRef.getSchemaContextAsQName(descriptor.getNamespaceResolver()); if (!ctxQName.equals(leafType)) {
String value = xmlDescriptor.getSchemaReference().getSchemaContext(); String value = xmlDescriptor.getSchemaReference().getSchemaContext(); typeAttr.setValue(value);
marshalRecord.put(xmlField, xmlRef.getSchemaContext().substring(1)); marshalRecord.closeStartGroupingElements(groupingFragment); } else { marshalRecord.closeStartGroupingElements(groupingFragment); marshalRecord.put(xmlField, xmlRef.getSchemaContext().substring(1));
if (writeTypeAttribute && (descriptor.getSchemaReference() != null) && (descriptor.getSchemaReference().getSchemaContext() != null)) { ((Element) xmlRow.getDOM()).setAttributeNS(XMLConstants.XMLNS_URL, XMLConstants.XMLNS + XMLConstants.COLON + XMLConstants.SCHEMA_INSTANCE_PREFIX, XMLConstants.SCHEMA_INSTANCE_URL); String typeValue = descriptor.getSchemaReference().getSchemaContext(); typeValue = typeValue.substring(1);
String schemaContext = ((SDOType)value.getType()).getXmlDescriptor().getSchemaReference().getSchemaContext(); QName schemaContextQName = ((SDOType)value.getType()).getXmlDescriptor().getSchemaReference().getSchemaContextAsQName(((SDOType)value.getType()).getXmlDescriptor().getNonNullNamespaceResolver());
String typeValue = descriptor.getSchemaReference().getSchemaContext(); addTypeAttribute(descriptor, marshalRecord, typeValue);
String schemaContext = ((SDOType)value.getType()).getXmlDescriptor().getSchemaReference().getSchemaContext(); QName schemaContextQName = ((SDOType)value.getType()).getXmlDescriptor().getSchemaReference().getSchemaContextAsQName(((SDOType)value.getType()).getXmlDescriptor().getNonNullNamespaceResolver());
if (superDescriptor != null) { XMLSchemaReference sRef = descriptor.getSchemaReference(); if (sRef == null || sRef.getSchemaContext() == null) { return; } else { XMLSchemaReference rootSRef = rootDescriptor.getSchemaReference(); if (rootSRef != null && rootSRef.getSchemaContext() != null) { QName rootSCtx = rootSRef.getSchemaContextAsQName(); rootDescriptor.getInheritancePolicy().addClassNameIndicator(rootDescriptor.getJavaClassName(), rootSCtx);
writeXsiTypeAttribute(xmlDescriptor, (DOMRecord)record, xmlRef.getSchemaContext().substring(1)); writeXsiTypeAttribute(xmlDescriptor, (DOMRecord)record, xmlRef.getSchemaContext().substring(1)); } else { writeXsiTypeAttribute(xmlDescriptor, (DOMRecord)record, xmlRef.getSchemaContext().substring(1));
if (!ctx.equals(xmlDescriptor.getDefaultRootElementType())) { row.add(xmlDescriptor.getInheritancePolicy().getClassIndicatorField(), xmlRef.getSchemaContext().substring(1));