mNameSpace->FindNameSpaceID(prefix, nameSpaceID);
mNameSpace->FindNameSpaceID(prefix, &nameSpaceID);
PRBool CSSParserImpl::ParseAttr(PRInt32& aErrorCode, nsCSSValue& aValue){  if (ExpectSymbol(aErrorCode, '(', PR_FALSE)) {    if (GetToken(aErrorCode, PR_TRUE)) {      nsAutoString attr;      if (eCSSToken_Ident == mToken.mType) {  // attr name or namespace        nsAutoString  holdIdent(mToken.mIdent);        if (ExpectSymbol(aErrorCode, '|', PR_FALSE)) {  // namespace          PRInt32 nameSpaceID = kNameSpaceID_Unknown;          if (mNameSpace) {            ToLowerCase(holdIdent); // always case insensitive, since stays within CSS            nsCOMPtr<nsIAtom> prefix = do_GetAtom(holdIdent);            mNameSpace->FindNameSpaceID(prefix, nameSpaceID);          } // else, no declared namespaces          if (kNameSpaceID_Unknown == nameSpaceID) {  // unknown prefix, dump it            return PR_FALSE;          }          attr.AppendInt(nameSpaceID, 10);          attr.Append(PRUnichar('|'));          if (! GetToken(aErrorCode, PR_FALSE)) {            return PR_FALSE;          }          if (eCSSToken_Ident == mToken.mType) {            if (mCaseSensitive) {              attr.Append(mToken.mIdent);            } else {              nsAutoString buffer;              ToLowerCase(mToken.mIdent, buffer);              attr.Append(buffer);            }          }          else {            UngetToken();            return PR_FALSE;          }        }        else {  // no namespace          if (mCaseSensitive) {            attr = holdIdent;          }          else {            ToLowerCase(holdIdent, attr);          }        }      }      else if (mToken.IsSymbol('*')) {  // namespace wildcard        if (ExpectSymbol(aErrorCode, '|', PR_FALSE)) {          attr.AppendInt(kNameSpaceID_Unknown, 10);          attr.Append(PRUnichar('|'));          if (! GetToken(aErrorCode, PR_FALSE)) {            return PR_FALSE;          }          if (eCSSToken_Ident == mToken.mType) {            attr.Append(mToken.mIdent);          }          else {            UngetToken();            return PR_FALSE;          }        }        else {          return PR_FALSE;        }      }      else if (mToken.IsSymbol('|')) {  // explicit NO namespace        if (! GetToken(aErrorCode, PR_FALSE)) {          return PR_FALSE;        }        if (eCSSToken_Ident == mToken.mType) {          if (mCaseSensitive) {            attr.Append(mToken.mIdent);          } else {            nsAutoString buffer;            ToLowerCase(mToken.mIdent, buffer);            attr.Append(buffer);          }        }        else {          UngetToken();          return PR_FALSE;        }      }      else {        UngetToken();        return PR_FALSE;      }      if (ExpectSymbol(aErrorCode, ')', PR_TRUE)) {        aValue.SetStringValue(attr, eCSSUnit_Attr);        return PR_TRUE;      }    }  }  return PR_FALSE;}