private String resolveNamespacePrefixForURI(String namespaceURI, NamespaceResolver namespaceResolver) { if (null == namespaceResolver) { return null; } return namespaceResolver.resolveNamespaceURI(namespaceURI); }
private String resolveNamespacePrefixForURI(String namespaceURI, NamespaceResolver namespaceResolver) { if (null == namespaceResolver) { return null; } return namespaceResolver.resolveNamespaceURI(namespaceURI); }
@Override public String resolveNamespaceURI(String uri) { String prefix = null; if(contextualNamespaces != null) { prefix = contextualNamespaces.resolveNamespaceURI(uri); } if(prefix == null) { prefix = super.resolveNamespaceURI(uri); } return prefix; }
@Override public String resolveNamespaceURI(String uri) { String prefix = null; if(contextualNamespaces != null) { prefix = contextualNamespaces.resolveNamespaceURI(uri); } if(prefix == null) { prefix = super.resolveNamespaceURI(uri); } return prefix; }
private String getStringForQName(QName qName, NamespaceResolver namespaceResolver){ if(null == qName) { return null; } if(null == qName.getNamespaceURI()) { return qName.getLocalPart(); } else { String namespaceURI = qName.getNamespaceURI(); if(namespaceResolver == null){ throw XMLMarshalException.namespaceResolverNotSpecified(namespaceURI); } String prefix = namespaceResolver.resolveNamespaceURI(namespaceURI); if(null == prefix) { return qName.getLocalPart(); } else { return prefix + Constants.COLON + qName.getLocalPart(); } } }
private String getStringForQName(QName qName, NamespaceResolver namespaceResolver){ if(null == qName) { return null; } if(null == qName.getNamespaceURI()) { return qName.getLocalPart(); } else { String namespaceURI = qName.getNamespaceURI(); if(namespaceResolver == null){ throw XMLMarshalException.namespaceResolverNotSpecified(namespaceURI); } String prefix = namespaceResolver.resolveNamespaceURI(namespaceURI); if(null == prefix) { return qName.getLocalPart(); } else { return prefix + XMLConstants.COLON + qName.getLocalPart(); } } }
protected String getStringForQName(QName qName, NamespaceResolver namespaceResolver){ if(null == qName) { return null; } if(null == qName.getNamespaceURI()) { return qName.getLocalPart(); } else { String namespaceURI = qName.getNamespaceURI(); if(namespaceResolver == null){ throw XMLMarshalException.namespaceResolverNotSpecified(namespaceURI); } String prefix = namespaceResolver.resolveNamespaceURI(namespaceURI); if(null == prefix) { return qName.getLocalPart(); } else { return prefix + XMLConstants.COLON + qName.getLocalPart(); } } }
private String getStringForQName(QName qName, NamespaceResolver namespaceResolver){ if(null == qName) { return null; } if(null == qName.getNamespaceURI()) { return qName.getLocalPart(); } else { String namespaceURI = qName.getNamespaceURI(); if(namespaceResolver == null){ throw XMLMarshalException.namespaceResolverNotSpecified(namespaceURI); } String prefix = namespaceResolver.resolveNamespaceURI(namespaceURI); if(null == prefix) { return qName.getLocalPart(); } else { return prefix + Constants.COLON + qName.getLocalPart(); } } }
public Object buildFieldValue(Object instance, String fieldName, Session session) { if (null == instance) { return null; } QName qName = (QName)transformationMapping.getAttributeValueFromObject(instance); if (null == qName.getNamespaceURI()) { return qName.getLocalPart(); } else { String namespaceURI = qName.getNamespaceURI(); String prefix = namespaceResolver.resolveNamespaceURI(namespaceURI); if (null == prefix) { return qName.getLocalPart(); } else { return prefix + COLON + qName.getLocalPart(); } } } }
private String getNamespacePrefixForDescriptorNamespaceResolver(String namespace, NamespaceResolver contextResolver) { String prefix = contextResolver.resolveNamespaceURI(namespace); while (prefix == null || namespaceResolverForDescriptor.hasPrefix(prefix)) { prefix = contextResolver.generatePrefix(); } return prefix; } }
private boolean declareNamespace(String uri, String prefix, DataObject theDataObject) { while (theDataObject != null) { NamespaceResolver nr = ((SDOType)theDataObject.getType()).getXmlDescriptor().getNonNullNamespaceResolver(); String resolvedPrefix = nr.resolveNamespaceURI(uri); if ((resolvedPrefix != null) && !resolvedPrefix.equals("") && resolvedPrefix.equals(prefix)) { return false; } theDataObject = theDataObject.getContainer(); } return true; }
private boolean declareNamespace(String uri, String prefix, DataObject theDataObject) { while (theDataObject != null) { NamespaceResolver nr = ((SDOType)theDataObject.getType()).getXmlDescriptor().getNonNullNamespaceResolver(); String resolvedPrefix = nr.resolveNamespaceURI(uri); if ((resolvedPrefix != null) && !resolvedPrefix.equals("") && resolvedPrefix.equals(prefix)) { return false; } theDataObject = theDataObject.getContainer(); } return true; }
/** * Marshal a namespace declaration for the given prefix and url * @param prefix * @param namespaceURI */ public void namespaceDeclaration(String prefix, String namespaceURI){ String existingPrefix = getNamespaceResolver().resolveNamespaceURI(namespaceURI); if(existingPrefix == null || (existingPrefix != null && !existingPrefix.equals(XMLConstants.EMPTY_STRING) && !existingPrefix.equals(prefix))){ XMLField xmlField = new XMLField("@" + javax.xml.XMLConstants.XMLNS_ATTRIBUTE + XMLConstants.COLON + prefix); xmlField.setNamespaceResolver(getNamespaceResolver()); xmlField.getXPathFragment().setNamespaceURI(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI); add(xmlField, namespaceURI); } }
/** * Marshal a namespace declaration for the given prefix and url * @param prefix * @param namespaceURI */ public void namespaceDeclaration(String prefix, String namespaceURI){ String existingPrefix = getNamespaceResolver().resolveNamespaceURI(namespaceURI); if(existingPrefix == null || (existingPrefix != null && !existingPrefix.equals(XMLConstants.EMPTY_STRING) && !existingPrefix.equals(prefix))){ XMLField xmlField = new XMLField("@" + javax.xml.XMLConstants.XMLNS_ATTRIBUTE + XMLConstants.COLON + prefix); xmlField.setNamespaceResolver(getNamespaceResolver()); xmlField.getXPathFragment().setNamespaceURI(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI); add(xmlField, namespaceURI); } }
protected void addTypeAttribute(XMLDescriptor descriptor, MarshalRecord marshalRecord, String schemaContext) { String typeValue = schemaContext.substring(1); String xsiPrefix = null; if (descriptor.getNamespaceResolver() != null) { xsiPrefix = descriptor.getNamespaceResolver().resolveNamespaceURI(XMLConstants.SCHEMA_INSTANCE_URL); } else { xsiPrefix = XMLConstants.SCHEMA_INSTANCE_PREFIX; marshalRecord.attribute(XMLConstants.XMLNS_URL, xsiPrefix, XMLConstants.XMLNS + XMLConstants.COLON + xsiPrefix, XMLConstants.SCHEMA_INSTANCE_URL); } if (xsiPrefix == null) { xsiPrefix = descriptor.getNamespaceResolver().generatePrefix(XMLConstants.SCHEMA_INSTANCE_PREFIX); marshalRecord.attribute(XMLConstants.XMLNS_URL, xsiPrefix, XMLConstants.XMLNS + XMLConstants.COLON + xsiPrefix, XMLConstants.SCHEMA_INSTANCE_URL); } marshalRecord.attribute(XMLConstants.SCHEMA_INSTANCE_URL, XMLConstants.SCHEMA_TYPE_ATTRIBUTE, xsiPrefix + XMLConstants.COLON + XMLConstants.SCHEMA_TYPE_ATTRIBUTE, typeValue); }
public Element createUnownedElement(Node parent, Field xmlField) { XPathFragment lastFragment = xmlField.getXPathFragment(); while (lastFragment.getNextFragment() != null) { lastFragment = lastFragment.getNextFragment(); } String nodeName = lastFragment.getShortName(); String namespace = resolveNamespacePrefix(lastFragment, getNamespaceResolverForField(xmlField)); NamespaceResolver domResolver = new NamespaceResolver(); domResolver.setDOM(parent); String existingPrefix = domResolver.resolveNamespaceURI(namespace); String elementName = nodeName; if(existingPrefix != null) { if(existingPrefix.length() > 0) { elementName = existingPrefix + Constants.COLON + lastFragment.getLocalName(); } else { elementName = lastFragment.getLocalName(); } } Element elem = parent.getOwnerDocument().createElementNS(namespace, elementName); if (lastFragment.isGeneratedPrefix() && existingPrefix == null) { elem.setAttributeNS(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI, javax.xml.XMLConstants.XMLNS_ATTRIBUTE + Constants.COLON + lastFragment.getPrefix(), lastFragment.getNamespaceURI()); } return elem; }
protected void addTypeAttribute(MarshalRecord marshalRecord, String typeValue) { String xsiPrefix = null; if (marshalRecord.getNamespaceResolver() != null) { xsiPrefix = marshalRecord.getNamespaceResolver().resolveNamespaceURI(XMLConstants.SCHEMA_INSTANCE_URL); } else { xsiPrefix = XMLConstants.SCHEMA_INSTANCE_PREFIX; marshalRecord.attribute(XMLConstants.XMLNS_URL, xsiPrefix, XMLConstants.XMLNS + XMLConstants.COLON + xsiPrefix, XMLConstants.SCHEMA_INSTANCE_URL); } if (xsiPrefix == null) { xsiPrefix = marshalRecord.getNamespaceResolver().generatePrefix(XMLConstants.SCHEMA_INSTANCE_PREFIX); marshalRecord.attribute(XMLConstants.XMLNS_URL, xsiPrefix, XMLConstants.XMLNS + XMLConstants.COLON + xsiPrefix, XMLConstants.SCHEMA_INSTANCE_URL); } marshalRecord.attribute(XMLConstants.SCHEMA_INSTANCE_URL, XMLConstants.SCHEMA_TYPE_ATTRIBUTE, xsiPrefix + XMLConstants.COLON + XMLConstants.SCHEMA_TYPE_ATTRIBUTE, typeValue); }
private Namespace setupFragment(XMLRoot originalValue, XPathFragment xmlRootFragment, MarshalRecord marshalRecord) { Namespace generatedNamespace = null; String xpath = originalValue.getLocalName(); if (originalValue.getNamespaceURI() != null) { xmlRootFragment.setNamespaceURI((originalValue).getNamespaceURI()); String prefix = marshalRecord.getNamespaceResolver().resolveNamespaceURI((originalValue).getNamespaceURI()); if (prefix == null || prefix.length() == 0) { prefix = marshalRecord.getNamespaceResolver().generatePrefix("ns0"); generatedNamespace = new Namespace(prefix, xmlRootFragment.getNamespaceURI()); } xpath = prefix + XMLConstants.COLON + xpath; } xmlRootFragment.setXPath(xpath); return generatedNamespace; }
private Namespace setupFragment(XMLRoot originalValue, XPathFragment xmlRootFragment, MarshalRecord marshalRecord) { Namespace generatedNamespace = null; String xpath = originalValue.getLocalName(); if (originalValue.getNamespaceURI() != null) { xmlRootFragment.setNamespaceURI((originalValue).getNamespaceURI()); String prefix = marshalRecord.getNamespaceResolver().resolveNamespaceURI((originalValue).getNamespaceURI()); if (prefix == null || prefix.length() == 0) { prefix = marshalRecord.getNamespaceResolver().generatePrefix(); generatedNamespace = new Namespace(prefix, xmlRootFragment.getNamespaceURI()); } xpath = prefix + XMLConstants.COLON + xpath; } xmlRootFragment.setXPath(xpath); return generatedNamespace; }
private void writeXsiTypeAttribute(XMLDescriptor xmlDescriptor, DOMRecord row, String typeValue) { String xsiPrefix = null; boolean generated = false; xsiPrefix = row.getNamespaceResolver().resolveNamespaceURI(XMLConstants.SCHEMA_INSTANCE_URL); if (xsiPrefix == null) { xsiPrefix = xmlDescriptor.getNonNullNamespaceResolver().generatePrefix(XMLConstants.SCHEMA_INSTANCE_PREFIX); generated = true; writeXsiNamespace(row, xsiPrefix); } XMLField xmlField = (XMLField)xmlDescriptor.buildField(XMLConstants.ATTRIBUTE + xsiPrefix + XMLConstants.COLON + XMLConstants.SCHEMA_TYPE_ATTRIBUTE); if (generated) { xmlField.getLastXPathFragment().setGeneratedPrefix(true); } xmlField.getLastXPathFragment().setNamespaceURI(XMLConstants.SCHEMA_INSTANCE_URL); row.add(xmlField, typeValue); }