nsBookmarksService::WriteBookmarkProperties(nsIRDFDataSource *ds, nsOutputFileStream strm,
nsBookmarksService::WriteBookmarkProperties(nsIRDFDataSource *ds, nsOutputFileStream& strm,
nsBookmarksService::WriteBookmarkProperties(nsIRDFDataSource *ds, nsOutputFileStream strm,	nsIRDFResource *child, nsIRDFResource *property, const char *htmlAttrib, PRBool isFirst){	nsresult		rv;	nsCOMPtr<nsIRDFNode>	node;	if (NS_SUCCEEDED(rv = ds->GetTarget(child, property, PR_TRUE, getter_AddRefs(node)))		&& (rv != NS_RDF_NO_VALUE))	{		nsAutoString	literalString;		if (NS_SUCCEEDED(rv = GetTextForNode(node, literalString)))		{			char		*attribute = literalString.ToNewUTF8String();			if (nsnull != attribute)			{				if (isFirst == PR_FALSE)				{					strm << " ";				}				if (property == kNC_Description)				{					if (literalString.Length() > 0)					{						char *escapedAttrib = nsEscapeHTML(attribute);						if (escapedAttrib)						{							strm << htmlAttrib;							strm << escapedAttrib;							strm << "\n";							nsCRT::free(escapedAttrib);							escapedAttrib = nsnull;						}					}				}				else				{					strm << htmlAttrib;					strm << attribute;					strm << "\"";				}				nsCRT::free(attribute);				attribute = nsnull;			}		}	}	return(rv);}