Index: trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/formatter/EbnfHtmlFormatterVisitor.java
===================================================================
--- trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/formatter/EbnfHtmlFormatterVisitor.java	(revision 43)
+++ trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/formatter/EbnfHtmlFormatterVisitor.java	(revision 44)
@@ -18,4 +18,5 @@
 import de.ugoe.cs.swe.bnftools.ebnf.SingleDefinition;
 import de.ugoe.cs.swe.bnftools.ebnf.StringRule;
+import de.ugoe.cs.swe.bnftools.ebnf.Term;
 
 public class EbnfHtmlFormatterVisitor extends EbnfFormatterVisitor {
@@ -309,6 +310,7 @@
 		wrap();
 		
-		metaText("<u><span style='color:blue'><a href=\"#T" + node.getRuleref().getName().replaceAll("[ \t\n\r]","") + "\">");
-		textTransformed(node.getRuleref().getName(), node.getRuleref().getName().replaceAll("[ \t\n\r]", "") + "</a></span></u>");
+		String prefix = "<u><span style='color:blue'><a href=\"#T" + node.getRuleref().getName().replaceAll("[ \t\n\r]","") + "\">"; 
+//		metaText(prefix);
+		textTransformed(node.getRuleref().getName(), prefix + node.getRuleref().getName().replaceAll("[ \t\n\r]", "") + "</a></span></u>");
 	}
 
@@ -328,8 +330,8 @@
 			text(node.getRulenumber() + ". ");
 
-		metaText("<span lang=EN-GB style='mso-no-proof:no'>");
-		metaText("<a name=\"T" + node.getName() + "\">");
-		textTransformed(node.getName(), node.getName().replaceAll("[ \t\r\n]", ""));
-		metaText("</a>");
+		String prefix = "<span lang=EN-GB style='mso-no-proof:no'><a name=\"T" + node.getName() + "\">"; 
+//		metaText(prefix);
+		textTransformed(node.getName(), prefix + node.getName().replaceAll("[ \t\r\n]", "") + "</a>");
+//		metaText("</a>");
 		text(" ::= ");
 		
@@ -350,9 +352,9 @@
 		if (node.getLiteral() != null) {
 //			text("\"" + node.getLiteral() + "\"");
-			textTransformed("\"" + node.getLiteral() + "\"", StringEscapeUtils.escapeHtml("\"" + node.getLiteral() + "\"").replaceAll("[ \t\n\r]", ""));
+			textTransformed("\"" + node.getLiteral() + "\"", StringEscapeUtils.escapeHtml("\"" + node.getLiteral() + "\"").replaceAll("[ \t\n\r]", "").trim());
 //			textTransformed("\"" + node.getLiteral() + "\"", "gnabar");
 		} else if (node.getColon() != null) {
 //			text("\"\"\"");
-			textTransformed("\"\"\"", StringEscapeUtils.escapeHtml("\"\"\"").replaceAll("[ \t\n\r]", ""));
+			textTransformed("\"\"\"", StringEscapeUtils.escapeHtml("\"\"\"").replaceAll("[ \t\n\r]", "").trim());
 //			textTransformed("\"\"\"", "gnabar");
 		}
@@ -361,3 +363,12 @@
 	protected void visitAfter(StringRule node) {
 	}
+	
+	protected void visitAfter(Term node) {
+		if (!isLastElement()) {
+			metaText("<span style='mso-spacerun:yes'>&nbsp;</span>");
+			newLineOffsetCounter++;
+//			space();
+		}
+	}
+
 }
