/** * <p>INTERNAL: * */ protected QName resolveName(String name, NamespaceResolver ns) { if (ns == null) { return null; } if (ANY.equals(name)) { return ANY_QNAME; } int index = name.indexOf(COLON_CHAR); if (index != -1) { String uri = ns.resolveNamespacePrefix(name.substring(0, index)); return new QName(uri, name.substring(index + 1)); } if (ns.getDefaultNamespaceURI() != null) { return new QName(ns.getDefaultNamespaceURI(), name); } String uri = ns.resolveNamespacePrefix(XMLNS_STR); return new QName(uri, name); }
public QName getSchemaContextAsQName(NamespaceResolver nsResolver) { if (schemaContext == null) { return null; } if (schemaContextAsQName == null) { int idx = schemaContext.lastIndexOf("/"); if (idx == -1) { idx = 0; } String type = schemaContext.substring(idx + 1); idx = type.indexOf(XMLConstants.COLON); if (idx != -1) { String prefix = type.substring(0, idx); String localPart = type.substring(idx + 1); String uri = nsResolver.resolveNamespacePrefix(prefix); schemaContextAsQName = new QName(uri, localPart); } else { if (nsResolver != null && nsResolver.getDefaultNamespaceURI() != null) { schemaContextAsQName = new QName(nsResolver.getDefaultNamespaceURI(), type); } else { schemaContextAsQName = new QName(type); } } } return schemaContextAsQName; }
/** * <p>INTERNAL: * */ protected QName resolveName(String name, NamespaceResolver ns) { if (ns == null) { return null; } if (ANY.equals(name)) { return ANY_QNAME; } int index = name.indexOf(COLON_CHAR); if (index != -1) { String uri = ns.resolveNamespacePrefix(name.substring(0, index)); return new QName(uri, name.substring(index + 1)); } if (ns.getDefaultNamespaceURI() != null) { return new QName(ns.getDefaultNamespaceURI(), name); } String uri = ns.resolveNamespacePrefix(XMLNS_STR); return new QName(uri, name); }
public void addNamespaceDeclarations(Document document) { NamespaceResolver namespaceResolver = getNamespaceResolver(); if (namespaceResolver == null) { return; } Element docElement = document.getDocumentElement(); if(namespaceResolver.getDefaultNamespaceURI() != null) { docElement.setAttributeNS(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI, javax.xml.XMLConstants.XMLNS_ATTRIBUTE, namespaceResolver.getDefaultNamespaceURI()); } Enumeration prefixes = namespaceResolver.getPrefixes(); String prefix; String namespace; while (prefixes.hasMoreElements()) { prefix = (String)prefixes.nextElement(); namespace = namespaceResolver.resolveNamespacePrefix(prefix); docElement.setAttributeNS(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI, javax.xml.XMLConstants.XMLNS_ATTRIBUTE + Constants.COLON + prefix, namespace); } }
public void addNamespaceDeclarations(Document document) { NamespaceResolver namespaceResolver = getNamespaceResolver(); if (namespaceResolver == null) { return; } Element docElement = document.getDocumentElement(); if(namespaceResolver.getDefaultNamespaceURI() != null) { docElement.setAttributeNS(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI, javax.xml.XMLConstants.XMLNS_ATTRIBUTE, namespaceResolver.getDefaultNamespaceURI()); } Enumeration prefixes = namespaceResolver.getPrefixes(); String prefix; String namespace; while (prefixes.hasMoreElements()) { prefix = (String)prefixes.nextElement(); namespace = namespaceResolver.resolveNamespacePrefix(prefix); docElement.setAttributeNS(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI, javax.xml.XMLConstants.XMLNS_ATTRIBUTE + Constants.COLON + prefix, namespace); } }
public void addNamespaceDeclarations(Document document) { NamespaceResolver namespaceResolver = getNamespaceResolver(); if (namespaceResolver == null) { return; } Element docElement = document.getDocumentElement(); if(namespaceResolver.getDefaultNamespaceURI() != null) { docElement.setAttributeNS(XMLConstants.XMLNS_URL, XMLConstants.XMLNS, namespaceResolver.getDefaultNamespaceURI()); } Enumeration prefixes = namespaceResolver.getPrefixes(); String prefix; String namespace; while (prefixes.hasMoreElements()) { prefix = (String)prefixes.nextElement(); namespace = namespaceResolver.resolveNamespacePrefix(prefix); docElement.setAttributeNS(XMLConstants.XMLNS_URL, XMLConstants.XMLNS + XMLConstants.COLON + prefix, namespace); } }
/** * Return a QName representation of a qualified table name (aka default root element). The * given descriptor's namespace resolver will be used to determine the correct prefix - if * any - to be used. * * @param desc * @param qualifiedTableName * @return */ protected QName getDefaultRootElementAsQName(XMLDescriptor desc, String qualifiedTableName) { QName qName = null; int idx = qualifiedTableName.indexOf(XMLConstants.COLON); String localName = qualifiedTableName.substring(idx + 1); NamespaceResolver nsResolver = desc.getNamespaceResolver(); if (nsResolver == null) { qName = new QName(localName); } else if (idx > -1) { String prefix = qualifiedTableName.substring(0, idx); String uri = nsResolver.resolveNamespacePrefix(prefix); qName = new QName(uri, localName); } else { if (nsResolver.getDefaultNamespaceURI() != null) { qName = new QName(nsResolver.getDefaultNamespaceURI(), localName); } else { qName = new QName(localName); } } return qName; }
private void writePrefixMappings() { try { if(null != namespaceResolver) { String defaultNamespace = namespaceResolver.getDefaultNamespaceURI(); if(defaultNamespace != null) { xmlStreamWriter.writeNamespace(XMLConstants.EMPTY_STRING, defaultNamespace); } for(Map.Entry<String, String> entry:this.namespaceResolver.getPrefixesToNamespaces().entrySet()) { xmlStreamWriter.writeNamespace(entry.getKey(), entry.getValue()); } namespaceResolver = null; } if(null != prefixMapping) { for(Map.Entry<String, String> entry:this.prefixMapping.entrySet()) { xmlStreamWriter.writeNamespace(entry.getKey(), entry.getValue()); } prefixMapping = null; } } catch(XMLStreamException e) { throw XMLMarshalException.marshalException(e); } }
private void copyNamespaces(NamespaceResolver source, NamespaceResolver target) { if (null != source && null != target) { target.getPrefixesToNamespaces().putAll(source.getPrefixesToNamespaces()); target.setDefaultNamespaceURI(source.getDefaultNamespaceURI()); } }
private void writePrefixMappings() { if(null != namespaceResolver) { String defaultNamespace = namespaceResolver.getDefaultNamespaceURI(); if(defaultNamespace != null) { XMLEvent namespace = xmlEventFactory.createNamespace(XMLConstants.EMPTY_STRING, defaultNamespace);
/** * INTERNAL: * Add the namespace declarations to the XML document. * @param namespaceResolver The NamespaceResolver contains the namespace * prefix and URI pairings that need to be declared. */ public void namespaceDeclarations(NamespaceResolver namespaceResolver) { if (namespaceResolver == null) { return; } String namespaceURI = namespaceResolver.getDefaultNamespaceURI(); if(null != namespaceURI) { attribute(XMLConstants.XMLNS_URL, XMLConstants.XMLNS, XMLConstants.XMLNS, namespaceURI); } for(Entry<String, String> entry: namespaceResolver.getPrefixesToNamespaces().entrySet()) { String namespacePrefix = entry.getKey(); attribute(XMLConstants.XMLNS_URL, namespacePrefix, XMLConstants.XMLNS + XMLConstants.COLON + namespacePrefix, entry.getValue()); } }
public Object buildFieldValue(Object instance, String fieldName, Session session) { if (null == instance) { return null; } String value = (String) transformationMapping.getAttributeValueFromObject(instance); if(value == null){ return null; } int index = value.lastIndexOf(HASH); if (index > -1) { String namespaceURI = value.substring(0, index); String localName = value.substring(index + 1); String prefix = null; NamespaceResolver namespaceResolver = xPath.getNamespaceResolver(); if(null != namespaceResolver) { prefix = namespaceResolver.resolveNamespaceURI(namespaceURI); if (prefix == null) { if (namespaceURI.equals(namespaceResolver.getDefaultNamespaceURI())) { return localName; } } return prefix + COLON + localName; } return localName; } else { return value; } }
/** * INTERNAL: * Add the namespace declarations to the XML document. * @param namespaceResolver The NamespaceResolver contains the namespace * prefix and URI pairings that need to be declared. */ public void namespaceDeclarations(NamespaceResolver namespaceResolver) { if (namespaceResolver == null) { return; } String namespaceURI = namespaceResolver.getDefaultNamespaceURI(); if(null != namespaceURI) { attribute(XMLConstants.XMLNS_URL, XMLConstants.XMLNS, XMLConstants.XMLNS, namespaceURI); } for(Entry<String, String> entry: namespaceResolver.getPrefixesToNamespaces().entrySet()) { String namespacePrefix = entry.getKey(); attribute(XMLConstants.XMLNS_URL, namespacePrefix, XMLConstants.XMLNS + XMLConstants.COLON + namespacePrefix, entry.getValue()); } }
private void copyNamespaces(NamespaceResolver source, NamespaceResolver target) { if (null != source && null != target) { if(source.hasPrefixesToNamespaces()) { target.getPrefixesToNamespaces().putAll(source.getPrefixesToNamespaces()); } target.setDefaultNamespaceURI(source.getDefaultNamespaceURI()); } } }
/** * INTERNAL: * Return the namespace uri for the prefix of the given local name */ private String resolveNamespace(NamespaceResolver namespaceResolver, String localName) { if(localName == null) { return null; } int colonIndex = localName.indexOf(XMLConstants.COLON); if (colonIndex < 0) { // handle target/default namespace if (namespaceResolver != null) { return namespaceResolver.getDefaultNamespaceURI(); } return null; } else { if (namespaceResolver == null) { //throw an exception if the name has a : in it but the namespaceresolver is null throw XMLMarshalException.namespaceResolverNotSpecified(localName); } String prefix = localName.substring(0, colonIndex); String uri = namespaceResolver.resolveNamespacePrefix(prefix); if (uri == null) { //throw an exception if the prefix is not found in the namespaceresolver throw XMLMarshalException.namespaceNotFound(prefix); } return uri; } }
private void copyNamespaces(NamespaceResolver source, NamespaceResolver target) { if (null != source && null != target) { if(source.hasPrefixesToNamespaces()) { target.getPrefixesToNamespaces().putAll(source.getPrefixesToNamespaces()); } target.setDefaultNamespaceURI(source.getDefaultNamespaceURI()); } } }
private void processDefaultNamespacePreferences(Collection<PackageInfo> packageInfos) { if (isDefaultNamespaceAllowed && globalNamespaceResolver.getDefaultNamespaceURI() == null) { for (PackageInfo packageInfo : packageInfos) { NamespaceResolver resolver = packageInfo.getNamespaceInfo().getNamespaceResolver(); String defaultNS = resolver.getDefaultNamespaceURI(); if (defaultNS != null) { globalNamespaceResolver.setDefaultNamespaceURI(defaultNS); break; } } } }
public NamespaceResolver getNamespaceResolverForDescriptor() { if(this.namespaceResolverForDescriptor == null) { this.namespaceResolverForDescriptor = new NamespaceResolver(); if(this.namespaceResolver.hasPrefixesToNamespaces()) { for(String next:this.namespaceResolver.getPrefixesToNamespaces().keySet()) { this.namespaceResolverForDescriptor.put(next, this.namespaceResolver.resolveNamespacePrefix(next)); } } this.namespaceResolverForDescriptor.setDefaultNamespaceURI(namespaceResolver.getDefaultNamespaceURI()); } return this.namespaceResolverForDescriptor; } }
private void addToDescriptorNamespaceResolver( boolean asDefault, String prefix, String namespace, NamespaceResolver contextResolver) { String contextDefault = contextResolver.getDefaultNamespaceURI(); if (asDefault && (contextDefault == null || contextDefault.equals(namespace))) { this.namespaceResolverForDescriptor.setDefaultNamespaceURI(namespace); contextResolver.setDefaultNamespaceURI(namespace); } else { String newPrefix = prefix == null || contextResolver.hasPrefix(prefix) || namespaceResolverForDescriptor.hasPrefix(prefix) ? getNamespacePrefixForDescriptorNamespaceResolver(namespace, contextResolver) : prefix; this.namespaceResolverForDescriptor.put(newPrefix, namespace); contextResolver.put(newPrefix, namespace); } }
private void initializeXPathFragment(XPathFragment xPathFragment) { String localName = xPathFragment.getLocalName(); if(localName !=null && !localName.equals(XMLConstants.EMPTY_STRING)){ if(null == xPathFragment.getNamespaceURI()) { if(xPathFragment.hasNamespace()) { if(null == namespaceResolver) { throw XMLMarshalException.namespaceNotFound(xPathFragment.getShortName()); } else { String uri = namespaceResolver.resolveNamespacePrefix(xPathFragment.getPrefix()); if(null == uri && null != xPathFragment.getPrefix()) { throw XMLMarshalException.namespaceNotFound(xPathFragment.getShortName()); } xPathFragment.setNamespaceURI(uri); } } else if(!xPathFragment.isAttribute() && null != namespaceResolver) { xPathFragment.setNamespaceURI(namespaceResolver.getDefaultNamespaceURI()); } } } XPathFragment nextXPathFragment = xPathFragment.getNextFragment(); if(null != nextXPathFragment) { initializeXPathFragment(nextXPathFragment); } }