if (aAttributeValue.Length() == 3 && aAttributeValue[0] == PRUnichar('.') && aAttributeValue[1] == PRUnichar('.') && aAttributeValue[2] == PRUnichar('.')) {
if (aAttributeValue == NS_LITERAL_STRING("...")) {
nsXULTemplateBuilder::SubstituteText(Match& aMatch,                                     const nsAReadableString& aAttributeValue,                                     nsString& aResult){    // See if it's the special value "..."    if (aAttributeValue.Length() == 3        && aAttributeValue[0] == PRUnichar('.')        && aAttributeValue[1] == PRUnichar('.')        && aAttributeValue[2] == PRUnichar('.')) {        Value memberval;        aMatch.GetAssignmentFor(mConflictSet, mMemberVar, &memberval);        nsIRDFResource* member = VALUE_TO_IRDFRESOURCE(memberval);        NS_ASSERTION(member != nsnull, "no member!");        if (! member)            return NS_ERROR_UNEXPECTED;        const char *uri = nsnull;        member->GetValueConst(&uri);        aResult = NS_ConvertUTF8toUCS2(uri);        return NS_OK;    }    // Reasonable guess at how big it should be    aResult.SetCapacity(aAttributeValue.Length());    SubstituteTextClosure closure(aMatch, aResult);    ParseAttribute(aAttributeValue,                   SubstituteTextReplaceVariable,                   SubstituteTextAppendText,                   &closure);    return NS_OK;}