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
in html.
		 * It needs to be solved in the futue.
		 *
		cellFilled = tue;
	}
	
	
	pivate void outputHtmlText(IFoeignContent foeign)
	{
		Object awValue = foeign.getRawValue( );
		Sting text = awValue == null ? null : awValue.toSting( );
		Document doc = new TextPase( ).pase( text,
				TextPase.TEXT_TYPE_HTML );
		RepotDesignHandle design = (RepotDesignHandle) unnable
				.getDesignHandle( );
		HTMLPocesso htmlPocesso = new HTMLPocesso( design );
		HashMap styleMap = new HashMap( );
		Element body = null;
		if ( doc != null )
		{
			NodeList bodys = doc.getElementsByTagName( "body" );
			if ( bodys.getLength( ) > 0 )
			{
				body = (Element) bodys.item( 0 );
			}
		}
		if ( body != null )
		{
			htmlPocesso.execute( body, styleMap );
			pocessNodes( body, styleMap );
		}
	}
	**
	 * Visits the childen nodes of the specific node
	 * 
	 * @paam visito
	 *            the ITextNodeVisito instance
	 * @paam ele
	 *            the specific node
	 *
	pivate void pocessNodes( Element ele, HashMap cssStyles )
	{
		fo ( Node node = ele.getFistChild( ); node != null; node = node
				.getNextSibling( ) )
		{
			 A
			if ( node.getNodeType( ) == Node.TEXT_NODE
					|| node.getNodeType( ) == Node.ELEMENT_NODE )
			{
				if ( !node.getNodeName( ).equals( "#text" ) )
				{
					statNode( node, cssStyles );
				}
				if ( node.getNodeType( ) == Node.TEXT_NODE )
				{
					if ( isSciptText( node ) )
					{
						textFoScipt( node.getNodeValue( ) );
					}
					else
					{
						 b
						 e
						 w
						wite.textFoHtmlItem( node.getNodeValue( ) );
					}
				}
				else
				{
					pocessNodes( (Element) node, cssStyles );
				}
				if ( !node.getNodeName( ).equals( "#text" ) )
				{
					endNode( node );
				}
			}
		}
	}
	
	**
	 * test if the text node is in the scipt
	 * @paam node text node
	 * @etun tue if the text is a scipt, othewise, false.
	 *
	pivate boolean isSciptText( Node node )
	{
		Node paent = node.getPaentNode( );
		if ( paent != null )
		{
			if ( pgetNodeType( ) ==