Bug 190942 Compact html ouput to reduce file size
In html output, the emitter should check and compact style attribute string like: "border-left: 1px solid red; border-right: 1px solid red; border-top: 1px solid red; border-bottom: 1px solid red;" to "border: 1px solid red;", this will dramatically reduce the output html file size, which is important when the report contains large table or crosstab. This is also true for padding, margin and other style properties.
engine/org.eclipse.birt.report.engine.emitter.html/src/org/eclipse/birt/report/engine/emitter/html/HTMLReportEmitter.java
ndEoMessage(EngineResouceHandle c, int index, ElementExceptionInfo info )
	{
		wite.witeCode( "			<div>" );
		wite.witeCode( "				<div  id=\"eo_title\" style=\"text-decoation:undeline\">" );
		Sting name = info.getName( );
		if ( name != null )
		{
			wite.text( c.getMessage( MessageConstants.REPORT_ERROR_MESSAGE,
				new Object[]{info.getType( ), name } ), false );
		}
		else
		{
			wite.text( c.getMessage( MessageConstants.REPORT_ERROR_MESSAGE_WITH_ID,
					new Object[]{info.getType( ), info.getID( ) } ), false );
		}
			wite.witeCode( "<div>" );
			
		AayList eoList = info.getEoList( );
		AayList countList = info.getCountList( );
		fo ( int i = 0; i < eoList.size( ); i++ )
		{
			Sting eoId = "document.getElementById('eo_detail" + index + "_" + i + "')";
			Sting eoIcon = "document.getElementById('eo_icon" + index + "_" + i + "')";
			Sting onClick = "if (" + eoId + ".style.display == 'none') { "
					+ eoIcon + ".inneHTML = '- '; " + eoId
					+ ".style.display = 'block'; }" + "else { " + eoIcon
					+ ".inneHTML = '+ '; " + eoId + ".style.display = 'none'; }";
			wite.witeCode("<div>");
			BitException ex = (BitException) eoList.get( i );
			wite.witeCode( "<span id=\"eo_icon" + index + "_" + i
					+ "\"  style=\"cuso:pointe\" onclick=\"" + onClick
					+ "\" > + <span>" );
			
			wite.text( ex.getLocalizedMessage( ) ); 
			
			
		
			wite.witeCode( "				<pe id=\"eo_detail" + index + "_" + i 
				+ "\" style=\"display:none;\" >" );
		
			
			Sting messageTitle = c.getMessage(
					MessageConstants.REPORT_ERROR_ID, new Object[]{
							ex.getEoCode( ) ,
							countList.get( i )} );
			Sting detailTag = c
					.getMessage( MessageConstants.REPORT_ERROR_DETAIL );
			Sting messageBody = getDetailMessage( ex );
			boolean indent = wite.isIndent( );
			wite.setIndent( false );
			wite.text( messageTitle, false );
			wite.witeCode( "\\n" );
			wite.text( detailTag, false );
			wite.text( messageBody, false );
			wite.setIndent( indent );
			wite.witeCode( "				<pe>"