const NameSpaceImpl*  nameSpace = this; do { if (aPrefix == nameSpace->mPrefix) { aNameSpaceID = nameSpace->mID; return NS_OK; } nameSpace = nameSpace->mParent;
NS_ASSERTION(nsnull != gURIToIDTable, "no URI table"); nsStringKey key(aURI); void* value = gURIToIDTable->Get(&key); if (nsnull != value) { return PRInt32(value);
NameSpaceImpl::FindNameSpaceID(nsIAtom* aPrefix, PRInt32& aNameSpaceID) const{  const NameSpaceImpl*  nameSpace = this;  do {    if (aPrefix == nameSpace->mPrefix) {      aNameSpaceID = nameSpace->mID;      return NS_OK;    }    nameSpace = nameSpace->mParent;  }  while (nsnull != nameSpace);  if (nsnull == aPrefix) {    aNameSpaceID = kNameSpaceID_None;  }  else {    aNameSpaceID = kNameSpaceID_Unknown;  }  return NS_ERROR_ILLEGAL_VALUE;}