You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2022/11/06 09:43:17 UTC

[maven-doxia-sitetools] 01/01: [DOXIASITETOOLS-267] Upgrade to Doxia 2.0.0-M4

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch DOXIASITETOOLS-267
in repository https://gitbox.apache.org/repos/asf/maven-doxia-sitetools.git

commit deefc2894775dad0c3c1ff5a3b0c4f70628ba2b3
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sun Oct 16 23:05:11 2022 +0200

    [DOXIASITETOOLS-267] Upgrade to Doxia 2.0.0-M4
    
    This closes #64
---
 doxia-site-renderer/pom.xml                        |    4 -
 .../maven/doxia/siterenderer/AptVerifier.java      |    8 +-
 .../doxia/siterenderer/AttributesVerifier.java     |   16 +-
 .../maven/doxia/siterenderer/FaqVerifier.java      |   18 +-
 .../src/test/resources/dtd/xhtml-lat1.ent          |  196 --
 .../src/test/resources/dtd/xhtml-special.ent       |   80 -
 .../src/test/resources/dtd/xhtml-symbol.ent        |  237 --
 .../src/test/resources/dtd/xhtml1-transitional.dtd | 1201 --------
 .../resources/site-validate/xdoc/entityTest.xml    |    6 +-
 .../test/resources/site-validate/xdoc/xdoc-2.0.xsd | 2963 --------------------
 .../src/test/resources/site/fml/faq.fml            |    2 +-
 .../src/test/resources/site/xdoc/attributes.xml    |   16 +-
 .../src/test/resources/site/xdoc/javascript.xml    |    4 +-
 .../src/test/resources/site/xdoc/macro.xml         |    2 +-
 .../src/test/resources/site/xdoc/multipleblock.xml |    2 +-
 .../src/test/resources/site/xdoc/nestedItems.xml   |    2 +-
 pom.xml                                            |    7 +-
 src/site/xdoc/index.xml                            |    2 +-
 18 files changed, 42 insertions(+), 4724 deletions(-)

diff --git a/doxia-site-renderer/pom.xml b/doxia-site-renderer/pom.xml
index a912011..f5f79fa 100644
--- a/doxia-site-renderer/pom.xml
+++ b/doxia-site-renderer/pom.xml
@@ -85,10 +85,6 @@ under the License.
       <artifactId>doxia-module-xdoc</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.apache.maven.doxia</groupId>
-      <artifactId>doxia-module-xhtml</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.apache.maven.doxia</groupId>
       <artifactId>doxia-module-xhtml5</artifactId>
diff --git a/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/AptVerifier.java b/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/AptVerifier.java
index bfab1a8..fe47fd3 100644
--- a/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/AptVerifier.java
+++ b/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/AptVerifier.java
@@ -73,9 +73,9 @@ public class AptVerifier
 
         // Expected log: [APT Parser] Ambiguous link: 'cdc.html'. If this is a local link, prepend "./"!
         HtmlAnchor a = (HtmlAnchor) elementIterator.next();
-        assertEquals( "Anchor", a.getAttribute( "name" ) );
+        assertEquals( "Anchor", a.getAttribute( "id" ) );
         a = (HtmlAnchor) elementIterator.next();
-        assertEquals( "cdc.html", a.getAttribute( "name" ) );
+        assertEquals( "cdc.html", a.getAttribute( "id" ) );
 
         a = (HtmlAnchor) elementIterator.next();
         assertEquals( "#Anchor", a.getAttribute( "href" ) );
@@ -83,7 +83,7 @@ public class AptVerifier
         assertEquals( "#Anchor", a.getAttribute( "href" ) );
 
         a = (HtmlAnchor) elementIterator.next();
-        assertEquals( "Anchor_with_space", a.getAttribute( "name" ) );
+        assertEquals( "Anchor_with_space", a.getAttribute( "id" ) );
         a = (HtmlAnchor) elementIterator.next();
         assertEquals( "#Anchor_with_space", a.getAttribute( "href" ) );
 
@@ -165,7 +165,7 @@ public class AptVerifier
         assertNotNull( h1 );
         assertEquals( "No Default Anchor in Section Title with Explicit Anchor", h1.asNormalizedText().trim() );
         a = (HtmlAnchor) elementIterator.next();
-        assertEquals( "No_Default_Anchor_in_Section_Title_with_Explicit_Anchor", a.getAttribute( "name" ) );
+        assertEquals( "No_Default_Anchor_in_Section_Title_with_Explicit_Anchor", a.getAttribute( "id" ) );
 
         section = (HtmlSection) elementIterator.next();
         assertNotNull( section );
diff --git a/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/AttributesVerifier.java b/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/AttributesVerifier.java
index 423539c..6cbae01 100644
--- a/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/AttributesVerifier.java
+++ b/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/AttributesVerifier.java
@@ -103,7 +103,6 @@ public class AttributesVerifier
         assertSame( img.getAttribute( "dummy" ), HtmlElement.ATTRIBUTE_NOT_DEFINED );
 
         HtmlTable table = (HtmlTable) elementIterator.next();
-        assertEquals( "1", table.getAttribute( "border" ) );
         assertEquals( "none", table.getAttribute( "class" ) );
 
         element = elementIterator.next();
@@ -114,15 +113,14 @@ public class AttributesVerifier
         HtmlTableHeaderCell th = (HtmlTableHeaderCell) elementIterator.next();
 
         th = (HtmlTableHeaderCell) elementIterator.next();
-        assertEquals( "center", th.getAttribute( "align" ) );
+        assertEquals( "text-align: center; width: 50%;", th.getAttribute( "style" ) );
         assertEquals( "2", th.getAttribute( "colspan" ) );
-        assertEquals( "50%", th.getAttribute( "width" ) );
 
         tr = (HtmlTableRow) elementIterator.next();
 
         th = (HtmlTableHeaderCell) elementIterator.next();
         assertEquals( "2", th.getAttribute( "rowspan" ) );
-        assertEquals( "middle", th.getAttribute( "valign" ) );
+        assertEquals( "vertical-align: middle;", th.getAttribute( "style" ) );
 
         HtmlTableDataCell td = (HtmlTableDataCell) elementIterator.next();
         td = (HtmlTableDataCell) elementIterator.next();
@@ -159,7 +157,7 @@ public class AttributesVerifier
         assertEquals( "color: red; margin-left: 20px", p.getAttribute( "style" ) );
 
         HtmlAnchor a = (HtmlAnchor) elementIterator.next();
-        assertEquals( "Anchor", a.getAttribute( "name" ) );
+        assertEquals( "Anchor", a.getAttribute( "id" ) );
 
         p = (HtmlParagraph) elementIterator.next();
         assertNotNull( p );
@@ -202,19 +200,19 @@ public class AttributesVerifier
         assertEquals( "Subsection without id", h2.asNormalizedText().trim() );
 
         a = (HtmlAnchor) elementIterator.next();
-        assertEquals( "section-id", a.getAttribute( "name" ) );
+        assertEquals( "section-id", a.getAttribute( "id" ) );
         section = (HtmlSection) elementIterator.next();
         h1 = (HtmlHeading1) elementIterator.next();
         assertEquals( "Section with id", h1.asNormalizedText().trim() );
 
         a = (HtmlAnchor) elementIterator.next();
-        assertEquals( "subsection-id", a.getAttribute( "name" ) );
+        assertEquals( "subsection-id", a.getAttribute( "id" ) );
         section = (HtmlSection) elementIterator.next();
         h2 = (HtmlHeading2) elementIterator.next();
         assertEquals( "Subsection with id", h2.asNormalizedText().trim() );
 
         a = (HtmlAnchor) elementIterator.next();
-        assertEquals( "foo", a.getAttribute( "name" ) );
+        assertEquals( "foo", a.getAttribute( "id" ) );
         section = (HtmlSection) elementIterator.next();
         assertEquals( "bar", section.getAttribute( "class" ) );
         assertEquals( "foo", section.getAttribute( "id" ) );
@@ -223,7 +221,7 @@ public class AttributesVerifier
         assertEquals( "", h1.getAttribute( "class" ) );
 
         a = (HtmlAnchor) elementIterator.next();
-        assertEquals( "subfoo", a.getAttribute( "name" ) );
+        assertEquals( "subfoo", a.getAttribute( "id" ) );
         section = (HtmlSection) elementIterator.next();
         assertEquals( "subbar", section.getAttribute( "class" ) );
         assertEquals( "subfoo", section.getAttribute( "id" ) );
diff --git a/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/FaqVerifier.java b/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/FaqVerifier.java
index 57ab00d..7928dcf 100644
--- a/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/FaqVerifier.java
+++ b/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/FaqVerifier.java
@@ -71,7 +71,7 @@ public class FaqVerifier
         assertEquals( "Often Asked Questions", h1.asNormalizedText().trim() );
 
         HtmlAnchor a = (HtmlAnchor) elementIterator.next();
-        assertEquals( "top", a.getAttribute( "name" ) );
+        assertEquals( "top", a.getAttribute( "id" ) );
 
         HtmlParagraph p = (HtmlParagraph) elementIterator.next();
         element = elementIterator.next();
@@ -109,7 +109,10 @@ public class FaqVerifier
         section = (HtmlSection) elementIterator.next();
 
         h1 = (HtmlHeading1) elementIterator.next();
-        assertEquals( "Contributing", h1.asNormalizedText().trim() );
+
+        a = (HtmlAnchor) elementIterator.next();
+        assertEquals( "contributing", a.getAttribute( "id" ) );
+        assertEquals( "Contributing", a.asNormalizedText().trim() );
 
         HtmlDefinitionList dl = (HtmlDefinitionList) elementIterator.next();
 
@@ -117,7 +120,7 @@ public class FaqVerifier
         assertEquals( "One stupid question & a silly answer?", dt.getFirstChild().asNormalizedText().trim() );
 
         a = (HtmlAnchor) elementIterator.next();
-        assertEquals( "stupid-question", a.getAttribute( "name" ) );
+        assertEquals( "stupid-question", a.getAttribute( "id" ) );
 
         element = elementIterator.next();
         assertEquals( "b", element.getTagName() );
@@ -148,7 +151,6 @@ public class FaqVerifier
         assertEquals( "non-US-ASCII characters: àéèç", element.asNormalizedText().trim() );
 
         p = (HtmlParagraph) elementIterator.next();
-        assertEquals( "right", p.getAttribute( "align" ) );
 
         a = (HtmlAnchor) elementIterator.next();
         assertEquals( "#top", a.getAttribute( "href" ) );
@@ -157,7 +159,10 @@ public class FaqVerifier
         section = (HtmlSection) elementIterator.next();
 
         h1 = (HtmlHeading1) elementIterator.next();
-        assertEquals( "Using Maven", h1.asNormalizedText().trim() );
+
+        a = (HtmlAnchor) elementIterator.next();
+        assertEquals( "using", a.getAttribute( "id" ) );
+        assertEquals( "Using Maven", a.asNormalizedText().trim() );
 
         dl = (HtmlDefinitionList) elementIterator.next();
 
@@ -165,7 +170,7 @@ public class FaqVerifier
         assertEquals( "How do I disable a report on my site?", dt.getFirstChild().asNormalizedText().trim() );
 
         a = (HtmlAnchor) elementIterator.next();
-        assertEquals( "disable-reports", a.getAttribute( "name" ) );
+        assertEquals( "disable-reports", a.getAttribute( "id" ) );
 
         dd = (HtmlDefinitionDescription) elementIterator.next();
 
@@ -182,7 +187,6 @@ public class FaqVerifier
         assertEquals( "<source>1.5</source>", pre.asNormalizedText().trim() );
 
         p = (HtmlParagraph) elementIterator.next();
-        assertEquals( "right", p.getAttribute( "align" ) );
 
         a = (HtmlAnchor) elementIterator.next();
         assertEquals( "#top", a.getAttribute( "href" ) );
diff --git a/doxia-site-renderer/src/test/resources/dtd/xhtml-lat1.ent b/doxia-site-renderer/src/test/resources/dtd/xhtml-lat1.ent
deleted file mode 100644
index ffee223..0000000
--- a/doxia-site-renderer/src/test/resources/dtd/xhtml-lat1.ent
+++ /dev/null
@@ -1,196 +0,0 @@
-<!-- Portions (C) International Organization for Standardization 1986
-     Permission to copy in any form is granted for use with
-     conforming SGML systems and applications as defined in
-     ISO 8879, provided this notice is included in all copies.
--->
-<!-- Character entity set. Typical invocation:
-    <!ENTITY % HTMLlat1 PUBLIC
-       "-//W3C//ENTITIES Latin 1 for XHTML//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
-    %HTMLlat1;
--->
-
-<!ENTITY nbsp   "&#160;"> <!-- no-break space = non-breaking space,
-                                  U+00A0 ISOnum -->
-<!ENTITY iexcl  "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
-<!ENTITY cent   "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
-<!ENTITY pound  "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
-<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
-<!ENTITY yen    "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
-<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
-                                  U+00A6 ISOnum -->
-<!ENTITY sect   "&#167;"> <!-- section sign, U+00A7 ISOnum -->
-<!ENTITY uml    "&#168;"> <!-- diaeresis = spacing diaeresis,
-                                  U+00A8 ISOdia -->
-<!ENTITY copy   "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
-<!ENTITY ordf   "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
-<!ENTITY laquo  "&#171;"> <!-- left-pointing double angle quotation mark
-                                  = left pointing guillemet, U+00AB ISOnum -->
-<!ENTITY not    "&#172;"> <!-- not sign = angled dash,
-                                  U+00AC ISOnum -->
-<!ENTITY shy    "&#173;"> <!-- soft hyphen = discretionary hyphen,
-                                  U+00AD ISOnum -->
-<!ENTITY reg    "&#174;"> <!-- registered sign = registered trade mark sign,
-                                  U+00AE ISOnum -->
-<!ENTITY macr   "&#175;"> <!-- macron = spacing macron = overline
-                                  = APL overbar, U+00AF ISOdia -->
-<!ENTITY deg    "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
-<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
-                                  U+00B1 ISOnum -->
-<!ENTITY sup2   "&#178;"> <!-- superscript two = superscript digit two
-                                  = squared, U+00B2 ISOnum -->
-<!ENTITY sup3   "&#179;"> <!-- superscript three = superscript digit three
-                                  = cubed, U+00B3 ISOnum -->
-<!ENTITY acute  "&#180;"> <!-- acute accent = spacing acute,
-                                  U+00B4 ISOdia -->
-<!ENTITY micro  "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
-<!ENTITY para   "&#182;"> <!-- pilcrow sign = paragraph sign,
-                                  U+00B6 ISOnum -->
-<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
-                                  = Greek middle dot, U+00B7 ISOnum -->
-<!ENTITY cedil  "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
-<!ENTITY sup1   "&#185;"> <!-- superscript one = superscript digit one,
-                                  U+00B9 ISOnum -->
-<!ENTITY ordm   "&#186;"> <!-- masculine ordinal indicator,
-                                  U+00BA ISOnum -->
-<!ENTITY raquo  "&#187;"> <!-- right-pointing double angle quotation mark
-                                  = right pointing guillemet, U+00BB ISOnum -->
-<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
-                                  = fraction one quarter, U+00BC ISOnum -->
-<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
-                                  = fraction one half, U+00BD ISOnum -->
-<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
-                                  = fraction three quarters, U+00BE ISOnum -->
-<!ENTITY iquest "&#191;"> <!-- inverted question mark
-                                  = turned question mark, U+00BF ISOnum -->
-<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
-                                  = latin capital letter A grave,
-                                  U+00C0 ISOlat1 -->
-<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
-                                  U+00C1 ISOlat1 -->
-<!ENTITY Acirc  "&#194;"> <!-- latin capital letter A with circumflex,
-                                  U+00C2 ISOlat1 -->
-<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
-                                  U+00C3 ISOlat1 -->
-<!ENTITY Auml   "&#196;"> <!-- latin capital letter A with diaeresis,
-                                  U+00C4 ISOlat1 -->
-<!ENTITY Aring  "&#197;"> <!-- latin capital letter A with ring above
-                                  = latin capital letter A ring,
-                                  U+00C5 ISOlat1 -->
-<!ENTITY AElig  "&#198;"> <!-- latin capital letter AE
-                                  = latin capital ligature AE,
-                                  U+00C6 ISOlat1 -->
-<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
-                                  U+00C7 ISOlat1 -->
-<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
-                                  U+00C8 ISOlat1 -->
-<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
-                                  U+00C9 ISOlat1 -->
-<!ENTITY Ecirc  "&#202;"> <!-- latin capital letter E with circumflex,
-                                  U+00CA ISOlat1 -->
-<!ENTITY Euml   "&#203;"> <!-- latin capital letter E with diaeresis,
-                                  U+00CB ISOlat1 -->
-<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
-                                  U+00CC ISOlat1 -->
-<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
-                                  U+00CD ISOlat1 -->
-<!ENTITY Icirc  "&#206;"> <!-- latin capital letter I with circumflex,
-                                  U+00CE ISOlat1 -->
-<!ENTITY Iuml   "&#207;"> <!-- latin capital letter I with diaeresis,
-                                  U+00CF ISOlat1 -->
-<!ENTITY ETH    "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
-<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
-                                  U+00D1 ISOlat1 -->
-<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
-                                  U+00D2 ISOlat1 -->
-<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
-                                  U+00D3 ISOlat1 -->
-<!ENTITY Ocirc  "&#212;"> <!-- latin capital letter O with circumflex,
-                                  U+00D4 ISOlat1 -->
-<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
-                                  U+00D5 ISOlat1 -->
-<!ENTITY Ouml   "&#214;"> <!-- latin capital letter O with diaeresis,
-                                  U+00D6 ISOlat1 -->
-<!ENTITY times  "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
-<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
-                                  = latin capital letter O slash,
-                                  U+00D8 ISOlat1 -->
-<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
-                                  U+00D9 ISOlat1 -->
-<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
-                                  U+00DA ISOlat1 -->
-<!ENTITY Ucirc  "&#219;"> <!-- latin capital letter U with circumflex,
-                                  U+00DB ISOlat1 -->
-<!ENTITY Uuml   "&#220;"> <!-- latin capital letter U with diaeresis,
-                                  U+00DC ISOlat1 -->
-<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
-                                  U+00DD ISOlat1 -->
-<!ENTITY THORN  "&#222;"> <!-- latin capital letter THORN,
-                                  U+00DE ISOlat1 -->
-<!ENTITY szlig  "&#223;"> <!-- latin small letter sharp s = ess-zed,
-                                  U+00DF ISOlat1 -->
-<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
-                                  = latin small letter a grave,
-                                  U+00E0 ISOlat1 -->
-<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
-                                  U+00E1 ISOlat1 -->
-<!ENTITY acirc  "&#226;"> <!-- latin small letter a with circumflex,
-                                  U+00E2 ISOlat1 -->
-<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
-                                  U+00E3 ISOlat1 -->
-<!ENTITY auml   "&#228;"> <!-- latin small letter a with diaeresis,
-                                  U+00E4 ISOlat1 -->
-<!ENTITY aring  "&#229;"> <!-- latin small letter a with ring above
-                                  = latin small letter a ring,
-                                  U+00E5 ISOlat1 -->
-<!ENTITY aelig  "&#230;"> <!-- latin small letter ae
-                                  = latin small ligature ae, U+00E6 ISOlat1 -->
-<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
-                                  U+00E7 ISOlat1 -->
-<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
-                                  U+00E8 ISOlat1 -->
-<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
-                                  U+00E9 ISOlat1 -->
-<!ENTITY ecirc  "&#234;"> <!-- latin small letter e with circumflex,
-                                  U+00EA ISOlat1 -->
-<!ENTITY euml   "&#235;"> <!-- latin small letter e with diaeresis,
-                                  U+00EB ISOlat1 -->
-<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
-                                  U+00EC ISOlat1 -->
-<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
-                                  U+00ED ISOlat1 -->
-<!ENTITY icirc  "&#238;"> <!-- latin small letter i with circumflex,
-                                  U+00EE ISOlat1 -->
-<!ENTITY iuml   "&#239;"> <!-- latin small letter i with diaeresis,
-                                  U+00EF ISOlat1 -->
-<!ENTITY eth    "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
-<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
-                                  U+00F1 ISOlat1 -->
-<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
-                                  U+00F2 ISOlat1 -->
-<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
-                                  U+00F3 ISOlat1 -->
-<!ENTITY ocirc  "&#244;"> <!-- latin small letter o with circumflex,
-                                  U+00F4 ISOlat1 -->
-<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
-                                  U+00F5 ISOlat1 -->
-<!ENTITY ouml   "&#246;"> <!-- latin small letter o with diaeresis,
-                                  U+00F6 ISOlat1 -->
-<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
-<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
-                                  = latin small letter o slash,
-                                  U+00F8 ISOlat1 -->
-<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
-                                  U+00F9 ISOlat1 -->
-<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
-                                  U+00FA ISOlat1 -->
-<!ENTITY ucirc  "&#251;"> <!-- latin small letter u with circumflex,
-                                  U+00FB ISOlat1 -->
-<!ENTITY uuml   "&#252;"> <!-- latin small letter u with diaeresis,
-                                  U+00FC ISOlat1 -->
-<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
-                                  U+00FD ISOlat1 -->
-<!ENTITY thorn  "&#254;"> <!-- latin small letter thorn,
-                                  U+00FE ISOlat1 -->
-<!ENTITY yuml   "&#255;"> <!-- latin small letter y with diaeresis,
-                                  U+00FF ISOlat1 -->
diff --git a/doxia-site-renderer/src/test/resources/dtd/xhtml-special.ent b/doxia-site-renderer/src/test/resources/dtd/xhtml-special.ent
deleted file mode 100644
index ca358b2..0000000
--- a/doxia-site-renderer/src/test/resources/dtd/xhtml-special.ent
+++ /dev/null
@@ -1,80 +0,0 @@
-<!-- Special characters for XHTML -->
-
-<!-- Character entity set. Typical invocation:
-     <!ENTITY % HTMLspecial PUBLIC
-        "-//W3C//ENTITIES Special for XHTML//EN"
-        "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
-     %HTMLspecial;
--->
-
-<!-- Portions (C) International Organization for Standardization 1986:
-     Permission to copy in any form is granted for use with
-     conforming SGML systems and applications as defined in
-     ISO 8879, provided this notice is included in all copies.
--->
-
-<!-- Relevant ISO entity set is given unless names are newly introduced.
-     New names (i.e., not in ISO 8879 list) do not clash with any
-     existing ISO 8879 entity names. ISO 10646 character numbers
-     are given for each character, in hex. values are decimal
-     conversions of the ISO 10646 values and refer to the document
-     character set. Names are Unicode names. 
--->
-
-<!-- C0 Controls and Basic Latin -->
-<!ENTITY quot    "&#34;"> <!--  quotation mark, U+0022 ISOnum -->
-<!ENTITY amp     "&#38;#38;"> <!--  ampersand, U+0026 ISOnum -->
-<!ENTITY lt      "&#38;#60;"> <!--  less-than sign, U+003C ISOnum -->
-<!ENTITY gt      "&#62;"> <!--  greater-than sign, U+003E ISOnum -->
-<!ENTITY apos	 "&#39;"> <!--  apostrophe = APL quote, U+0027 ISOnum -->
-
-<!-- Latin Extended-A -->
-<!ENTITY OElig   "&#338;"> <!--  latin capital ligature OE,
-                                    U+0152 ISOlat2 -->
-<!ENTITY oelig   "&#339;"> <!--  latin small ligature oe, U+0153 ISOlat2 -->
-<!-- ligature is a misnomer, this is a separate character in some languages -->
-<!ENTITY Scaron  "&#352;"> <!--  latin capital letter S with caron,
-                                    U+0160 ISOlat2 -->
-<!ENTITY scaron  "&#353;"> <!--  latin small letter s with caron,
-                                    U+0161 ISOlat2 -->
-<!ENTITY Yuml    "&#376;"> <!--  latin capital letter Y with diaeresis,
-                                    U+0178 ISOlat2 -->
-
-<!-- Spacing Modifier Letters -->
-<!ENTITY circ    "&#710;"> <!--  modifier letter circumflex accent,
-                                    U+02C6 ISOpub -->
-<!ENTITY tilde   "&#732;"> <!--  small tilde, U+02DC ISOdia -->
-
-<!-- General Punctuation -->
-<!ENTITY ensp    "&#8194;"> <!-- en space, U+2002 ISOpub -->
-<!ENTITY emsp    "&#8195;"> <!-- em space, U+2003 ISOpub -->
-<!ENTITY thinsp  "&#8201;"> <!-- thin space, U+2009 ISOpub -->
-<!ENTITY zwnj    "&#8204;"> <!-- zero width non-joiner,
-                                    U+200C NEW RFC 2070 -->
-<!ENTITY zwj     "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
-<!ENTITY lrm     "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
-<!ENTITY rlm     "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
-<!ENTITY ndash   "&#8211;"> <!-- en dash, U+2013 ISOpub -->
-<!ENTITY mdash   "&#8212;"> <!-- em dash, U+2014 ISOpub -->
-<!ENTITY lsquo   "&#8216;"> <!-- left single quotation mark,
-                                    U+2018 ISOnum -->
-<!ENTITY rsquo   "&#8217;"> <!-- right single quotation mark,
-                                    U+2019 ISOnum -->
-<!ENTITY sbquo   "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
-<!ENTITY ldquo   "&#8220;"> <!-- left double quotation mark,
-                                    U+201C ISOnum -->
-<!ENTITY rdquo   "&#8221;"> <!-- right double quotation mark,
-                                    U+201D ISOnum -->
-<!ENTITY bdquo   "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
-<!ENTITY dagger  "&#8224;"> <!-- dagger, U+2020 ISOpub -->
-<!ENTITY Dagger  "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
-<!ENTITY permil  "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
-<!ENTITY lsaquo  "&#8249;"> <!-- single left-pointing angle quotation mark,
-                                    U+2039 ISO proposed -->
-<!-- lsaquo is proposed but not yet ISO standardized -->
-<!ENTITY rsaquo  "&#8250;"> <!-- single right-pointing angle quotation mark,
-                                    U+203A ISO proposed -->
-<!-- rsaquo is proposed but not yet ISO standardized -->
-
-<!-- Currency Symbols -->
-<!ENTITY euro   "&#8364;"> <!--  euro sign, U+20AC NEW -->
diff --git a/doxia-site-renderer/src/test/resources/dtd/xhtml-symbol.ent b/doxia-site-renderer/src/test/resources/dtd/xhtml-symbol.ent
deleted file mode 100644
index 63c2abf..0000000
--- a/doxia-site-renderer/src/test/resources/dtd/xhtml-symbol.ent
+++ /dev/null
@@ -1,237 +0,0 @@
-<!-- Mathematical, Greek and Symbolic characters for XHTML -->
-
-<!-- Character entity set. Typical invocation:
-     <!ENTITY % HTMLsymbol PUBLIC
-        "-//W3C//ENTITIES Symbols for XHTML//EN"
-        "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
-     %HTMLsymbol;
--->
-
-<!-- Portions (C) International Organization for Standardization 1986:
-     Permission to copy in any form is granted for use with
-     conforming SGML systems and applications as defined in
-     ISO 8879, provided this notice is included in all copies.
--->
-
-<!-- Relevant ISO entity set is given unless names are newly introduced.
-     New names (i.e., not in ISO 8879 list) do not clash with any
-     existing ISO 8879 entity names. ISO 10646 character numbers
-     are given for each character, in hex. values are decimal
-     conversions of the ISO 10646 values and refer to the document
-     character set. Names are Unicode names. 
--->
-
-<!-- Latin Extended-B -->
-<!ENTITY fnof     "&#402;"> <!-- latin small letter f with hook = function
-                                    = florin, U+0192 ISOtech -->
-
-<!-- Greek -->
-<!ENTITY Alpha    "&#913;"> <!-- greek capital letter alpha, U+0391 -->
-<!ENTITY Beta     "&#914;"> <!-- greek capital letter beta, U+0392 -->
-<!ENTITY Gamma    "&#915;"> <!-- greek capital letter gamma,
-                                    U+0393 ISOgrk3 -->
-<!ENTITY Delta    "&#916;"> <!-- greek capital letter delta,
-                                    U+0394 ISOgrk3 -->
-<!ENTITY Epsilon  "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
-<!ENTITY Zeta     "&#918;"> <!-- greek capital letter zeta, U+0396 -->
-<!ENTITY Eta      "&#919;"> <!-- greek capital letter eta, U+0397 -->
-<!ENTITY Theta    "&#920;"> <!-- greek capital letter theta,
-                                    U+0398 ISOgrk3 -->
-<!ENTITY Iota     "&#921;"> <!-- greek capital letter iota, U+0399 -->
-<!ENTITY Kappa    "&#922;"> <!-- greek capital letter kappa, U+039A -->
-<!ENTITY Lambda   "&#923;"> <!-- greek capital letter lamda,
-                                    U+039B ISOgrk3 -->
-<!ENTITY Mu       "&#924;"> <!-- greek capital letter mu, U+039C -->
-<!ENTITY Nu       "&#925;"> <!-- greek capital letter nu, U+039D -->
-<!ENTITY Xi       "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
-<!ENTITY Omicron  "&#927;"> <!-- greek capital letter omicron, U+039F -->
-<!ENTITY Pi       "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
-<!ENTITY Rho      "&#929;"> <!-- greek capital letter rho, U+03A1 -->
-<!-- there is no Sigmaf, and no U+03A2 character either -->
-<!ENTITY Sigma    "&#931;"> <!-- greek capital letter sigma,
-                                    U+03A3 ISOgrk3 -->
-<!ENTITY Tau      "&#932;"> <!-- greek capital letter tau, U+03A4 -->
-<!ENTITY Upsilon  "&#933;"> <!-- greek capital letter upsilon,
-                                    U+03A5 ISOgrk3 -->
-<!ENTITY Phi      "&#934;"> <!-- greek capital letter phi,
-                                    U+03A6 ISOgrk3 -->
-<!ENTITY Chi      "&#935;"> <!-- greek capital letter chi, U+03A7 -->
-<!ENTITY Psi      "&#936;"> <!-- greek capital letter psi,
-                                    U+03A8 ISOgrk3 -->
-<!ENTITY Omega    "&#937;"> <!-- greek capital letter omega,
-                                    U+03A9 ISOgrk3 -->
-
-<!ENTITY alpha    "&#945;"> <!-- greek small letter alpha,
-                                    U+03B1 ISOgrk3 -->
-<!ENTITY beta     "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
-<!ENTITY gamma    "&#947;"> <!-- greek small letter gamma,
-                                    U+03B3 ISOgrk3 -->
-<!ENTITY delta    "&#948;"> <!-- greek small letter delta,
-                                    U+03B4 ISOgrk3 -->
-<!ENTITY epsilon  "&#949;"> <!-- greek small letter epsilon,
-                                    U+03B5 ISOgrk3 -->
-<!ENTITY zeta     "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
-<!ENTITY eta      "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
-<!ENTITY theta    "&#952;"> <!-- greek small letter theta,
-                                    U+03B8 ISOgrk3 -->
-<!ENTITY iota     "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
-<!ENTITY kappa    "&#954;"> <!-- greek small letter kappa,
-                                    U+03BA ISOgrk3 -->
-<!ENTITY lambda   "&#955;"> <!-- greek small letter lamda,
-                                    U+03BB ISOgrk3 -->
-<!ENTITY mu       "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
-<!ENTITY nu       "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
-<!ENTITY xi       "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
-<!ENTITY omicron  "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
-<!ENTITY pi       "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
-<!ENTITY rho      "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
-<!ENTITY sigmaf   "&#962;"> <!-- greek small letter final sigma,
-                                    U+03C2 ISOgrk3 -->
-<!ENTITY sigma    "&#963;"> <!-- greek small letter sigma,
-                                    U+03C3 ISOgrk3 -->
-<!ENTITY tau      "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
-<!ENTITY upsilon  "&#965;"> <!-- greek small letter upsilon,
-                                    U+03C5 ISOgrk3 -->
-<!ENTITY phi      "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
-<!ENTITY chi      "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
-<!ENTITY psi      "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
-<!ENTITY omega    "&#969;"> <!-- greek small letter omega,
-                                    U+03C9 ISOgrk3 -->
-<!ENTITY thetasym "&#977;"> <!-- greek theta symbol,
-                                    U+03D1 NEW -->
-<!ENTITY upsih    "&#978;"> <!-- greek upsilon with hook symbol,
-                                    U+03D2 NEW -->
-<!ENTITY piv      "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
-
-<!-- General Punctuation -->
-<!ENTITY bull     "&#8226;"> <!-- bullet = black small circle,
-                                     U+2022 ISOpub  -->
-<!-- bullet is NOT the same as bullet operator, U+2219 -->
-<!ENTITY hellip   "&#8230;"> <!-- horizontal ellipsis = three dot leader,
-                                     U+2026 ISOpub  -->
-<!ENTITY prime    "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
-<!ENTITY Prime    "&#8243;"> <!-- double prime = seconds = inches,
-                                     U+2033 ISOtech -->
-<!ENTITY oline    "&#8254;"> <!-- overline = spacing overscore,
-                                     U+203E NEW -->
-<!ENTITY frasl    "&#8260;"> <!-- fraction slash, U+2044 NEW -->
-
-<!-- Letterlike Symbols -->
-<!ENTITY weierp   "&#8472;"> <!-- script capital P = power set
-                                     = Weierstrass p, U+2118 ISOamso -->
-<!ENTITY image    "&#8465;"> <!-- black-letter capital I = imaginary part,
-                                     U+2111 ISOamso -->
-<!ENTITY real     "&#8476;"> <!-- black-letter capital R = real part symbol,
-                                     U+211C ISOamso -->
-<!ENTITY trade    "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
-<!ENTITY alefsym  "&#8501;"> <!-- alef symbol = first transfinite cardinal,
-                                     U+2135 NEW -->
-<!-- alef symbol is NOT the same as hebrew letter alef,
-     U+05D0 although the same glyph could be used to depict both characters -->
-
-<!-- Arrows -->
-<!ENTITY larr     "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
-<!ENTITY uarr     "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
-<!ENTITY rarr     "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
-<!ENTITY darr     "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
-<!ENTITY harr     "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
-<!ENTITY crarr    "&#8629;"> <!-- downwards arrow with corner leftwards
-                                     = carriage return, U+21B5 NEW -->
-<!ENTITY lArr     "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
-<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
-    but also does not have any other character for that function. So lArr can
-    be used for 'is implied by' as ISOtech suggests -->
-<!ENTITY uArr     "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
-<!ENTITY rArr     "&#8658;"> <!-- rightwards double arrow,
-                                     U+21D2 ISOtech -->
-<!-- Unicode does not say this is the 'implies' character but does not have 
-     another character with this function so rArr can be used for 'implies'
-     as ISOtech suggests -->
-<!ENTITY dArr     "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
-<!ENTITY hArr     "&#8660;"> <!-- left right double arrow,
-                                     U+21D4 ISOamsa -->
-
-<!-- Mathematical Operators -->
-<!ENTITY forall   "&#8704;"> <!-- for all, U+2200 ISOtech -->
-<!ENTITY part     "&#8706;"> <!-- partial differential, U+2202 ISOtech  -->
-<!ENTITY exist    "&#8707;"> <!-- there exists, U+2203 ISOtech -->
-<!ENTITY empty    "&#8709;"> <!-- empty set = null set, U+2205 ISOamso -->
-<!ENTITY nabla    "&#8711;"> <!-- nabla = backward difference,
-                                     U+2207 ISOtech -->
-<!ENTITY isin     "&#8712;"> <!-- element of, U+2208 ISOtech -->
-<!ENTITY notin    "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
-<!ENTITY ni       "&#8715;"> <!-- contains as member, U+220B ISOtech -->
-<!ENTITY prod     "&#8719;"> <!-- n-ary product = product sign,
-                                     U+220F ISOamsb -->
-<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
-     the same glyph might be used for both -->
-<!ENTITY sum      "&#8721;"> <!-- n-ary summation, U+2211 ISOamsb -->
-<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
-     though the same glyph might be used for both -->
-<!ENTITY minus    "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
-<!ENTITY lowast   "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
-<!ENTITY radic    "&#8730;"> <!-- square root = radical sign,
-                                     U+221A ISOtech -->
-<!ENTITY prop     "&#8733;"> <!-- proportional to, U+221D ISOtech -->
-<!ENTITY infin    "&#8734;"> <!-- infinity, U+221E ISOtech -->
-<!ENTITY ang      "&#8736;"> <!-- angle, U+2220 ISOamso -->
-<!ENTITY and      "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
-<!ENTITY or       "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
-<!ENTITY cap      "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
-<!ENTITY cup      "&#8746;"> <!-- union = cup, U+222A ISOtech -->
-<!ENTITY int      "&#8747;"> <!-- integral, U+222B ISOtech -->
-<!ENTITY there4   "&#8756;"> <!-- therefore, U+2234 ISOtech -->
-<!ENTITY sim      "&#8764;"> <!-- tilde operator = varies with = similar to,
-                                     U+223C ISOtech -->
-<!-- tilde operator is NOT the same character as the tilde, U+007E,
-     although the same glyph might be used to represent both  -->
-<!ENTITY cong     "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
-<!ENTITY asymp    "&#8776;"> <!-- almost equal to = asymptotic to,
-                                     U+2248 ISOamsr -->
-<!ENTITY ne       "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
-<!ENTITY equiv    "&#8801;"> <!-- identical to, U+2261 ISOtech -->
-<!ENTITY le       "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
-<!ENTITY ge       "&#8805;"> <!-- greater-than or equal to,
-                                     U+2265 ISOtech -->
-<!ENTITY sub      "&#8834;"> <!-- subset of, U+2282 ISOtech -->
-<!ENTITY sup      "&#8835;"> <!-- superset of, U+2283 ISOtech -->
-<!ENTITY nsub     "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
-<!ENTITY sube     "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
-<!ENTITY supe     "&#8839;"> <!-- superset of or equal to,
-                                     U+2287 ISOtech -->
-<!ENTITY oplus    "&#8853;"> <!-- circled plus = direct sum,
-                                     U+2295 ISOamsb -->
-<!ENTITY otimes   "&#8855;"> <!-- circled times = vector product,
-                                     U+2297 ISOamsb -->
-<!ENTITY perp     "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
-                                     U+22A5 ISOtech -->
-<!ENTITY sdot     "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
-<!-- dot operator is NOT the same character as U+00B7 middle dot -->
-
-<!-- Miscellaneous Technical -->
-<!ENTITY lceil    "&#8968;"> <!-- left ceiling = APL upstile,
-                                     U+2308 ISOamsc  -->
-<!ENTITY rceil    "&#8969;"> <!-- right ceiling, U+2309 ISOamsc  -->
-<!ENTITY lfloor   "&#8970;"> <!-- left floor = APL downstile,
-                                     U+230A ISOamsc  -->
-<!ENTITY rfloor   "&#8971;"> <!-- right floor, U+230B ISOamsc  -->
-<!ENTITY lang     "&#9001;"> <!-- left-pointing angle bracket = bra,
-                                     U+2329 ISOtech -->
-<!-- lang is NOT the same character as U+003C 'less than sign' 
-     or U+2039 'single left-pointing angle quotation mark' -->
-<!ENTITY rang     "&#9002;"> <!-- right-pointing angle bracket = ket,
-                                     U+232A ISOtech -->
-<!-- rang is NOT the same character as U+003E 'greater than sign' 
-     or U+203A 'single right-pointing angle quotation mark' -->
-
-<!-- Geometric Shapes -->
-<!ENTITY loz      "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
-
-<!-- Miscellaneous Symbols -->
-<!ENTITY spades   "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
-<!-- black here seems to mean filled as opposed to hollow -->
-<!ENTITY clubs    "&#9827;"> <!-- black club suit = shamrock,
-                                     U+2663 ISOpub -->
-<!ENTITY hearts   "&#9829;"> <!-- black heart suit = valentine,
-                                     U+2665 ISOpub -->
-<!ENTITY diams    "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->
diff --git a/doxia-site-renderer/src/test/resources/dtd/xhtml1-transitional.dtd b/doxia-site-renderer/src/test/resources/dtd/xhtml1-transitional.dtd
deleted file mode 100644
index c62c02a..0000000
--- a/doxia-site-renderer/src/test/resources/dtd/xhtml1-transitional.dtd
+++ /dev/null
@@ -1,1201 +0,0 @@
-<!--
-   Extensible HTML version 1.0 Transitional DTD
-
-   This is the same as HTML 4 Transitional except for
-   changes due to the differences between XML and SGML.
-
-   Namespace = http://www.w3.org/1999/xhtml
-
-   For further information, see: http://www.w3.org/TR/xhtml1
-
-   Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
-   All Rights Reserved. 
-
-   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
-   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
-
-   $Revision: 1.27 $
-   $Date: 2002/08/01 18:16:48 $
-
--->
-
-<!--================ Character mnemonic entities =========================-->
-
-<!ENTITY % HTMLlat1 PUBLIC
-   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
-   "xhtml-lat1.ent">
-%HTMLlat1;
-
-<!ENTITY % HTMLsymbol PUBLIC
-   "-//W3C//ENTITIES Symbols for XHTML//EN"
-   "xhtml-symbol.ent">
-%HTMLsymbol;
-
-<!ENTITY % HTMLspecial PUBLIC
-   "-//W3C//ENTITIES Special for XHTML//EN"
-   "xhtml-special.ent">
-%HTMLspecial;
-
-<!--================== Imported Names ====================================-->
-
-<!ENTITY % ContentType "CDATA">
-    <!-- media type, as per [RFC2045] -->
-
-<!ENTITY % ContentTypes "CDATA">
-    <!-- comma-separated list of media types, as per [RFC2045] -->
-
-<!ENTITY % Charset "CDATA">
-    <!-- a character encoding, as per [RFC2045] -->
-
-<!ENTITY % Charsets "CDATA">
-    <!-- a space separated list of character encodings, as per [RFC2045] -->
-
-<!ENTITY % LanguageCode "NMTOKEN">
-    <!-- a language code, as per [RFC3066] -->
-
-<!ENTITY % Character "CDATA">
-    <!-- a single character, as per section 2.2 of [XML] -->
-
-<!ENTITY % Number "CDATA">
-    <!-- one or more digits -->
-
-<!ENTITY % LinkTypes "CDATA">
-    <!-- space-separated list of link types -->
-
-<!ENTITY % MediaDesc "CDATA">
-    <!-- single or comma-separated list of media descriptors -->
-
-<!ENTITY % URI "CDATA">
-    <!-- a Uniform Resource Identifier, see [RFC2396] -->
-
-<!ENTITY % UriList "CDATA">
-    <!-- a space separated list of Uniform Resource Identifiers -->
-
-<!ENTITY % Datetime "CDATA">
-    <!-- date and time information. ISO date format -->
-
-<!ENTITY % Script "CDATA">
-    <!-- script expression -->
-
-<!ENTITY % StyleSheet "CDATA">
-    <!-- style sheet data -->
-
-<!ENTITY % Text "CDATA">
-    <!-- used for titles etc. -->
-
-<!ENTITY % FrameTarget "NMTOKEN">
-    <!-- render in this frame -->
-
-<!ENTITY % Length "CDATA">
-    <!-- nn for pixels or nn% for percentage length -->
-
-<!ENTITY % MultiLength "CDATA">
-    <!-- pixel, percentage, or relative -->
-
-<!ENTITY % Pixels "CDATA">
-    <!-- integer representing length in pixels -->
-
-<!-- these are used for image maps -->
-
-<!ENTITY % Shape "(rect|circle|poly|default)">
-
-<!ENTITY % Coords "CDATA">
-    <!-- comma separated list of lengths -->
-
-<!-- used for object, applet, img, input and iframe -->
-<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
-
-<!-- a color using sRGB: #RRGGBB as Hex values -->
-<!ENTITY % Color "CDATA">
-
-<!-- There are also 16 widely known color names with their sRGB values:
-
-    Black  = #000000    Green  = #008000
-    Silver = #C0C0C0    Lime   = #00FF00
-    Gray   = #808080    Olive  = #808000
-    White  = #FFFFFF    Yellow = #FFFF00
-    Maroon = #800000    Navy   = #000080
-    Red    = #FF0000    Blue   = #0000FF
-    Purple = #800080    Teal   = #008080
-    Fuchsia= #FF00FF    Aqua   = #00FFFF
--->
-
-<!--=================== Generic Attributes ===============================-->
-
-<!-- core attributes common to most elements
-  id       document-wide unique id
-  class    space separated list of classes
-  style    associated style info
-  title    advisory title/amplification
--->
-<!ENTITY % coreattrs
- "id          ID             #IMPLIED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED"
-  >
-
-<!-- internationalization attributes
-  lang        language code (backwards compatible)
-  xml:lang    language code (as per XML 1.0 spec)
-  dir         direction for weak/neutral text
--->
-<!ENTITY % i18n
- "lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #IMPLIED"
-  >
-
-<!-- attributes for common UI events
-  onclick     a pointer button was clicked
-  ondblclick  a pointer button was double clicked
-  onmousedown a pointer button was pressed down
-  onmouseup   a pointer button was released
-  onmousemove a pointer was moved onto the element
-  onmouseout  a pointer was moved away from the element
-  onkeypress  a key was pressed and released
-  onkeydown   a key was pressed down
-  onkeyup     a key was released
--->
-<!ENTITY % events
- "onclick     %Script;       #IMPLIED
-  ondblclick  %Script;       #IMPLIED
-  onmousedown %Script;       #IMPLIED
-  onmouseup   %Script;       #IMPLIED
-  onmouseover %Script;       #IMPLIED
-  onmousemove %Script;       #IMPLIED
-  onmouseout  %Script;       #IMPLIED
-  onkeypress  %Script;       #IMPLIED
-  onkeydown   %Script;       #IMPLIED
-  onkeyup     %Script;       #IMPLIED"
-  >
-
-<!-- attributes for elements that can get the focus
-  accesskey   accessibility key character
-  tabindex    position in tabbing order
-  onfocus     the element got the focus
-  onblur      the element lost the focus
--->
-<!ENTITY % focus
- "accesskey   %Character;    #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED"
-  >
-
-<!ENTITY % attrs "%coreattrs; %i18n; %events;">
-
-<!-- text alignment for p, div, h1-h6. The default is
-     align="left" for ltr headings, "right" for rtl -->
-
-<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
-
-<!--=================== Text Elements ====================================-->
-
-<!ENTITY % special.extra
-   "object | applet | img | map | iframe">
-	
-<!ENTITY % special.basic
-	"br | span | bdo">
-
-<!ENTITY % special
-   "%special.basic; | %special.extra;">
-
-<!ENTITY % fontstyle.extra "big | small | font | basefont">
-
-<!ENTITY % fontstyle.basic "tt | i | b | u
-                      | s | strike ">
-
-<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
-
-<!ENTITY % phrase.extra "sub | sup">
-<!ENTITY % phrase.basic "em | strong | dfn | code | q |
-                   samp | kbd | var | cite | abbr | acronym">
-
-<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
-
-<!ENTITY % inline.forms "input | select | textarea | label | button">
-
-<!-- these can occur at block or inline level -->
-<!ENTITY % misc.inline "ins | del | script">
-
-<!-- these can only occur at block level -->
-<!ENTITY % misc "noscript | %misc.inline;">
-
-<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
-
-<!-- %Inline; covers inline or "text-level" elements -->
-<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
-
-<!--================== Block level elements ==============================-->
-
-<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
-<!ENTITY % lists "ul | ol | dl | menu | dir">
-<!ENTITY % blocktext "pre | hr | blockquote | address | center | noframes">
-
-<!ENTITY % block
-    "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
-
-<!-- %Flow; mixes block and inline and is used for list items etc. -->
-<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
-
-<!--================== Content models for exclusions =====================-->
-
-<!-- a elements use %Inline; excluding a -->
-
-<!ENTITY % a.content
-   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
-
-<!-- pre uses %Inline excluding img, object, applet, big, small,
-     font, or basefont -->
-
-<!ENTITY % pre.content
-   "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
-	   %inline.forms; | %misc.inline;)*">
-
-<!-- form uses %Flow; excluding form -->
-
-<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
-
-<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
-
-<!ENTITY % button.content
-   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
-      table | br | span | bdo | object | applet | img | map |
-      %fontstyle; | %phrase; | %misc;)*">
-
-<!--================ Document Structure ==================================-->
-
-<!-- the namespace URI designates the document profile -->
-
-<!ELEMENT html (head, body)>
-<!ATTLIST html
-  %i18n;
-  id          ID             #IMPLIED
-  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
-  >
-
-<!--================ Document Head =======================================-->
-
-<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
-
-<!-- content model is %head.misc; combined with a single
-     title and an optional base element in any order -->
-
-<!ELEMENT head (%head.misc;,
-     ((title, %head.misc;, (base, %head.misc;)?) |
-      (base, %head.misc;, (title, %head.misc;))))>
-
-<!ATTLIST head
-  %i18n;
-  id          ID             #IMPLIED
-  profile     %URI;          #IMPLIED
-  >
-
-<!-- The title element is not considered part of the flow of text.
-       It should be displayed, for example as the page header or
-       window title. Exactly one title is required per document.
-    -->
-<!ELEMENT title (#PCDATA)>
-<!ATTLIST title 
-  %i18n;
-  id          ID             #IMPLIED
-  >
-
-<!-- document base URI -->
-
-<!ELEMENT base EMPTY>
-<!ATTLIST base
-  id          ID             #IMPLIED
-  href        %URI;          #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!-- generic metainformation -->
-<!ELEMENT meta EMPTY>
-<!ATTLIST meta
-  %i18n;
-  id          ID             #IMPLIED
-  http-equiv  CDATA          #IMPLIED
-  name        CDATA          #IMPLIED
-  content     CDATA          #REQUIRED
-  scheme      CDATA          #IMPLIED
-  >
-
-<!--
-  Relationship values can be used in principle:
-
-   a) for document specific toolbars/menus when used
-      with the link element in document head e.g.
-        start, contents, previous, next, index, end, help
-   b) to link to a separate style sheet (rel="stylesheet")
-   c) to make a link to a script (rel="script")
-   d) by stylesheets to control how collections of
-      html nodes are rendered into printed documents
-   e) to make a link to a printable version of this document
-      e.g. a PostScript or PDF version (rel="alternate" media="print")
--->
-
-<!ELEMENT link EMPTY>
-<!ATTLIST link
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  type        %ContentType;  #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  media       %MediaDesc;    #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!-- style info, which may include CDATA sections -->
-<!ELEMENT style (#PCDATA)>
-<!ATTLIST style
-  %i18n;
-  id          ID             #IMPLIED
-  type        %ContentType;  #REQUIRED
-  media       %MediaDesc;    #IMPLIED
-  title       %Text;         #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- script statements, which may include CDATA sections -->
-<!ELEMENT script (#PCDATA)>
-<!ATTLIST script
-  id          ID             #IMPLIED
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #REQUIRED
-  language    CDATA          #IMPLIED
-  src         %URI;          #IMPLIED
-  defer       (defer)        #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- alternate content container for non script-based rendering -->
-
-<!ELEMENT noscript %Flow;>
-<!ATTLIST noscript
-  %attrs;
-  >
-
-<!--======================= Frames =======================================-->
-
-<!-- inline subwindow -->
-
-<!ELEMENT iframe %Flow;>
-<!ATTLIST iframe
-  %coreattrs;
-  longdesc    %URI;          #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  src         %URI;          #IMPLIED
-  frameborder (1|0)          "1"
-  marginwidth %Pixels;       #IMPLIED
-  marginheight %Pixels;      #IMPLIED
-  scrolling   (yes|no|auto)  "auto"
-  align       %ImgAlign;     #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  >
-
-<!-- alternate content container for non frame-based rendering -->
-
-<!ELEMENT noframes %Flow;>
-<!ATTLIST noframes
-  %attrs;
-  >
-
-<!--=================== Document Body ====================================-->
-
-<!ELEMENT body %Flow;>
-<!ATTLIST body
-  %attrs;
-  onload      %Script;       #IMPLIED
-  onunload    %Script;       #IMPLIED
-  background  %URI;          #IMPLIED
-  bgcolor     %Color;        #IMPLIED
-  text        %Color;        #IMPLIED
-  link        %Color;        #IMPLIED
-  vlink       %Color;        #IMPLIED
-  alink       %Color;        #IMPLIED
-  >
-
-<!ELEMENT div %Flow;>  <!-- generic language/style container -->
-<!ATTLIST div
-  %attrs;
-  %TextAlign;
-  >
-
-<!--=================== Paragraphs =======================================-->
-
-<!ELEMENT p %Inline;>
-<!ATTLIST p
-  %attrs;
-  %TextAlign;
-  >
-
-<!--=================== Headings =========================================-->
-
-<!--
-  There are six levels of headings from h1 (the most important)
-  to h6 (the least important).
--->
-
-<!ELEMENT h1  %Inline;>
-<!ATTLIST h1
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h2 %Inline;>
-<!ATTLIST h2
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h3 %Inline;>
-<!ATTLIST h3
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h4 %Inline;>
-<!ATTLIST h4
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h5 %Inline;>
-<!ATTLIST h5
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h6 %Inline;>
-<!ATTLIST h6
-  %attrs;
-  %TextAlign;
-  >
-
-<!--=================== Lists ============================================-->
-
-<!-- Unordered list bullet styles -->
-
-<!ENTITY % ULStyle "(disc|square|circle)">
-
-<!-- Unordered list -->
-
-<!ELEMENT ul (li)+>
-<!ATTLIST ul
-  %attrs;
-  type        %ULStyle;     #IMPLIED
-  compact     (compact)     #IMPLIED
-  >
-
-<!-- Ordered list numbering style
-
-    1   arabic numbers      1, 2, 3, ...
-    a   lower alpha         a, b, c, ...
-    A   upper alpha         A, B, C, ...
-    i   lower roman         i, ii, iii, ...
-    I   upper roman         I, II, III, ...
-
-    The style is applied to the sequence number which by default
-    is reset to 1 for the first list item in an ordered list.
--->
-<!ENTITY % OLStyle "CDATA">
-
-<!-- Ordered (numbered) list -->
-
-<!ELEMENT ol (li)+>
-<!ATTLIST ol
-  %attrs;
-  type        %OLStyle;      #IMPLIED
-  compact     (compact)      #IMPLIED
-  start       %Number;       #IMPLIED
-  >
-
-<!-- single column list (DEPRECATED) --> 
-<!ELEMENT menu (li)+>
-<!ATTLIST menu
-  %attrs;
-  compact     (compact)     #IMPLIED
-  >
-
-<!-- multiple column list (DEPRECATED) --> 
-<!ELEMENT dir (li)+>
-<!ATTLIST dir
-  %attrs;
-  compact     (compact)     #IMPLIED
-  >
-
-<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
-<!ENTITY % LIStyle "CDATA">
-
-<!-- list item -->
-
-<!ELEMENT li %Flow;>
-<!ATTLIST li
-  %attrs;
-  type        %LIStyle;      #IMPLIED
-  value       %Number;       #IMPLIED
-  >
-
-<!-- definition lists - dt for term, dd for its definition -->
-
-<!ELEMENT dl (dt|dd)+>
-<!ATTLIST dl
-  %attrs;
-  compact     (compact)      #IMPLIED
-  >
-
-<!ELEMENT dt %Inline;>
-<!ATTLIST dt
-  %attrs;
-  >
-
-<!ELEMENT dd %Flow;>
-<!ATTLIST dd
-  %attrs;
-  >
-
-<!--=================== Address ==========================================-->
-
-<!-- information on author -->
-
-<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
-<!ATTLIST address
-  %attrs;
-  >
-
-<!--=================== Horizontal Rule ==================================-->
-
-<!ELEMENT hr EMPTY>
-<!ATTLIST hr
-  %attrs;
-  align       (left|center|right) #IMPLIED
-  noshade     (noshade)      #IMPLIED
-  size        %Pixels;       #IMPLIED
-  width       %Length;       #IMPLIED
-  >
-
-<!--=================== Preformatted Text ================================-->
-
-<!-- content is %Inline; excluding 
-        "img|object|applet|big|small|sub|sup|font|basefont" -->
-
-<!ELEMENT pre %pre.content;>
-<!ATTLIST pre
-  %attrs;
-  width       %Number;      #IMPLIED
-  xml:space   (preserve)    #FIXED 'preserve'
-  >
-
-<!--=================== Block-like Quotes ================================-->
-
-<!ELEMENT blockquote %Flow;>
-<!ATTLIST blockquote
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!--=================== Text alignment ===================================-->
-
-<!-- center content -->
-<!ELEMENT center %Flow;>
-<!ATTLIST center
-  %attrs;
-  >
-
-<!--=================== Inserted/Deleted Text ============================-->
-
-<!--
-  ins/del are allowed in block and inline content, but its
-  inappropriate to include block content within an ins element
-  occurring in inline content.
--->
-<!ELEMENT ins %Flow;>
-<!ATTLIST ins
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!ELEMENT del %Flow;>
-<!ATTLIST del
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!--================== The Anchor Element ================================-->
-
-<!-- content is %Inline; except that anchors shouldn't be nested -->
-
-<!ELEMENT a %a.content;>
-<!ATTLIST a
-  %attrs;
-  %focus;
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!--===================== Inline Elements ================================-->
-
-<!ELEMENT span %Inline;> <!-- generic language/style container -->
-<!ATTLIST span
-  %attrs;
-  >
-
-<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
-<!ATTLIST bdo
-  %coreattrs;
-  %events;
-  lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #REQUIRED
-  >
-
-<!ELEMENT br EMPTY>   <!-- forced line break -->
-<!ATTLIST br
-  %coreattrs;
-  clear       (left|all|right|none) "none"
-  >
-
-<!ELEMENT em %Inline;>   <!-- emphasis -->
-<!ATTLIST em %attrs;>
-
-<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
-<!ATTLIST strong %attrs;>
-
-<!ELEMENT dfn %Inline;>   <!-- definitional -->
-<!ATTLIST dfn %attrs;>
-
-<!ELEMENT code %Inline;>   <!-- program code -->
-<!ATTLIST code %attrs;>
-
-<!ELEMENT samp %Inline;>   <!-- sample -->
-<!ATTLIST samp %attrs;>
-
-<!ELEMENT kbd %Inline;>  <!-- something user would type -->
-<!ATTLIST kbd %attrs;>
-
-<!ELEMENT var %Inline;>   <!-- variable -->
-<!ATTLIST var %attrs;>
-
-<!ELEMENT cite %Inline;>   <!-- citation -->
-<!ATTLIST cite %attrs;>
-
-<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
-<!ATTLIST abbr %attrs;>
-
-<!ELEMENT acronym %Inline;>   <!-- acronym -->
-<!ATTLIST acronym %attrs;>
-
-<!ELEMENT q %Inline;>   <!-- inlined quote -->
-<!ATTLIST q
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!ELEMENT sub %Inline;> <!-- subscript -->
-<!ATTLIST sub %attrs;>
-
-<!ELEMENT sup %Inline;> <!-- superscript -->
-<!ATTLIST sup %attrs;>
-
-<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
-<!ATTLIST tt %attrs;>
-
-<!ELEMENT i %Inline;>   <!-- italic font -->
-<!ATTLIST i %attrs;>
-
-<!ELEMENT b %Inline;>   <!-- bold font -->
-<!ATTLIST b %attrs;>
-
-<!ELEMENT big %Inline;>   <!-- bigger font -->
-<!ATTLIST big %attrs;>
-
-<!ELEMENT small %Inline;>   <!-- smaller font -->
-<!ATTLIST small %attrs;>
-
-<!ELEMENT u %Inline;>   <!-- underline -->
-<!ATTLIST u %attrs;>
-
-<!ELEMENT s %Inline;>   <!-- strike-through -->
-<!ATTLIST s %attrs;>
-
-<!ELEMENT strike %Inline;>   <!-- strike-through -->
-<!ATTLIST strike %attrs;>
-
-<!ELEMENT basefont EMPTY>  <!-- base font size -->
-<!ATTLIST basefont
-  id          ID             #IMPLIED
-  size        CDATA          #REQUIRED
-  color       %Color;        #IMPLIED
-  face        CDATA          #IMPLIED
-  >
-
-<!ELEMENT font %Inline;> <!-- local change to font -->
-<!ATTLIST font
-  %coreattrs;
-  %i18n;
-  size        CDATA          #IMPLIED
-  color       %Color;        #IMPLIED
-  face        CDATA          #IMPLIED
-  >
-
-<!--==================== Object ======================================-->
-<!--
-  object is used to embed objects as part of HTML pages.
-  param elements should precede other content. Parameters
-  can also be expressed as attribute/value pairs on the
-  object element itself when brevity is desired.
--->
-
-<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
-<!ATTLIST object
-  %attrs;
-  declare     (declare)      #IMPLIED
-  classid     %URI;          #IMPLIED
-  codebase    %URI;          #IMPLIED
-  data        %URI;          #IMPLIED
-  type        %ContentType;  #IMPLIED
-  codetype    %ContentType;  #IMPLIED
-  archive     %UriList;      #IMPLIED
-  standby     %Text;         #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  align       %ImgAlign;     #IMPLIED
-  border      %Pixels;       #IMPLIED
-  hspace      %Pixels;       #IMPLIED
-  vspace      %Pixels;       #IMPLIED
-  >
-
-<!--
-  param is used to supply a named property value.
-  In XML it would seem natural to follow RDF and support an
-  abbreviated syntax where the param elements are replaced
-  by attribute value pairs on the object start tag.
--->
-<!ELEMENT param EMPTY>
-<!ATTLIST param
-  id          ID             #IMPLIED
-  name        CDATA          #REQUIRED
-  value       CDATA          #IMPLIED
-  valuetype   (data|ref|object) "data"
-  type        %ContentType;  #IMPLIED
-  >
-
-<!--=================== Java applet ==================================-->
-<!--
-  One of code or object attributes must be present.
-  Place param elements before other content.
--->
-<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
-<!ATTLIST applet
-  %coreattrs;
-  codebase    %URI;          #IMPLIED
-  archive     CDATA          #IMPLIED
-  code        CDATA          #IMPLIED
-  object      CDATA          #IMPLIED
-  alt         %Text;         #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  width       %Length;       #REQUIRED
-  height      %Length;       #REQUIRED
-  align       %ImgAlign;     #IMPLIED
-  hspace      %Pixels;       #IMPLIED
-  vspace      %Pixels;       #IMPLIED
-  >
-
-<!--=================== Images ===========================================-->
-
-<!--
-   To avoid accessibility problems for people who aren't
-   able to see the image, you should provide a text
-   description using the alt and longdesc attributes.
-   In addition, avoid the use of server-side image maps.
--->
-
-<!ELEMENT img EMPTY>
-<!ATTLIST img
-  %attrs;
-  src         %URI;          #REQUIRED
-  alt         %Text;         #REQUIRED
-  name        NMTOKEN        #IMPLIED
-  longdesc    %URI;          #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  ismap       (ismap)        #IMPLIED
-  align       %ImgAlign;     #IMPLIED
-  border      %Length;       #IMPLIED
-  hspace      %Pixels;       #IMPLIED
-  vspace      %Pixels;       #IMPLIED
-  >
-
-<!-- usemap points to a map element which may be in this document
-  or an external document, although the latter is not widely supported -->
-
-<!--================== Client-side image maps ============================-->
-
-<!-- These can be placed in the same document or grouped in a
-     separate document although this isn't yet widely supported -->
-
-<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
-<!ATTLIST map
-  %i18n;
-  %events;
-  id          ID             #REQUIRED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED
-  name        CDATA          #IMPLIED
-  >
-
-<!ELEMENT area EMPTY>
-<!ATTLIST area
-  %attrs;
-  %focus;
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  href        %URI;          #IMPLIED
-  nohref      (nohref)       #IMPLIED
-  alt         %Text;         #REQUIRED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!--================ Forms ===============================================-->
-
-<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
-
-<!ATTLIST form
-  %attrs;
-  action      %URI;          #REQUIRED
-  method      (get|post)     "get"
-  name        NMTOKEN        #IMPLIED
-  enctype     %ContentType;  "application/x-www-form-urlencoded"
-  onsubmit    %Script;       #IMPLIED
-  onreset     %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  accept-charset %Charsets;  #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!--
-  Each label must not contain more than ONE field
-  Label elements shouldn't be nested.
--->
-<!ELEMENT label %Inline;>
-<!ATTLIST label
-  %attrs;
-  for         IDREF          #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!ENTITY % InputType
-  "(text | password | checkbox |
-    radio | submit | reset |
-    file | hidden | image | button)"
-   >
-
-<!-- the name attribute is required for all but submit & reset -->
-
-<!ELEMENT input EMPTY>     <!-- form control -->
-<!ATTLIST input
-  %attrs;
-  %focus;
-  type        %InputType;    "text"
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  checked     (checked)      #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  size        CDATA          #IMPLIED
-  maxlength   %Number;       #IMPLIED
-  src         %URI;          #IMPLIED
-  alt         CDATA          #IMPLIED
-  usemap      %URI;          #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  align       %ImgAlign;     #IMPLIED
-  >
-
-<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
-<!ATTLIST select
-  %attrs;
-  name        CDATA          #IMPLIED
-  size        %Number;       #IMPLIED
-  multiple    (multiple)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!ELEMENT optgroup (option)+>   <!-- option group -->
-<!ATTLIST optgroup
-  %attrs;
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #REQUIRED
-  >
-
-<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
-<!ATTLIST option
-  %attrs;
-  selected    (selected)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #IMPLIED
-  value       CDATA          #IMPLIED
-  >
-
-<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
-<!ATTLIST textarea
-  %attrs;
-  %focus;
-  name        CDATA          #IMPLIED
-  rows        %Number;       #REQUIRED
-  cols        %Number;       #REQUIRED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!--
-  The fieldset element is used to group form fields.
-  Only one legend element should occur in the content
-  and if present should only be preceded by whitespace.
--->
-<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
-<!ATTLIST fieldset
-  %attrs;
-  >
-
-<!ENTITY % LAlign "(top|bottom|left|right)">
-
-<!ELEMENT legend %Inline;>     <!-- fieldset label -->
-<!ATTLIST legend
-  %attrs;
-  accesskey   %Character;    #IMPLIED
-  align       %LAlign;       #IMPLIED
-  >
-
-<!--
- Content is %Flow; excluding a, form, form controls, iframe
---> 
-<!ELEMENT button %button.content;>  <!-- push button -->
-<!ATTLIST button
-  %attrs;
-  %focus;
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  type        (button|submit|reset) "submit"
-  disabled    (disabled)     #IMPLIED
-  >
-
-<!-- single-line text input control (DEPRECATED) -->
-<!ELEMENT isindex EMPTY>
-<!ATTLIST isindex
-  %coreattrs;
-  %i18n;
-  prompt      %Text;         #IMPLIED
-  >
-
-<!--======================= Tables =======================================-->
-
-<!-- Derived from IETF HTML table standard, see [RFC1942] -->
-
-<!--
- The border attribute sets the thickness of the frame around the
- table. The default units are screen pixels.
-
- The frame attribute specifies which parts of the frame around
- the table should be rendered. The values are not the same as
- CALS to avoid a name clash with the valign attribute.
--->
-<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
-
-<!--
- The rules attribute defines which rules to draw between cells:
-
- If rules is absent then assume:
-     "none" if border is absent or border="0" otherwise "all"
--->
-
-<!ENTITY % TRules "(none | groups | rows | cols | all)">
-  
-<!-- horizontal placement of table relative to document -->
-<!ENTITY % TAlign "(left|center|right)">
-
-<!-- horizontal alignment attributes for cell contents
-
-  char        alignment char, e.g. char=':'
-  charoff     offset for alignment char
--->
-<!ENTITY % cellhalign
-  "align      (left|center|right|justify|char) #IMPLIED
-   char       %Character;    #IMPLIED
-   charoff    %Length;       #IMPLIED"
-  >
-
-<!-- vertical alignment attributes for cell contents -->
-<!ENTITY % cellvalign
-  "valign     (top|middle|bottom|baseline) #IMPLIED"
-  >
-
-<!ELEMENT table
-     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
-<!ELEMENT caption  %Inline;>
-<!ELEMENT thead    (tr)+>
-<!ELEMENT tfoot    (tr)+>
-<!ELEMENT tbody    (tr)+>
-<!ELEMENT colgroup (col)*>
-<!ELEMENT col      EMPTY>
-<!ELEMENT tr       (th|td)+>
-<!ELEMENT th       %Flow;>
-<!ELEMENT td       %Flow;>
-
-<!ATTLIST table
-  %attrs;
-  summary     %Text;         #IMPLIED
-  width       %Length;       #IMPLIED
-  border      %Pixels;       #IMPLIED
-  frame       %TFrame;       #IMPLIED
-  rules       %TRules;       #IMPLIED
-  cellspacing %Length;       #IMPLIED
-  cellpadding %Length;       #IMPLIED
-  align       %TAlign;       #IMPLIED
-  bgcolor     %Color;        #IMPLIED
-  >
-
-<!ENTITY % CAlign "(top|bottom|left|right)">
-
-<!ATTLIST caption
-  %attrs;
-  align       %CAlign;       #IMPLIED
-  >
-
-<!--
-colgroup groups a set of col elements. It allows you to group
-several semantically related columns together.
--->
-<!ATTLIST colgroup
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
- col elements define the alignment properties for cells in
- one or more columns.
-
- The width attribute specifies the width of the columns, e.g.
-
-     width=64        width in screen pixels
-     width=0.5*      relative width of 0.5
-
- The span attribute causes the attributes of one
- col element to apply to more than one column.
--->
-<!ATTLIST col
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
-    Use thead to duplicate headers when breaking table
-    across page boundaries, or for static headers when
-    tbody sections are rendered in scrolling panel.
-
-    Use tfoot to duplicate footers when breaking table
-    across page boundaries, or for static footers when
-    tbody sections are rendered in scrolling panel.
-
-    Use multiple tbody sections when rules are needed
-    between groups of table rows.
--->
-<!ATTLIST thead
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tfoot
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tbody
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tr
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  bgcolor     %Color;        #IMPLIED
-  >
-
-<!-- Scope is simpler than headers attribute for common tables -->
-<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
-
-<!-- th is for headers, td for data and for cells acting as both -->
-
-<!ATTLIST th
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  nowrap      (nowrap)       #IMPLIED
-  bgcolor     %Color;        #IMPLIED
-  width       %Length;       #IMPLIED
-  height      %Length;       #IMPLIED
-  >
-
-<!ATTLIST td
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  nowrap      (nowrap)       #IMPLIED
-  bgcolor     %Color;        #IMPLIED
-  width       %Length;       #IMPLIED
-  height      %Length;       #IMPLIED
-  >
-
diff --git a/doxia-site-renderer/src/test/resources/site-validate/xdoc/entityTest.xml b/doxia-site-renderer/src/test/resources/site-validate/xdoc/entityTest.xml
index f524fe7..1b453ce 100644
--- a/doxia-site-renderer/src/test/resources/site-validate/xdoc/entityTest.xml
+++ b/doxia-site-renderer/src/test/resources/site-validate/xdoc/entityTest.xml
@@ -20,7 +20,9 @@
 
 <!DOCTYPE document [
 <!-- These are the entity sets for ISO Latin 1 characters for the XHTML -->
-<!ENTITY % HTMLlat1 SYSTEM "xhtml-lat1.ent">
+<!ENTITY % HTMLlat1 PUBLIC
+   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+   "https://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
 %HTMLlat1;
 <!-- Some entities from http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent -->
 <!ENTITY Alpha    "&#913;"> <!-- greek capital letter alpha, U+0391 -->
@@ -32,7 +34,7 @@
 ]>
 <document xmlns="http://maven.apache.org/XDOC/2.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 file://xdoc-2.0.xsd">
+  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
   <properties>
     <title>Test entities, cdatas and comments</title>
     <!-- Test comment: DOXIA-312 -->
diff --git a/doxia-site-renderer/src/test/resources/site-validate/xdoc/xdoc-2.0.xsd b/doxia-site-renderer/src/test/resources/site-validate/xdoc/xdoc-2.0.xsd
deleted file mode 100644
index 065b90e..0000000
--- a/doxia-site-renderer/src/test/resources/site-validate/xdoc/xdoc-2.0.xsd
+++ /dev/null
@@ -1,2963 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-
-<xs:schema version="1.0"
-  xml:lang="en"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  targetNamespace="http://maven.apache.org/XDOC/2.0"
-  xmlns="http://maven.apache.org/XDOC/2.0"
-  xmlns:xml="http://www.w3.org/XML/1998/namespace"
-  elementFormDefault="qualified">
-
-  <xs:annotation>
-    <xs:documentation source="description">
-      Xdoc 2.0 XML Schema.
-
-      This is based on: Extensible HTML version 1.0 Transitional XML Schema
-      http://www.w3.org/2002/08/xhtml/xhtml1-transitional.xsd
-
-      For further information, see:
-      http://maven.apache.org/doxia/references/xdoc-format.html
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-
-  <xs:annotation>
-    <xs:documentation>
-    ================ Character mnemonic entities =========================
-
-    XHTML entity sets are identified by the PUBLIC and SYSTEM identifiers:
-
-    PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
-    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"
-
-    PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
-    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"
-
-    PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
-    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:annotation>
-    <xs:documentation>
-    ================== Imported Names ====================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:simpleType name="ContentType">
-    <xs:annotation>
-      <xs:documentation>
-      media type, as per [RFC2045]
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-
-  <xs:simpleType name="ContentTypes">
-    <xs:annotation>
-      <xs:documentation>
-      comma-separated list of media types, as per [RFC2045]
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-
-  <xs:simpleType name="Charset">
-    <xs:annotation>
-      <xs:documentation>
-      a character encoding, as per [RFC2045]
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-
-  <xs:simpleType name="Charsets">
-    <xs:annotation>
-      <xs:documentation>
-      a space separated list of character encodings, as per [RFC2045]
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-
-  <xs:simpleType name="LanguageCode">
-    <xs:annotation>
-      <xs:documentation>
-      a language code, as per [RFC3066]
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:language"/>
-  </xs:simpleType>
-
-  <xs:simpleType name="Character">
-    <xs:annotation>
-      <xs:documentation>
-      a single character, as per section 2.2 of [XML]
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string">
-      <xs:length value="1" fixed="true"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="Number">
-    <xs:annotation>
-      <xs:documentation>
-      one or more digits
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:nonNegativeInteger">
-      <xs:pattern value="[0-9]+"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="tabindexNumber">
-    <xs:annotation>
-      <xs:documentation>
-      tabindex attribute specifies the position of the current element
-      in the tabbing order for the current document. This value must be
-      a number between 0 and 32767. User agents should ignore leading zeros.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="Number">
-      <xs:minInclusive value="0"/>
-      <xs:maxInclusive value="32767"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="LinkTypes">
-    <xs:annotation>
-      <xs:documentation>
-      space-separated list of link types
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:NMTOKENS"/>
-  </xs:simpleType>
-
-  <xs:simpleType name="MediaDesc">
-    <xs:annotation>
-      <xs:documentation>
-      single or comma-separated list of media descriptors
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string">
-      <xs:pattern value="[^,]+(,\s*[^,]+)*"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="URI">
-    <xs:annotation>
-      <xs:documentation>
-      a Uniform Resource Identifier, see [RFC2396]
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:anyURI"/>
-  </xs:simpleType>
-
-  <xs:simpleType name="UriList">
-    <xs:annotation>
-      <xs:documentation>
-      a space separated list of Uniform Resource Identifiers
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-
-  <xs:simpleType name="Datetime">
-    <xs:annotation>
-      <xs:documentation>
-      date and time information. ISO date format
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:dateTime"/>
-  </xs:simpleType>
-
-  <xs:simpleType name="Script">
-    <xs:annotation>
-      <xs:documentation>
-      script expression
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-
-  <xs:simpleType name="StyleSheet">
-    <xs:annotation>
-      <xs:documentation>
-      style sheet data
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-
-  <xs:simpleType name="Text">
-    <xs:annotation>
-      <xs:documentation>
-      used for titles etc.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-
-  <xs:simpleType name="FrameTarget">
-    <xs:annotation>
-      <xs:documentation>
-      render in this frame
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:NMTOKEN">
-      <xs:pattern value="_(blank|self|parent|top)|[A-Za-z]\c*"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="Length">
-    <xs:annotation>
-      <xs:documentation>
-      nn for pixels or nn% for percentage length
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string">
-      <xs:pattern value="[\-+]?(\d+|\d+(\.\d+)?%)"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="MultiLength">
-    <xs:annotation>
-      <xs:documentation>
-      pixel, percentage, or relative
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string">
-      <xs:pattern value="[\-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="Pixels">
-    <xs:annotation>
-      <xs:documentation>
-      integer representing length in pixels
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:nonNegativeInteger"/>
-  </xs:simpleType>
-
-  <xs:annotation>
-    <xs:documentation>
-    these are used for image maps
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:simpleType name="Shape">
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="rect"/>
-      <xs:enumeration value="circle"/>
-      <xs:enumeration value="poly"/>
-      <xs:enumeration value="default"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="Coords">
-    <xs:annotation>
-      <xs:documentation>
-      comma separated list of lengths
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string">
-      <xs:pattern value="[\-+]?(\d+|\d+(\.\d+)?%)(,\s*[\-+]?(\d+|\d+(\.\d+)?%))*"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="ImgAlign">
-    <xs:annotation>
-      <xs:documentation>
-      used for object, applet, img, input and iframe
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="top"/>
-      <xs:enumeration value="middle"/>
-      <xs:enumeration value="bottom"/>
-      <xs:enumeration value="left"/>
-      <xs:enumeration value="right"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="Color">
-    <xs:annotation>
-      <xs:documentation>
-      a color using sRGB: #RRGGBB as Hex values
-
-      There are also 16 widely known color names with their sRGB values:
-
-      Black  = #000000    Green  = #008000
-      Silver = #C0C0C0    Lime   = #00FF00
-      Gray   = #808080    Olive  = #808000
-      White  = #FFFFFF    Yellow = #FFFF00
-      Maroon = #800000    Navy   = #000080
-      Red    = #FF0000    Blue   = #0000FF
-      Purple = #800080    Teal   = #008080
-      Fuchsia= #FF00FF    Aqua   = #00FFFF
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string">
-      <xs:pattern value="[A-Za-z]+|#[0-9A-Fa-f]{3}|#[0-9A-Fa-f]{6}"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Generic Attributes ===============================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:attributeGroup name="coreattrs">
-    <xs:annotation>
-      <xs:documentation>
-      core attributes common to most elements
-      id       document-wide unique id
-      class    space separated list of classes
-      style    associated style info
-      title    advisory title/amplification
-      </xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="id" type="xs:ID"/>
-    <xs:attribute name="class" type="xs:NMTOKENS"/>
-    <xs:attribute name="style" type="StyleSheet"/>
-    <xs:attribute name="title" type="Text"/>
-  </xs:attributeGroup>
-
-  <xs:attributeGroup name="i18n">
-    <xs:annotation>
-      <xs:documentation>
-      internationalization attributes
-      lang        language code (backwards compatible)
-      xml:lang    language code (as per XML 1.0 spec)
-      dir         direction for weak/neutral text
-      </xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="lang" type="LanguageCode"/>
-    <xs:attribute ref="xml:lang"/>
-    <xs:attribute name="dir">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="ltr"/>
-          <xs:enumeration value="rtl"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:attributeGroup>
-
-  <xs:attributeGroup name="events">
-    <xs:annotation>
-      <xs:documentation>
-      attributes for common UI events
-      onclick     a pointer button was clicked
-      ondblclick  a pointer button was double clicked
-      onmousedown a pointer button was pressed down
-      onmouseup   a pointer button was released
-      onmousemove a pointer was moved onto the element
-      onmouseout  a pointer was moved away from the element
-      onkeypress  a key was pressed and released
-      onkeydown   a key was pressed down
-      onkeyup     a key was released
-      </xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="onclick" type="Script"/>
-    <xs:attribute name="ondblclick" type="Script"/>
-    <xs:attribute name="onmousedown" type="Script"/>
-    <xs:attribute name="onmouseup" type="Script"/>
-    <xs:attribute name="onmouseover" type="Script"/>
-    <xs:attribute name="onmousemove" type="Script"/>
-    <xs:attribute name="onmouseout" type="Script"/>
-    <xs:attribute name="onkeypress" type="Script"/>
-    <xs:attribute name="onkeydown" type="Script"/>
-    <xs:attribute name="onkeyup" type="Script"/>
-  </xs:attributeGroup>
-
-  <xs:attributeGroup name="focus">
-    <xs:annotation>
-      <xs:documentation>
-      attributes for elements that can get the focus
-      accesskey   accessibility key character
-      tabindex    position in tabbing order
-      onfocus     the element got the focus
-      onblur      the element lost the focus
-      </xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="accesskey" type="Character"/>
-    <xs:attribute name="tabindex" type="tabindexNumber"/>
-    <xs:attribute name="onfocus" type="Script"/>
-    <xs:attribute name="onblur" type="Script"/>
-  </xs:attributeGroup>
-
-  <xs:attributeGroup name="attrs">
-    <xs:attributeGroup ref="coreattrs"/>
-    <xs:attributeGroup ref="i18n"/>
-    <xs:attributeGroup ref="events"/>
-  </xs:attributeGroup>
-
-  <xs:attributeGroup name="TextAlign">
-    <xs:annotation>
-      <xs:documentation>
-      text alignment for p, div, h1-h6. The default is
-      align="left" for ltr headings, "right" for rtl
-      </xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="align">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="left"/>
-          <xs:enumeration value="center"/>
-          <xs:enumeration value="right"/>
-          <xs:enumeration value="justify"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:attributeGroup>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Text Elements ====================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:group name="special.extra">
-    <xs:choice>
-      <xs:element ref="object"/>
-      <xs:element ref="applet"/>
-      <xs:element ref="img"/>
-      <xs:element ref="map"/>
-      <xs:element ref="iframe"/>
-      <xs:element ref="source"/> <!-- Xdoc specific -->
-      <xs:element ref="macro"/> <!-- Xdoc specific -->
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="special.basic">
-    <xs:choice>
-      <xs:element ref="br"/>
-      <xs:element ref="span"/>
-      <xs:element ref="bdo"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="special">
-    <xs:choice>
-      <xs:group ref="special.basic"/>
-      <xs:group ref="special.extra"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="fontstyle.extra">
-    <xs:choice>
-      <xs:element ref="big"/>
-      <xs:element ref="small"/>
-      <xs:element ref="font"/>
-      <xs:element ref="basefont"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="fontstyle.basic">
-    <xs:choice>
-      <xs:element ref="tt"/>
-      <xs:element ref="i"/>
-      <xs:element ref="b"/>
-      <xs:element ref="u"/>
-      <xs:element ref="s"/>
-      <xs:element ref="strike"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="fontstyle">
-    <xs:choice>
-      <xs:group ref="fontstyle.basic"/>
-      <xs:group ref="fontstyle.extra"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="phrase.extra">
-    <xs:choice>
-      <xs:element ref="sub"/>
-      <xs:element ref="sup"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="phrase.basic">
-    <xs:choice>
-      <xs:element ref="em"/>
-      <xs:element ref="strong"/>
-      <xs:element ref="dfn"/>
-      <xs:element ref="code"/>
-      <xs:element ref="q"/>
-      <xs:element ref="samp"/>
-      <xs:element ref="kbd"/>
-      <xs:element ref="var"/>
-      <xs:element ref="cite"/>
-      <xs:element ref="abbr"/>
-      <xs:element ref="acronym"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="phrase">
-    <xs:choice>
-      <xs:group ref="phrase.basic"/>
-      <xs:group ref="phrase.extra"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="inline.forms">
-    <xs:choice>
-      <xs:element ref="input"/>
-      <xs:element ref="select"/>
-      <xs:element ref="textarea"/>
-      <xs:element ref="label"/>
-      <xs:element ref="button"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="misc.inline">
-    <xs:annotation>
-      <xs:documentation>
-      these can only occur at block level
-      </xs:documentation>
-    </xs:annotation>
-    <xs:choice>
-      <xs:element ref="ins"/>
-      <xs:element ref="del"/>
-      <xs:element ref="script"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="misc">
-    <xs:annotation>
-      <xs:documentation>
-      these can only occur at block level
-      </xs:documentation>
-    </xs:annotation>
-    <xs:choice>
-      <xs:element ref="noscript"/>
-      <xs:group ref="misc.inline"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="inline">
-    <xs:choice>
-      <xs:element ref="a"/>
-      <xs:group ref="special"/>
-      <xs:group ref="fontstyle"/>
-      <xs:group ref="phrase"/>
-      <xs:group ref="inline.forms"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:complexType name="Inline" mixed="true">
-    <xs:annotation>
-      <xs:documentation>
-      "Inline" covers inline or "text-level" element
-      </xs:documentation>
-    </xs:annotation>
-    <xs:choice minOccurs="0" maxOccurs="unbounded">
-      <xs:group ref="inline"/>
-      <xs:group ref="misc.inline"/>
-    </xs:choice>
-  </xs:complexType>
-
-  <xs:annotation>
-    <xs:documentation>
-    ================== Block level elements ==============================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:group name="heading">
-    <xs:choice>
-      <xs:element ref="h1"/>
-      <xs:element ref="h2"/>
-      <xs:element ref="h3"/>
-      <xs:element ref="h4"/>
-      <xs:element ref="h5"/>
-      <xs:element ref="h6"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="lists">
-    <xs:choice>
-      <xs:element ref="ul"/>
-      <xs:element ref="ol"/>
-      <xs:element ref="dl"/>
-      <xs:element ref="menu"/>
-      <xs:element ref="dir"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="blocktext">
-    <xs:choice>
-      <xs:element ref="pre"/>
-      <xs:element ref="hr"/>
-      <xs:element ref="blockquote"/>
-      <xs:element ref="address"/>
-      <xs:element ref="center"/>
-      <xs:element ref="noframes"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:group name="block">
-    <xs:choice>
-      <xs:element ref="p"/>
-      <xs:group ref="heading"/>
-      <xs:element ref="div"/>
-      <xs:group ref="lists"/>
-      <xs:group ref="blocktext"/>
-      <xs:element ref="isindex"/>
-      <xs:element ref="fieldset"/>
-      <xs:element ref="table"/>
-    </xs:choice>
-  </xs:group>
-
-  <xs:complexType name="Flow" mixed="true">
-    <xs:annotation>
-      <xs:documentation>
-      "Flow" mixes block and inline and is used for list items etc.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:choice minOccurs="0" maxOccurs="unbounded">
-      <xs:group ref="block"/>
-      <xs:element ref="form"/>
-      <xs:group ref="inline"/>
-      <xs:group ref="misc"/>
-    </xs:choice>
-  </xs:complexType>
-
-  <xs:annotation>
-    <xs:documentation>
-    ================== Content models for exclusions =====================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType name="a.content" mixed="true">
-    <xs:annotation>
-      <xs:documentation>
-      a elements use "Inline" excluding a
-      </xs:documentation>
-    </xs:annotation>
-    <xs:choice minOccurs="0" maxOccurs="unbounded">
-      <xs:group ref="special"/>
-      <xs:group ref="fontstyle"/>
-      <xs:group ref="phrase"/>
-      <xs:group ref="inline.forms"/>
-      <xs:group ref="misc.inline"/>
-    </xs:choice>
-  </xs:complexType>
-
-  <xs:complexType name="pre.content" mixed="true">
-    <xs:annotation>
-      <xs:documentation>
-      pre uses "Inline" excluding img, object, applet, big, small,
-      font, or basefont
-      </xs:documentation>
-    </xs:annotation>
-    <xs:choice minOccurs="0" maxOccurs="unbounded">
-      <xs:element ref="a"/>
-      <xs:group ref="special.basic"/>
-      <xs:group ref="fontstyle.basic"/>
-      <xs:group ref="phrase.basic"/>
-      <xs:group ref="inline.forms"/>
-      <xs:group ref="misc.inline"/>
-    </xs:choice>
-  </xs:complexType>
-
-  <xs:complexType name="form.content" mixed="true">
-    <xs:annotation>
-      <xs:documentation>
-      form uses "Flow" excluding form
-      </xs:documentation>
-    </xs:annotation>
-    <xs:choice minOccurs="0" maxOccurs="unbounded">
-      <xs:group ref="block"/>
-      <xs:group ref="inline"/>
-      <xs:group ref="misc"/>
-    </xs:choice>
-  </xs:complexType>
-
-  <xs:complexType name="button.content" mixed="true">
-    <xs:annotation>
-      <xs:documentation>
-      button uses "Flow" but excludes a, form, form controls, iframe
-      </xs:documentation>
-    </xs:annotation>
-    <xs:choice minOccurs="0" maxOccurs="unbounded">
-      <xs:element ref="p"/>
-      <xs:group ref="heading"/>
-      <xs:element ref="div"/>
-      <xs:group ref="lists"/>
-      <xs:group ref="blocktext"/>
-      <xs:element ref="table"/>
-      <xs:element ref="br"/>
-      <xs:element ref="span"/>
-      <xs:element ref="bdo"/>
-      <xs:element ref="object"/>
-      <xs:element ref="applet"/>
-      <xs:element ref="img"/>
-      <xs:element ref="map"/>
-      <xs:group ref="fontstyle"/>
-      <xs:group ref="phrase"/>
-      <xs:group ref="misc"/>
-    </xs:choice>
-  </xs:complexType>
-
-  <xs:annotation>
-    <xs:documentation>
-    ================ Document Head =======================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:group name="head.misc">
-    <xs:sequence>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="script"/>
-        <xs:element ref="style"/>
-        <xs:element ref="meta"/>
-        <xs:element ref="link"/>
-        <xs:element ref="object"/>
-        <xs:element ref="isindex"/>
-      </xs:choice>
-    </xs:sequence>
-  </xs:group>
-
-  <xs:element name="head">
-    <xs:annotation>
-      <xs:documentation>
-      content model is "head.misc" combined with a single
-      title and an optional base element in any order
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group ref="head.misc"/>
-        <xs:choice>
-          <xs:sequence>
-            <xs:element ref="title"/>
-            <xs:group ref="head.misc"/>
-            <xs:sequence minOccurs="0">
-              <xs:element ref="base"/>
-              <xs:group ref="head.misc"/>
-            </xs:sequence>
-          </xs:sequence>
-          <xs:sequence>
-            <xs:element ref="base"/>
-            <xs:group ref="head.misc"/>
-            <xs:element ref="title"/>
-            <xs:group ref="head.misc"/>
-          </xs:sequence>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="i18n"/>
-      <xs:attribute name="id" type="xs:ID"/>
-      <xs:attribute name="profile" type="URI"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="title">
-    <xs:annotation>
-      <xs:documentation>
-      The title element is not considered part of the flow of text.
-      It should be displayed, for example as the page header or
-      window title. Exactly one title is required per document.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:attributeGroup ref="i18n"/>
-      <xs:attribute name="id" type="xs:ID"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="base">
-    <xs:annotation>
-      <xs:documentation>
-      document base URI
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:attribute name="id" type="xs:ID"/>
-      <xs:attribute name="href" type="URI"/>
-      <xs:attribute name="target" type="FrameTarget"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="meta">
-    <xs:annotation>
-      <xs:documentation>
-      generic metainformation
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:attributeGroup ref="i18n"/>
-      <xs:attribute name="id" type="xs:ID"/>
-      <xs:attribute name="http-equiv"/>
-      <xs:attribute name="name"/>
-      <xs:attribute name="content" use="required"/>
-      <xs:attribute name="scheme"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="link">
-    <xs:annotation>
-      <xs:documentation>
-      Relationship values can be used in principle:
-
-      a) for document specific toolbars/menus when used
-         with the link element in document head e.g.
-           start, contents, previous, next, index, end, help
-      b) to link to a separate style sheet (rel="stylesheet")
-      c) to make a link to a script (rel="script")
-      d) by stylesheets to control how collections of
-         html nodes are rendered into printed documents
-      e) to make a link to a printable version of this document
-         e.g. a PostScript or PDF version (rel="alternate" media="print")
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="charset" type="Charset"/>
-      <xs:attribute name="href" type="URI"/>
-      <xs:attribute name="hreflang" type="LanguageCode"/>
-      <xs:attribute name="type" type="ContentType"/>
-      <xs:attribute name="rel" type="LinkTypes"/>
-      <xs:attribute name="rev" type="LinkTypes"/>
-      <xs:attribute name="media" type="MediaDesc"/>
-      <xs:attribute name="target" type="FrameTarget"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="style">
-    <xs:annotation>
-      <xs:documentation>
-      style info, which may include CDATA sections
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:attributeGroup ref="i18n"/>
-      <xs:attribute name="id" type="xs:ID"/>
-      <xs:attribute name="type" use="required" type="ContentType"/>
-      <xs:attribute name="media" type="MediaDesc"/>
-      <xs:attribute name="title" type="Text"/>
-      <xs:attribute ref="xml:space" fixed="preserve"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="script">
-    <xs:annotation>
-      <xs:documentation>
-      script statements, which may include CDATA sections
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:attribute name="id" type="xs:ID"/>
-      <xs:attribute name="charset" type="Charset"/>
-      <xs:attribute name="type" use="required" type="ContentType"/>
-      <xs:attribute name="language"/>
-      <xs:attribute name="src" type="URI"/>
-      <xs:attribute name="defer">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="defer"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute ref="xml:space" fixed="preserve"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="noscript">
-    <xs:annotation>
-      <xs:documentation>
-      alternate content container for non script-based rendering
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Flow">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    ======================= Frames =======================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="iframe">
-    <xs:annotation>
-      <xs:documentation>
-      inline subwindow
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Flow">
-          <xs:attributeGroup ref="coreattrs"/>
-          <xs:attribute name="longdesc" type="URI"/>
-          <xs:attribute name="name" type="xs:NMTOKEN"/>
-          <xs:attribute name="src" type="URI"/>
-          <xs:attribute name="frameborder" default="1">
-            <xs:simpleType>
-              <xs:restriction base="xs:token">
-                <xs:enumeration value="1"/>
-                <xs:enumeration value="0"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-          <xs:attribute name="marginwidth" type="Pixels"/>
-          <xs:attribute name="marginheight" type="Pixels"/>
-          <xs:attribute name="scrolling" default="auto">
-            <xs:simpleType>
-              <xs:restriction base="xs:token">
-                <xs:enumeration value="yes"/>
-                <xs:enumeration value="no"/>
-                <xs:enumeration value="auto"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-          <xs:attribute name="align" type="ImgAlign"/>
-          <xs:attribute name="height" type="Length"/>
-          <xs:attribute name="width" type="Length"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="noframes">
-    <xs:annotation>
-      <xs:documentation>
-      alternate content container for non frame-based rendering
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Flow">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Document Body ====================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="div">
-    <xs:annotation>
-      <xs:documentation>
-      generic language/style container
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Flow">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attributeGroup ref="TextAlign"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Paragraphs =======================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="p">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attributeGroup ref="TextAlign"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Headings =========================================
-
-    There are six levels of headings from h1 (the most important)
-    to h6 (the least important).
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="h1">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attributeGroup ref="TextAlign"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="h2">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attributeGroup ref="TextAlign"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="h3">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attributeGroup ref="TextAlign"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="h4">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attributeGroup ref="TextAlign"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="h5">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attributeGroup ref="TextAlign"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="h6">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attributeGroup ref="TextAlign"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Lists ============================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:simpleType name="ULStyle">
-    <xs:annotation>
-      <xs:documentation>
-      Unordered list bullet styles
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="disc"/>
-      <xs:enumeration value="square"/>
-      <xs:enumeration value="circle"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:element name="ul">
-    <xs:annotation>
-      <xs:documentation>
-      Unordered list
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="li"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="type" type="ULStyle"/>
-      <xs:attribute name="compact">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="compact"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:simpleType name="OLStyle">
-    <xs:annotation>
-      <xs:documentation>
-      Ordered list numbering style
-
-      1   arabic numbers      1, 2, 3, ...
-      a   lower alpha         a, b, c, ...
-      A   upper alpha         A, B, C, ...
-      i   lower roman         i, ii, iii, ...
-      I   upper roman         I, II, III, ...
-
-      The style is applied to the sequence number which by default
-      is reset to 1 for the first list item in an ordered list.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-
-  <xs:element name="ol">
-    <xs:annotation>
-      <xs:documentation>
-      Ordered (numbered) list
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="li"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="type" type="OLStyle"/>
-      <xs:attribute name="compact">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="compact"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="start" type="Number"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="menu">
-    <xs:annotation>
-      <xs:documentation>
-      single column list (DEPRECATED)
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="li"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="compact">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="compact"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="dir">
-    <xs:annotation>
-      <xs:documentation>
-      multiple column list (DEPRECATED)
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="li"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="compact">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="compact"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:simpleType name="LIStyle">
-    <xs:annotation>
-      <xs:documentation>
-      LIStyle is constrained to: "(ULStyle|OLStyle)"
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-
-  <xs:element name="li">
-    <xs:annotation>
-      <xs:documentation>
-      list item
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Flow">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attribute name="type" type="LIStyle"/>
-          <xs:attribute name="value" type="Number"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    definition lists - dt for term, dd for its definition
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="dl">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="dt"/>
-        <xs:element ref="dd"/>
-      </xs:choice>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="compact">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="compact"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="dt">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="dd">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Flow">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Address ==========================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="address">
-    <xs:annotation>
-      <xs:documentation>
-      information on author
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="inline"/>
-        <xs:group ref="misc.inline"/>
-        <xs:element ref="p"/>
-      </xs:choice>
-      <xs:attributeGroup ref="attrs"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Horizontal Rule ==================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="hr">
-    <xs:complexType>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="align">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="left"/>
-            <xs:enumeration value="center"/>
-            <xs:enumeration value="right"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="noshade">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="noshade"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="size" type="Pixels"/>
-      <xs:attribute name="width" type="Length"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Preformatted Text ================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="pre">
-    <xs:annotation>
-      <xs:documentation>
-      content is "Inline" excluding
-         "img|object|applet|big|small|sub|sup|font|basefont"
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="pre.content">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attribute name="width" type="Number"/>
-          <xs:attribute ref="xml:space" fixed="preserve"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Block-like Quotes ================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="blockquote">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Flow">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attribute name="cite" type="URI"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Text alignment ===================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="center">
-    <xs:annotation>
-      <xs:documentation>
-      center content
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Flow">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Inserted/Deleted Text ============================
-
-    ins/del are allowed in block and inline content, but its
-    inappropriate to include block content within an ins element
-    occurring in inline content.
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="ins">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Flow">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attribute name="cite" type="URI"/>
-          <xs:attribute name="datetime" type="Datetime"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="del">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Flow">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attribute name="cite" type="URI"/>
-          <xs:attribute name="datetime" type="Datetime"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    ================== The Anchor Element ================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="a">
-    <xs:annotation>
-      <xs:documentation>
-      content is "Inline" except that anchors shouldn't be nested
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="a.content">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attributeGroup ref="focus"/>
-          <xs:attribute name="charset" type="Charset"/>
-          <xs:attribute name="type" type="ContentType"/>
-          <xs:attribute name="name" type="xs:NMTOKEN"/>
-          <xs:attribute name="href" type="URI"/>
-          <xs:attribute name="hreflang" type="LanguageCode"/>
-          <xs:attribute name="rel" type="LinkTypes"/>
-          <xs:attribute name="rev" type="LinkTypes"/>
-          <xs:attribute name="shape" default="rect" type="Shape"/>
-          <xs:attribute name="coords" type="Coords"/>
-          <xs:attribute name="target" type="FrameTarget"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    ===================== Inline Elements ================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="span">
-    <xs:annotation>
-      <xs:documentation>
-      generic language/style container
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="bdo">
-    <xs:annotation>
-      <xs:documentation>
-      I18N BiDi over-ride
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="coreattrs"/>
-          <xs:attributeGroup ref="events"/>
-          <xs:attribute name="lang" type="LanguageCode"/>
-          <xs:attribute ref="xml:lang"/>
-          <xs:attribute name="dir" use="required">
-            <xs:simpleType>
-              <xs:restriction base="xs:token">
-                <xs:enumeration value="ltr"/>
-                <xs:enumeration value="rtl"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="br">
-    <xs:annotation>
-      <xs:documentation>
-      forced line break
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:attributeGroup ref="coreattrs"/>
-      <xs:attribute name="clear" default="none">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="left"/>
-            <xs:enumeration value="all"/>
-            <xs:enumeration value="right"/>
-            <xs:enumeration value="none"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="em">
-    <xs:annotation>
-      <xs:documentation>
-      emphasis
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="strong">
-    <xs:annotation>
-      <xs:documentation>
-      strong emphasis
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="dfn">
-    <xs:annotation>
-      <xs:documentation>
-      definitional
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="code">
-    <xs:annotation>
-      <xs:documentation>
-      program code
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="samp">
-    <xs:annotation>
-      <xs:documentation>
-      sample
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="kbd">
-    <xs:annotation>
-      <xs:documentation>
-      something user would type
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="var">
-    <xs:annotation>
-      <xs:documentation>
-      variable
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="cite">
-    <xs:annotation>
-      <xs:documentation>
-      citation
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="abbr">
-    <xs:annotation>
-      <xs:documentation>
-      abbreviation
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="acronym">
-    <xs:annotation>
-      <xs:documentation>
-      acronym
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="q">
-    <xs:annotation>
-      <xs:documentation>
-      inlined quote
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attribute name="cite" type="URI"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="sub">
-    <xs:annotation>
-      <xs:documentation>
-      subscript
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="sup">
-    <xs:annotation>
-      <xs:documentation>
-      superscript
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="tt">
-    <xs:annotation>
-      <xs:documentation>
-      fixed pitch font
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="i">
-    <xs:annotation>
-      <xs:documentation>
-      italic font
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="b">
-    <xs:annotation>
-      <xs:documentation>
-      bold font
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="big">
-    <xs:annotation>
-      <xs:documentation>
-      bigger font
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="small">
-    <xs:annotation>
-      <xs:documentation>
-      smaller font
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="u">
-    <xs:annotation>
-      <xs:documentation>
-      underline
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="s">
-    <xs:annotation>
-      <xs:documentation>
-      strike-through
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="strike">
-    <xs:annotation>
-      <xs:documentation>
-      strike-through
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="basefont">
-    <xs:annotation>
-      <xs:documentation>
-      base font size
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:attribute name="id" type="xs:ID"/>
-      <xs:attribute name="size" use="required"/>
-      <xs:attribute name="color" type="Color"/>
-      <xs:attribute name="face"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="font">
-    <xs:annotation>
-      <xs:documentation>
-      local change to font
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="coreattrs"/>
-          <xs:attributeGroup ref="i18n"/>
-          <xs:attribute name="size"/>
-          <xs:attribute name="color" type="Color"/>
-          <xs:attribute name="face"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    ==================== Object ======================================
-
-    object is used to embed objects as part of HTML pages.
-    param elements should precede other content. Parameters
-    can also be expressed as attribute/value pairs on the
-    object element itself when brevity is desired.
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="object">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="param"/>
-        <xs:group ref="block"/>
-        <xs:element ref="form"/>
-        <xs:group ref="inline"/>
-        <xs:group ref="misc"/>
-      </xs:choice>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="declare">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="declare"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="classid" type="URI"/>
-      <xs:attribute name="codebase" type="URI"/>
-      <xs:attribute name="data" type="URI"/>
-      <xs:attribute name="type" type="ContentType"/>
-      <xs:attribute name="codetype" type="ContentType"/>
-      <xs:attribute name="archive" type="UriList"/>
-      <xs:attribute name="standby" type="Text"/>
-      <xs:attribute name="height" type="Length"/>
-      <xs:attribute name="width" type="Length"/>
-      <xs:attribute name="usemap" type="URI"/>
-      <xs:attribute name="name" type="xs:NMTOKEN"/>
-      <xs:attribute name="tabindex" type="Number"/>
-      <xs:attribute name="align" type="ImgAlign"/>
-      <xs:attribute name="border" type="Pixels"/>
-      <xs:attribute name="hspace" type="Pixels"/>
-      <xs:attribute name="vspace" type="Pixels"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="param">
-    <xs:annotation>
-      <xs:documentation>
-      param is used to supply a named property value.
-      In XML it would seem natural to follow RDF and support an
-      abbreviated syntax where the param elements are replaced
-      by attribute value pairs on the object start tag.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:attribute name="id" type="xs:ID"/>
-      <xs:attribute name="name" use="required"/>
-      <xs:attribute name="value"/>
-      <xs:attribute name="valuetype" default="data">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="data"/>
-            <xs:enumeration value="ref"/>
-            <xs:enumeration value="object"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="type" type="ContentType"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Java applet ==================================
-
-    One of code or object attributes must be present.
-    Place param elements before other content.
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="applet">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="param"/>
-        <xs:group ref="block"/>
-        <xs:element ref="form"/>
-        <xs:group ref="inline"/>
-        <xs:group ref="misc"/>
-      </xs:choice>
-      <xs:attributeGroup ref="coreattrs"/>
-      <xs:attribute name="codebase" type="URI"/>
-      <xs:attribute name="archive"/>
-      <xs:attribute name="code"/>
-      <xs:attribute name="object"/>
-      <xs:attribute name="alt" type="Text"/>
-      <xs:attribute name="name" type="xs:NMTOKEN"/>
-      <xs:attribute name="width" use="required" type="Length"/>
-      <xs:attribute name="height" use="required" type="Length"/>
-      <xs:attribute name="align" type="ImgAlign"/>
-      <xs:attribute name="hspace" type="Pixels"/>
-      <xs:attribute name="vspace" type="Pixels"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    =================== Images ===========================================
-
-    To avoid accessibility problems for people who aren't
-    able to see the image, you should provide a text
-    description using the alt and longdesc attributes.
-    In addition, avoid the use of server-side image maps.
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="img">
-    <xs:complexType>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="src" use="required" type="URI"/>
-      <xs:attribute name="alt" use="required" type="Text"/>
-      <xs:attribute name="name" type="xs:NMTOKEN"/>
-      <xs:attribute name="longdesc" type="URI"/>
-      <xs:attribute name="height" type="Length"/>
-      <xs:attribute name="width" type="Length"/>
-      <xs:attribute name="usemap" type="URI">
-  <xs:annotation>
-    <xs:documentation>
-          usemap points to a map element which may be in this document
-          or an external document, although the latter is not widely supported
-          </xs:documentation>
-  </xs:annotation>
-      </xs:attribute>
-      <xs:attribute name="ismap">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="ismap"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="align" type="ImgAlign"/>
-      <xs:attribute name="border" type="Length"/>
-      <xs:attribute name="hspace" type="Pixels"/>
-      <xs:attribute name="vspace" type="Pixels"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    ================== Client-side image maps ============================
-
-    These can be placed in the same document or grouped in a
-    separate document although this isn't yet widely supported
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="map">
-    <xs:complexType>
-      <xs:choice>
-        <xs:choice maxOccurs="unbounded">
-          <xs:group ref="block"/>
-          <xs:element ref="form"/>
-          <xs:group ref="misc"/>
-        </xs:choice>
-        <xs:element maxOccurs="unbounded" ref="area"/>
-      </xs:choice>
-      <xs:attributeGroup ref="i18n"/>
-      <xs:attributeGroup ref="events"/>
-      <xs:attribute name="id" use="required" type="xs:ID"/>
-      <xs:attribute name="class"/>
-      <xs:attribute name="style" type="StyleSheet"/>
-      <xs:attribute name="title" type="Text"/>
-      <xs:attribute name="name"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="area">
-    <xs:complexType>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attributeGroup ref="focus"/>
-      <xs:attribute name="shape" default="rect" type="Shape"/>
-      <xs:attribute name="coords" type="Coords"/>
-      <xs:attribute name="href" type="URI"/>
-      <xs:attribute name="nohref">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="nohref"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="alt" use="required" type="Text"/>
-      <xs:attribute name="target" type="FrameTarget"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    ================ Forms ===============================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="form">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="form.content">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attribute name="action" use="required" type="URI"/>
-          <xs:attribute name="method" default="get">
-            <xs:simpleType>
-              <xs:restriction base="xs:token">
-                <xs:enumeration value="get"/>
-                <xs:enumeration value="post"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-          <xs:attribute name="enctype" type="ContentType" default="application/x-www-form-urlencoded"/>
-          <xs:attribute name="onsubmit" type="Script"/>
-          <xs:attribute name="onreset" type="Script"/>
-          <xs:attribute name="accept" type="ContentTypes"/>
-          <xs:attribute name="accept-charset" type="Charsets"/>
-          <xs:attribute name="target" type="FrameTarget"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="label">
-    <xs:annotation>
-      <xs:documentation>
-      Each label must not contain more than ONE field
-      Label elements shouldn't be nested.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attribute name="for" type="xs:IDREF"/>
-          <xs:attribute name="accesskey" type="Character"/>
-          <xs:attribute name="onfocus" type="Script"/>
-          <xs:attribute name="onblur" type="Script"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:simpleType name="InputType">
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="text"/>
-      <xs:enumeration value="password"/>
-      <xs:enumeration value="checkbox"/>
-      <xs:enumeration value="radio"/>
-      <xs:enumeration value="submit"/>
-      <xs:enumeration value="reset"/>
-      <xs:enumeration value="file"/>
-      <xs:enumeration value="hidden"/>
-      <xs:enumeration value="image"/>
-      <xs:enumeration value="button"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:element name="input">
-    <xs:annotation>
-      <xs:documentation>
-      form control
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attributeGroup ref="focus"/>
-      <xs:attribute name="type" default="text" type="InputType"/>
-      <xs:attribute name="name">
-  <xs:annotation>
-    <xs:documentation>
-          the name attribute is required for all but submit &amp; reset
-          </xs:documentation>
-  </xs:annotation>
-      </xs:attribute>
-      <xs:attribute name="value"/>
-      <xs:attribute name="checked">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="checked"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="disabled">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="disabled"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="readonly">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="readonly"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="size"/>
-      <xs:attribute name="maxlength" type="Number"/>
-      <xs:attribute name="src" type="URI"/>
-      <xs:attribute name="alt"/>
-      <xs:attribute name="usemap" type="URI"/>
-      <xs:attribute name="onselect" type="Script"/>
-      <xs:attribute name="onchange" type="Script"/>
-      <xs:attribute name="accept" type="ContentTypes"/>
-      <xs:attribute name="align" type="ImgAlign"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="select">
-    <xs:annotation>
-      <xs:documentation>
-      option selector
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="optgroup"/>
-        <xs:element ref="option"/>
-      </xs:choice>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="name"/>
-      <xs:attribute name="size" type="Number"/>
-      <xs:attribute name="multiple">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="multiple"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="disabled">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="disabled"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="tabindex" type="tabindexNumber"/>
-      <xs:attribute name="onfocus" type="Script"/>
-      <xs:attribute name="onblur" type="Script"/>
-      <xs:attribute name="onchange" type="Script"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="optgroup">
-    <xs:annotation>
-      <xs:documentation>
-      option group
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="option"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="disabled">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="disabled"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="label" use="required" type="Text"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="option">
-    <xs:annotation>
-      <xs:documentation>
-      selectable choice
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="selected">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="selected"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="disabled">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="disabled"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="label" type="Text"/>
-      <xs:attribute name="value"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="textarea">
-    <xs:annotation>
-      <xs:documentation>
-      multi-line text field
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attributeGroup ref="focus"/>
-      <xs:attribute name="name"/>
-      <xs:attribute name="rows" use="required" type="Number"/>
-      <xs:attribute name="cols" use="required" type="Number"/>
-      <xs:attribute name="disabled">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="disabled"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="readonly">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="readonly"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-      <xs:attribute name="onselect" type="Script"/>
-      <xs:attribute name="onchange" type="Script"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="fieldset">
-    <xs:annotation>
-      <xs:documentation>
-      The fieldset element is used to group form fields.
-      Only one legend element should occur in the content
-      and if present should only be preceded by whitespace.
-
-      NOTE: this content model is different from the XHTML 1.0 DTD,
-      closer to the intended content model in HTML4 DTD
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:sequence>
-        <xs:element ref="legend"/>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:group ref="block"/>
-          <xs:element ref="form"/>
-          <xs:group ref="inline"/>
-          <xs:group ref="misc"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="attrs"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:simpleType name="LAlign">
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="top"/>
-      <xs:enumeration value="bottom"/>
-      <xs:enumeration value="left"/>
-      <xs:enumeration value="right"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:element name="legend">
-    <xs:annotation>
-      <xs:documentation>
-      fieldset label
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attribute name="accesskey" type="Character"/>
-          <xs:attribute name="align" type="LAlign"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="button">
-    <xs:annotation>
-      <xs:documentation>
-      Content is "Flow" excluding a, form and form controls
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="button.content">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attributeGroup ref="focus"/>
-          <xs:attribute name="name"/>
-          <xs:attribute name="value"/>
-          <xs:attribute name="type" default="submit">
-            <xs:simpleType>
-              <xs:restriction base="xs:token">
-                <xs:enumeration value="button"/>
-                <xs:enumeration value="submit"/>
-                <xs:enumeration value="reset"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-          <xs:attribute name="disabled">
-            <xs:simpleType>
-              <xs:restriction base="xs:token">
-                <xs:enumeration value="disabled"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="isindex">
-    <xs:annotation>
-      <xs:documentation>
-      single-line text input control (DEPRECATED)
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:attributeGroup ref="coreattrs"/>
-      <xs:attributeGroup ref="i18n"/>
-      <xs:attribute name="prompt" type="Text"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    ======================= Tables =======================================
-
-    Derived from IETF HTML table standard, see [RFC1942]
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:simpleType name="TFrame">
-    <xs:annotation>
-      <xs:documentation>
-      The border attribute sets the thickness of the frame around the
-      table. The default units are screen pixels.
-
-      The frame attribute specifies which parts of the frame around
-      the table should be rendered. The values are not the same as
-      CALS to avoid a name clash with the valign attribute.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="void"/>
-      <xs:enumeration value="above"/>
-      <xs:enumeration value="below"/>
-      <xs:enumeration value="hsides"/>
-      <xs:enumeration value="lhs"/>
-      <xs:enumeration value="rhs"/>
-      <xs:enumeration value="vsides"/>
-      <xs:enumeration value="box"/>
-      <xs:enumeration value="border"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="TRules">
-    <xs:annotation>
-      <xs:documentation>
-      The rules attribute defines which rules to draw between cells:
-
-      If rules is absent then assume:
-          "none" if border is absent or border="0" otherwise "all"
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="none"/>
-      <xs:enumeration value="groups"/>
-      <xs:enumeration value="rows"/>
-      <xs:enumeration value="cols"/>
-      <xs:enumeration value="all"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="TAlign">
-    <xs:annotation>
-      <xs:documentation>
-      horizontal placement of table relative to document
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="left"/>
-      <xs:enumeration value="center"/>
-      <xs:enumeration value="right"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:attributeGroup name="cellhalign">
-    <xs:annotation>
-      <xs:documentation>
-      horizontal alignment attributes for cell contents
-
-      char        alignment char, e.g. char=':'
-      charoff     offset for alignment char
-      </xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="align">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="left"/>
-          <xs:enumeration value="center"/>
-          <xs:enumeration value="right"/>
-          <xs:enumeration value="justify"/>
-          <xs:enumeration value="char"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="char" type="Character"/>
-    <xs:attribute name="charoff" type="Length"/>
-  </xs:attributeGroup>
-
-  <xs:attributeGroup name="cellvalign">
-    <xs:annotation>
-      <xs:documentation>
-      vertical alignment attributes for cell contents
-      </xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="valign">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="top"/>
-          <xs:enumeration value="middle"/>
-          <xs:enumeration value="bottom"/>
-          <xs:enumeration value="baseline"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:attributeGroup>
-
-  <xs:element name="table">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="caption"/>
-        <xs:choice>
-          <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
-          <xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/>
-        </xs:choice>
-        <xs:element minOccurs="0" ref="thead"/>
-        <xs:element minOccurs="0" ref="tfoot"/>
-        <xs:choice>
-          <xs:element maxOccurs="unbounded" ref="tbody"/>
-          <xs:element maxOccurs="unbounded" ref="tr"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="summary" type="Text"/>
-      <xs:attribute name="width" type="Length"/>
-      <xs:attribute name="border" type="Pixels"/>
-      <xs:attribute name="frame" type="TFrame"/>
-      <xs:attribute name="rules" type="TRules"/>
-      <xs:attribute name="cellspacing" type="Length"/>
-      <xs:attribute name="cellpadding" type="Length"/>
-      <xs:attribute name="align" type="TAlign"/>
-      <xs:attribute name="bgcolor" type="Color"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:simpleType name="CAlign">
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="top"/>
-      <xs:enumeration value="bottom"/>
-      <xs:enumeration value="left"/>
-      <xs:enumeration value="right"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:element name="caption">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Inline">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attribute name="align" type="CAlign"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-    Use thead to duplicate headers when breaking table
-    across page boundaries, or for static headers when
-    tbody sections are rendered in scrolling panel.
-
-    Use tfoot to duplicate footers when breaking table
-    across page boundaries, or for static footers when
-    tbody sections are rendered in scrolling panel.
-
-    Use multiple tbody sections when rules are needed
-    between groups of table rows.
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="thead">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="tr"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attributeGroup ref="cellhalign"/>
-      <xs:attributeGroup ref="cellvalign"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="tfoot">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="tr"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attributeGroup ref="cellhalign"/>
-      <xs:attributeGroup ref="cellvalign"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="tbody">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="tr"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attributeGroup ref="cellhalign"/>
-      <xs:attributeGroup ref="cellvalign"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="colgroup">
-    <xs:annotation>
-      <xs:documentation>
-      colgroup groups a set of col elements. It allows you to group
-      several semantically related columns together.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="span" default="1" type="Number"/>
-      <xs:attribute name="width" type="MultiLength"/>
-      <xs:attributeGroup ref="cellhalign"/>
-      <xs:attributeGroup ref="cellvalign"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="col">
-    <xs:annotation>
-      <xs:documentation>
-      col elements define the alignment properties for cells in
-      one or more columns.
-
-      The width attribute specifies the width of the columns, e.g.
-
-          width=64        width in screen pixels
-          width=0.5*      relative width of 0.5
-
-      The span attribute causes the attributes of one
-      col element to apply to more than one column.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="span" default="1" type="Number"/>
-      <xs:attribute name="width" type="MultiLength"/>
-      <xs:attributeGroup ref="cellhalign"/>
-      <xs:attributeGroup ref="cellvalign"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="tr">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="th"/>
-        <xs:element ref="td"/>
-      </xs:choice>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attributeGroup ref="cellhalign"/>
-      <xs:attributeGroup ref="cellvalign"/>
-      <xs:attribute name="bgcolor" type="Color"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:simpleType name="Scope">
-    <xs:annotation>
-      <xs:documentation>
-      Scope is simpler than headers attribute for common tables
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="row"/>
-      <xs:enumeration value="col"/>
-      <xs:enumeration value="rowgroup"/>
-      <xs:enumeration value="colgroup"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:annotation>
-    <xs:documentation>
-    th is for headers, td for data and for cells acting as both
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="th">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Flow">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attribute name="abbr" type="Text"/>
-          <xs:attribute name="axis"/>
-          <xs:attribute name="headers" type="xs:IDREFS"/>
-          <xs:attribute name="scope" type="Scope"/>
-          <xs:attribute name="rowspan" default="1" type="Number"/>
-          <xs:attribute name="colspan" default="1" type="Number"/>
-          <xs:attributeGroup ref="cellhalign"/>
-          <xs:attributeGroup ref="cellvalign"/>
-          <xs:attribute name="nowrap">
-            <xs:simpleType>
-              <xs:restriction base="xs:token">
-                <xs:enumeration value="nowrap"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-          <xs:attribute name="bgcolor" type="Color"/>
-          <xs:attribute name="width" type="Length"/>
-          <xs:attribute name="height" type="Length"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="td">
-    <xs:complexType mixed="true">
-      <xs:complexContent>
-        <xs:extension base="Flow">
-          <xs:attributeGroup ref="attrs"/>
-          <xs:attribute name="abbr" type="Text"/>
-          <xs:attribute name="axis"/>
-          <xs:attribute name="headers" type="xs:IDREFS"/>
-          <xs:attribute name="scope" type="Scope"/>
-          <xs:attribute name="rowspan" default="1" type="Number"/>
-          <xs:attribute name="colspan" default="1" type="Number"/>
-          <xs:attributeGroup ref="cellhalign"/>
-          <xs:attributeGroup ref="cellvalign"/>
-          <xs:attribute name="nowrap">
-            <xs:simpleType>
-              <xs:restriction base="xs:token">
-                <xs:enumeration value="nowrap"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-          <xs:attribute name="bgcolor" type="Color"/>
-          <xs:attribute name="width" type="Length"/>
-          <xs:attribute name="height" type="Length"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-      ================== Xdoc Specific =====================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:annotation>
-    <xs:documentation>
-      ================ Document Structure ==================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="document">
-    <xs:annotation>
-      <xs:documentation source="version">2.0.0</xs:documentation>
-      <xs:documentation source="description">
-        The &lt;document/&gt; element is the root of the Xdoc descriptor.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="properties" minOccurs="0" maxOccurs="1">
-          <xs:annotation>
-            <xs:documentation source="version">2.0.0</xs:documentation>
-            <xs:documentation source="description">
-              Optional properties element for this document element.
-            </xs:documentation>
-          </xs:annotation>
-        </xs:element>
-        <xs:element ref="head" minOccurs="0" maxOccurs="1" >
-          <xs:annotation>
-            <xs:documentation source="version">2.0.0</xs:documentation>
-            <xs:documentation source="description">
-              Optional head element for this document element.
-            </xs:documentation>
-          </xs:annotation>
-        </xs:element>
-        <xs:element ref="body" minOccurs="1" maxOccurs="1">
-          <xs:annotation>
-            <xs:documentation source="version">2.0.0</xs:documentation>
-            <xs:documentation source="description">
-              Required body element for this document element.
-            </xs:documentation>
-          </xs:annotation>
-        </xs:element>
-      </xs:sequence>
-      <xs:attributeGroup ref="i18n"/>
-      <xs:attribute name="id" type="xs:string">
-        <xs:annotation>
-          <xs:documentation source="version">2.0.0</xs:documentation>
-          <xs:documentation source="description">
-            The identifier of this document element.
-          </xs:documentation>
-        </xs:annotation>
-      </xs:attribute>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-      ================ Document Properties =================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="properties">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="title" minOccurs="1" maxOccurs="1">
-          <xs:annotation>
-            <xs:documentation source="version">2.0.0</xs:documentation>
-            <xs:documentation source="description">
-              Required title element for the document element.
-            </xs:documentation>
-          </xs:annotation>
-        </xs:element>
-        <xs:element ref="author" minOccurs="0" maxOccurs="unbounded">
-          <xs:annotation>
-            <xs:documentation source="version">2.0.0</xs:documentation>
-            <xs:documentation source="description">
-              Optional author element for the document element.
-            </xs:documentation>
-          </xs:annotation>
-        </xs:element>
-        <xs:element ref="date" minOccurs="0" maxOccurs="1">
-          <xs:annotation>
-            <xs:documentation source="version">2.0.0</xs:documentation>
-            <xs:documentation source="description">
-              Optional creation/last updated date for the document element.
-            </xs:documentation>
-          </xs:annotation>
-        </xs:element>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="author">
-    <xs:annotation>
-      <xs:documentation source="version">2.0.0</xs:documentation>
-      <xs:documentation source="description">
-        An author element.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:attribute name="email" use="optional" type="xs:string">
-        <xs:annotation>
-          <xs:documentation source="version">2.0.0</xs:documentation>
-          <xs:documentation source="description">
-            The email attribute for the author element.
-          </xs:documentation>
-        </xs:annotation>
-      </xs:attribute>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="date">
-    <xs:annotation>
-      <xs:documentation source="version">2.0.0</xs:documentation>
-      <xs:documentation source="description">
-        An date element. The date is recommended (but it is not a requirement) to be align to
-        the ISO-8601 standard, i.e.: YYYY-MM-DD.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true"/>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-      =================== Document Body ====================================
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="body">
-    <xs:annotation>
-      <xs:documentation source="version">2.0.0</xs:documentation>
-      <xs:documentation source="description">
-        The body element.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="section" maxOccurs="unbounded">
-          <xs:annotation>
-            <xs:documentation source="version">2.0.0</xs:documentation>
-            <xs:documentation source="description">
-              A section in the body element.
-            </xs:documentation>
-          </xs:annotation>
-        </xs:element>
-      </xs:sequence>
-      <xs:attributeGroup ref="attrs"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="section">
-    <xs:annotation>
-      <xs:documentation source="version">2.0.0</xs:documentation>
-      <xs:documentation source="description">
-        A section element.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="block"/>
-        <xs:element ref="form"/>
-        <xs:group ref="inline"/>
-        <xs:group ref="misc"/>
-        <xs:element ref="subsection">
-          <xs:annotation>
-            <xs:documentation source="version">2.0.0</xs:documentation>
-            <xs:documentation source="description">
-              A subsection in the section element.
-            </xs:documentation>
-          </xs:annotation>
-        </xs:element>
-      </xs:choice>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="name" use="required" type="Text"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="subsection">
-    <xs:annotation>
-      <xs:documentation source="version">2.0.0</xs:documentation>
-      <xs:documentation source="description">
-        A subsection element.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="block"/>
-        <xs:element ref="form"/>
-        <xs:group ref="inline"/>
-        <xs:group ref="misc"/>
-      </xs:choice>
-      <xs:attributeGroup ref="attrs"/>
-      <xs:attribute name="name" use="required" type="Text"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:annotation>
-    <xs:documentation>
-      ================ Document Addons =====================================
-      See "special.extra" group.
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:element name="source">
-    <xs:annotation>
-      <xs:documentation source="version">2.0.0</xs:documentation>
-      <xs:documentation source="description">
-        A source element.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType mixed="true">
-      <xs:sequence>
-        <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="macro">
-    <xs:annotation>
-      <xs:documentation source="version">2.0.0</xs:documentation>
-      <xs:documentation source="description">
-        A macro element.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="param"/>
-      </xs:choice>
-      <xs:attribute name="name" use="required" type="Text"/>
-    </xs:complexType>
-  </xs:element>
-</xs:schema>
\ No newline at end of file
diff --git a/doxia-site-renderer/src/test/resources/site/fml/faq.fml b/doxia-site-renderer/src/test/resources/site/fml/faq.fml
index 28e629c..901e265 100644
--- a/doxia-site-renderer/src/test/resources/site/fml/faq.fml
+++ b/doxia-site-renderer/src/test/resources/site/fml/faq.fml
@@ -20,7 +20,7 @@ under the License.
 
 <faqs xmlns="http://maven.apache.org/FML/1.0.1"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/FML/1.0.1 file:../../../../../../../doxia/doxia-modules/doxia-module-fml/src/main/resources/fml-1.0.1.xsd"
+  xsi:schemaLocation="http://maven.apache.org/FML/1.0.1 https://maven.apache.org/xsd/fml-1.0.1.xsd"
   title="Often Asked Questions">
 
   <part id="contributing">
diff --git a/doxia-site-renderer/src/test/resources/site/xdoc/attributes.xml b/doxia-site-renderer/src/test/resources/site/xdoc/attributes.xml
index efbee99..5204f02 100644
--- a/doxia-site-renderer/src/test/resources/site/xdoc/attributes.xml
+++ b/doxia-site-renderer/src/test/resources/site/xdoc/attributes.xml
@@ -27,19 +27,19 @@
         <img src="project.png" dummy="" width="150" height="93" style="border: 1px solid silver" alt="Project" />
       </p>
       <!-- DOXIA-78 -->
-      <table border="1" class="none">
+      <table class="none">
         <tr>
           <th>Name</th>
-          <th colspan="2" align="center" width="50%">Telephone</th>
+          <th colspan="2" style="text-align: center; width: 50%;">Telephone</th>
         </tr>
         <tr>
-          <th rowspan="2" valign="middle">Telephone</th>
-          <td align="right">555 77 854</td>
-          <td align="right">555 77 855</td>
+          <th rowspan="2" style="vertical-align: middle;">Telephone</th>
+          <td style="text-align: right;">555 77 854</td>
+          <td style="text-align: right;">555 77 855</td>
         </tr>
         <tr>
-          <td valign="top">555 77 854</td>
-          <td valign="bottom">555 77 855</td>
+          <td style="vertical-align: top;">555 77 854</td>
+          <td style="vertical-align: bottom;">555 77 855</td>
         </tr>
       </table>
       <p>
@@ -54,7 +54,7 @@
       <p style="color: red; margin-left: 20px"></p>
 
       <!-- Anchors / Links -->
-      <a name="Anchor"/>
+      <a id="Anchor"/>
       <p>
         Link to <a href="#Anchor">anchor</a>.
         Link to anchor <a href="#Anchor">showing alternate text</a>.
diff --git a/doxia-site-renderer/src/test/resources/site/xdoc/javascript.xml b/doxia-site-renderer/src/test/resources/site/xdoc/javascript.xml
index 16114a4..dbceacf 100644
--- a/doxia-site-renderer/src/test/resources/site/xdoc/javascript.xml
+++ b/doxia-site-renderer/src/test/resources/site/xdoc/javascript.xml
@@ -20,7 +20,7 @@
 
 <document xmlns="http://maven.apache.org/XDOC/2.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 file:../../../../../../../doxia/doxia-modules/doxia-module-xdoc/src/main/resources/xdoc-2.0.xsd">
+  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
 
   <properties>
     <title>Hello</title>
@@ -42,4 +42,4 @@
 
   </body>
 
-</document>
\ No newline at end of file
+</document>
diff --git a/doxia-site-renderer/src/test/resources/site/xdoc/macro.xml b/doxia-site-renderer/src/test/resources/site/xdoc/macro.xml
index b57d9c5..8266116 100644
--- a/doxia-site-renderer/src/test/resources/site/xdoc/macro.xml
+++ b/doxia-site-renderer/src/test/resources/site/xdoc/macro.xml
@@ -20,7 +20,7 @@
 
 <document xmlns="http://maven.apache.org/XDOC/2.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 file:../../../../../../../doxia/doxia-modules/doxia-module-xdoc/src/main/resources/xdoc-2.0.xsd">
+  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
   <properties>
     <title>Test DOXIA-96</title>
     <author email="vsiveton@apache.org">Vincent Siveton</author>
diff --git a/doxia-site-renderer/src/test/resources/site/xdoc/multipleblock.xml b/doxia-site-renderer/src/test/resources/site/xdoc/multipleblock.xml
index b9cc6d7..a3f6139 100644
--- a/doxia-site-renderer/src/test/resources/site/xdoc/multipleblock.xml
+++ b/doxia-site-renderer/src/test/resources/site/xdoc/multipleblock.xml
@@ -20,7 +20,7 @@
 
 <document xmlns="http://maven.apache.org/XDOC/2.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 file:../../../../../../../doxia/doxia-modules/doxia-module-xdoc/src/main/resources/xdoc-2.0.xsd">
+  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
   <properties>
     <title>Test DOXIA-93</title>
     <author email="vsiveton@apache.org">Vincent Siveton</author>
diff --git a/doxia-site-renderer/src/test/resources/site/xdoc/nestedItems.xml b/doxia-site-renderer/src/test/resources/site/xdoc/nestedItems.xml
index a24d413..7573218 100644
--- a/doxia-site-renderer/src/test/resources/site/xdoc/nestedItems.xml
+++ b/doxia-site-renderer/src/test/resources/site/xdoc/nestedItems.xml
@@ -20,7 +20,7 @@ under the License.
 
 <document xmlns="http://maven.apache.org/XDOC/2.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 file:../../../../../../../doxia/doxia-modules/doxia-module-xdoc/src/main/resources/xdoc-2.0.xsd">
+  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
     <properties>
         <title>Test List Issue</title>
     </properties>
diff --git a/pom.xml b/pom.xml
index 7eb7f10..ccd8cbb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,7 +69,7 @@ under the License.
 
   <properties>
     <javaVersion>8</javaVersion>
-    <doxiaVersion>2.0.0-M3</doxiaVersion>
+    <doxiaVersion>2.0.0-M4</doxiaVersion>
     <slf4jVersion>1.7.36</slf4jVersion>
     <mavenVersion>3.2.5</mavenVersion>
     <aetherVersion>1.0.0.v20140518</aetherVersion>
@@ -112,11 +112,6 @@ under the License.
         <artifactId>doxia-module-xdoc</artifactId>
         <version>${doxiaVersion}</version>
       </dependency>
-      <dependency>
-        <groupId>org.apache.maven.doxia</groupId>
-        <artifactId>doxia-module-xhtml</artifactId>
-        <version>${doxiaVersion}</version>
-      </dependency>
       <dependency>
         <groupId>org.apache.maven.doxia</groupId>
         <artifactId>doxia-module-xhtml5</artifactId>
diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml
index 66ef671..a28f512 100644
--- a/src/site/xdoc/index.xml
+++ b/src/site/xdoc/index.xml
@@ -46,7 +46,7 @@
           <area shape="rect" coords="207,232,324,267" href="doxia-skin-model/index.html"          alt="Doxia Skin Model"/>
           <area shape="rect" coords="288,123,444,159" href="http://codehaus-plexus.github.io/plexus-velocity/"        alt="Plexus Velocity"/>
           <area shape="rect" coords="318,180,414,214" href="http://velocity.apache.org"                               alt="Velocity"/>
-          <area shape="rect" coords="134,301,274,337" href="/doxia/doxia/doxia-modules/doxia-module-xhtml/index.html" alt="Doxia Module XHTML"/>
+          <area shape="rect" coords="134,301,274,337" href="/doxia/doxia/doxia-modules/doxia-module-xhtml5/index.html" alt="Doxia Module XHTML5"/>
           <area shape="rect" coords="114,288,252,353" href="/doxia/doxia/doxia-modules/index.html" alt="Doxia Modules"/>
         </map>
       </p>