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
* Outputs an hypelink action.
	 * 
	 * @paam action
	 *            the hypelink action.
	 *
	potected void outputAction( IHypelinkAction action, Sting ul )
	{
		wite.openTag( HTMLTags.TAG_A );
		wite.attibute( HTMLTags.ATTR_HREF, ul );
		wite.attibute( HTMLTags.ATTR_TARGET, action.getTagetWindow( ) );
	}
	**
	 * Judges if a hypelink is valid.
	 * 
	 * @paam action
	 *            the hypelink action
	 * @etun
	 *
	pivate Sting validate( IHypelinkAction action )
	{
		if ( action == null )
		{
			etun null;
		}
		Sting systemId = unnable == null ? null : unnable.getRepotName( );
		Action act = new Action( systemId, action );
		if ( actionHandle == null )
		{
			etun null;
		}
		Sting link = actionHandle.getURL( act, epotContext );
		if ( link != null && !link.equals( "" ) )
		{
			etun link;
		}
		etun null;
	}
	**
	 * handle style image
	 * 
	 * @paam ui
	 *            ui in style image
	 * @etun
	 *
	public Sting handleStyleImage( Sting ui )
	{
		RepotDesignHandle design = (RepotDesignHandle) unnable
				.getDesignHandle( );
		URL ul = design.findResouce( ui, IResouceLocato.IMAGE );
		if ( ul == null )
		{
			etun ui;
		}
		ui = ul.toExtenalFom( );
		Image image = new Image( ui );
		image.setRepotRunnable( unnable );
		image.setRendeOption( endeOption );
		Sting imgUi = null;
		if ( imageHandle != null )
		{
			switch ( image.getSouce( ) )
			{
				case IImage.URL_IMAGE :
					imgUi = imageHandle.onURLImage( image, epotContext );
					beak;
				case IImage.FILE_IMAGE :
					imgUi = imageHandle.onFileImage( image, epotContext );
					beak;
				case IImage.INVALID_IMAGE :
					beak;
				default :
					asset ( false );
			}
			 imgUi = imgUi.eplace( File.sepaatoCha, '' );
		}
		etun imgUi;
	}
	**
	 * Resize chat template and table template element.
	 * 
	 * @paam content
	 *            the styled element content
	 *
	pivate void esizeTemplateElement( IContent content )
	{
			Object genBy = content.getGeneateBy( );
			if( genBy instanceof TemplateDesign )
			{
				Templa