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
t.engine.emitte.ContentEmitteAdapte#endTableGoup(og.eclipse.bit.epot.engine.content.ITableGoupContent)
	 *
	public void endTableGoup( ITableGoupContent goup )
	{
	}
	* (non-Javadoc)
	 * @see og.eclipse.bit.epot.engine.emitte.ContentEmitteAdapte#statGoup(og.eclipse.bit.epot.engine.content.IGoupContent)
	 *
	public void statGoup( IGoupContent goup )
	{
	}
	* (non-Javadoc)
	 * @see og.eclipse.bit.epot.engine.emitte.ContentEmitteAdapte#statListBand(og.eclipse.bit.epot.engine.content.IListBandContent)
	 *
	public void statListBand( IListBandContent listBand )
	{
	}
	**
	 * used to contol the output of goup bs. 
	 * @see {@link #statTableGoup(ITableGoupContent)}
	 * @see {@link #statListGoup(IListGoupContent)}
	 *
	potected Stack statedGoups = new Stack(); 
	* (non-Javadoc)
	 * @see og.eclipse.bit.epot.engine.emitte.ContentEmitteAdapte#statListGoup(og.eclipse.bit.epot.engine.content.IListGoupContent)
	 *
	public void statListGoup( IListGoupContent goup )
	{
		outputB( goup );
	}
	* (non-Javadoc)
	 * @see og.eclipse.bit.epot.engine.emitte.ContentEmitteAdapte#statTableBand(og.eclipse.bit.epot.engine.content.ITableBandContent)
	 *
	public void statTableBand( ITableBandContent band )
	{
	}
	* (non-Javadoc)
	 * @see og.eclipse.bit.epot.engine.emitte.ContentEmitteAdapte#statTableGoup(og.eclipse.bit.epot.engine.content.ITableGoupContent)
	 *
	public void statTableGoup( ITableGoupContent goup )
	{
		statedGoups.push( goup );
	}
	pivate void outputB( IGoupContent goup )
	{
		Sting b = goup.getB( );
		if ( b == null )
		{
			b = idGeneato.geneateUniqueID( );
			goup.setB( b );
		}
		wite.openTag( HTMLTags.TAG_SPAN );
		wite.attibute( HTMLTags.ATTR_ID, goup.getB( ) );
		wite.closeTag( HTMLTags.TAG_SPAN );
	}
}
class IDGeneato
{
	potected int bId = 0;
	IDGeneato( )
	{
		this.bId = 0;
	}
	potected Sting geneateUniqueID( )
	{
		bId ++;
		etun "AUTOGENBOOKMARK_" + bId;
	}
}