Index: src/main/java/org/apache/maven/plugins/linkcheck/LinkcheckReportGenerator.java
===================================================================
--- src/main/java/org/apache/maven/plugins/linkcheck/LinkcheckReportGenerator.java	(revision 1030352)
+++ src/main/java/org/apache/maven/plugins/linkcheck/LinkcheckReportGenerator.java	(working copy)
@@ -24,6 +24,8 @@
 import org.apache.maven.doxia.linkcheck.model.LinkcheckFileResult;
 import org.apache.maven.doxia.linkcheck.model.LinkcheckModel;
 import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.doxia.sink.SinkEventAttributeSet;
+import org.apache.maven.doxia.sink.SinkEventAttributes;
 
 import org.codehaus.plexus.i18n.I18N;
 import org.codehaus.plexus.util.StringUtils;
@@ -145,7 +147,7 @@
             sink.sectionTitle1_();
 
             sink.paragraph();
-            sink.rawText( i18n.getString( "linkcheck-report", locale, "report.linkcheck.empty" ) );
+            sink.text( i18n.getString( "linkcheck-report", locale, "report.linkcheck.empty" ) );
             sink.paragraph_();
 
             sink.section1_();
@@ -164,7 +166,7 @@
         sink.sectionTitle1_();
 
         sink.paragraph();
-        sink.rawText( i18n.getString( "linkcheck-report", locale, "report.linkcheck.overview" ) );
+        sink.text( i18n.getString( "linkcheck-report", locale, "report.linkcheck.overview" ) );
         sink.paragraph_();
 
         sink.section1_();
@@ -211,10 +213,11 @@
 
         // Summary of the analysis parameters
         sink.paragraph();
-        sink.rawText( i18n.getString( "linkcheck-report", locale, "report.linkcheck.summary.overview1" ) );
+        sink.text( i18n.getString( "linkcheck-report", locale, "report.linkcheck.summary.overview1" ) );
         sink.paragraph_();
 
         sink.table();
+        sink.tableRows( null, false );
 
         sink.tableRow();
         sink.tableHeaderCell();
@@ -227,8 +230,7 @@
 
         sink.tableRow();
         sink.tableCell();
-        sink.rawText(
-                           i18n.getString( "linkcheck-report", locale,
+        sink.text( i18n.getString( "linkcheck-report", locale,
                                            "report.linkcheck.summary.table.httpFollowRedirect" ) );
         sink.tableCell_();
         sink.tableCell();
@@ -238,10 +240,7 @@
 
         sink.tableRow();
         sink.tableCell();
-        sink
-                 .rawText(
-                           i18n
-                               .getString( "linkcheck-report", locale, "report.linkcheck.summary.table.httpMethod" ) );
+        sink.text( i18n.getString( "linkcheck-report", locale, "report.linkcheck.summary.table.httpMethod" ) );
         sink.tableCell_();
         sink.tableCell();
         if ( StringUtils.isEmpty( httpMethod ) )
@@ -257,8 +256,7 @@
 
         sink.tableRow();
         sink.tableCell();
-        sink.rawText(
-                           i18n.getString( "linkcheck-report", locale, "report.linkcheck.summary.table.offline" ) );
+        sink.text( i18n.getString( "linkcheck-report", locale, "report.linkcheck.summary.table.offline" ) );
         sink.tableCell_();
         sink.tableCell();
         sink.text( String.valueOf( offline ) );
@@ -267,8 +265,7 @@
 
         sink.tableRow();
         sink.tableCell();
-        sink.rawText(
-                           i18n.getString( "linkcheck-report", locale,
+        sink.text( i18n.getString( "linkcheck-report", locale,
                                            "report.linkcheck.summary.table.excludedPages" ) );
         sink.tableCell_();
         sink.tableCell();
@@ -285,8 +282,7 @@
 
         sink.tableRow();
         sink.tableCell();
-        sink.rawText(
-                           i18n.getString( "linkcheck-report", locale,
+        sink.text( i18n.getString( "linkcheck-report", locale,
                                            "report.linkcheck.summary.table.excludedLinks" ) );
         sink.tableCell_();
         sink.tableCell();
@@ -303,8 +299,7 @@
 
         sink.tableRow();
         sink.tableCell();
-        sink.rawText(
-                           i18n.getString( "linkcheck-report", locale,
+        sink.text( i18n.getString( "linkcheck-report", locale,
                                            "report.linkcheck.summary.table.excludedHttpStatusErrors" ) );
         sink.tableCell_();
         sink.tableCell();
@@ -321,8 +316,7 @@
 
         sink.tableRow();
         sink.tableCell();
-        sink.rawText(
-                           i18n.getString( "linkcheck-report", locale,
+        sink.text( i18n.getString( "linkcheck-report", locale,
                                            "report.linkcheck.summary.table.excludedHttpStatusWarnings" ) );
         sink.tableCell_();
         sink.tableCell();
@@ -336,15 +330,17 @@
         }
         sink.tableCell_();
         sink.tableRow_();
+        sink.tableRows_();
 
         sink.table_();
 
         // Summary of the checked files
         sink.paragraph();
-        sink.rawText( i18n.getString( "linkcheck-report", locale, "report.linkcheck.summary.overview2" ) );
+        sink.text( i18n.getString( "linkcheck-report", locale, "report.linkcheck.summary.overview2" ) );
         sink.paragraph_();
 
         sink.table();
+        sink.tableRows( null, true );
 
         // Header
         generateTableHeader( locale, false, sink );
@@ -379,6 +375,7 @@
         sink.tableCell_();
 
         sink.tableRow_();
+        sink.tableRows_();
 
         sink.table_();
 
@@ -393,10 +390,11 @@
         sink.sectionTitle1_();
 
         sink.paragraph();
-        sink.rawText( i18n.getString( "linkcheck-report", locale, "report.linkcheck.detail.overview" ) );
+        sink.text( i18n.getString( "linkcheck-report", locale, "report.linkcheck.detail.overview" ) );
         sink.paragraph_();
 
         sink.table();
+        sink.tableRows( null, false );
 
         // Header
         generateTableHeader( locale, true, sink );
@@ -451,10 +449,11 @@
                 sink.text( "" );
                 sink.tableCell_();
 
-                // TODO it is due to DOXIA-78
-                sink.rawText( "<td colspan=\"5\">" );
+                SinkEventAttributeSet atts = new SinkEventAttributeSet( new String[] {"colspan", "5"} );
+                sink.tableCell( atts );
 
                 sink.table();
+                sink.tableRows( null, false );
 
                 for ( Iterator it2 = linkcheckFile.getResults().iterator(); it2.hasNext(); )
                 {
@@ -512,6 +511,7 @@
                     sink.tableRow_();
                 }
 
+                sink.tableRows_();
                 sink.table_();
 
                 sink.tableCell_();
@@ -520,6 +520,7 @@
             }
         }
 
+        sink.tableRows_();
         sink.table_();
 
         sink.section1_();
@@ -530,19 +531,22 @@
         sink.tableRow();
         if ( detail )
         {
-            sink.rawText( "<th rowspan=\"2\">" );
+            SinkEventAttributeSet atts = new SinkEventAttributeSet( new String[] {"rowspan", "2"} );
+            sink.tableHeaderCell( atts );
             sink.text( "" );
             sink.tableHeaderCell_();
         }
-        sink.rawText( "<th rowspan=\"2\">" );
-        sink.text(
-                        detail ? i18n.getString( "linkcheck-report", locale,
+        SinkEventAttributeSet atts = new SinkEventAttributeSet( new String[] {"rowspan", "2"} );
+        sink.tableHeaderCell( atts );
+        sink.text( detail ? i18n.getString( "linkcheck-report", locale,
                                                  "report.linkcheck.detail.table.documents" )
                                         : i18n.getString( "linkcheck-report", locale,
                                                           "report.linkcheck.summary.table.documents" ) );
         sink.tableHeaderCell_();
-        // TODO it is due to DOXIA-78
-        sink.rawText( "<th colspan=\"4\" align=\"center\">" );
+        atts = new SinkEventAttributeSet( new String[] {"colspan", "4"} );
+        atts.addAttribute( SinkEventAttributes.ALIGN, "center" );
+        sink.tableHeaderCell( atts );
+
         sink.text( i18n.getString( "linkcheck-report", locale, "report.linkcheck.table.links" ) );
         sink.tableHeaderCell_();
         sink.tableRow_();
Index: pom.xml
===================================================================
--- pom.xml	(revision 1030352)
+++ pom.xml	(working copy)
@@ -50,8 +50,8 @@
   </issueManagement>
 
   <properties>
-    <doxiaVersion>1.0</doxiaVersion>
-    <doxia-sitetoolsVersion>1.0</doxia-sitetoolsVersion>
+    <doxiaVersion>1.1.3</doxiaVersion>
+    <doxia-sitetoolsVersion>1.1.3</doxia-sitetoolsVersion>
     <mavenVersion>2.0.9</mavenVersion>
   </properties>
 
@@ -104,6 +104,11 @@
       <artifactId>doxia-sink-api</artifactId>
       <version>${doxiaVersion}</version>
     </dependency>
+    <dependency>
+      <groupId>org.apache.maven.doxia</groupId>
+      <artifactId>doxia-core</artifactId>
+      <version>${doxiaVersion}</version>
+    </dependency>
 
     <!-- doxia-sitetools -->
     <dependency>
@@ -160,6 +165,49 @@
     </dependency>
   </dependencies>
 
+      <!-- Required for compatibility of maven 2.0.9 and doxia 1.1.
+           See http://maven.apache.org/doxia/developers/maven-integration.html and MNG-3402 -->
+<!-- does not work?
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-shade-plugin</artifactId>
+        <version>1.2</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+            <configuration>
+              <finalName>${project.build.finalName}</finalName>
+              <createDependencyReducedPom>false</createDependencyReducedPom>
+              <keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope>
+              <transformers>
+                <transformer implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer" />
+              </transformers>
+              <artifactSet>
+                <includes>
+                  <include>org.apache.maven.doxia:doxia-sink-api</include>
+                  <include>org.apache.maven.doxia:doxia-logging-api</include>
+                </includes>
+              </artifactSet>
+              <filters>
+                <filter>
+                  <artifact>org.apache.maven.doxia:doxia-sink-api</artifact>
+                  <excludes>
+                    <exclude>org/codehaus/doxia/sink/Sink.class</exclude>
+                  </excludes>
+                </filter>
+              </filters>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+-->
+
   <profiles>
     <profile>
       <id>reporting</id>
