/** * Add mapping from namespace URI to prefix. In the case where multiple prefixes are used with a * single URI, this will preserve the last non-empty prefix for that URI. * * @param ns namespace definition * @param dfltns flag for default namespace used in binding * @param nsmap map from namespace URIs to prefixes * @return flag for default namespace used in binding */ private boolean mapNamespace(NamespaceElement ns, boolean dfltns, Map nsmap) { String prefix = ns.getPrefix(); if (prefix == null) { prefix = ""; } String prior = (String)nsmap.get(ns.getUri()); if (prior != null) { if (prefix.length() == 0) { return dfltns; } else if (prior.length() == 0) { dfltns = false; } } nsmap.put(ns.getUri(), prefix); return dfltns || prefix.length() == 0; }
/** * Find the default namespace within a list of JiBX binding model elements possibly including * namespace definitions. Once a non-namespace definition element is seen in the list, this just * returns (since the namespace definitions always come first in JiBX's binding format). * * @param iter iterator for elements in list * @param dns default namespace if not overridden * @return default namespace */ private static String findDefaultNS(Iterator iter, String dns) { while (iter.hasNext()) { ElementBase child = (ElementBase)iter.next(); if (child.type() == ElementBase.NAMESPACE_ELEMENT) { NamespaceElement namespace = (NamespaceElement)child; String defaultName = namespace.getDefaultName(); if ("elements".equals(defaultName) || "all".equals(defaultName)) { return namespace.getUri(); } } else { break; } } return dns; }
public boolean visit(MappingElement mapping) { org.jibx.runtime.QName qname = mapping.getTypeQName(); if (qname != null) { types.put(qname, mapping); } String name = mapping.getName(); if (name != null) { NamespaceElement ns = mapping.getNamespace(); if (ns == null) { qname = new org.jibx.runtime.QName(holder.getElementDefaultNamespace(), name); } else { qname = new org.jibx.runtime.QName(mapping.getNamespace().getUri(), name); } elems.put(qname, mapping); } return false; } };
if (((NamespaceElement)child).getPrefix() == null) { return true;
QName qname = new QName(mapping.getNamespace().getUri(), mapping.getName()); elemmap.put(cname, qname); if (s_logger.isDebugEnabled()) {
/** * Add mapping from namespace URI to prefix. In the case where multiple prefixes are used with a * single URI, this will preserve the last non-empty prefix for that URI. * * @param ns namespace definition * @param dfltns flag for default namespace used in binding * @param nsmap map from namespace URIs to prefixes * @return flag for default namespace used in binding */ private boolean mapNamespace(NamespaceElement ns, boolean dfltns, Map nsmap) { String prefix = ns.getPrefix(); if (prefix == null) { prefix = ""; } String prior = (String)nsmap.get(ns.getUri()); if (prior != null) { if (prefix.length() == 0) { return dfltns; } else if (prior.length() == 0) { dfltns = false; } } nsmap.put(ns.getUri(), prefix); return dfltns || prefix.length() == 0; }
/** * Find the default namespace within a list of JiBX binding model elements possibly including * namespace definitions. Once a non-namespace definition element is seen in the list, this just * returns (since the namespace definitions always come first in JiBX's binding format). * * @param iter iterator for elements in list * @param dns default namespace if not overridden * @return default namespace */ private static String findDefaultNS(Iterator iter, String dns) { while (iter.hasNext()) { ElementBase child = (ElementBase)iter.next(); if (child.type() == ElementBase.NAMESPACE_ELEMENT) { NamespaceElement namespace = (NamespaceElement)child; String defaultName = namespace.getDefaultName(); if ("elements".equals(defaultName) || "all".equals(defaultName)) { return namespace.getUri(); } } else { break; } } return dns; }
QName qname = new QName(mapping.getNamespace().getUri(), mapping.getName()); elemmap.put(qname, data); if (s_logger.isDebugEnabled()) {
NamespaceElement dfltns = map.getDefinitions().getElementDefaultNamespace(); if (dfltns != null) { tname = new QName(dfltns.getUri(), custom.getTypeQName().getName()); } else { tname = custom.getTypeQName(); oname = custom.getElementQName(); } else { oname = new QName(map.getNamespace().getUri(), name);