code: protected String patchName(String qname)
      {
  
          
          final int lastColon = qname.lastIndexOf(':');
  
          if (lastColon > 0) {
              final int firstColon = qname.indexOf(':');
              final String prefix = qname.substring(0, firstColon);
              final String localName = qname.substring(lastColon + 1);
  
          // If uri is "" then ignore prefix
              final String uri = m_prefixMap.lookupNamespace(prefix);
              if (uri != null && uri.length() == 0) {
                  return localName;
              }
              else if (firstColon != lastColon) {
                  return prefix + ':' + localName;
              }
          }
          return qname;        
      }
docs: If at runtime, when the qname of the attribute is
  known, another prefix is specified for the attribute, then we can
  patch or hack the name with this method. For
  a qname of the form "ns?:otherprefix:name", this function patches the
  qname by simply ignoring "otherprefix".
  TODO: This method is a HACK! We do not have access to the
  XML file, it sometimes generates a NS prefix of the form "ns?" for
  an attribute.