aResult.AppendWithConversion(':');
aResult.Append(NS_LITERAL_STRING(":"));
nsXULContentUtils::GetAttributeLogString(nsIContent* aElement, PRInt32 aNameSpaceID, nsIAtom* aTag, nsString& aResult){    nsresult rv;    PRInt32 elementNameSpaceID;    rv = aElement->GetNameSpaceID(elementNameSpaceID);    if (NS_FAILED(rv)) return rv;    if ((kNameSpaceID_HTML == elementNameSpaceID) ||        (kNameSpaceID_None == aNameSpaceID)) {        aResult.Truncate();    }    else {        // we may have a namespace prefix on the attribute        nsCOMPtr<nsIXMLContent> xml( do_QueryInterface(aElement) );        NS_ASSERTION(xml != nsnull, "not an XML or HTML element");        if (! xml) return NS_ERROR_UNEXPECTED;        nsCOMPtr<nsINameSpace> ns;        rv = xml->GetContainingNameSpace(*getter_AddRefs(ns));        if (NS_FAILED(rv)) return rv;        nsCOMPtr<nsIAtom> prefix;        rv = ns->FindNameSpacePrefix(aNameSpaceID, *getter_AddRefs(prefix));        if (NS_SUCCEEDED(rv) && (prefix != nsnull)) {            nsAutoString prefixStr;            prefix->ToString(prefixStr);            if (prefixStr.Length()) {                const PRUnichar *unicodeString;                prefix->GetUnicode(&unicodeString);                aResult.Append(unicodeString);                aResult.AppendWithConversion(':');            }        }    }    const PRUnichar *unicodeString;    aTag->GetUnicode(&unicodeString);    aResult.Append(unicodeString);    return NS_OK;}