const nsString& value = aNode.GetValueAt(aIndex); aResult.Truncate(); aResult.Append(value); aResult.Trim("\b\r\t\n",PR_TRUE,PR_TRUE,PR_TRUE);
const nsString& value = aNode.GetValueAt(aIndex); nsAString::const_iterator iter, end_iter; value.BeginReading(iter); value.EndReading(end_iter); PRUnichar the_char;   while ((iter != end_iter) && (((the_char = *iter) == '\n') || (the_char == '\t') || (the_char == '\r') || (the_char == '\b'))) ++iter;  if (iter == end_iter) {  aResult.Truncate(); return; }  --end_iter;     while (((the_char = *end_iter)== '\n') || (the_char == '\t') || (the_char == '\r') || (the_char == '\b')) --end_iter;   aResult = Substring(iter, ++end_iter);
HTMLContentSink::GetAttributeValueAt(const nsIParserNode& aNode,                                     PRInt32 aIndex,                                     nsString& aResult){  // Copy value  const nsString& value = aNode.GetValueAt(aIndex);   aResult.Truncate();  aResult.Append(value);  aResult.Trim("\b\r\t\n",PR_TRUE,PR_TRUE,PR_TRUE);}