code: protected void handleDeferredStartElement(EXIBodyDecoder decoder,
  			QNameContext deferredStartElement, final AttributesImpl attributes)
  			throws SAXException, IOException, EXIException {
  
  		if (namespaces) {
  			List<NamespaceDeclaration> prefixes = decoder
  					.getDeclaredPrefixDeclarations();
  			if (prefixes != null) {
  				for (int i = 0; i < prefixes.size(); i++) {
  					NamespaceDeclaration ns = prefixes.get(i);
  					contentHandler.startPrefixMapping(ns.prefix,
  							ns.namespaceURI);
  				}
  			}
  		}
  
  		/*
  		 * the qualified name is required when the namespace-prefixes property
  		 * is true, and is optional when the namespace-prefixes property is
  		 * false (the default).
  		 */
  		// String seQNameAsString = Constants.EMPTY_STRING;
  		// if (namespacePrefixes) {
  		// seQNameAsString = decoder.getElementQNameAsString();
  		// }
  		/*
  		 * Note: it looks like widely used APIs (Xerces, Saxon, ..) provide the
  		 * textual qname even when
  		 * http://xml.org/sax/features/namespace-prefixes is set to false
  		 * http:// sourceforge.net/projects/exificient/forums/forum/856596/topic
  		 * /5839494
  		 */
  		String seQNameAsString = decoder.getElementQNameAsString();
  
  		// start so far deferred start element
  		contentHandler.startElement(deferredStartElement.getNamespaceUri(),
  				deferredStartElement.getLocalName(), seQNameAsString,
  				attributes);
  
  		// clear AT information
  		attributes.clear();
  	}
docs: /*
  SAX Content Handler