PushNameSpacesFrom(aAtts);
nsresult rv = NS_ERROR_UNEXPECTED;
RDFContentSinkImpl::HandleStartElement(const PRUnichar *aName,                                        const PRUnichar **aAtts,                                        PRUint32 aAttsCount,                                        PRUint32 aIndex,                                        PRUint32 aLineNumber){  FlushText();  // We must register namespace declarations found in the attribute  // list of an element before creating the element. This is because  // the namespace prefix for an element might be declared within  // the attribute list.  PushNameSpacesFrom(aAtts);  nsresult rv;  switch (mState) {  case eRDFContentSinkState_InProlog:      rv = OpenRDF(aName);      break;  case eRDFContentSinkState_InDocumentElement:      rv = OpenObject(aName,aAtts);      break;  case eRDFContentSinkState_InDescriptionElement:      rv = OpenProperty(aName,aAtts);      break;  case eRDFContentSinkState_InContainerElement:      rv = OpenMember(aName,aAtts);      break;  case eRDFContentSinkState_InPropertyElement:  case eRDFContentSinkState_InMemberElement:      rv = OpenValue(aName,aAtts);      break;  case eRDFContentSinkState_InEpilog:      PR_LOG(gLog, PR_LOG_ALWAYS,             ("rdfxml: unexpected content in epilog at line %d",              aLineNumber));      rv = NS_ERROR_UNEXPECTED; // XXX      break;  }  return rv;}