You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2021/09/13 06:41:15 UTC
[wicket-site] branch asf-site updated: WICKET-6918 Add links to
latest wicket.xsd to the web site
This is an automated email from the ASF dual-hosted git repository.
mgrigorov pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/wicket-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 9626d0a WICKET-6918 Add links to latest wicket.xsd to the web site
9626d0a is described below
commit 9626d0aaec83d9f4ae07b5d3f75980d6ae8d00f6
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
AuthorDate: Mon Sep 13 09:40:54 2021 +0300
WICKET-6918 Add links to latest wicket.xsd to the web site
---
content/atom.xml | 22 +-
content/dtds.data/index.html | 14 +-
content/dtds.data/wicket-7.xsd | 334 +++++++++
content/dtds.data/wicket-8.xsd | 334 +++++++++
content/dtds.data/wicket-9.xsd | 334 +++++++++
content/dtds.data/wicket-xhtml1.3-strict.dtd | 982 ---------------------------
content/dtds.data/wicket-xhtml1.4-strict.dtd | 982 ---------------------------
dtds.data/index.md | 12 +-
dtds.data/wicket-7.xsd | 334 +++++++++
dtds.data/wicket-8.xsd | 334 +++++++++
dtds.data/wicket-9.xsd | 334 +++++++++
dtds.data/wicket-xhtml1.3-strict.dtd | 982 ---------------------------
dtds.data/wicket-xhtml1.4-strict.dtd | 982 ---------------------------
13 files changed, 2028 insertions(+), 3952 deletions(-)
diff --git a/content/atom.xml b/content/atom.xml
index b9c2cba..d939eaa 100644
--- a/content/atom.xml
+++ b/content/atom.xml
@@ -3,7 +3,7 @@
<title>Apache Wicket</title>
<link href="http://wicket.apache.org/atom.xml" rel="self"/>
<link href="http://wicket.apache.org/"/>
- <updated>2021-09-12T13:57:52+02:00</updated>
+ <updated>2021-09-13T09:39:30+03:00</updated>
<id>http://wicket.apache.org/</id>
<author>
<name>Apache Wicket</name>
@@ -14,7 +14,7 @@
<entry>
<title>Apache Wicket 9.5.0 released</title>
<link href="http://wicket.apache.org/news/2021/09/12/wicket-9.5.0-released.html"/>
- <updated>2021-09-12T00:00:00+02:00</updated>
+ <updated>2021-09-12T00:00:00+03:00</updated>
<id>http://wicket.apache.org/news/2021/09/12/wicket-9.5.0-released</id>
<content type="html"><p>The Apache Wicket PMC is proud to announce Apache Wicket 9.5.0!</p>
@@ -155,7 +155,7 @@ ODJZbyYgtBAjLcZ6GELX5GG8dZy27LSzpaI9zvg8IIoFsFbSfpY=
<entry>
<title>Apache Wicket 8.13.0 released</title>
<link href="http://wicket.apache.org/news/2021/07/13/wicket-8.13.0-released.html"/>
- <updated>2021-07-13T00:00:00+02:00</updated>
+ <updated>2021-07-13T00:00:00+03:00</updated>
<id>http://wicket.apache.org/news/2021/07/13/wicket-8.13.0-released</id>
<content type="html"><p>The Apache Wicket PMC is proud to announce Apache Wicket 8.13.0!</p>
@@ -285,7 +285,7 @@ OWRx3Q+SOJW4+CMwAN8Vs5nVG2/gkd/BzljWBkQxWKQo2x21yRXU6KDIA3TIzsks
<entry>
<title>Apache Wicket 9.4.0 released</title>
<link href="http://wicket.apache.org/news/2021/07/07/wicket-9.4.0-released.html"/>
- <updated>2021-07-07T00:00:00+02:00</updated>
+ <updated>2021-07-07T00:00:00+03:00</updated>
<id>http://wicket.apache.org/news/2021/07/07/wicket-9.4.0-released</id>
<content type="html"><p>The Apache Wicket PMC is proud to announce Apache Wicket 9.4.0!</p>
@@ -418,7 +418,7 @@ SX9akYW3huAaLPYRRz7yducTp46fPbwfZ2tlq29iTrGE/uDCOuGwq2XppHahnKt7
<entry>
<title>Apache Wicket 7.18.0 released</title>
<link href="http://wicket.apache.org/news/2021/04/06/wicket-7.18.0-released.html"/>
- <updated>2021-04-06T00:00:00+02:00</updated>
+ <updated>2021-04-06T00:00:00+03:00</updated>
<id>http://wicket.apache.org/news/2021/04/06/wicket-7.18.0-released</id>
<content type="html"><p>The Apache Wicket PMC is proud to announce Apache Wicket 7.18.0!</p>
@@ -524,7 +524,7 @@ YUVdPzyxuTNxD5Cyes6UGkrdk0OM8LsAxszdzQgNc+u0WpOyoiI=
<entry>
<title>Apache Wicket 8.12.0 released</title>
<link href="http://wicket.apache.org/news/2021/03/31/wicket-8.12.0-released.html"/>
- <updated>2021-03-31T00:00:00+02:00</updated>
+ <updated>2021-03-31T00:00:00+03:00</updated>
<id>http://wicket.apache.org/news/2021/03/31/wicket-8.12.0-released</id>
<content type="html"><p>The Apache Wicket PMC is proud to announce Apache Wicket 8.12.0!</p>
@@ -652,7 +652,7 @@ udHa8eBkkbVMLs7JPuaULYiWm+U4NqlW1lra0Mp3eViXn5jaJOs=
<entry>
<title>Apache Wicket 9.3.0 released</title>
<link href="http://wicket.apache.org/news/2021/03/30/wicket-9.3.0-released.html"/>
- <updated>2021-03-30T00:00:00+02:00</updated>
+ <updated>2021-03-30T00:00:00+03:00</updated>
<id>http://wicket.apache.org/news/2021/03/30/wicket-9.3.0-released</id>
<content type="html"><p>The Apache Wicket PMC is proud to announce Apache Wicket 9.3.0!</p>
@@ -787,7 +787,7 @@ Qjx/KPqkVMGB+AdSvqfFV5Aearlo/UEFP0YpQgqhbtiG9hS6JeA=
<entry>
<title>Apache Wicket 8.11.0 released</title>
<link href="http://wicket.apache.org/news/2020/11/23/wicket-8.11.0-released.html"/>
- <updated>2020-11-23T00:00:00+01:00</updated>
+ <updated>2020-11-23T00:00:00+02:00</updated>
<id>http://wicket.apache.org/news/2020/11/23/wicket-8.11.0-released</id>
<content type="html"><p>The Apache Wicket PMC is proud to announce Apache Wicket 8.11.0!</p>
@@ -915,7 +915,7 @@ moFQnq7SmonVqzh6kRvDz80LApLFVd/fZfTMz3/+dIfRwSfKbVlnq6vNyCB0MkdR
<entry>
<title>Apache Wicket 9.2.0 released</title>
<link href="http://wicket.apache.org/news/2020/11/19/wicket-9.2.0-released.html"/>
- <updated>2020-11-19T00:00:00+01:00</updated>
+ <updated>2020-11-19T00:00:00+02:00</updated>
<id>http://wicket.apache.org/news/2020/11/19/wicket-9.2.0-released</id>
<content type="html"><p>The Apache Wicket PMC is proud to announce Apache Wicket 9.2.0!</p>
@@ -1041,7 +1041,7 @@ Z8tV93q3Kcw5DxlliAr2SIOfP2bJC1exEmXASi6GZKmcYZYQA5M=
<entry>
<title>Apache Wicket 9.1.0 released</title>
<link href="http://wicket.apache.org/news/2020/10/11/wicket-9.1.0-released.html"/>
- <updated>2020-10-11T00:00:00+02:00</updated>
+ <updated>2020-10-11T00:00:00+03:00</updated>
<id>http://wicket.apache.org/news/2020/10/11/wicket-9.1.0-released</id>
<content type="html"><p>The Apache Wicket PMC is proud to announce Apache Wicket 9.1.0!</p>
@@ -1188,7 +1188,7 @@ Bsuw7X2vIgtzu2GCLHoudgGp9yQYXuxI5adnrC9Lyg+BeEQhc+U=
<entry>
<title>Apache Wicket 8.10.0 released</title>
<link href="http://wicket.apache.org/news/2020/09/07/wicket-8.10.0-released.html"/>
- <updated>2020-09-07T00:00:00+02:00</updated>
+ <updated>2020-09-07T00:00:00+03:00</updated>
<id>http://wicket.apache.org/news/2020/09/07/wicket-8.10.0-released</id>
<content type="html"><p>The Apache Wicket PMC is proud to announce Apache Wicket 8.10.0!</p>
diff --git a/content/dtds.data/index.html b/content/dtds.data/index.html
index 256d057..67175c3 100644
--- a/content/dtds.data/index.html
+++ b/content/dtds.data/index.html
@@ -6,7 +6,7 @@
- <title>Apache Wicket DTDs | Apache Wicket</title>
+ <title>Apache Wicket XSDs | Apache Wicket</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="shortcut icon" href="/favicon.ico" type="image/vnd.microsoft.icon" />
@@ -112,7 +112,7 @@
<main>
<div class="l-container">
<header class="l-full preamble">
- <h1>Apache Wicket DTDs</h1>
+ <h1>Apache Wicket XSDs</h1>
@@ -121,16 +121,16 @@
</section>
<section>
- <p>The following are the Document Type Definitions and XML Schema Definitions which you can use
-for Wicket 1.3.x, 1.4.x and 1.5.x respectively.</p>
+ <p>The following are the XML Schema Definitions which you can use
+for Wicket 7.x, 8.x and 9.x respectively.</p>
<p>These definitions are not used by Wicket for its internal working but you can use them in your
HTML/XML editor to simplify the development of your pages/panels markup.</p>
<ul>
- <li><a href="wicket-xhtml1.3-strict.dtd">Wicket 1.3 DTD</a></li>
- <li><a href="wicket-xhtml1.4-strict.dtd">Wicket 1.4 DTD</a></li>
- <li><a href="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=wicket-1.5.x">Wicket 1.5 XSD</a></li>
+ <li><a href="wicket-7.xsd">Wicket 7.x XSD</a></li>
+ <li><a href="wicket-8.xsd">Wicket 8.x XSD</a></li>
+ <li><a href="wicket-9.xsd">Wicket 9.x XSD</a></li>
</ul>
diff --git a/content/dtds.data/wicket-7.xsd b/content/dtds.data/wicket-7.xsd
new file mode 100644
index 0000000..92144b3
--- /dev/null
+++ b/content/dtds.data/wicket-7.xsd
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://wicket.apache.org"
+ xmlns:wicket="http://wicket.apache.org"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3.org/MarkUp/SCHEMA/xhtml-basic10.xsd"
+ elementFormDefault="qualified"
+ version="7.0.0">
+
+ <redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-basic10.xsd">
+ <attributeGroup name="xhtml.label.attlist">
+ <attributeGroup ref="xhtml.label.attlist"/>
+ <attribute ref="wicket:for"/>
+ </attributeGroup>
+ </redefine>
+
+ <!-- types -->
+
+ <simpleType name="token">
+ <annotation>
+ <documentation>An extension of standard token type with the
+ restriction of collapsing white space, which means that the XML
+ processor WILL REMOVE all white space characters (line feeds, tabs,
+ spaces, carriage returns are replaced with spaces, leading and
+ trailing spaces are removed, and multiple spaces are reduced to a
+ single space).</documentation>
+ </annotation>
+ <restriction base="token">
+ <whiteSpace value="collapse" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="notEmptyToken">
+ <annotation>
+ <documentation>Extends wicket:token type with the restriction that
+ the value can not be empty.</documentation>
+ </annotation>
+ <restriction base="wicket:token">
+ <minLength value="1" />
+ </restriction>
+ </simpleType>
+
+ <complexType name="mixedContent" mixed="true">
+ <annotation>
+ <documentation>A complex type that allows any amount of mixed child
+ content from any origin.</documentation>
+ </annotation>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##targetNamespace" processContents="strict" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ </complexType>
+
+ <complexType name="notEmptyMixedContent" mixed="true">
+ <annotation>
+ <documentation>Extends wicket:mixedContent with the restriction that
+ at least one child element must be given.</documentation>
+ </annotation>
+ <choice minOccurs="1" maxOccurs="unbounded">
+ <any namespace="##targetNamespace" processContents="strict" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ </complexType>
+
+ <!-- attributes -->
+
+ <attribute name="enclosure">
+ <annotation>
+ <documentation>This attribute is useful for filtering markup that
+ surrounds a component but has its visibility dependent on the
+ visibility of that component. It is similar to the wicket:enclosure
+ tag. The value is the wicket:id of the dependent component. No value
+ can be used if there is only one nested wicket component.
+ "foo:bar:baz" format can be used to specify a nested path.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="([^:]+(:[^:]+)*)?" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <attribute name="id" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The wicket component id. Used on any element to which
+ you want to add a component.</documentation>
+ </annotation>
+ </attribute>
+
+ <attribute name="for">
+ <annotation>
+ <documentation>Can be used in HTML <![CDATA[<label]]> element to automatically link it
+ to a form element. The value of this attribute must have the same value of
+ the form component's wicket:id attribute.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="([^:]+(:[^:]+)*)?" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <attribute name="message">
+ <annotation>
+ <documentation>Used on any tag that we want Wicket to provide an
+ attribute with a value that's the result of a resource lookup.
+ Format: "att1:key1,att2:key2", where att1, att2 are attribute names
+ and key1, key2 are resource id-s.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="[^:,]+:[^:,]+(,[^:,]+:[^:,]+)*" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <!-- elements -->
+
+ <element name="body">
+ <annotation>
+ <documentation>Used with wicket:border to specify the location of the
+ original content.</documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="border" type="wicket:notEmptyMixedContent">
+ <annotation>
+ <documentation>Specifies bordering content for a wicket:body.
+ </documentation>
+ </annotation>
+ <unique name="borderWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="child">
+ <annotation>
+ <documentation>Wicket will replace this content with the markup of
+ the derived component (see wicket:extend).</documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="header-items">
+ <annotation>
+ <documentation><![CDATA[A special element that is used as a placeholder inside the HTML <head>
+ element. Wicket will replace it with all header contributions.]]></documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="container">
+ <annotation>
+ <documentation>A tag to which you can attach a wicket component but
+ it will not produce a html tag in the result.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute ref="wicket:id" use="required" />
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="containerWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="enclosure">
+ <annotation>
+ <documentation>This tag is useful for filtering markup that surrounds
+ a component but has its visibility dependent on the visibility of
+ that component. It is similar to the wicket:enclosure attribute.
+ </documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:notEmptyMixedContent">
+ <attribute name="child" use="optional">
+ <annotation>
+ <documentation>Specifies the wicket:id of the dependent
+ component. This attribute can be omitted if there is only one
+ nested wicket component. "foo:bar:baz" format can be used to
+ specify a nested path.</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="[^:]+(:[^:]+)*" />
+ </restriction>
+ </simpleType>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="enclosureWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="extend" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Extend the markup of the superclass with this content.
+ Used together with wicket:child.</documentation>
+ </annotation>
+ <unique name="extendWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="fragment">
+ <annotation>
+ <documentation>Is similar to wicket:panel but it is declared in the
+ parent's markup instead of in a separate markup file.
+ </documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute ref="wicket:id" use="required" />
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="fragmentWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="head" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Used for header contributions. Using this, panels can
+ add header sections to the pages they are placed on.</documentation>
+ </annotation>
+ <unique name="headWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="link" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Support for wicket's autolink functionality. Normally,
+ you need to add a component (for example, a BookmarkablePageLink)
+ for each link that Wicket manages. Using the wicket:link tag will
+ automatically do this in the background for you.</documentation>
+ </annotation>
+ <unique name="linkWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="message">
+ <annotation>
+ <documentation>Wicket will replace this with a string that is
+ retrieved from a resource bundle.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute name="key" use="required" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The resource id used for lookup.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="escape" use="optional" type="boolean" default="false">
+ <annotation>
+ <documentation>Defines whether the resource value should be escaped or not.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="messageWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="panel" type="wicket:mixedContent">
+ <annotation>
+ <documentation>The wicket:panel tag surrounds a component. This lets
+ you wrap the component with HTML and BODY tags (so it can be
+ displayed in a browser) but, when you include it, only the content
+ inside the wicket:panel tag is actually included.</documentation>
+ </annotation>
+ <unique name="panelWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="remove" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Wicket will remove this content in the final markup.
+ This is useful for when you want your web designer to be able to
+ show repeated content when they're working on it, but you want to
+ generate that content using a ListView (or other loop).
+ </documentation>
+ </annotation>
+ </element>
+
+ <element name="label">
+ <annotation>
+ <documentation>Wicket will output a FormComponent's label (FormComponent#getLabel()) without
+ requiring a manual extra component such as Label or FormComponentLabel.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute name="for" use="optional" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The wicket:id of FormComponent which label should be used.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="key" use="optional" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The resource id used for lookup. Acts as <wicket:message> </documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+</schema>
diff --git a/content/dtds.data/wicket-8.xsd b/content/dtds.data/wicket-8.xsd
new file mode 100644
index 0000000..52e91ac
--- /dev/null
+++ b/content/dtds.data/wicket-8.xsd
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://wicket.apache.org"
+ xmlns:wicket="http://wicket.apache.org"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3.org/MarkUp/SCHEMA/xhtml-basic10.xsd"
+ elementFormDefault="qualified"
+ version="8.0.0">
+
+ <redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-basic10.xsd">
+ <attributeGroup name="xhtml.label.attlist">
+ <attributeGroup ref="xhtml.label.attlist"/>
+ <attribute ref="wicket:for"/>
+ </attributeGroup>
+ </redefine>
+
+ <!-- types -->
+
+ <simpleType name="token">
+ <annotation>
+ <documentation>An extension of standard token type with the
+ restriction of collapsing white space, which means that the XML
+ processor WILL REMOVE all white space characters (line feeds, tabs,
+ spaces, carriage returns are replaced with spaces, leading and
+ trailing spaces are removed, and multiple spaces are reduced to a
+ single space).</documentation>
+ </annotation>
+ <restriction base="token">
+ <whiteSpace value="collapse" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="notEmptyToken">
+ <annotation>
+ <documentation>Extends wicket:token type with the restriction that
+ the value can not be empty.</documentation>
+ </annotation>
+ <restriction base="wicket:token">
+ <minLength value="1" />
+ </restriction>
+ </simpleType>
+
+ <complexType name="mixedContent" mixed="true">
+ <annotation>
+ <documentation>A complex type that allows any amount of mixed child
+ content from any origin.</documentation>
+ </annotation>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##targetNamespace" processContents="strict" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ </complexType>
+
+ <complexType name="notEmptyMixedContent" mixed="true">
+ <annotation>
+ <documentation>Extends wicket:mixedContent with the restriction that
+ at least one child element must be given.</documentation>
+ </annotation>
+ <choice minOccurs="1" maxOccurs="unbounded">
+ <any namespace="##targetNamespace" processContents="strict" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ </complexType>
+
+ <!-- attributes -->
+
+ <attribute name="enclosure">
+ <annotation>
+ <documentation>This attribute is useful for filtering markup that
+ surrounds a component but has its visibility dependent on the
+ visibility of that component. It is similar to the wicket:enclosure
+ tag. The value is the wicket:id of the dependent component. No value
+ can be used if there is only one nested wicket component.
+ "foo:bar:baz" format can be used to specify a nested path.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="([^:]+(:[^:]+)*)?" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <attribute name="id" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The wicket component id. Used on any element to which
+ you want to add a component.</documentation>
+ </annotation>
+ </attribute>
+
+ <attribute name="for">
+ <annotation>
+ <documentation>Can be used in HTML <![CDATA[<label]]> element to automatically link it
+ to a form element. The value of this attribute must have the same value of
+ the form component's wicket:id attribute.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="([^:]+(:[^:]+)*)?" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <attribute name="message">
+ <annotation>
+ <documentation>Used on any tag that we want Wicket to provide an
+ attribute with a value that's the result of a resource lookup.
+ Format: "att1:key1,att2:key2", where att1, att2 are attribute names
+ and key1, key2 are resource id-s.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="[^:,]+:[^:,]+(,[^:,]+:[^:,]+)*" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <!-- elements -->
+
+ <element name="body">
+ <annotation>
+ <documentation>Used with wicket:border to specify the location of the
+ original content.</documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="border" type="wicket:notEmptyMixedContent">
+ <annotation>
+ <documentation>Specifies bordering content for a wicket:body.
+ </documentation>
+ </annotation>
+ <unique name="borderWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="child">
+ <annotation>
+ <documentation>Wicket will replace this content with the markup of
+ the derived component (see wicket:extend).</documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="header-items">
+ <annotation>
+ <documentation><![CDATA[A special element that is used as a placeholder inside the HTML <head>
+ element. Wicket will replace it with all header contributions.]]></documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="container">
+ <annotation>
+ <documentation>A tag to which you can attach a wicket component but
+ it will not produce a html tag in the result.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute ref="wicket:id" use="required" />
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="containerWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="enclosure">
+ <annotation>
+ <documentation>This tag is useful for filtering markup that surrounds
+ a component but has its visibility dependent on the visibility of
+ that component. It is similar to the wicket:enclosure attribute.
+ </documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:notEmptyMixedContent">
+ <attribute name="child" use="optional">
+ <annotation>
+ <documentation>Specifies the wicket:id of the dependent
+ component. This attribute can be omitted if there is only one
+ nested wicket component. "foo:bar:baz" format can be used to
+ specify a nested path.</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="[^:]+(:[^:]+)*" />
+ </restriction>
+ </simpleType>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="enclosureWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="extend" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Extend the markup of the superclass with this content.
+ Used together with wicket:child.</documentation>
+ </annotation>
+ <unique name="extendWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="fragment">
+ <annotation>
+ <documentation>Is similar to wicket:panel but it is declared in the
+ parent's markup instead of in a separate markup file.
+ </documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute ref="wicket:id" use="required" />
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="fragmentWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="head" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Used for header contributions. Using this, panels can
+ add header sections to the pages they are placed on.</documentation>
+ </annotation>
+ <unique name="headWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="link" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Support for wicket's autolink functionality. Normally,
+ you need to add a component (for example, a BookmarkablePageLink)
+ for each link that Wicket manages. Using the wicket:link tag will
+ automatically do this in the background for you.</documentation>
+ </annotation>
+ <unique name="linkWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="message">
+ <annotation>
+ <documentation>Wicket will replace this with a string that is
+ retrieved from a resource bundle.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute name="key" use="required" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The resource id used for lookup.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="escape" use="optional" type="boolean" default="false">
+ <annotation>
+ <documentation>Defines whether the resource value should be escaped or not.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="messageWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="panel" type="wicket:mixedContent">
+ <annotation>
+ <documentation>The wicket:panel tag surrounds a component. This lets
+ you wrap the component with HTML and BODY tags (so it can be
+ displayed in a browser) but, when you include it, only the content
+ inside the wicket:panel tag is actually included.</documentation>
+ </annotation>
+ <unique name="panelWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="remove" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Wicket will remove this content in the final markup.
+ This is useful for when you want your web designer to be able to
+ show repeated content when they're working on it, but you want to
+ generate that content using a ListView (or other loop).
+ </documentation>
+ </annotation>
+ </element>
+
+ <element name="label">
+ <annotation>
+ <documentation>Wicket will output a FormComponent's label (FormComponent#getLabel()) without
+ requiring a manual extra component such as Label or FormComponentLabel.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute name="for" use="optional" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The wicket:id of FormComponent which label should be used.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="key" use="optional" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The resource id used for lookup. Acts as <wicket:message> </documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+</schema>
diff --git a/content/dtds.data/wicket-9.xsd b/content/dtds.data/wicket-9.xsd
new file mode 100644
index 0000000..84ee6c6
--- /dev/null
+++ b/content/dtds.data/wicket-9.xsd
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://wicket.apache.org"
+ xmlns:wicket="http://wicket.apache.org"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3.org/MarkUp/SCHEMA/xhtml-basic10.xsd"
+ elementFormDefault="qualified"
+ version="9.0.0">
+
+ <redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-basic10.xsd">
+ <attributeGroup name="xhtml.label.attlist">
+ <attributeGroup ref="xhtml.label.attlist"/>
+ <attribute ref="wicket:for"/>
+ </attributeGroup>
+ </redefine>
+
+ <!-- types -->
+
+ <simpleType name="token">
+ <annotation>
+ <documentation>An extension of standard token type with the
+ restriction of collapsing white space, which means that the XML
+ processor WILL REMOVE all white space characters (line feeds, tabs,
+ spaces, carriage returns are replaced with spaces, leading and
+ trailing spaces are removed, and multiple spaces are reduced to a
+ single space).</documentation>
+ </annotation>
+ <restriction base="token">
+ <whiteSpace value="collapse" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="notEmptyToken">
+ <annotation>
+ <documentation>Extends wicket:token type with the restriction that
+ the value can not be empty.</documentation>
+ </annotation>
+ <restriction base="wicket:token">
+ <minLength value="1" />
+ </restriction>
+ </simpleType>
+
+ <complexType name="mixedContent" mixed="true">
+ <annotation>
+ <documentation>A complex type that allows any amount of mixed child
+ content from any origin.</documentation>
+ </annotation>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##targetNamespace" processContents="strict" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ </complexType>
+
+ <complexType name="notEmptyMixedContent" mixed="true">
+ <annotation>
+ <documentation>Extends wicket:mixedContent with the restriction that
+ at least one child element must be given.</documentation>
+ </annotation>
+ <choice minOccurs="1" maxOccurs="unbounded">
+ <any namespace="##targetNamespace" processContents="strict" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ </complexType>
+
+ <!-- attributes -->
+
+ <attribute name="enclosure">
+ <annotation>
+ <documentation>This attribute is useful for filtering markup that
+ surrounds a component but has its visibility dependent on the
+ visibility of that component. It is similar to the wicket:enclosure
+ tag. The value is the wicket:id of the dependent component. No value
+ can be used if there is only one nested wicket component.
+ "foo:bar:baz" format can be used to specify a nested path.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="([^:]+(:[^:]+)*)?" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <attribute name="id" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The wicket component id. Used on any element to which
+ you want to add a component.</documentation>
+ </annotation>
+ </attribute>
+
+ <attribute name="for">
+ <annotation>
+ <documentation>Can be used in HTML <![CDATA[<label]]> element to automatically link it
+ to a form element. The value of this attribute must have the same value of
+ the form component's wicket:id attribute.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="([^:]+(:[^:]+)*)?" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <attribute name="message">
+ <annotation>
+ <documentation>Used on any tag that we want Wicket to provide an
+ attribute with a value that's the result of a resource lookup.
+ Format: "att1:key1,att2:key2", where att1, att2 are attribute names
+ and key1, key2 are resource id-s.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="[^:,]+:[^:,]+(,[^:,]+:[^:,]+)*" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <!-- elements -->
+
+ <element name="body">
+ <annotation>
+ <documentation>Used with wicket:border to specify the location of the
+ original content.</documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="border" type="wicket:notEmptyMixedContent">
+ <annotation>
+ <documentation>Specifies bordering content for a wicket:body.
+ </documentation>
+ </annotation>
+ <unique name="borderWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="child">
+ <annotation>
+ <documentation>Wicket will replace this content with the markup of
+ the derived component (see wicket:extend).</documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="header-items">
+ <annotation>
+ <documentation><![CDATA[A special element that is used as a placeholder inside the HTML <head>
+ element. Wicket will replace it with all header contributions.]]></documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="container">
+ <annotation>
+ <documentation>A tag to which you can attach a wicket component but
+ it will not produce a html tag in the result.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute ref="wicket:id" use="required" />
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="containerWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="enclosure">
+ <annotation>
+ <documentation>This tag is useful for filtering markup that surrounds
+ a component but has its visibility dependent on the visibility of
+ that component. It is similar to the wicket:enclosure attribute.
+ </documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:notEmptyMixedContent">
+ <attribute name="child" use="optional">
+ <annotation>
+ <documentation>Specifies the wicket:id of the dependent
+ component. This attribute can be omitted if there is only one
+ nested wicket component. "foo:bar:baz" format can be used to
+ specify a nested path.</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="[^:]+(:[^:]+)*" />
+ </restriction>
+ </simpleType>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="enclosureWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="extend" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Extend the markup of the superclass with this content.
+ Used together with wicket:child.</documentation>
+ </annotation>
+ <unique name="extendWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="fragment">
+ <annotation>
+ <documentation>Is similar to wicket:panel but it is declared in the
+ parent's markup instead of in a separate markup file.
+ </documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute ref="wicket:id" use="required" />
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="fragmentWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="head" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Used for header contributions. Using this, panels can
+ add header sections to the pages they are placed on.</documentation>
+ </annotation>
+ <unique name="headWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="link" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Support for wicket's autolink functionality. Normally,
+ you need to add a component (for example, a BookmarkablePageLink)
+ for each link that Wicket manages. Using the wicket:link tag will
+ automatically do this in the background for you.</documentation>
+ </annotation>
+ <unique name="linkWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="message">
+ <annotation>
+ <documentation>Wicket will replace this with a string that is
+ retrieved from a resource bundle.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute name="key" use="required" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The resource id used for lookup.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="escape" use="optional" type="boolean" default="false">
+ <annotation>
+ <documentation>Defines whether the resource value should be escaped or not.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="messageWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="panel" type="wicket:mixedContent">
+ <annotation>
+ <documentation>The wicket:panel tag surrounds a component. This lets
+ you wrap the component with HTML and BODY tags (so it can be
+ displayed in a browser) but, when you include it, only the content
+ inside the wicket:panel tag is actually included.</documentation>
+ </annotation>
+ <unique name="panelWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="remove" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Wicket will remove this content in the final markup.
+ This is useful for when you want your web designer to be able to
+ show repeated content when they're working on it, but you want to
+ generate that content using a ListView (or other loop).
+ </documentation>
+ </annotation>
+ </element>
+
+ <element name="label">
+ <annotation>
+ <documentation>Wicket will output a FormComponent's label (FormComponent#getLabel()) without
+ requiring a manual extra component such as Label or FormComponentLabel.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute name="for" use="optional" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The wicket:id of FormComponent which label should be used.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="key" use="optional" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The resource id used for lookup. Acts as <wicket:message> </documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+</schema>
diff --git a/content/dtds.data/wicket-xhtml1.3-strict.dtd b/content/dtds.data/wicket-xhtml1.3-strict.dtd
deleted file mode 100644
index 66d4f81..0000000
--- a/content/dtds.data/wicket-xhtml1.3-strict.dtd
+++ /dev/null
@@ -1,982 +0,0 @@
-<!--
- Extensible HTML version 1.0 Strict DTD
-
- This is the same as HTML 4 Strict 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 Strict//EN"
- SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
-
- $Revision: 1.1 $
- $Date: 2002/08/01 13:56:03 $
-
--->
-
-<!--================ Character mnemonic entities =========================-->
-
-<!ENTITY % HTMLlat1 PUBLIC
- "-//W3C//ENTITIES Latin 1 for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
-%HTMLlat1;
-
-<!ENTITY % HTMLsymbol PUBLIC
- "-//W3C//ENTITIES Symbols for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
-%HTMLsymbol;
-
-<!ENTITY % HTMLspecial PUBLIC
- "-//W3C//ENTITIES Special for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/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 % 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 -->
-
-<!--=================== 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
- wicket:id the id for the Wicket framework
- wicket:preview the preview attribute for the Wicket framework
--->
-<!ENTITY % coreattrs
- "id ID #IMPLIED
- class CDATA #IMPLIED
- style %StyleSheet; #IMPLIED
- title %Text; #IMPLIED
- wicket:id %Text; #IMPLIED
- wicket:preview %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 Elements ====================================-->
-
-<!ENTITY % special.pre
- "br | span | bdo | map">
-
-
-<!ENTITY % special
- "%special.pre; | object | img ">
-
-<!ENTITY % fontstyle "tt | i | b | big | small ">
-
-<!ENTITY % phrase "em | strong | dfn | code | q |
- samp | kbd | var | cite | abbr | acronym | sub | sup ">
-
-<!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">
-<!ENTITY % blocktext "pre | hr | blockquote | address">
-
-<!ENTITY % block
- "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
-
-<!ENTITY % Block "(%block; | form | %misc;)*">
-
-<!-- %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 big, small, sup or sup -->
-
-<!ENTITY % pre.content
- "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
- | %inline.forms;)*">
-
-<!-- form uses %Block; excluding form -->
-
-<!ENTITY % form.content "(%block; | %misc;)*">
-
-<!-- button uses %Flow; but excludes a, form and form controls -->
-
-<!ENTITY % button.content
- "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
- table | %special; | %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)*">
-
-<!-- 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
- href %URI; #REQUIRED
- id ID #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
- >
-
-<!-- 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
- src %URI; #IMPLIED
- defer (defer) #IMPLIED
- xml:space (preserve) #FIXED 'preserve'
- >
-
-<!-- alternate content container for non script-based rendering -->
-
-<!ELEMENT noscript %Block;>
-<!ATTLIST noscript
- %attrs;
- >
-
-<!--=================== Document Body ====================================-->
-
-<!ELEMENT body %Block;>
-<!ATTLIST body
- %attrs;
- onload %Script; #IMPLIED
- onunload %Script; #IMPLIED
- >
-
-<!ELEMENT div %Flow;> <!-- generic language/style container -->
-<!ATTLIST div
- %attrs;
- >
-
-<!--=================== Paragraphs =======================================-->
-
-<!ELEMENT p %Inline;>
-<!ATTLIST p
- %attrs;
- >
-
-<!--=================== Headings =========================================-->
-
-<!--
- There are six levels of headings from h1 (the most important)
- to h6 (the least important).
--->
-
-<!ELEMENT h1 %Inline;>
-<!ATTLIST h1
- %attrs;
- >
-
-<!ELEMENT h2 %Inline;>
-<!ATTLIST h2
- %attrs;
- >
-
-<!ELEMENT h3 %Inline;>
-<!ATTLIST h3
- %attrs;
- >
-
-<!ELEMENT h4 %Inline;>
-<!ATTLIST h4
- %attrs;
- >
-
-<!ELEMENT h5 %Inline;>
-<!ATTLIST h5
- %attrs;
- >
-
-<!ELEMENT h6 %Inline;>
-<!ATTLIST h6
- %attrs;
- >
-
-<!--=================== Lists ============================================-->
-
-<!-- Unordered list -->
-
-<!ELEMENT ul (li)+>
-<!ATTLIST ul
- %attrs;
- >
-
-<!-- Ordered (numbered) list -->
-
-<!ELEMENT ol (li)+>
-<!ATTLIST ol
- %attrs;
- >
-
-<!-- list item -->
-
-<!ELEMENT li %Flow;>
-<!ATTLIST li
- %attrs;
- >
-
-<!-- definition lists - dt for term, dd for its definition -->
-
-<!ELEMENT dl (dt|dd)+>
-<!ATTLIST dl
- %attrs;
- >
-
-<!ELEMENT dt %Inline;>
-<!ATTLIST dt
- %attrs;
- >
-
-<!ELEMENT dd %Flow;>
-<!ATTLIST dd
- %attrs;
- >
-
-<!--=================== Address ==========================================-->
-
-<!-- information on author -->
-
-<!ELEMENT address %Inline;>
-<!ATTLIST address
- %attrs;
- >
-
-<!--=================== Horizontal Rule ==================================-->
-
-<!ELEMENT hr EMPTY>
-<!ATTLIST hr
- %attrs;
- >
-
-<!--=================== Preformatted Text ================================-->
-
-<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
-
-<!ELEMENT pre %pre.content;>
-<!ATTLIST pre
- %attrs;
- xml:space (preserve) #FIXED 'preserve'
- >
-
-<!--=================== Block-like Quotes ================================-->
-
-<!ELEMENT blockquote %Block;>
-<!ATTLIST blockquote
- %attrs;
- cite %URI; #IMPLIED
- >
-
-<!--=================== 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
- >
-
-<!--===================== 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;
- >
-
-<!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;>
-
-<!--==================== 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
- >
-
-<!--
- 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 #IMPLIED
- value CDATA #IMPLIED
- valuetype (data|ref|object) "data"
- type %ContentType; #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.
- Note that in this DTD there is no name attribute. That
- is only available in the transitional and frameset DTD.
--->
-
-<!ELEMENT img EMPTY>
-<!ATTLIST img
- %attrs;
- src %URI; #REQUIRED
- alt %Text; #REQUIRED
- longdesc %URI; #IMPLIED
- height %Length; #IMPLIED
- width %Length; #IMPLIED
- usemap %URI; #IMPLIED
- ismap (ismap) #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 NMTOKEN #IMPLIED
- >
-
-<!ELEMENT area EMPTY>
-<!ATTLIST area
- %attrs;
- %focus;
- shape %Shape; "rect"
- coords %Coords; #IMPLIED
- href %URI; #IMPLIED
- nohref (nohref) #IMPLIED
- alt %Text; #REQUIRED
- >
-
-<!--================ Forms ===============================================-->
-<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
-
-<!ATTLIST form
- %attrs;
- action %URI; #REQUIRED
- method (get|post) "get"
- enctype %ContentType; "application/x-www-form-urlencoded"
- onsubmit %Script; #IMPLIED
- onreset %Script; #IMPLIED
- accept %ContentTypes; #IMPLIED
- accept-charset %Charsets; #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
- >
-
-<!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;
- >
-
-<!ELEMENT legend %Inline;> <!-- fieldset label -->
-<!ATTLIST legend
- %attrs;
- accesskey %Character; #IMPLIED
- >
-
-<!--
- Content is %Flow; excluding a, form and form controls
--->
-<!ELEMENT button %button.content;> <!-- push button -->
-<!ATTLIST button
- %attrs;
- %focus;
- name CDATA #IMPLIED
- value CDATA #IMPLIED
- type (button|submit|reset) "submit"
- disabled (disabled) #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 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
- >
-
-<!ATTLIST caption
- %attrs;
- >
-
-<!--
-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;
- >
-
-
-<!-- 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;
- >
-
-<!ATTLIST td
- %attrs;
- abbr %Text; #IMPLIED
- axis CDATA #IMPLIED
- headers IDREFS #IMPLIED
- scope %Scope; #IMPLIED
- rowspan %Number; "1"
- colspan %Number; "1"
- %cellhalign;
- %cellvalign;
- >
-
diff --git a/content/dtds.data/wicket-xhtml1.4-strict.dtd b/content/dtds.data/wicket-xhtml1.4-strict.dtd
deleted file mode 100644
index 66d4f81..0000000
--- a/content/dtds.data/wicket-xhtml1.4-strict.dtd
+++ /dev/null
@@ -1,982 +0,0 @@
-<!--
- Extensible HTML version 1.0 Strict DTD
-
- This is the same as HTML 4 Strict 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 Strict//EN"
- SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
-
- $Revision: 1.1 $
- $Date: 2002/08/01 13:56:03 $
-
--->
-
-<!--================ Character mnemonic entities =========================-->
-
-<!ENTITY % HTMLlat1 PUBLIC
- "-//W3C//ENTITIES Latin 1 for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
-%HTMLlat1;
-
-<!ENTITY % HTMLsymbol PUBLIC
- "-//W3C//ENTITIES Symbols for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
-%HTMLsymbol;
-
-<!ENTITY % HTMLspecial PUBLIC
- "-//W3C//ENTITIES Special for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/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 % 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 -->
-
-<!--=================== 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
- wicket:id the id for the Wicket framework
- wicket:preview the preview attribute for the Wicket framework
--->
-<!ENTITY % coreattrs
- "id ID #IMPLIED
- class CDATA #IMPLIED
- style %StyleSheet; #IMPLIED
- title %Text; #IMPLIED
- wicket:id %Text; #IMPLIED
- wicket:preview %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 Elements ====================================-->
-
-<!ENTITY % special.pre
- "br | span | bdo | map">
-
-
-<!ENTITY % special
- "%special.pre; | object | img ">
-
-<!ENTITY % fontstyle "tt | i | b | big | small ">
-
-<!ENTITY % phrase "em | strong | dfn | code | q |
- samp | kbd | var | cite | abbr | acronym | sub | sup ">
-
-<!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">
-<!ENTITY % blocktext "pre | hr | blockquote | address">
-
-<!ENTITY % block
- "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
-
-<!ENTITY % Block "(%block; | form | %misc;)*">
-
-<!-- %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 big, small, sup or sup -->
-
-<!ENTITY % pre.content
- "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
- | %inline.forms;)*">
-
-<!-- form uses %Block; excluding form -->
-
-<!ENTITY % form.content "(%block; | %misc;)*">
-
-<!-- button uses %Flow; but excludes a, form and form controls -->
-
-<!ENTITY % button.content
- "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
- table | %special; | %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)*">
-
-<!-- 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
- href %URI; #REQUIRED
- id ID #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
- >
-
-<!-- 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
- src %URI; #IMPLIED
- defer (defer) #IMPLIED
- xml:space (preserve) #FIXED 'preserve'
- >
-
-<!-- alternate content container for non script-based rendering -->
-
-<!ELEMENT noscript %Block;>
-<!ATTLIST noscript
- %attrs;
- >
-
-<!--=================== Document Body ====================================-->
-
-<!ELEMENT body %Block;>
-<!ATTLIST body
- %attrs;
- onload %Script; #IMPLIED
- onunload %Script; #IMPLIED
- >
-
-<!ELEMENT div %Flow;> <!-- generic language/style container -->
-<!ATTLIST div
- %attrs;
- >
-
-<!--=================== Paragraphs =======================================-->
-
-<!ELEMENT p %Inline;>
-<!ATTLIST p
- %attrs;
- >
-
-<!--=================== Headings =========================================-->
-
-<!--
- There are six levels of headings from h1 (the most important)
- to h6 (the least important).
--->
-
-<!ELEMENT h1 %Inline;>
-<!ATTLIST h1
- %attrs;
- >
-
-<!ELEMENT h2 %Inline;>
-<!ATTLIST h2
- %attrs;
- >
-
-<!ELEMENT h3 %Inline;>
-<!ATTLIST h3
- %attrs;
- >
-
-<!ELEMENT h4 %Inline;>
-<!ATTLIST h4
- %attrs;
- >
-
-<!ELEMENT h5 %Inline;>
-<!ATTLIST h5
- %attrs;
- >
-
-<!ELEMENT h6 %Inline;>
-<!ATTLIST h6
- %attrs;
- >
-
-<!--=================== Lists ============================================-->
-
-<!-- Unordered list -->
-
-<!ELEMENT ul (li)+>
-<!ATTLIST ul
- %attrs;
- >
-
-<!-- Ordered (numbered) list -->
-
-<!ELEMENT ol (li)+>
-<!ATTLIST ol
- %attrs;
- >
-
-<!-- list item -->
-
-<!ELEMENT li %Flow;>
-<!ATTLIST li
- %attrs;
- >
-
-<!-- definition lists - dt for term, dd for its definition -->
-
-<!ELEMENT dl (dt|dd)+>
-<!ATTLIST dl
- %attrs;
- >
-
-<!ELEMENT dt %Inline;>
-<!ATTLIST dt
- %attrs;
- >
-
-<!ELEMENT dd %Flow;>
-<!ATTLIST dd
- %attrs;
- >
-
-<!--=================== Address ==========================================-->
-
-<!-- information on author -->
-
-<!ELEMENT address %Inline;>
-<!ATTLIST address
- %attrs;
- >
-
-<!--=================== Horizontal Rule ==================================-->
-
-<!ELEMENT hr EMPTY>
-<!ATTLIST hr
- %attrs;
- >
-
-<!--=================== Preformatted Text ================================-->
-
-<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
-
-<!ELEMENT pre %pre.content;>
-<!ATTLIST pre
- %attrs;
- xml:space (preserve) #FIXED 'preserve'
- >
-
-<!--=================== Block-like Quotes ================================-->
-
-<!ELEMENT blockquote %Block;>
-<!ATTLIST blockquote
- %attrs;
- cite %URI; #IMPLIED
- >
-
-<!--=================== 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
- >
-
-<!--===================== 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;
- >
-
-<!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;>
-
-<!--==================== 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
- >
-
-<!--
- 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 #IMPLIED
- value CDATA #IMPLIED
- valuetype (data|ref|object) "data"
- type %ContentType; #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.
- Note that in this DTD there is no name attribute. That
- is only available in the transitional and frameset DTD.
--->
-
-<!ELEMENT img EMPTY>
-<!ATTLIST img
- %attrs;
- src %URI; #REQUIRED
- alt %Text; #REQUIRED
- longdesc %URI; #IMPLIED
- height %Length; #IMPLIED
- width %Length; #IMPLIED
- usemap %URI; #IMPLIED
- ismap (ismap) #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 NMTOKEN #IMPLIED
- >
-
-<!ELEMENT area EMPTY>
-<!ATTLIST area
- %attrs;
- %focus;
- shape %Shape; "rect"
- coords %Coords; #IMPLIED
- href %URI; #IMPLIED
- nohref (nohref) #IMPLIED
- alt %Text; #REQUIRED
- >
-
-<!--================ Forms ===============================================-->
-<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
-
-<!ATTLIST form
- %attrs;
- action %URI; #REQUIRED
- method (get|post) "get"
- enctype %ContentType; "application/x-www-form-urlencoded"
- onsubmit %Script; #IMPLIED
- onreset %Script; #IMPLIED
- accept %ContentTypes; #IMPLIED
- accept-charset %Charsets; #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
- >
-
-<!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;
- >
-
-<!ELEMENT legend %Inline;> <!-- fieldset label -->
-<!ATTLIST legend
- %attrs;
- accesskey %Character; #IMPLIED
- >
-
-<!--
- Content is %Flow; excluding a, form and form controls
--->
-<!ELEMENT button %button.content;> <!-- push button -->
-<!ATTLIST button
- %attrs;
- %focus;
- name CDATA #IMPLIED
- value CDATA #IMPLIED
- type (button|submit|reset) "submit"
- disabled (disabled) #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 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
- >
-
-<!ATTLIST caption
- %attrs;
- >
-
-<!--
-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;
- >
-
-
-<!-- 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;
- >
-
-<!ATTLIST td
- %attrs;
- abbr %Text; #IMPLIED
- axis CDATA #IMPLIED
- headers IDREFS #IMPLIED
- scope %Scope; #IMPLIED
- rowspan %Number; "1"
- colspan %Number; "1"
- %cellhalign;
- %cellvalign;
- >
-
diff --git a/dtds.data/index.md b/dtds.data/index.md
index 78f3bc5..0e1f4bc 100644
--- a/dtds.data/index.md
+++ b/dtds.data/index.md
@@ -1,14 +1,14 @@
---
layout: default
-title: Apache Wicket DTDs
+title: Apache Wicket XSDs
---
-The following are the Document Type Definitions and XML Schema Definitions which you can use
-for Wicket 1.3.x, 1.4.x and 1.5.x respectively.
+The following are the XML Schema Definitions which you can use
+for Wicket 7.x, 8.x and 9.x respectively.
These definitions are not used by Wicket for its internal working but you can use them in your
HTML/XML editor to simplify the development of your pages/panels markup.
-* [Wicket 1.3 DTD](wicket-xhtml1.3-strict.dtd)
-* [Wicket 1.4 DTD](wicket-xhtml1.4-strict.dtd)
-* [Wicket 1.5 XSD](http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=wicket-1.5.x)
+* [Wicket 7.x XSD](wicket-7.xsd)
+* [Wicket 8.x XSD](wicket-8.xsd)
+* [Wicket 9.x XSD](wicket-9.xsd)
diff --git a/dtds.data/wicket-7.xsd b/dtds.data/wicket-7.xsd
new file mode 100644
index 0000000..92144b3
--- /dev/null
+++ b/dtds.data/wicket-7.xsd
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://wicket.apache.org"
+ xmlns:wicket="http://wicket.apache.org"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3.org/MarkUp/SCHEMA/xhtml-basic10.xsd"
+ elementFormDefault="qualified"
+ version="7.0.0">
+
+ <redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-basic10.xsd">
+ <attributeGroup name="xhtml.label.attlist">
+ <attributeGroup ref="xhtml.label.attlist"/>
+ <attribute ref="wicket:for"/>
+ </attributeGroup>
+ </redefine>
+
+ <!-- types -->
+
+ <simpleType name="token">
+ <annotation>
+ <documentation>An extension of standard token type with the
+ restriction of collapsing white space, which means that the XML
+ processor WILL REMOVE all white space characters (line feeds, tabs,
+ spaces, carriage returns are replaced with spaces, leading and
+ trailing spaces are removed, and multiple spaces are reduced to a
+ single space).</documentation>
+ </annotation>
+ <restriction base="token">
+ <whiteSpace value="collapse" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="notEmptyToken">
+ <annotation>
+ <documentation>Extends wicket:token type with the restriction that
+ the value can not be empty.</documentation>
+ </annotation>
+ <restriction base="wicket:token">
+ <minLength value="1" />
+ </restriction>
+ </simpleType>
+
+ <complexType name="mixedContent" mixed="true">
+ <annotation>
+ <documentation>A complex type that allows any amount of mixed child
+ content from any origin.</documentation>
+ </annotation>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##targetNamespace" processContents="strict" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ </complexType>
+
+ <complexType name="notEmptyMixedContent" mixed="true">
+ <annotation>
+ <documentation>Extends wicket:mixedContent with the restriction that
+ at least one child element must be given.</documentation>
+ </annotation>
+ <choice minOccurs="1" maxOccurs="unbounded">
+ <any namespace="##targetNamespace" processContents="strict" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ </complexType>
+
+ <!-- attributes -->
+
+ <attribute name="enclosure">
+ <annotation>
+ <documentation>This attribute is useful for filtering markup that
+ surrounds a component but has its visibility dependent on the
+ visibility of that component. It is similar to the wicket:enclosure
+ tag. The value is the wicket:id of the dependent component. No value
+ can be used if there is only one nested wicket component.
+ "foo:bar:baz" format can be used to specify a nested path.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="([^:]+(:[^:]+)*)?" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <attribute name="id" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The wicket component id. Used on any element to which
+ you want to add a component.</documentation>
+ </annotation>
+ </attribute>
+
+ <attribute name="for">
+ <annotation>
+ <documentation>Can be used in HTML <![CDATA[<label]]> element to automatically link it
+ to a form element. The value of this attribute must have the same value of
+ the form component's wicket:id attribute.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="([^:]+(:[^:]+)*)?" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <attribute name="message">
+ <annotation>
+ <documentation>Used on any tag that we want Wicket to provide an
+ attribute with a value that's the result of a resource lookup.
+ Format: "att1:key1,att2:key2", where att1, att2 are attribute names
+ and key1, key2 are resource id-s.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="[^:,]+:[^:,]+(,[^:,]+:[^:,]+)*" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <!-- elements -->
+
+ <element name="body">
+ <annotation>
+ <documentation>Used with wicket:border to specify the location of the
+ original content.</documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="border" type="wicket:notEmptyMixedContent">
+ <annotation>
+ <documentation>Specifies bordering content for a wicket:body.
+ </documentation>
+ </annotation>
+ <unique name="borderWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="child">
+ <annotation>
+ <documentation>Wicket will replace this content with the markup of
+ the derived component (see wicket:extend).</documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="header-items">
+ <annotation>
+ <documentation><![CDATA[A special element that is used as a placeholder inside the HTML <head>
+ element. Wicket will replace it with all header contributions.]]></documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="container">
+ <annotation>
+ <documentation>A tag to which you can attach a wicket component but
+ it will not produce a html tag in the result.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute ref="wicket:id" use="required" />
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="containerWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="enclosure">
+ <annotation>
+ <documentation>This tag is useful for filtering markup that surrounds
+ a component but has its visibility dependent on the visibility of
+ that component. It is similar to the wicket:enclosure attribute.
+ </documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:notEmptyMixedContent">
+ <attribute name="child" use="optional">
+ <annotation>
+ <documentation>Specifies the wicket:id of the dependent
+ component. This attribute can be omitted if there is only one
+ nested wicket component. "foo:bar:baz" format can be used to
+ specify a nested path.</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="[^:]+(:[^:]+)*" />
+ </restriction>
+ </simpleType>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="enclosureWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="extend" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Extend the markup of the superclass with this content.
+ Used together with wicket:child.</documentation>
+ </annotation>
+ <unique name="extendWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="fragment">
+ <annotation>
+ <documentation>Is similar to wicket:panel but it is declared in the
+ parent's markup instead of in a separate markup file.
+ </documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute ref="wicket:id" use="required" />
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="fragmentWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="head" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Used for header contributions. Using this, panels can
+ add header sections to the pages they are placed on.</documentation>
+ </annotation>
+ <unique name="headWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="link" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Support for wicket's autolink functionality. Normally,
+ you need to add a component (for example, a BookmarkablePageLink)
+ for each link that Wicket manages. Using the wicket:link tag will
+ automatically do this in the background for you.</documentation>
+ </annotation>
+ <unique name="linkWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="message">
+ <annotation>
+ <documentation>Wicket will replace this with a string that is
+ retrieved from a resource bundle.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute name="key" use="required" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The resource id used for lookup.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="escape" use="optional" type="boolean" default="false">
+ <annotation>
+ <documentation>Defines whether the resource value should be escaped or not.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="messageWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="panel" type="wicket:mixedContent">
+ <annotation>
+ <documentation>The wicket:panel tag surrounds a component. This lets
+ you wrap the component with HTML and BODY tags (so it can be
+ displayed in a browser) but, when you include it, only the content
+ inside the wicket:panel tag is actually included.</documentation>
+ </annotation>
+ <unique name="panelWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="remove" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Wicket will remove this content in the final markup.
+ This is useful for when you want your web designer to be able to
+ show repeated content when they're working on it, but you want to
+ generate that content using a ListView (or other loop).
+ </documentation>
+ </annotation>
+ </element>
+
+ <element name="label">
+ <annotation>
+ <documentation>Wicket will output a FormComponent's label (FormComponent#getLabel()) without
+ requiring a manual extra component such as Label or FormComponentLabel.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute name="for" use="optional" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The wicket:id of FormComponent which label should be used.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="key" use="optional" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The resource id used for lookup. Acts as <wicket:message> </documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+</schema>
diff --git a/dtds.data/wicket-8.xsd b/dtds.data/wicket-8.xsd
new file mode 100644
index 0000000..52e91ac
--- /dev/null
+++ b/dtds.data/wicket-8.xsd
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://wicket.apache.org"
+ xmlns:wicket="http://wicket.apache.org"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3.org/MarkUp/SCHEMA/xhtml-basic10.xsd"
+ elementFormDefault="qualified"
+ version="8.0.0">
+
+ <redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-basic10.xsd">
+ <attributeGroup name="xhtml.label.attlist">
+ <attributeGroup ref="xhtml.label.attlist"/>
+ <attribute ref="wicket:for"/>
+ </attributeGroup>
+ </redefine>
+
+ <!-- types -->
+
+ <simpleType name="token">
+ <annotation>
+ <documentation>An extension of standard token type with the
+ restriction of collapsing white space, which means that the XML
+ processor WILL REMOVE all white space characters (line feeds, tabs,
+ spaces, carriage returns are replaced with spaces, leading and
+ trailing spaces are removed, and multiple spaces are reduced to a
+ single space).</documentation>
+ </annotation>
+ <restriction base="token">
+ <whiteSpace value="collapse" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="notEmptyToken">
+ <annotation>
+ <documentation>Extends wicket:token type with the restriction that
+ the value can not be empty.</documentation>
+ </annotation>
+ <restriction base="wicket:token">
+ <minLength value="1" />
+ </restriction>
+ </simpleType>
+
+ <complexType name="mixedContent" mixed="true">
+ <annotation>
+ <documentation>A complex type that allows any amount of mixed child
+ content from any origin.</documentation>
+ </annotation>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##targetNamespace" processContents="strict" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ </complexType>
+
+ <complexType name="notEmptyMixedContent" mixed="true">
+ <annotation>
+ <documentation>Extends wicket:mixedContent with the restriction that
+ at least one child element must be given.</documentation>
+ </annotation>
+ <choice minOccurs="1" maxOccurs="unbounded">
+ <any namespace="##targetNamespace" processContents="strict" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ </complexType>
+
+ <!-- attributes -->
+
+ <attribute name="enclosure">
+ <annotation>
+ <documentation>This attribute is useful for filtering markup that
+ surrounds a component but has its visibility dependent on the
+ visibility of that component. It is similar to the wicket:enclosure
+ tag. The value is the wicket:id of the dependent component. No value
+ can be used if there is only one nested wicket component.
+ "foo:bar:baz" format can be used to specify a nested path.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="([^:]+(:[^:]+)*)?" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <attribute name="id" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The wicket component id. Used on any element to which
+ you want to add a component.</documentation>
+ </annotation>
+ </attribute>
+
+ <attribute name="for">
+ <annotation>
+ <documentation>Can be used in HTML <![CDATA[<label]]> element to automatically link it
+ to a form element. The value of this attribute must have the same value of
+ the form component's wicket:id attribute.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="([^:]+(:[^:]+)*)?" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <attribute name="message">
+ <annotation>
+ <documentation>Used on any tag that we want Wicket to provide an
+ attribute with a value that's the result of a resource lookup.
+ Format: "att1:key1,att2:key2", where att1, att2 are attribute names
+ and key1, key2 are resource id-s.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="[^:,]+:[^:,]+(,[^:,]+:[^:,]+)*" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <!-- elements -->
+
+ <element name="body">
+ <annotation>
+ <documentation>Used with wicket:border to specify the location of the
+ original content.</documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="border" type="wicket:notEmptyMixedContent">
+ <annotation>
+ <documentation>Specifies bordering content for a wicket:body.
+ </documentation>
+ </annotation>
+ <unique name="borderWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="child">
+ <annotation>
+ <documentation>Wicket will replace this content with the markup of
+ the derived component (see wicket:extend).</documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="header-items">
+ <annotation>
+ <documentation><![CDATA[A special element that is used as a placeholder inside the HTML <head>
+ element. Wicket will replace it with all header contributions.]]></documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="container">
+ <annotation>
+ <documentation>A tag to which you can attach a wicket component but
+ it will not produce a html tag in the result.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute ref="wicket:id" use="required" />
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="containerWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="enclosure">
+ <annotation>
+ <documentation>This tag is useful for filtering markup that surrounds
+ a component but has its visibility dependent on the visibility of
+ that component. It is similar to the wicket:enclosure attribute.
+ </documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:notEmptyMixedContent">
+ <attribute name="child" use="optional">
+ <annotation>
+ <documentation>Specifies the wicket:id of the dependent
+ component. This attribute can be omitted if there is only one
+ nested wicket component. "foo:bar:baz" format can be used to
+ specify a nested path.</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="[^:]+(:[^:]+)*" />
+ </restriction>
+ </simpleType>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="enclosureWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="extend" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Extend the markup of the superclass with this content.
+ Used together with wicket:child.</documentation>
+ </annotation>
+ <unique name="extendWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="fragment">
+ <annotation>
+ <documentation>Is similar to wicket:panel but it is declared in the
+ parent's markup instead of in a separate markup file.
+ </documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute ref="wicket:id" use="required" />
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="fragmentWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="head" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Used for header contributions. Using this, panels can
+ add header sections to the pages they are placed on.</documentation>
+ </annotation>
+ <unique name="headWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="link" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Support for wicket's autolink functionality. Normally,
+ you need to add a component (for example, a BookmarkablePageLink)
+ for each link that Wicket manages. Using the wicket:link tag will
+ automatically do this in the background for you.</documentation>
+ </annotation>
+ <unique name="linkWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="message">
+ <annotation>
+ <documentation>Wicket will replace this with a string that is
+ retrieved from a resource bundle.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute name="key" use="required" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The resource id used for lookup.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="escape" use="optional" type="boolean" default="false">
+ <annotation>
+ <documentation>Defines whether the resource value should be escaped or not.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="messageWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="panel" type="wicket:mixedContent">
+ <annotation>
+ <documentation>The wicket:panel tag surrounds a component. This lets
+ you wrap the component with HTML and BODY tags (so it can be
+ displayed in a browser) but, when you include it, only the content
+ inside the wicket:panel tag is actually included.</documentation>
+ </annotation>
+ <unique name="panelWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="remove" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Wicket will remove this content in the final markup.
+ This is useful for when you want your web designer to be able to
+ show repeated content when they're working on it, but you want to
+ generate that content using a ListView (or other loop).
+ </documentation>
+ </annotation>
+ </element>
+
+ <element name="label">
+ <annotation>
+ <documentation>Wicket will output a FormComponent's label (FormComponent#getLabel()) without
+ requiring a manual extra component such as Label or FormComponentLabel.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute name="for" use="optional" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The wicket:id of FormComponent which label should be used.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="key" use="optional" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The resource id used for lookup. Acts as <wicket:message> </documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+</schema>
diff --git a/dtds.data/wicket-9.xsd b/dtds.data/wicket-9.xsd
new file mode 100644
index 0000000..84ee6c6
--- /dev/null
+++ b/dtds.data/wicket-9.xsd
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://wicket.apache.org"
+ xmlns:wicket="http://wicket.apache.org"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3.org/MarkUp/SCHEMA/xhtml-basic10.xsd"
+ elementFormDefault="qualified"
+ version="9.0.0">
+
+ <redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-basic10.xsd">
+ <attributeGroup name="xhtml.label.attlist">
+ <attributeGroup ref="xhtml.label.attlist"/>
+ <attribute ref="wicket:for"/>
+ </attributeGroup>
+ </redefine>
+
+ <!-- types -->
+
+ <simpleType name="token">
+ <annotation>
+ <documentation>An extension of standard token type with the
+ restriction of collapsing white space, which means that the XML
+ processor WILL REMOVE all white space characters (line feeds, tabs,
+ spaces, carriage returns are replaced with spaces, leading and
+ trailing spaces are removed, and multiple spaces are reduced to a
+ single space).</documentation>
+ </annotation>
+ <restriction base="token">
+ <whiteSpace value="collapse" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="notEmptyToken">
+ <annotation>
+ <documentation>Extends wicket:token type with the restriction that
+ the value can not be empty.</documentation>
+ </annotation>
+ <restriction base="wicket:token">
+ <minLength value="1" />
+ </restriction>
+ </simpleType>
+
+ <complexType name="mixedContent" mixed="true">
+ <annotation>
+ <documentation>A complex type that allows any amount of mixed child
+ content from any origin.</documentation>
+ </annotation>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##targetNamespace" processContents="strict" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ </complexType>
+
+ <complexType name="notEmptyMixedContent" mixed="true">
+ <annotation>
+ <documentation>Extends wicket:mixedContent with the restriction that
+ at least one child element must be given.</documentation>
+ </annotation>
+ <choice minOccurs="1" maxOccurs="unbounded">
+ <any namespace="##targetNamespace" processContents="strict" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ </complexType>
+
+ <!-- attributes -->
+
+ <attribute name="enclosure">
+ <annotation>
+ <documentation>This attribute is useful for filtering markup that
+ surrounds a component but has its visibility dependent on the
+ visibility of that component. It is similar to the wicket:enclosure
+ tag. The value is the wicket:id of the dependent component. No value
+ can be used if there is only one nested wicket component.
+ "foo:bar:baz" format can be used to specify a nested path.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="([^:]+(:[^:]+)*)?" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <attribute name="id" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The wicket component id. Used on any element to which
+ you want to add a component.</documentation>
+ </annotation>
+ </attribute>
+
+ <attribute name="for">
+ <annotation>
+ <documentation>Can be used in HTML <![CDATA[<label]]> element to automatically link it
+ to a form element. The value of this attribute must have the same value of
+ the form component's wicket:id attribute.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="([^:]+(:[^:]+)*)?" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <attribute name="message">
+ <annotation>
+ <documentation>Used on any tag that we want Wicket to provide an
+ attribute with a value that's the result of a resource lookup.
+ Format: "att1:key1,att2:key2", where att1, att2 are attribute names
+ and key1, key2 are resource id-s.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="[^:,]+:[^:,]+(,[^:,]+:[^:,]+)*" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
+ <!-- elements -->
+
+ <element name="body">
+ <annotation>
+ <documentation>Used with wicket:border to specify the location of the
+ original content.</documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="border" type="wicket:notEmptyMixedContent">
+ <annotation>
+ <documentation>Specifies bordering content for a wicket:body.
+ </documentation>
+ </annotation>
+ <unique name="borderWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="child">
+ <annotation>
+ <documentation>Wicket will replace this content with the markup of
+ the derived component (see wicket:extend).</documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="header-items">
+ <annotation>
+ <documentation><![CDATA[A special element that is used as a placeholder inside the HTML <head>
+ element. Wicket will replace it with all header contributions.]]></documentation>
+ </annotation>
+ <complexType />
+ </element>
+
+ <element name="container">
+ <annotation>
+ <documentation>A tag to which you can attach a wicket component but
+ it will not produce a html tag in the result.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute ref="wicket:id" use="required" />
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="containerWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="enclosure">
+ <annotation>
+ <documentation>This tag is useful for filtering markup that surrounds
+ a component but has its visibility dependent on the visibility of
+ that component. It is similar to the wicket:enclosure attribute.
+ </documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:notEmptyMixedContent">
+ <attribute name="child" use="optional">
+ <annotation>
+ <documentation>Specifies the wicket:id of the dependent
+ component. This attribute can be omitted if there is only one
+ nested wicket component. "foo:bar:baz" format can be used to
+ specify a nested path.</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="wicket:notEmptyToken">
+ <pattern value="[^:]+(:[^:]+)*" />
+ </restriction>
+ </simpleType>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="enclosureWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="extend" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Extend the markup of the superclass with this content.
+ Used together with wicket:child.</documentation>
+ </annotation>
+ <unique name="extendWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="fragment">
+ <annotation>
+ <documentation>Is similar to wicket:panel but it is declared in the
+ parent's markup instead of in a separate markup file.
+ </documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute ref="wicket:id" use="required" />
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="fragmentWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="head" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Used for header contributions. Using this, panels can
+ add header sections to the pages they are placed on.</documentation>
+ </annotation>
+ <unique name="headWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="link" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Support for wicket's autolink functionality. Normally,
+ you need to add a component (for example, a BookmarkablePageLink)
+ for each link that Wicket manages. Using the wicket:link tag will
+ automatically do this in the background for you.</documentation>
+ </annotation>
+ <unique name="linkWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="message">
+ <annotation>
+ <documentation>Wicket will replace this with a string that is
+ retrieved from a resource bundle.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute name="key" use="required" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The resource id used for lookup.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="escape" use="optional" type="boolean" default="false">
+ <annotation>
+ <documentation>Defines whether the resource value should be escaped or not.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ <unique name="messageWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="panel" type="wicket:mixedContent">
+ <annotation>
+ <documentation>The wicket:panel tag surrounds a component. This lets
+ you wrap the component with HTML and BODY tags (so it can be
+ displayed in a browser) but, when you include it, only the content
+ inside the wicket:panel tag is actually included.</documentation>
+ </annotation>
+ <unique name="panelWicketId">
+ <selector xpath="./*" />
+ <field xpath="@wicket:id" />
+ </unique>
+ </element>
+
+ <element name="remove" type="wicket:mixedContent">
+ <annotation>
+ <documentation>Wicket will remove this content in the final markup.
+ This is useful for when you want your web designer to be able to
+ show repeated content when they're working on it, but you want to
+ generate that content using a ListView (or other loop).
+ </documentation>
+ </annotation>
+ </element>
+
+ <element name="label">
+ <annotation>
+ <documentation>Wicket will output a FormComponent's label (FormComponent#getLabel()) without
+ requiring a manual extra component such as Label or FormComponentLabel.</documentation>
+ </annotation>
+ <complexType mixed="true">
+ <complexContent>
+ <extension base="wicket:mixedContent">
+ <attribute name="for" use="optional" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The wicket:id of FormComponent which label should be used.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="key" use="optional" type="wicket:notEmptyToken">
+ <annotation>
+ <documentation>The resource id used for lookup. Acts as <wicket:message> </documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+</schema>
diff --git a/dtds.data/wicket-xhtml1.3-strict.dtd b/dtds.data/wicket-xhtml1.3-strict.dtd
deleted file mode 100644
index 66d4f81..0000000
--- a/dtds.data/wicket-xhtml1.3-strict.dtd
+++ /dev/null
@@ -1,982 +0,0 @@
-<!--
- Extensible HTML version 1.0 Strict DTD
-
- This is the same as HTML 4 Strict 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 Strict//EN"
- SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
-
- $Revision: 1.1 $
- $Date: 2002/08/01 13:56:03 $
-
--->
-
-<!--================ Character mnemonic entities =========================-->
-
-<!ENTITY % HTMLlat1 PUBLIC
- "-//W3C//ENTITIES Latin 1 for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
-%HTMLlat1;
-
-<!ENTITY % HTMLsymbol PUBLIC
- "-//W3C//ENTITIES Symbols for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
-%HTMLsymbol;
-
-<!ENTITY % HTMLspecial PUBLIC
- "-//W3C//ENTITIES Special for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/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 % 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 -->
-
-<!--=================== 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
- wicket:id the id for the Wicket framework
- wicket:preview the preview attribute for the Wicket framework
--->
-<!ENTITY % coreattrs
- "id ID #IMPLIED
- class CDATA #IMPLIED
- style %StyleSheet; #IMPLIED
- title %Text; #IMPLIED
- wicket:id %Text; #IMPLIED
- wicket:preview %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 Elements ====================================-->
-
-<!ENTITY % special.pre
- "br | span | bdo | map">
-
-
-<!ENTITY % special
- "%special.pre; | object | img ">
-
-<!ENTITY % fontstyle "tt | i | b | big | small ">
-
-<!ENTITY % phrase "em | strong | dfn | code | q |
- samp | kbd | var | cite | abbr | acronym | sub | sup ">
-
-<!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">
-<!ENTITY % blocktext "pre | hr | blockquote | address">
-
-<!ENTITY % block
- "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
-
-<!ENTITY % Block "(%block; | form | %misc;)*">
-
-<!-- %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 big, small, sup or sup -->
-
-<!ENTITY % pre.content
- "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
- | %inline.forms;)*">
-
-<!-- form uses %Block; excluding form -->
-
-<!ENTITY % form.content "(%block; | %misc;)*">
-
-<!-- button uses %Flow; but excludes a, form and form controls -->
-
-<!ENTITY % button.content
- "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
- table | %special; | %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)*">
-
-<!-- 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
- href %URI; #REQUIRED
- id ID #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
- >
-
-<!-- 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
- src %URI; #IMPLIED
- defer (defer) #IMPLIED
- xml:space (preserve) #FIXED 'preserve'
- >
-
-<!-- alternate content container for non script-based rendering -->
-
-<!ELEMENT noscript %Block;>
-<!ATTLIST noscript
- %attrs;
- >
-
-<!--=================== Document Body ====================================-->
-
-<!ELEMENT body %Block;>
-<!ATTLIST body
- %attrs;
- onload %Script; #IMPLIED
- onunload %Script; #IMPLIED
- >
-
-<!ELEMENT div %Flow;> <!-- generic language/style container -->
-<!ATTLIST div
- %attrs;
- >
-
-<!--=================== Paragraphs =======================================-->
-
-<!ELEMENT p %Inline;>
-<!ATTLIST p
- %attrs;
- >
-
-<!--=================== Headings =========================================-->
-
-<!--
- There are six levels of headings from h1 (the most important)
- to h6 (the least important).
--->
-
-<!ELEMENT h1 %Inline;>
-<!ATTLIST h1
- %attrs;
- >
-
-<!ELEMENT h2 %Inline;>
-<!ATTLIST h2
- %attrs;
- >
-
-<!ELEMENT h3 %Inline;>
-<!ATTLIST h3
- %attrs;
- >
-
-<!ELEMENT h4 %Inline;>
-<!ATTLIST h4
- %attrs;
- >
-
-<!ELEMENT h5 %Inline;>
-<!ATTLIST h5
- %attrs;
- >
-
-<!ELEMENT h6 %Inline;>
-<!ATTLIST h6
- %attrs;
- >
-
-<!--=================== Lists ============================================-->
-
-<!-- Unordered list -->
-
-<!ELEMENT ul (li)+>
-<!ATTLIST ul
- %attrs;
- >
-
-<!-- Ordered (numbered) list -->
-
-<!ELEMENT ol (li)+>
-<!ATTLIST ol
- %attrs;
- >
-
-<!-- list item -->
-
-<!ELEMENT li %Flow;>
-<!ATTLIST li
- %attrs;
- >
-
-<!-- definition lists - dt for term, dd for its definition -->
-
-<!ELEMENT dl (dt|dd)+>
-<!ATTLIST dl
- %attrs;
- >
-
-<!ELEMENT dt %Inline;>
-<!ATTLIST dt
- %attrs;
- >
-
-<!ELEMENT dd %Flow;>
-<!ATTLIST dd
- %attrs;
- >
-
-<!--=================== Address ==========================================-->
-
-<!-- information on author -->
-
-<!ELEMENT address %Inline;>
-<!ATTLIST address
- %attrs;
- >
-
-<!--=================== Horizontal Rule ==================================-->
-
-<!ELEMENT hr EMPTY>
-<!ATTLIST hr
- %attrs;
- >
-
-<!--=================== Preformatted Text ================================-->
-
-<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
-
-<!ELEMENT pre %pre.content;>
-<!ATTLIST pre
- %attrs;
- xml:space (preserve) #FIXED 'preserve'
- >
-
-<!--=================== Block-like Quotes ================================-->
-
-<!ELEMENT blockquote %Block;>
-<!ATTLIST blockquote
- %attrs;
- cite %URI; #IMPLIED
- >
-
-<!--=================== 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
- >
-
-<!--===================== 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;
- >
-
-<!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;>
-
-<!--==================== 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
- >
-
-<!--
- 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 #IMPLIED
- value CDATA #IMPLIED
- valuetype (data|ref|object) "data"
- type %ContentType; #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.
- Note that in this DTD there is no name attribute. That
- is only available in the transitional and frameset DTD.
--->
-
-<!ELEMENT img EMPTY>
-<!ATTLIST img
- %attrs;
- src %URI; #REQUIRED
- alt %Text; #REQUIRED
- longdesc %URI; #IMPLIED
- height %Length; #IMPLIED
- width %Length; #IMPLIED
- usemap %URI; #IMPLIED
- ismap (ismap) #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 NMTOKEN #IMPLIED
- >
-
-<!ELEMENT area EMPTY>
-<!ATTLIST area
- %attrs;
- %focus;
- shape %Shape; "rect"
- coords %Coords; #IMPLIED
- href %URI; #IMPLIED
- nohref (nohref) #IMPLIED
- alt %Text; #REQUIRED
- >
-
-<!--================ Forms ===============================================-->
-<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
-
-<!ATTLIST form
- %attrs;
- action %URI; #REQUIRED
- method (get|post) "get"
- enctype %ContentType; "application/x-www-form-urlencoded"
- onsubmit %Script; #IMPLIED
- onreset %Script; #IMPLIED
- accept %ContentTypes; #IMPLIED
- accept-charset %Charsets; #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
- >
-
-<!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;
- >
-
-<!ELEMENT legend %Inline;> <!-- fieldset label -->
-<!ATTLIST legend
- %attrs;
- accesskey %Character; #IMPLIED
- >
-
-<!--
- Content is %Flow; excluding a, form and form controls
--->
-<!ELEMENT button %button.content;> <!-- push button -->
-<!ATTLIST button
- %attrs;
- %focus;
- name CDATA #IMPLIED
- value CDATA #IMPLIED
- type (button|submit|reset) "submit"
- disabled (disabled) #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 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
- >
-
-<!ATTLIST caption
- %attrs;
- >
-
-<!--
-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;
- >
-
-
-<!-- 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;
- >
-
-<!ATTLIST td
- %attrs;
- abbr %Text; #IMPLIED
- axis CDATA #IMPLIED
- headers IDREFS #IMPLIED
- scope %Scope; #IMPLIED
- rowspan %Number; "1"
- colspan %Number; "1"
- %cellhalign;
- %cellvalign;
- >
-
diff --git a/dtds.data/wicket-xhtml1.4-strict.dtd b/dtds.data/wicket-xhtml1.4-strict.dtd
deleted file mode 100644
index 66d4f81..0000000
--- a/dtds.data/wicket-xhtml1.4-strict.dtd
+++ /dev/null
@@ -1,982 +0,0 @@
-<!--
- Extensible HTML version 1.0 Strict DTD
-
- This is the same as HTML 4 Strict 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 Strict//EN"
- SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
-
- $Revision: 1.1 $
- $Date: 2002/08/01 13:56:03 $
-
--->
-
-<!--================ Character mnemonic entities =========================-->
-
-<!ENTITY % HTMLlat1 PUBLIC
- "-//W3C//ENTITIES Latin 1 for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
-%HTMLlat1;
-
-<!ENTITY % HTMLsymbol PUBLIC
- "-//W3C//ENTITIES Symbols for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
-%HTMLsymbol;
-
-<!ENTITY % HTMLspecial PUBLIC
- "-//W3C//ENTITIES Special for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/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 % 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 -->
-
-<!--=================== 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
- wicket:id the id for the Wicket framework
- wicket:preview the preview attribute for the Wicket framework
--->
-<!ENTITY % coreattrs
- "id ID #IMPLIED
- class CDATA #IMPLIED
- style %StyleSheet; #IMPLIED
- title %Text; #IMPLIED
- wicket:id %Text; #IMPLIED
- wicket:preview %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 Elements ====================================-->
-
-<!ENTITY % special.pre
- "br | span | bdo | map">
-
-
-<!ENTITY % special
- "%special.pre; | object | img ">
-
-<!ENTITY % fontstyle "tt | i | b | big | small ">
-
-<!ENTITY % phrase "em | strong | dfn | code | q |
- samp | kbd | var | cite | abbr | acronym | sub | sup ">
-
-<!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">
-<!ENTITY % blocktext "pre | hr | blockquote | address">
-
-<!ENTITY % block
- "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
-
-<!ENTITY % Block "(%block; | form | %misc;)*">
-
-<!-- %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 big, small, sup or sup -->
-
-<!ENTITY % pre.content
- "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
- | %inline.forms;)*">
-
-<!-- form uses %Block; excluding form -->
-
-<!ENTITY % form.content "(%block; | %misc;)*">
-
-<!-- button uses %Flow; but excludes a, form and form controls -->
-
-<!ENTITY % button.content
- "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
- table | %special; | %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)*">
-
-<!-- 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
- href %URI; #REQUIRED
- id ID #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
- >
-
-<!-- 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
- src %URI; #IMPLIED
- defer (defer) #IMPLIED
- xml:space (preserve) #FIXED 'preserve'
- >
-
-<!-- alternate content container for non script-based rendering -->
-
-<!ELEMENT noscript %Block;>
-<!ATTLIST noscript
- %attrs;
- >
-
-<!--=================== Document Body ====================================-->
-
-<!ELEMENT body %Block;>
-<!ATTLIST body
- %attrs;
- onload %Script; #IMPLIED
- onunload %Script; #IMPLIED
- >
-
-<!ELEMENT div %Flow;> <!-- generic language/style container -->
-<!ATTLIST div
- %attrs;
- >
-
-<!--=================== Paragraphs =======================================-->
-
-<!ELEMENT p %Inline;>
-<!ATTLIST p
- %attrs;
- >
-
-<!--=================== Headings =========================================-->
-
-<!--
- There are six levels of headings from h1 (the most important)
- to h6 (the least important).
--->
-
-<!ELEMENT h1 %Inline;>
-<!ATTLIST h1
- %attrs;
- >
-
-<!ELEMENT h2 %Inline;>
-<!ATTLIST h2
- %attrs;
- >
-
-<!ELEMENT h3 %Inline;>
-<!ATTLIST h3
- %attrs;
- >
-
-<!ELEMENT h4 %Inline;>
-<!ATTLIST h4
- %attrs;
- >
-
-<!ELEMENT h5 %Inline;>
-<!ATTLIST h5
- %attrs;
- >
-
-<!ELEMENT h6 %Inline;>
-<!ATTLIST h6
- %attrs;
- >
-
-<!--=================== Lists ============================================-->
-
-<!-- Unordered list -->
-
-<!ELEMENT ul (li)+>
-<!ATTLIST ul
- %attrs;
- >
-
-<!-- Ordered (numbered) list -->
-
-<!ELEMENT ol (li)+>
-<!ATTLIST ol
- %attrs;
- >
-
-<!-- list item -->
-
-<!ELEMENT li %Flow;>
-<!ATTLIST li
- %attrs;
- >
-
-<!-- definition lists - dt for term, dd for its definition -->
-
-<!ELEMENT dl (dt|dd)+>
-<!ATTLIST dl
- %attrs;
- >
-
-<!ELEMENT dt %Inline;>
-<!ATTLIST dt
- %attrs;
- >
-
-<!ELEMENT dd %Flow;>
-<!ATTLIST dd
- %attrs;
- >
-
-<!--=================== Address ==========================================-->
-
-<!-- information on author -->
-
-<!ELEMENT address %Inline;>
-<!ATTLIST address
- %attrs;
- >
-
-<!--=================== Horizontal Rule ==================================-->
-
-<!ELEMENT hr EMPTY>
-<!ATTLIST hr
- %attrs;
- >
-
-<!--=================== Preformatted Text ================================-->
-
-<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
-
-<!ELEMENT pre %pre.content;>
-<!ATTLIST pre
- %attrs;
- xml:space (preserve) #FIXED 'preserve'
- >
-
-<!--=================== Block-like Quotes ================================-->
-
-<!ELEMENT blockquote %Block;>
-<!ATTLIST blockquote
- %attrs;
- cite %URI; #IMPLIED
- >
-
-<!--=================== 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
- >
-
-<!--===================== 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;
- >
-
-<!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;>
-
-<!--==================== 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
- >
-
-<!--
- 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 #IMPLIED
- value CDATA #IMPLIED
- valuetype (data|ref|object) "data"
- type %ContentType; #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.
- Note that in this DTD there is no name attribute. That
- is only available in the transitional and frameset DTD.
--->
-
-<!ELEMENT img EMPTY>
-<!ATTLIST img
- %attrs;
- src %URI; #REQUIRED
- alt %Text; #REQUIRED
- longdesc %URI; #IMPLIED
- height %Length; #IMPLIED
- width %Length; #IMPLIED
- usemap %URI; #IMPLIED
- ismap (ismap) #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 NMTOKEN #IMPLIED
- >
-
-<!ELEMENT area EMPTY>
-<!ATTLIST area
- %attrs;
- %focus;
- shape %Shape; "rect"
- coords %Coords; #IMPLIED
- href %URI; #IMPLIED
- nohref (nohref) #IMPLIED
- alt %Text; #REQUIRED
- >
-
-<!--================ Forms ===============================================-->
-<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
-
-<!ATTLIST form
- %attrs;
- action %URI; #REQUIRED
- method (get|post) "get"
- enctype %ContentType; "application/x-www-form-urlencoded"
- onsubmit %Script; #IMPLIED
- onreset %Script; #IMPLIED
- accept %ContentTypes; #IMPLIED
- accept-charset %Charsets; #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
- >
-
-<!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;
- >
-
-<!ELEMENT legend %Inline;> <!-- fieldset label -->
-<!ATTLIST legend
- %attrs;
- accesskey %Character; #IMPLIED
- >
-
-<!--
- Content is %Flow; excluding a, form and form controls
--->
-<!ELEMENT button %button.content;> <!-- push button -->
-<!ATTLIST button
- %attrs;
- %focus;
- name CDATA #IMPLIED
- value CDATA #IMPLIED
- type (button|submit|reset) "submit"
- disabled (disabled) #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 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
- >
-
-<!ATTLIST caption
- %attrs;
- >
-
-<!--
-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;
- >
-
-
-<!-- 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;
- >
-
-<!ATTLIST td
- %attrs;
- abbr %Text; #IMPLIED
- axis CDATA #IMPLIED
- headers IDREFS #IMPLIED
- scope %Scope; #IMPLIED
- rowspan %Number; "1"
- colspan %Number; "1"
- %cellhalign;
- %cellvalign;
- >
-