Index: src/test/java/org/xwiki/xml/internal/html/DefaultHTMLCleanerTest.java
===================================================================
--- src/test/java/org/xwiki/xml/internal/html/DefaultHTMLCleanerTest.java	(revision 12363)
+++ src/test/java/org/xwiki/xml/internal/html/DefaultHTMLCleanerTest.java	(working copy)
@@ -26,14 +26,13 @@
 
 /**
  * Unit tests for {@link org.xwiki.xml.internal.html.DefaultHTMLCleaner}.
- *
+ * 
  * @version $Id: $
  * @since 1.6M1
  */
 public class DefaultHTMLCleanerTest extends TestCase
 {
-    private static final String HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-        + "<html><head /><body>";
+    private static final String HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<html><head /><body>";
 
     private static final String FOOTER = "</body></html>\n";
 
@@ -54,6 +53,12 @@
     {
         assertHTML("this <strong>is</strong> bold", "this <b>is</b> bold");
         assertHTML("<em>italic</em>", "<i>italic</i>");
+        assertHTML("<del>strike</del>", "<strike>strike</strike>");
+        assertHTML("<del>strike</del>", "<s>strike</s>");
+        assertHTML("<ins>strike</ins>", "<u>strike</u>");
+        assertHTML("<p style=\"text-align:center\">centre</p>", "<centre>centre</centre>");
+        assertHTML("<span style=\"color:red;font-family=arial;font-size=3pt;\">This is some text!</span>",
+            "<font face=\"arial\" size=\"3\" color=\"red\">This is some text!</font>");
     }
 
     public void testCleanNonXHTMLLists()
@@ -71,7 +76,7 @@
 
     public void testPruneTags()
     {
-        assertHTML("<p>hello</p>", "<script>whatever</script><p>hello</p>");    
+        assertHTML("<p>hello</p>", "<script>whatever</script><p>hello</p>");
     }
 
     private void assertHTML(String expected, String actual)
Index: src/main/java/org/xwiki/xml/internal/html/DefaultHTMLCleaner.java
===================================================================
--- src/main/java/org/xwiki/xml/internal/html/DefaultHTMLCleaner.java	(revision 12363)
+++ src/main/java/org/xwiki/xml/internal/html/DefaultHTMLCleaner.java	(working copy)
@@ -20,24 +20,26 @@
  */
 package org.xwiki.xml.internal.html;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.htmlcleaner.CleanerProperties;
+import org.htmlcleaner.CleanerTransformations;
 import org.htmlcleaner.HtmlCleaner;
+import org.htmlcleaner.JDomSerializer;
 import org.htmlcleaner.TagNode;
-import org.htmlcleaner.CleanerProperties;
-import org.htmlcleaner.JDomSerializer;
-import org.xwiki.xml.html.HTMLCleaner;
-import org.xwiki.component.phase.Initializable;
-import org.xwiki.component.phase.InitializationException;
+import org.htmlcleaner.TagTransformation;
 import org.jdom.Document;
 import org.jdom.JDOMException;
 import org.jdom.output.DOMOutputter;
+import org.xwiki.component.phase.Initializable;
+import org.xwiki.component.phase.InitializationException;
+import org.xwiki.xml.html.HTMLCleaner;
 
-import java.io.IOException;
-import java.util.List;
-import java.util.ArrayList;
-
 /**
- * Default implementation for {@link org.xwiki.xml.html.HTMLCleaner} using the
- * <a href="HTML Cleaner framework>http://htmlcleaner.sourceforge.net/</a>.
+ * Default implementation for {@link org.xwiki.xml.html.HTMLCleaner} using the <a href="HTML Cleaner
+ * framework>http://htmlcleaner.sourceforge.net/</a>.
  * 
  * @version $Id: $
  * @since 1.6M1
@@ -45,9 +47,8 @@
 public class DefaultHTMLCleaner implements HTMLCleaner, Initializable
 {
     /**
-     * List of default cleaning filters to call when cleaning code with HTML Cleaner. This is for cases when
-     * there are no <a href="http://htmlcleaner.sourceforge.net/parameters.php">properties</a> defined in HTML
-     * Cleaner.
+     * List of default cleaning filters to call when cleaning code with HTML Cleaner. This is for cases when there are
+     * no <a href="http://htmlcleaner.sourceforge.net/parameters.php">properties</a> defined in HTML Cleaner.
      */
     private List<CleaningFilter> filters;
 
@@ -63,16 +64,18 @@
 
     /**
      * {@inheritDoc}
+     * 
      * @see org.xwiki.component.phase.Initializable#initialize()
      */
     public void initialize() throws InitializationException
     {
         this.filters = new ArrayList<CleaningFilter>();
-        this.filters.add(new TagSwapCleaningFilter());
+        // this.filters.add(new TagSwapCleaningFilter());
         this.filters.add(new ListCleaningFilter());
 
         // Initialize Cleaner objects once.
         this.cleaner = new HtmlCleaner();
+        this.cleaner.setTransformations(this.getTagSwapInfo());
         this.cleanerProperties = this.cleaner.getProperties();
         this.cleanerProperties.setOmitUnknownTags(true);
         this.cleanerProperties.setPruneTags("script,style");
@@ -80,6 +83,7 @@
 
     /**
      * {@inheritDoc}
+     * 
      * @see org.xwiki.xml.html.HTMLCleaner#clean(String)
      */
     public org.w3c.dom.Document clean(String originalHtmlContent)
@@ -112,4 +116,37 @@
 
         return result;
     }
+
+    /**
+     * @return the deprecated tags transformation information.
+     */
+    private CleanerTransformations getTagSwapInfo()
+    {
+        CleanerTransformations transformations = new CleanerTransformations();
+
+        TagTransformation tt = new TagTransformation("b", "strong", false);
+        transformations.addTransformation(tt);
+
+        tt = new TagTransformation("i", "em", false);
+        transformations.addTransformation(tt);
+
+        tt = new TagTransformation("u", "ins", false);
+        transformations.addTransformation(tt);
+
+        tt = new TagTransformation("s", "del", false);
+        transformations.addTransformation(tt);
+
+        tt = new TagTransformation("strike", "del", false);
+        transformations.addTransformation(tt);
+
+        tt = new TagTransformation("centre", "p", false);
+        tt.addAttributeTransformation("style", "text-align:center");
+        transformations.addTransformation(tt);
+
+        tt = new TagTransformation("font", "span", false);
+        tt.addAttributeTransformation("style", "color:${color};font-family=${face};font-size=${size}pt;");
+        transformations.addTransformation(tt);
+
+        return transformations;
+    }
 }
Index: src/main/java/org/xwiki/xml/internal/html/TagSwapCleaningFilter.java
===================================================================
--- src/main/java/org/xwiki/xml/internal/html/TagSwapCleaningFilter.java	(revision 12363)
+++ src/main/java/org/xwiki/xml/internal/html/TagSwapCleaningFilter.java	(working copy)
@@ -1,63 +0,0 @@
-/*
- * See the NOTICE file distributed with this work for additional
- * information regarding copyright ownership.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.xwiki.xml.internal.html;
-
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.filter.ElementFilter;
-
-import java.util.Iterator;
-
-/**
- * Replace tags by others. For example replace tags that have been deprecated in XHTML with their equivalent.
- * 
- * @version $Id: $
- * @since 1.6M1
- */
-public class TagSwapCleaningFilter implements CleaningFilter
-{
-    /**
-     * {@inheritDoc}
-     * Replaces deprecated tags in HTML by their XHTML equivalent (b with strong, i with em, etc).
-     *
-     * @see org.xwiki.xml.internal.html.CleaningFilter#filter(org.jdom.Document)
-     */
-    public void filter(Document document)
-    {
-        swapTag(document, "b", "strong");
-        swapTag(document, "i", "em");
-    }
-
-    /**
-     * Replace one tag by another.
-     *
-     * @param document the document to clean
-     * @param sourceTag the tag name to modify
-     * @param newTag the new tag name
-     */
-    private void swapTag(Document document, String sourceTag, String newTag)
-    {
-        Iterator descendants = document.getDescendants(new ElementFilter(sourceTag));
-        while (descendants.hasNext()) {
-            Element element = (Element) descendants.next();
-            element.setName(newTag);
-        }
-    }
-}
Index: pom.xml
===================================================================
--- pom.xml	(revision 12363)
+++ pom.xml	(working copy)
@@ -43,7 +43,7 @@
     <dependency>
       <groupId>net.sourceforge.htmlcleaner</groupId>
       <artifactId>htmlcleaner</artifactId>
-      <version>2.0</version>
+      <version>2.1</version>
     </dependency>
     <dependency>
       <groupId>jdom</groupId>
