nsAutoString attrStr = aText;
nsAutoString attrStr(aText);
XULContentSinkImpl::ParseAttributeString(const nsString& aText, nsIAtom*& aAttr, PRInt32& aNameSpaceID){    nsresult rv;    // Split the attribute into prefix and tag substrings.    nsAutoString prefixStr;    nsAutoString attrStr = aText;    PRInt32 nsoffset = attrStr.FindChar(kNameSpaceSeparator);    if (nsoffset >= 0) {        attrStr.Left(prefixStr, nsoffset);        attrStr.Cut(0, nsoffset + 1);    }    nsCOMPtr<nsIAtom> prefix;    if (prefixStr.Length() > 0) {        prefix = dont_AddRef( NS_NewAtom(prefixStr) );        nsCOMPtr<nsINameSpace> ns;        rv = GetTopNameSpace(&ns);        if (NS_FAILED(rv)) return rv;        rv = ns->FindNameSpaceID(prefix, aNameSpaceID);        if (NS_FAILED(rv)) return rv;    }    else {        aNameSpaceID = kNameSpaceID_None;    }    aAttr = NS_NewAtom(attrStr);    if (! aAttr)        return NS_ERROR_OUT_OF_MEMORY;    return NS_OK;}