public void startElement(QName element,XMLAttributes attributes,Augmentations augs) throws XNIException {
  try {
    if (fDocumentHandler != null) {
      fAttributesProxy.setAttributes(attributes);
      fDocumentHandler.startElement(element.rawname,fAttributesProxy);
    }
    if (fContentHandler != null) {
      if (fNamespaces) {
        startNamespaceMapping();
        int len=attributes.getLength();
        if (!fNamespacePrefixes) {
          for (int i=len - 1; i >= 0; --i) {
            attributes.getName(i,fQName);
            if ((fQName.prefix == XMLSymbols.PREFIX_XMLNS) || (fQName.rawname == XMLSymbols.PREFIX_XMLNS)) {
              attributes.removeAttributeAt(i);
            }
          }
        }
 else         if (!fXMLNSURIs) {
          for (int i=len - 1; i >= 0; --i) {
            attributes.getName(i,fQName);
            if ((fQName.prefix == XMLSymbols.PREFIX_XMLNS) || (fQName.rawname == XMLSymbols.PREFIX_XMLNS)) {
              fQName.prefix="";
              fQName.uri="";
              fQName.localpart="";
              attributes.setName(i,fQName);
            }
          }
        }
      }
      fAugmentations=augs;
      String uri=element.uri != null ? element.uri : "";
      String localpart=fNamespaces ? element.localpart : "";
      fAttributesProxy.setAttributes(attributes);
      fContentHandler.startElement(uri,localpart,element.rawname,fAttributesProxy);
    }
  }
 catch (  SAXException e) {
    throw new XNIException(e);
  }
}

public void startElement ( QName element , XMLAttributes attributes , Augmentations augs ) throws XNIException { try { if ( fDocumentHandler != null ) { fAttributesProxy . setAttributes ( attributes ) ; fDocumentHandler . startElement ( element . rawname , fAttributesProxy ) ; } if ( fContentHandler != null ) { if ( fNamespaces ) { startNamespaceMapping ( ) ; int len = attributes . getLength ( ) ; if ( ! fNamespacePrefixes ) { for ( int i = len - 1 ; i >= 0 ; -- i ) { attributes . getName ( i , fQName ) ; if ( ( fQName . prefix == XMLSymbols . PREFIX_XMLNS ) || ( fQName . rawname == XMLSymbols . PREFIX_XMLNS ) ) { attributes . removeAttributeAt ( i ) ; } } } else if ( ! fXMLNSURIs ) { for ( int i = len - 1 ; i >= 0 ; -- i ) { attributes . getName ( i , fQName ) ; if ( ( fQName . prefix == XMLSymbols . PREFIX_XMLNS ) || ( fQName . rawname == XMLSymbols . PREFIX_XMLNS ) ) { fQName . prefix = "" ; fQName . uri = "" ; fQName . localpart = "" ; attributes . setName ( i , fQName ) ; } } } } fAugmentations = augs ; String uri = element . uri != null ? element . uri : "" ; String localpart = fNamespaces ? element . localpart : "" ; fAttributesProxy . setAttributes ( attributes ) ; fContentHandler . startElement ( uri , localpart , element . rawname , fAttributesProxy ) ; } } catch ( SAXException e ) { throw new XNIException ( e ) ; } }
the start of an element . if the document specifies the start element by using an empty tag , then the startelement method will immediately be followed by the endelement method , with no intervening methods .
