/** Get the prefix for a given namespaceURI */ public String getPrefix(String namespaceURI) { return namespaces.getPrefix(namespaceURI); }
/** Get the prefix for the target namespace */ public String getTargetPrefix() { return namespaces.getPrefix(targetNamespace); }
public String getPrefix(String ns) { String prefix = nsRegistry.getPrefix(ns); if(prefix == null && Constants.NS_XML_NAMESPACE.equals(ns)) { prefix = "xml"; } return prefix; }
private String registerNamespace(String ns) { String prefix = namespaceRegistry.getPrefix(ns); if (prefix != null) return prefix; // XML Namespace MUST ALWAYS BE the "xml" prefix if (Constants.NS_XML.equals(ns)) prefix = Constants.PREFIX_XML; return namespaceRegistry.registerURI(ns, prefix); }
/** Unregister the given namespaceURI/prefix combination */ public void unRegisterNamespaceURI(String namespaceURI, String prefix) { String pre = namespaces.getPrefix(namespaceURI); if(pre != null && pre.equals(prefix)) namespaces.removePrefixMapping(prefix); } }
/** * If there is a type being used from a different namespace, a custom * prefix will be needed * @param nsuri * @return New Prefix */ public String allocatePrefix(String nsURI) { String prefix = namespaces.getPrefix(nsURI); return (prefix == null) ? namespaces.registerURI(nsURI, null) : prefix; }
protected void declareNs(AttributesImpl attrs) { for(Iterator i = nsRegistry.getRegisteredURIs(); i.hasNext();) { String uri = (String)i.next(); String prefix = nsRegistry.getPrefix(uri); declareNs(attrs, prefix, uri); } }
/** Register a QName and return a QName that is guarantied to have a prefix */ public QName registerQName(QName qname) { if (qname == null) return null; String nsURI = qname.getNamespaceURI(); String prefix = getPrefix(nsURI); if (prefix == null) { prefix = qname.getPrefix(); if (prefix.length() == 0) prefix = registerURI(nsURI, null); else prefix = registerURI(nsURI, prefix); } qname = new QName(nsURI, qname.getLocalPart(), prefix); return qname; }
private String getPrefix(String namespace) { if (namespaceRegistry == null) throw MESSAGES.illegalNullArgument(namespaceRegistry); if (namespace == null) throw MESSAGES.illegalNullArgument("namespace"); // XML Namespace can only legally be assigned the XML prefix if (namespace.equals(Constants.NS_XML)) return Constants.PREFIX_XML; if (namespace.equals(targetNamespace)) return Constants.PREFIX_TNS; if (namespace.equals(Constants.URI_SOAP11_ENC)) return Constants.PREFIX_SOAP11_ENC; if (namespace.equals(Constants.NS_SCHEMA_XSI)) return Constants.PREFIX_XSI; String prefix = namespaceRegistry.getPrefix(namespace); // Assume target namespace return (prefix == null) ? Constants.PREFIX_TNS : prefix; } }
/** Register the given namespaceURI/prefix combination */ public String registerNamespaceURI(String nsURI, String prefix) { if (Constants.NS_XML.equalsIgnoreCase(nsURI)) { //"http://www.w3.org/XML/1998/namespace" is always bound to "xml" prefix //and does not need to be registered. return Constants.PREFIX_XML; } else if (Constants.PREFIX_XML.equalsIgnoreCase(prefix)) { throw MESSAGES.prefixCannotBeBoundTryingBindingTo(Constants.PREFIX_XML, nsURI); } String pre = namespaces.getPrefix(nsURI); if (pre == null || 0 == pre.length()) { pre = namespaces.registerURI(nsURI, prefix); log.trace("registerNamespaceURI: " + pre + '=' + nsURI); } return pre; }
String prefix = nsRegistry.getPrefix(nsURI); if (namespaces.get(nsURI) == null || !prefix.equals(namespaces.get(nsURI)))
/** * Adds xsi:type attribute and optionally declares namespaces for xsi and type's namespace. * * @param typeQName the type to declare xsi:type attribute for * @param attrs the attributes to add xsi:type attribute to * @return prefix for the type's ns if it was generated */ protected String declareXsiType(QName typeQName, AttributesImpl attrs) { String result = null; String xsiPrefix = nsRegistry.getPrefix(Constants.NS_XML_SCHEMA_INSTANCE); if(xsiPrefix == null) { declareNs(attrs, "xsi", Constants.NS_XML_SCHEMA_INSTANCE); xsiPrefix = "xsi"; } String pref = getPrefix(typeQName.getNamespaceURI()); if(pref == null) { // the ns is not declared result = pref = typeQName.getLocalPart() + "_ns"; } String qName = prefixLocalName(pref, typeQName.getLocalPart()); attrs.add(Constants.NS_XML_SCHEMA_INSTANCE, "type", xsiPrefix + ":type", "CDATA", qName); return result; }
if(qNameValue.getNamespaceURI() != null && qNameValue.getNamespaceURI().length() > 0) prefix = nsRegistry.getPrefix(qNameValue.getNamespaceURI()); if(prefix == null)
if(qName.getNamespaceURI() != null && qName.getNamespaceURI().length() > 0) prefix = nsRegistry.getPrefix(qName.getNamespaceURI()); if(prefix == null)
/** * Adds xsi:type attribute and optionally declares namespaces for xsi and type's namespace. * @param type the type to declare xsi:type attribute for * @param attrs the attributes to add xsi:type attribute to * @return prefix for the type's ns if it was generated */ private String declareXsiType(XSTypeDefinition type, AttributesImpl attrs) { String result = null; String xsiPrefix = nsRegistry.getPrefix(Constants.NS_XML_SCHEMA_INSTANCE); if(xsiPrefix == null) { attrs.add(Constants.NS_XML_SCHEMA, "xmlns", "xmlns:xsi", null, Constants.NS_XML_SCHEMA_INSTANCE); xsiPrefix = "xsi"; } String pref = getPrefix(type.getNamespace()); if(pref == null) { // the ns is not declared result = pref = type.getName() + "_ns"; } String typeQName = pref == null ? type.getName() : pref + ':' + type.getName(); attrs.add(Constants.NS_XML_SCHEMA_INSTANCE, "type", xsiPrefix + ":type", null, typeQName); return result; }