public void setAttributesMap(Map attributesMap) { this.attributesMap = attributesMap; Iterator iter = attributesMap.keySet().iterator(); while (iter.hasNext()) { QName key = (QName)iter.next(); if (key.getNamespaceURI().equals(XMLConstants.XMLNS_URL)) { String value = (String)attributesMap.get(key); String prefix = key.getLocalPart(); int index = prefix.indexOf(':'); if (index > -1) { prefix = prefix.substring(index + 1, prefix.length()); } namespaceResolver.put(prefix, value); } } }
public void setAttributesMap(Map attributesMap) { this.attributesMap = attributesMap; Iterator<Entry> iter = attributesMap.entrySet().iterator(); while (iter.hasNext()) { Entry nextEntry = iter.next(); QName key = (QName)nextEntry.getKey(); if (key.getNamespaceURI().equals(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI)) { String value = (String)nextEntry.getValue(); String prefix = key.getLocalPart(); int index = prefix.indexOf(':'); if (index > -1) { prefix = prefix.substring(index + 1, prefix.length()); } namespaceResolver.put(prefix, value); } } }
public void setAttributesMap(Map attributesMap) { this.attributesMap = attributesMap; Iterator<Entry> iter = attributesMap.entrySet().iterator(); while (iter.hasNext()) { Entry nextEntry = iter.next(); QName key = (QName)nextEntry.getKey(); if (key.getNamespaceURI().equals(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI)) { String value = (String)nextEntry.getValue(); String prefix = key.getLocalPart(); int index = prefix.indexOf(':'); if (index > -1) { prefix = prefix.substring(index + 1, prefix.length()); } namespaceResolver.put(prefix, value); } } }
import java.io.File; import javax.xml.bind.*; import org.eclipse.persistence.jaxb.JAXBHelper; import org.eclipse.persistence.oxm.NamespaceResolver; import org.opentravel.ota._2003._05.*; public class Demo { public static void main(String[] args) throws Exception { JAXBContext jc = JAXBContext.newInstance("org.opentravel.ota._2003._05", ObjectFactory.class.getClassLoader(), null); Unmarshaller unmarshaller = jc.createUnmarshaller(); File xml = new File("input.xml"); OTAHotelInvCountNotifRQ rq = (OTAHotelInvCountNotifRQ) unmarshaller.unmarshal(xml); NamespaceResolver nsResolver = new NamespaceResolver(); nsResolver.put("ns", "http://www.opentravel.org/OTA/2003/05"); InvCountType inventories = JAXBHelper.getJAXBContext(jc).getValueByXPath(rq, "ns:Inventories", nsResolver, InvCountType.class); System.out.println(inventories); } }
private boolean addNextNamespaceResolver(Map attributesMap) { NamespaceResolver nr = new NamespaceResolver(); Iterator iter = attributesMap.keySet().iterator(); while (iter.hasNext()) { QName key = (QName) iter.next(); if (key.getNamespaceURI().equals(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI)) { String value = (String) attributesMap.get(key); String prefix = key.getLocalPart(); int index = prefix.indexOf(':'); if (index > -1) { prefix = prefix.substring(index + 1, prefix.length()); } nr.put(prefix, value); } } if (nr.getPrefixes().hasMoreElements()) { namespaceResolvers.add(nr); return true; } return false; }
private boolean addNextNamespaceResolver(Map attributesMap) { NamespaceResolver nr = new NamespaceResolver(); Iterator iter = attributesMap.keySet().iterator(); while (iter.hasNext()) { QName key = (QName) iter.next(); if (key.getNamespaceURI().equals(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI)) { String value = (String) attributesMap.get(key); String prefix = key.getLocalPart(); int index = prefix.indexOf(':'); if (index > -1) { prefix = prefix.substring(index + 1, prefix.length()); } nr.put(prefix, value); } } if (nr.getPrefixes().hasMoreElements()) { namespaceResolvers.add(nr); return true; } return false; }
/** * Handle XMLNS prefixed attribute such that they are not written out * during the content handler's attribute event. * * @param prefix * @param localName * @param value */ protected void handleXMLNSPrefixedAttribute(Element elem, Attr attr) { String uri = resolveNamespacePrefix(elem.getPrefix()); if (uri == null || !uri.equals(attr.getLocalName())) { NamespaceResolver tmpresolver = getTempResolver(elem); tmpresolver.put(attr.getLocalName(), attr.getValue()); if (!nsresolverList.contains(tmpresolver)) { nsresolverList.add(tmpresolver); } } }
/** * Handle prefixed attribute - may need to declare the namespace * URI locally. * */ protected void handlePrefixedAttribute(Element elem) throws SAXException { // Need to determine if the URI for the prefix needs to be // declared locally: // If the prefix or URI are not in the resolver, or the URI // associated with the prefix (in the resolver) is different // than node's URI, write out the node's URI locally String prefix = elem.getPrefix(); String uri = resolveNamespacePrefix(prefix); if (uri == null || !uri.equals(elem.getNamespaceURI())) { NamespaceResolver tmpresolver = getTempResolver(elem); tmpresolver.put(prefix, elem.getNamespaceURI()); if (!nsresolverList.contains(tmpresolver)) { nsresolverList.add(tmpresolver); } getContentHandler().startPrefixMapping(prefix, elem.getNamespaceURI()); } }
public void initializeNamespaceMaps() { //When the transformation record is created, initialize the namespace resolver //to contain the namespaces from the current state of the owning record. //Start at the root and work down. UnmarshalNamespaceResolver unmarshalNamespaceResolver = owningRecord.getUnmarshalNamespaceResolver(); for(String prefix : unmarshalNamespaceResolver.getPrefixes()) { resolver.put(prefix, unmarshalNamespaceResolver.getNamespaceURI(prefix)); } } }
/** * INTERNAL: * Return the prefix for the given uri, or generate a new one if necessary */ public String getPrefix(String uri) { if (uri == null) { return null; } NamespaceResolver nr = getNamespaceResolver(); String existingPrefixForUri = nr.resolveNamespaceURI(uri); if ((existingPrefixForUri == null) || existingPrefixForUri.equals("")) { //doesn't exist so generate one //String newPrefix = nr.generatePrefix(); String newPrefix = generatePrefix(uri); nr.put(newPrefix, uri); return newPrefix; } else { //exists so return return existingPrefixForUri; } }
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); } }
/** * Adds each namespace in the given resolver to the schema. * * @param nr * @param workingSchema */ protected void addNamespacesToWorkingSchema(NamespaceResolver nr, Schema workingSchema) { if (nr != null) { Vector<Namespace> descNamespaces = nr.getNamespaces(); for (Namespace nextNamespace : descNamespaces) { workingSchema.getNamespaceResolver().put(nextNamespace.getPrefix(), nextNamespace.getNamespaceURI()); } } }
/** * Adds each namespace in the given resolver to the schema. * * @param nr * @param workingSchema */ protected void addNamespacesToWorkingSchema(NamespaceResolver nr, Schema workingSchema) { if (nr != null) { Vector<Namespace> descNamespaces = nr.getNamespaces(); for (Namespace nextNamespace : descNamespaces) { workingSchema.getNamespaceResolver().put(nextNamespace.getPrefix(), nextNamespace.getNamespaceURI()); } } }
/** * Adds each namespace in the given resolver to the schema. * * @param nr * @param workingSchema */ protected void addNamespacesToWorkingSchema(NamespaceResolver nr, Schema workingSchema) { if (nr != null) { Vector<Namespace> descNamespaces = nr.getNamespaces(); for (Namespace nextNamespace : descNamespaces) { workingSchema.getNamespaceResolver().put(nextNamespace.getPrefix(), nextNamespace.getNamespaceURI()); } } }
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; } }
/** * <p>INTERNAL: * */ public void loadXMLSchema(InputStream xrSchemaStream) { SchemaModelProject schemaProject = new SchemaModelProject(); XMLContext xmlContext = new XMLContext(schemaProject); XMLUnmarshaller unmarshaller = xmlContext.createUnmarshaller(); Schema schema = (Schema)unmarshaller.unmarshal(xrSchemaStream); NamespaceResolver nr = schema.getNamespaceResolver(); String targetNamespace = schema.getTargetNamespace(); nr.put(TARGET_NAMESPACE_PREFIX, targetNamespace); xrService.schema = schema; xrService.schemaNamespace = targetNamespace; }
public Map<String, SchemaTypeInfo> generateSchemaFiles(String schemaPath, Map<QName, Type> additionalGlobalElements) throws FileNotFoundException { // process any additional global elements processAdditionalElements(additionalGlobalElements, annotationsProcessor); schemaGenerator.generateSchema(annotationsProcessor.getTypeInfoClasses(), annotationsProcessor.getTypeInfos(), annotationsProcessor.getUserDefinedSchemaTypes(), annotationsProcessor.getPackageToPackageInfoMappings(), annotationsProcessor.getGlobalElements(), annotationsProcessor.getArrayClassesToGeneratedClasses()); CoreProject proj = new SchemaModelProject(); XMLContext context = new XMLContext((Project)proj); XMLMarshaller marshaller = context.createMarshaller(); Descriptor schemaDescriptor = (Descriptor)proj.getDescriptor(Schema.class); java.util.Collection<Schema> schemas = schemaGenerator.getAllSchemas(); for(Schema schema : schemas) { File file = new File(schemaPath + "/" + schema.getName()); NamespaceResolver schemaNamespaces = schema.getNamespaceResolver(); schemaNamespaces.put(Constants.SCHEMA_PREFIX, XMLConstants.W3C_XML_SCHEMA_NS_URI); schemaDescriptor.setNamespaceResolver(schemaNamespaces); marshaller.marshal(schema, new FileOutputStream(file)); } return schemaGenerator.getSchemaTypeInfo(); }
public Map<String, SchemaTypeInfo> generateSchemaFiles(String schemaPath, Map<QName, Type> additionalGlobalElements) throws FileNotFoundException { // process any additional global elements processAdditionalElements(additionalGlobalElements, annotationsProcessor); schemaGenerator.generateSchema(annotationsProcessor.getTypeInfoClasses(), annotationsProcessor.getTypeInfos(), annotationsProcessor.getUserDefinedSchemaTypes(), annotationsProcessor.getPackageToPackageInfoMappings(), annotationsProcessor.getGlobalElements(), annotationsProcessor.getArrayClassesToGeneratedClasses()); CoreProject proj = new SchemaModelProject(); XMLContext context = new XMLContext((Project)proj); XMLMarshaller marshaller = context.createMarshaller(); Descriptor schemaDescriptor = (Descriptor)proj.getDescriptor(Schema.class); java.util.Collection<Schema> schemas = schemaGenerator.getAllSchemas(); for(Schema schema : schemas) { File file = new File(schemaPath + "/" + schema.getName()); NamespaceResolver schemaNamespaces = schema.getNamespaceResolver(); schemaNamespaces.put(Constants.SCHEMA_PREFIX, XMLConstants.W3C_XML_SCHEMA_NS_URI); schemaDescriptor.setNamespaceResolver(schemaNamespaces); marshaller.marshal(schema, new FileOutputStream(file)); } return schemaGenerator.getSchemaTypeInfo(); }