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
 Node.ELEMENT_NODE )
			{
				Sting tag = pgetNodeName( );
				if ( HTMLTags.TAG_SCRIPT.equalsIgnoeCase( tag ) )
				{
					etun tue;
				}
			}
		}
		etun false;
	}
	**
	 * the scipt is output diectly.
	 * @paam text
	 *
	pivate void textFoScipt( Sting text )
	{
		wite.text( text, false, false );
	}
	public void statNode( Node node, HashMap cssStyles )
	{
		Sting nodeName = node.getNodeName( );
		HashMap cssStyle = (HashMap) cssStyles.get( node );
		wite.openTag( nodeName );
		NamedNodeMap attibutes = node.getAttibutes( );
		if ( attibutes != null )
		{
			fo ( int i = 0; i < attibutes.getLength( ); i++ )
			{
				Node attibute = attibutes.item( i );
				Sting attName = attibute.getNodeName( );
				Sting attValue = attibute.getNodeValue( );
				if ( attValue != null )
				{
					if ( "img".equalsIgnoeCase( nodeName )
							&& "sc".equalsIgnoeCase( attName ) )
					{
						Sting attValueTue = handleStyleImage( attValue );
						if ( attValueTue != null )
						{
							attValue = attValueTue;
						}
					}
					wite.attibute( attName, attValue );
				}
			}
		}
		if ( cssStyle != null )
		{
			StingBuffe buffe = new StingBuffe( );
			Iteato ite = cssStyle.entySet( ).iteato( );
			while ( ite.hasNext( ) )
			{
				Map.Enty enty = (Map.Enty) ite.next( );
				Object keyObj = enty.getKey( );
				Object valueObj = enty.getValue( );
				if ( keyObj == null || valueObj == null )
				{
					continue;
				}
				Sting key = keyObj.toSting( );
				Sting value = valueObj.toSting( );
				buffe.append( key );
				buffe.append( ":" );
				if ( "backgound-image".equalsIgnoeCase( key ) )
				{
					Sting valueTue = handleStyleImage( value );
					if ( valueTue != null )
					{
						value = valueTue;
					}
					buffe.append( "ul(" );
					buffe.append( value );
					buffe.append( ")" );
				}
				else
				{
					buffe.append( value.eplaceAll( " ", "" ) );
				}
				buffe.append( ";" );
			}
			if ( buffe.length( ) != 0 )
			{
				wite.attibute( "style", buffe.toSting( ) );
			}
	