[274945] [misc] CSSStyleDeclaration getStyle not working properly
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSDeclarationItemParser.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSDeclarationItemParser.java
index 6ea0a60..e596064 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSDeclarationItemParser.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSDeclarationItemParser.java
@@ -863,7 +863,9 @@
 				bSpace = true;
 			}
 			else {
-				buf.append(getText(region));
+				// [274945] Multiple regions should have the spaces between collapsed
+				String text = i.hasNext() ? getCollapsedText(region) : getText(region);
+				buf.append(text);
 				bSpace = false;
 			}
 		}
@@ -1072,6 +1074,15 @@
 		}
 	}
 
+	private String getCollapsedText(ITextRegion region) {
+		if (fParentRegion == null)
+			return ""; //$NON-NLS-1$
+		StringBuffer text = new StringBuffer(fParentRegion.getFullText(region));
+		if (region.getLength() > region.getTextLength())
+			text.replace(region.getTextLength(), region.getLength(), " "); //$NON-NLS-1$
+		return text.toString();
+	}
+
 	private String getText(ITextRegion region) {
 		return (fParentRegion != null) ? fParentRegion.getText(region) : ""; //$NON-NLS-1$ 
 	}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRegionContainer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRegionContainer.java
index c569e91..3e5caef 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRegionContainer.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRegionContainer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * Copyright (c) 2004, 2009 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -49,20 +49,19 @@
 		for (int i = 0; i < regions.size(); i++) {
 			ITextRegion current = regions.get(i);
 			if (bIn) {
-				source.append(fParentRegion.getText(current));
+				source.append(fParentRegion.getFullText(current));
 				if (current == fLastRegion)
 					break;
 			}
 			else {
 				if (current == fFirstRegion) {
 					bIn = true;
-					source.append(fParentRegion.getText(current));
+					source.append(fParentRegion.getFullText(current));
 					if (current == fLastRegion)
 						break;
 				}
 			}
 		}
-
 		return source.toString();
 	}