summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sources/scala/xml/MetaData.scala110
-rw-r--r--sources/scala/xml/NamespaceBinding.scala27
-rw-r--r--sources/scala/xml/Null.scala59
-rw-r--r--sources/scala/xml/PrefixedAttribute.scala63
-rw-r--r--sources/scala/xml/TopScope.scala10
-rw-r--r--sources/scala/xml/UnprefixedAttribute.scala44
-rw-r--r--test/files/jvm/xml01.check20
-rw-r--r--test/files/jvm/xml01.scala174
-rw-r--r--test/files/xml/lnk.dtd13
-rw-r--r--test/files/xml/xhtml.dtd3087
10 files changed, 507 insertions, 3100 deletions
diff --git a/sources/scala/xml/MetaData.scala b/sources/scala/xml/MetaData.scala
new file mode 100644
index 0000000000..e3d0ee06b9
--- /dev/null
+++ b/sources/scala/xml/MetaData.scala
@@ -0,0 +1,110 @@
+package scala.xml;
+
+/** Attribute information item, and linked list of attribute information items.
+ * These are triples consisting of prefix,key,value. To obtain the namespace,
+ * getNamespace must be called with the parent. If next is null, this is
+ * the last attribute in the MetaData list.
+ *
+ * either an UnprefixedAttribute or a PrefixedAttribute
+ *
+ * @todo _vlue should be a normalized attribute value
+ */
+abstract class MetaData extends Iterable[MetaData] with java.io.Serializable {
+
+ /** appends given MetaData items to this MetaData list */
+ def append(m: MetaData): MetaData =
+ next.append(copy(m));
+
+ def containedIn1(m:MetaData): Boolean =
+ m.equals1(this) || containedIn1(m.next);
+
+ /** returns a copy of this MetaData item with next field set to argument */
+ def copy(next: MetaData): MetaData;
+
+ /** if owner is the element of this metadata item, returns namespace */
+ def getNamespace(owner: Node): String;
+
+ def hasNext = (Null != next);
+
+ def length: Int = length(1);
+
+ def length(i:Int): Int = next.length(i+1);
+
+ def isPrefixed: Boolean;
+
+ //def containedIn(m:MetaData): Boolean;
+
+ //def deepCopy: MetaData;
+
+ //def deepCopy(tail:MetaData): MetaData;
+
+ /** deep equals method */
+ override def equals(that: Any) = {
+ that.match {
+ case m:MetaData =>
+ var res = (this.length == m.length) && (this.hashCode() == m.hashCode());
+ val it = this.elements;
+ while (res && it.hasNext) { res = it.next.containedIn1(m) }
+ res
+
+ case _ => false;
+ }
+ }
+
+ def elements = new Iterator[MetaData] {
+ var x = MetaData.this;
+ def hasNext = x.hasNext;
+ def next = {
+ x = x.next;
+ x
+ }
+ }
+
+ /** shallow equals method */
+ def equals1(that:MetaData): Boolean;
+
+ /** returns key of this MetaData item */
+ def key: String;
+
+ /** returns key of this MetaData item */
+ def value: String;
+
+ /** returns Null or the next MetaData item */
+ def next: MetaData;
+
+ /** gets value of unqualified (unprefixed) attribute with given key */
+ def getValue(key: String): String;
+
+ /** gets value of qualified (prefixed) attribute with given key */
+ def getValue(namespace: String, owner: Node, key: String): String =
+ getValue(namespace, owner.scope, key);
+
+ /** gets value of qualified (prefixed) attribute with given key */
+ def getValue(namespace: String, scope: NamespaceBinding, key: String): String;
+ override def hashCode(): Int;
+
+ def toString1(): String = {
+ val sb = new StringBuffer();
+ toString1(sb);
+ sb.toString();
+ }
+
+ //appends string representations of single attribute to StringBuffer
+ def toString1(sb:StringBuffer): Unit;
+
+ override def toString(): String = {
+ val sb = new StringBuffer();
+ toString(sb);
+ sb.toString();
+ }
+
+ def toString(sb: StringBuffer): Unit = {
+ sb.append(' ');
+ toString1(sb);
+ next.toString(sb);
+ }
+
+ def wellformed(scope: NamespaceBinding): Boolean;
+
+}
+
diff --git a/sources/scala/xml/NamespaceBinding.scala b/sources/scala/xml/NamespaceBinding.scala
new file mode 100644
index 0000000000..85091dc3a1
--- /dev/null
+++ b/sources/scala/xml/NamespaceBinding.scala
@@ -0,0 +1,27 @@
+package scala.xml;
+
+/** represents namespace bindings and scopes. The binding for the
+ * default namespace is treated as a null prefix. the absent namespace is
+ * represented with the null uri. Neither prefix nor uri may be empty,
+ * which is not checked.
+ */
+class NamespaceBinding(val prefix: String, val uri: String, val parent: NamespaceBinding) {
+
+ def getURI(_prefix: String): String = {
+ if(prefix == _prefix)
+ uri
+ else
+ parent.getURI(_prefix);
+ }
+
+ /** returns some prefix that is mapped to the prefix,
+ */
+ def getPrefix(_uri: String): String = {
+ if(_uri == uri)
+ uri
+ else
+ parent.getURI(_uri);
+ }
+
+}
+
diff --git a/sources/scala/xml/Null.scala b/sources/scala/xml/Null.scala
new file mode 100644
index 0000000000..544b05c743
--- /dev/null
+++ b/sources/scala/xml/Null.scala
@@ -0,0 +1,59 @@
+package scala.xml;
+
+case object Null extends MetaData {
+
+ /** appends given MetaData items to this MetaData list */
+ override def append(m: MetaData): MetaData = m;
+
+ override def containedIn1(m:MetaData): Boolean = false;
+
+ /** returns a copy of this MetaData item with next field set to argument */
+ def copy(next: MetaData) = next;
+
+ /** returns null */
+ def getNamespace(owner: Node) = null;
+
+ final override def hasNext = false;
+
+ final override def length = 0;
+
+ final override def length(i:Int) = i;
+
+ def isPrefixed = false;
+
+ /** deep equals method */
+ override def equals(that: Any) = that match {
+ case m:MetaData => m.length == 0
+ case _ => false;
+ }
+
+ def equals1(that:MetaData) = that.length == 0;
+
+ def key = null;
+
+ def value = null;
+
+ def next = null;
+
+ /** null */
+ def getValue(key: String) = null;
+
+ /** gets value of qualified (prefixed) attribute with given key */
+ def getValue(namespace: String, scope: NamespaceBinding, key: String) =
+ null;
+
+ override def hashCode(): Int = 0;
+
+ override def toString1(): String = "";
+
+ //appends string representations of single attribute to StringBuffer
+ def toString1(sb:StringBuffer) = {};
+
+ override def toString(): String = "";
+
+ override def toString(sb: StringBuffer): Unit = {}
+
+ override def wellformed(scope: NamespaceBinding) = true;
+
+
+}
diff --git a/sources/scala/xml/PrefixedAttribute.scala b/sources/scala/xml/PrefixedAttribute.scala
new file mode 100644
index 0000000000..7be7ffe338
--- /dev/null
+++ b/sources/scala/xml/PrefixedAttribute.scala
@@ -0,0 +1,63 @@
+package scala.xml;
+
+/** prefixed attributes always have a non-null namespace
+ */
+class PrefixedAttribute(val pre: String, val key: String, val value: String, val next: MetaData) extends MetaData {
+
+ /** returns a copy of this unprefixed attribute with the given next field*/
+ def copy(next: MetaData) =
+ new PrefixedAttribute(pre, key, value, next);
+
+ //** duplicates the MetaData (deep copy), not preserving order */
+ //def deepCopy: MetaData = deepCopy(null);
+
+ //** duplicates the MetaData (deep copy), prepending it to tail */
+ /*
+ def deepCopy(tail:MetaData): MetaData = {
+ val md = copy(tail);
+ if(null == next)
+ md
+ else
+ next.deepCopy(md)
+ }
+ */
+
+ def equals1(m:MetaData) = m.isPrefixed && (m.asInstanceOf[PrefixedAttribute].pre == pre) && (m.key == key) && (m.value == value);
+
+ def getNamespace(owner: Node) =
+ owner.getNamespace(pre);
+
+ /** forwards the call to next */
+ def getValue(key: String): String = next.getValue(key);
+
+ /** gets attribute value of qualified (prefixed) attribute with given key
+ */
+ def getValue(namespace: String, scope: NamespaceBinding, key: String): String = {
+ if(key == this.key && scope.getURI(pre) == namespace)
+ value
+ else
+ next.getValue(namespace, scope, key);
+ }
+
+ /** returns true */
+ final def isPrefixed = true;
+
+ override def hashCode() =
+ pre.hashCode() * 41 + key.hashCode() * 7 + value.hashCode() * 3 + next.hashCode();
+
+
+ def toString1(sb:StringBuffer): Unit = {
+ sb.append(pre);
+ sb.append(':');
+ sb.append(key);
+ sb.append('=');
+ Utility.appendQuoted(value, sb);
+ }
+
+ def wellformed(scope: NamespaceBinding): Boolean = {
+ (null == next.getValue(scope.getURI(pre), scope, key)
+ && next.wellformed(scope));
+ }
+
+}
+
diff --git a/sources/scala/xml/TopScope.scala b/sources/scala/xml/TopScope.scala
new file mode 100644
index 0000000000..6dca9dfff8
--- /dev/null
+++ b/sources/scala/xml/TopScope.scala
@@ -0,0 +1,10 @@
+package scala.xml;
+
+case object TopScope extends NamespaceBinding(null,null,null) {
+
+ override def getURI(_prefix: String) = null;
+
+ override def getPrefix(_uri: String) = null;
+
+}
+
diff --git a/sources/scala/xml/UnprefixedAttribute.scala b/sources/scala/xml/UnprefixedAttribute.scala
new file mode 100644
index 0000000000..90081909a6
--- /dev/null
+++ b/sources/scala/xml/UnprefixedAttribute.scala
@@ -0,0 +1,44 @@
+package scala.xml;
+
+/** unprefixed attributes have the null namespace
+ */
+class UnprefixedAttribute(val key: String, val value: String, val next: MetaData) extends MetaData {
+
+ /** returns a copy of this unprefixed attribute with the given next field*/
+ def copy(next: MetaData) =
+ new UnprefixedAttribute(key, value, next);
+
+ def equals1(m:MetaData) = !m.isPrefixed && (m.key == key) && (m.value == value);
+
+ /** returns null */
+ final def getNamespace(owner: Node): String =
+ null;
+
+ /** gets value of unqualified (unprefixed) attribute with given key */
+ def getValue(key: String): String =
+ if(key == this.key)
+ value
+ else
+ next.getValue(key);
+
+ /** forwards the call to next */
+ def getValue(namespace: String, scope: NamespaceBinding, key: String): String =
+ next.getValue(namespace, scope, key);
+
+ override def hashCode() =
+ key.hashCode() * 7 + value.hashCode() * 53 + next.hashCode();
+
+ /** returns false */
+ final def isPrefixed = false;
+
+ def toString1(sb:StringBuffer): Unit = {
+ sb.append(key);
+ sb.append('=');
+ Utility.appendQuoted(value, sb);
+ }
+
+ def wellformed(scope: NamespaceBinding): Boolean =
+ (null == next.getValue(null, scope, key)) && next.wellformed(scope);
+
+}
+
diff --git a/test/files/jvm/xml01.check b/test/files/jvm/xml01.check
new file mode 100644
index 0000000000..57a788c6a1
--- /dev/null
+++ b/test/files/jvm/xml01.check
@@ -0,0 +1,20 @@
+passed ok
+equality
+passed ok
+passed ok
+passed ok
+passed ok
+passed ok
+xpath \
+passed ok
+passed ok
+passed ok
+passed ok
+passed ok
+passed ok
+passed ok
+passed ok
+xpath \\ DESCENDANTS
+passed ok
+passed ok
+passed ok
diff --git a/test/files/jvm/xml01.scala b/test/files/jvm/xml01.scala
new file mode 100644
index 0000000000..bd73a0fd7d
--- /dev/null
+++ b/test/files/jvm/xml01.scala
@@ -0,0 +1,174 @@
+import java.io.StringReader;
+import org.xml.sax.InputSource;
+import scala.xml._;
+import scala.xml.nobinding._;
+import scala.util.logging._;
+
+import scala.testing.UnitTest._ ;
+
+object Test with Application {
+ val e: scala.xml.MetaData = Null; //Node.NoAttributes;
+ val sc: scala.xml.NamespaceBinding = null;
+
+ val xmlFile1 = "<hello><world/></hello>";
+ val isrc1 = new InputSource( new StringReader( xmlFile1 ) );
+ val parsedxml1 = XML.load( isrc1 );
+ val isrc11 = new InputSource( new StringReader( xmlFile1 ) );
+ val parsedxml11 = XML.load( isrc11 );
+
+ val c = new Node {
+ def label = "hello";
+ //def namespace = "";
+ def child = List(Elem("","world",e,sc));
+ //def attributes = e;
+ };
+
+ assertSameElements( List( 3 ), List( 3 ));
+
+ Console.println("equality");
+ assertEquals( c, parsedxml11 );
+ assertEquals( parsedxml1, parsedxml11 );
+ assertSameElements( List(parsedxml1), List(parsedxml11));
+ assertSameElements( Iterator.fromArray(Predef.Array(parsedxml1)).toList, List(parsedxml11));
+
+ val x2 = "<book><author>Peter Buneman</author><author>Dan Suciu</author><title>Data on ze web</title></book>";
+
+ val i = new InputSource( new StringReader( x2 ));
+ val x2p = XML.load( i );
+
+ assertEquals(x2p, Elem("","book",e,sc,
+ Elem("","author",e,sc,Text("Peter Buneman")),
+ Elem("","author",e,sc,Text("Dan Suciu")),
+ Elem("","title",e,sc,Text("Data on ze web"))));
+
+ val xmlFile2 = "<bib><book><author>Peter Buneman</author><author>Dan Suciu</author><title>Data on ze web</title></book><book><author>John Mitchell</author><title>Foundations of Programming Languages</title></book></bib>";
+ val isrc2 = new InputSource( new StringReader( xmlFile2 ) );
+ val parsedxml2 = XML.load( isrc2 );
+
+ // xmlFile2/book -> book,book
+ Console.println("xpath \\");
+
+
+ assertSameElements( parsedxml1 \ "_" , List( Elem("","world",e,sc) ) );
+
+ assertSameElements( parsedxml1 \ "world", List( Elem("","world",e,sc) ) );
+
+/*
+ Console.println( parsedxml2 \ "_" );
+ Console.println( (parsedxml2 \ "_" ).elements);
+ for( val i <- (parsedxml2 \ "_" ).elements) {
+ Console.println( i );
+ };
+ */
+
+ assertSameElements(
+ parsedxml2 \ "_" ,
+
+ List(
+ Elem("","book", e,sc,
+ Elem("","author",e,sc,Text("Peter Buneman")),
+ Elem("","author",e,sc,Text("Dan Suciu")),
+ Elem("","title",e,sc,Text("Data on ze web"))),
+ Elem("","book",e,sc,
+ Elem("","author",e,sc,Text("John Mitchell")),
+ Elem("","title",e,sc,Text("Foundations of Programming Languages"))))
+ );
+ assertEquals( (parsedxml2 \ "author").length, 0 );
+
+ assertSameElements(
+ parsedxml2 \ "book",
+
+ List(
+ Elem("","book",e,sc,
+ Elem("","author",e,sc,Text("Peter Buneman")),
+ Elem("","author",e,sc,Text("Dan Suciu")),
+ Elem("","title",e,sc,Text("Data on ze web"))),
+ Elem("","book",e,sc,
+ Elem("","author",e,sc,Text("John Mitchell")),
+ Elem("","title",e,sc,Text("Foundations of Programming Languages")))
+ )
+ );
+
+ assertSameElements(
+
+ parsedxml2 \ "_" \ "_",
+
+ List(
+ Elem("","author",e,sc,Text("Peter Buneman")),
+ Elem("","author",e,sc,Text("Dan Suciu")),
+ Elem("","title",e,sc,Text("Data on ze web")),
+ Elem("","author",e,sc,Text("John Mitchell")),
+ Elem("","title",e,sc,Text("Foundations of Programming Languages"))
+ )
+ );
+
+ assertSameElements(
+
+ parsedxml2 \ "_" \ "author",
+
+ List(
+ Elem("","author",e,sc,Text("Peter Buneman")),
+ Elem("","author",e,sc,Text("Dan Suciu")),
+ Elem("","author",e,sc,Text("John Mitchell"))
+ )
+
+ );
+
+ assertSameElements( (parsedxml2 \ "_" \ "_" \ "author"), List() );
+
+ Console.println("xpath \\\\ DESCENDANTS");
+
+ assertSameElements(
+
+ parsedxml2 \\ "author",
+
+ List(
+ Elem("","author",e,sc,Text("Peter Buneman")),
+ Elem("","author",e,sc,Text("Dan Suciu")),
+ Elem("","author",e,sc,Text("John Mitchell"))
+ )
+
+ );
+ assertEquals(
+
+ (new NodeSeq { val theSeq = List( parsedxml2 ) }) \\ "_",
+
+ List(
+ Elem("","bib",e,sc,
+ Elem("","book",e,sc,
+ Elem("","author",e,sc,Text("Peter Buneman")),
+ Elem("","author",e,sc,Text("Dan Suciu")),
+ Elem("","title",e,sc,Text("Data on ze web"))),
+ Elem("","book",e,sc,
+ Elem("","author",e,sc,Text("John Mitchell")),
+ Elem("","title",e,sc,Text("Foundations of Programming Languages")))),
+ Elem("","book",e,sc,
+ Elem("","author",e,sc,Text("Peter Buneman")),
+ Elem("","author",e,sc,Text("Dan Suciu")),
+ Elem("","title",e,sc,Text("Data on ze web"))),
+ Elem("","author",e,sc,Text("Peter Buneman")),
+ Text("Peter Buneman"),
+ Elem("","author",e,sc,Text("Dan Suciu")),
+ Text("Dan Suciu"),
+ Elem("","title",e,sc,Text("Data on ze web")),
+ Text("Data on ze web"),
+ Elem("","book",e,sc,
+ Elem("","author",e,sc,Text("John Mitchell")),
+ Elem("","title",e,sc,Text("Foundations of Programming Languages"))),
+ Elem("","author",e,sc,Text("John Mitchell")),
+ Text("John Mitchell"),
+ Elem("","title",e,sc,Text("Foundations of Programming Languages")),
+ Text("Foundations of Programming Languages")
+ )
+ );
+
+
+ assertSameElements(
+
+ parsedxml2 \\ "title",
+
+ List(
+ Elem("","title",e,sc,Text("Data on ze web")),
+ Elem("","title",e,sc,Text("Foundations of Programming Languages")))
+ );
+}
diff --git a/test/files/xml/lnk.dtd b/test/files/xml/lnk.dtd
deleted file mode 100644
index e0ede56aba..0000000000
--- a/test/files/xml/lnk.dtd
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- $Id$ -->
-
-<!ELEMENT lnkDB ((link|linkgroup)*)>
-
-<!ELEMENT linkgroup (groupname, (link|linkgroup)*)>
-<!ELEMENT link (name, description?)>
-
-<!ATTLIST link
- target CDATA #REQUIRED>
-
-<!ELEMENT groupname (#PCDATA)>
-<!ELEMENT name (#PCDATA)>
-<!ELEMENT description (#PCDATA)>
diff --git a/test/files/xml/xhtml.dtd b/test/files/xml/xhtml.dtd
deleted file mode 100644
index 8f9aebc175..0000000000
--- a/test/files/xml/xhtml.dtd
+++ /dev/null
@@ -1,3087 +0,0 @@
-<!-- XHTML Basic 1.0 ...................................................... -->
-<!-- file: xhtml-basic10.dtd -->
-<!-- $Id$ -->
-
-<!-- XHTML Basic 1.0 DTD
-
- This is XHTML Basic, a proper subset of XHTML.
-
- The Extensible HyperText Markup Language (XHTML)
- Copyright 1998-2000 World Wide Web Consortium
- (Massachusetts Institute of Technology, Institut National de
- Recherche en Informatique et en Automatique, Keio University).
- All Rights Reserved.
-
- Permission to use, copy, modify and distribute the XHTML Basic DTD
- and its accompanying documentation for any purpose and without fee is
- hereby granted in perpetuity, provided that the above copyright notice
- and this paragraph appear in all copies. The copyright holders make
- no representation about the suitability of the DTD for any purpose.
-
- It is provided "as is" without expressed or implied warranty.
-
- Editors: Murray M. Altheim <mailto:altheim@eng.sun.com>
- Peter Stark <mailto:Peter.Stark@ecs.ericsson.se>
- Revision: $Id$ SMI
-
--->
-<!-- This is the driver file for version 1.0 of the XHTML Basic DTD.
-
- This DTD is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC: "-//W3C//DTD XHTML Basic 1.0//EN"
- SYSTEM: "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"
--->
-<!ENTITY % XHTML.version "-//W3C//DTD XHTML Basic 1.0//EN" >
-
-<!-- Use this URI to identify the default namespace:
-
- "http://www.w3.org/1999/xhtml"
-
- See the Qualified Names module for information
- on the use of namespace prefixes in the DTD.
--->
-<!ENTITY % NS.prefixed "IGNORE" >
-<!ENTITY % XHTML.prefix "" >
-
-<!-- Reserved for use with the XLink namespace:
--->
-<!ENTITY % XLINK.xmlns "" >
-<!ENTITY % XLINK.xmlns.attrib "" >
-
-<!-- For example, if you are using XHTML Basic 1.0 directly, use
- the FPI in the DOCTYPE declaration, with the xmlns attribute
- on the document element to identify the default namespace:
-
- <?xml version="1.0"?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
- "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd" >
- <html xmlns="http://www.w3.org/1999/xhtml"
- xml:lang="en" >
- ...
- </html>
--->
-
-<!-- reserved for future use with document profiles -->
-<!ENTITY % XHTML.profile "" >
-
-<!-- Bidirectional Text features
- This feature-test entity is used to declare elements
- and attributes used for bidirectional text support.
--->
-<!ENTITY % XHTML.bidi "IGNORE" >
-
-<?doc type="doctype" role="title" { XHTML Basic 1.0 } ?>
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-
-<!ENTITY % xhtml-events.module "IGNORE" >
-<!ENTITY % xhtml-bdo.module "%XHTML.bidi;" >
-
-<!ENTITY % xhtml-model.mod
- PUBLIC "-//W3C//ENTITIES XHTML Basic 1.0 Document Model 1.0//EN"
- "xhtml-basic10-model-1.mod" >
-
-<!ENTITY % xhtml-framework.mod
- PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN"
- "xhtml-framework-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Modular Framework Module ...................................... -->
-<!-- file: xhtml-framework-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-framework-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Modular Framework
-
- This required module instantiates the modules needed
- to support the XHTML modularization model, including:
-
- + notations
- + datatypes
- + namespace-qualified names
- + common attributes
- + document model
- + character entities
-
- The Intrinsic Events module is ignored by default but
- occurs in this module because it must be instantiated
- prior to Attributes but after Datatypes.
--->
-
-<!ENTITY % xhtml-arch.module "INCLUDE" >
-<![%xhtml-arch.module;[
-<!ENTITY % xhtml-arch.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Base Architecture 1.0//EN"
- "xhtml-arch-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Base Architecture Module ...................................... -->
-<!-- file: xhtml-arch-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Base Architecture 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-arch-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- This optional module includes declarations that enable XHTML to be used
- as a base architecture according to the 'Architectural Forms Definition
- Requirements' (Annex A.3, ISO/IEC 10744, 2nd edition). For more information
- on use of architectural forms, see the HyTime web site at:
-
- http://www.hytime.org/
--->
-
-<?IS10744 ArcBase xhtml ?>
-
-<!NOTATION xhtml PUBLIC "-//W3C//NOTATION AFDR ARCBASE XHTML 1.1//EN" >
-
-<!-- Entity declaration for associated Architectural DTD
--->
-<!ENTITY xhtml-arch.dtd
- PUBLIC "-//W3C//DTD XHTML Architecture 1.1//EN"
- "xhtml11-arch.dtd" >
-
-<?IS10744:arch xhtml
- public-id = "-//W3C//NOTATION AFDR ARCBASE XHTML 1.1//EN"
- dtd-public-id = "-//W3C//DTD XHTML 1.1//EN"
- dtd-system-id = "xhtml11.dtd"
- doc-elem-form = "html"
- form-att = "html"
- renamer-att = "htnames"
- suppressor-att = "htsupp"
- data-ignore-att = "htign"
- auto = "ArcAuto"
- options = "HtModReq HtModOpt"
- HtModReq = "Framework Text Hypertext Lists Structure"
- HtModOpt = "Standard"
-?>
-
-<!-- end of xhtml-arch-1.mod -->
-]]>
-
-<!ENTITY % xhtml-notations.module "INCLUDE" >
-<![%xhtml-notations.module;[
-<!ENTITY % xhtml-notations.mod
- PUBLIC "-//W3C//NOTATIONS XHTML Notations 1.0//EN"
- "xhtml-notations-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Notations Module .............................................. -->
-<!-- file: xhtml-notations-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//NOTATIONS XHTML Notations 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-notations-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Notations
-
- defines the following notations, many of these imported from
- other specifications and standards. When an existing FPI is
- known, it is incorporated here.
--->
-
-<!-- XML Notations ..................................... -->
-<!-- SGML and XML Notations ............................ -->
-
-<!-- W3C XML 1.0 Recommendation -->
-<!NOTATION w3c-xml
- PUBLIC "ISO 8879//NOTATION Extensible Markup Language (XML) 1.0//EN" >
-
-<!-- XML 1.0 CDATA -->
-<!NOTATION cdata
- PUBLIC "-//W3C//NOTATION XML 1.0: CDATA//EN" >
-
-<!-- SGML Formal Public Identifiers -->
-<!NOTATION fpi
- PUBLIC "ISO 8879:1986//NOTATION Formal Public Identifier//EN" >
-
-<!-- XHTML Notations ................................... -->
-
-<!-- Length defined for cellpadding/cellspacing -->
-
-<!-- nn for pixels or nn% for percentage length -->
-<!NOTATION length
- PUBLIC "-//W3C//NOTATION XHTML Datatype: Length//EN" >
-
-<!-- space-separated list of link types -->
-<!NOTATION linkTypes
- PUBLIC "-//W3C//NOTATION XHTML Datatype: LinkTypes//EN" >
-
-<!-- single or comma-separated list of media descriptors -->
-<!NOTATION mediaDesc
- PUBLIC "-//W3C//NOTATION XHTML Datatype: MediaDesc//EN" >
-
-<!-- pixel, percentage, or relative -->
-<!NOTATION multiLength
- PUBLIC "-//W3C//NOTATION XHTML Datatype: MultiLength//EN" >
-
-<!-- one or more digits (NUMBER) -->
-<!NOTATION number
- PUBLIC "-//W3C//NOTATION XHTML Datatype: Number//EN" >
-
-<!-- integer representing length in pixels -->
-<!NOTATION pixels
- PUBLIC "-//W3C//NOTATION XHTML Datatype: Pixels//EN" >
-
-<!-- script expression -->
-<!NOTATION script
- PUBLIC "-//W3C//NOTATION XHTML Datatype: Script//EN" >
-
-<!-- textual content -->
-<!NOTATION text
- PUBLIC "-//W3C//NOTATION XHTML Datatype: Text//EN" >
-
-<!-- Imported Notations ................................ -->
-
-<!-- a single character from [ISO10646] -->
-<!NOTATION character
- PUBLIC "-//W3C//NOTATION XHTML Datatype: Character//EN" >
-
-<!-- a character encoding, as per [RFC2045] -->
-<!NOTATION charset
- PUBLIC "-//W3C//NOTATION XHTML Datatype: Charset//EN" >
-
-<!-- a space separated list of character encodings, as per [RFC2045] -->
-<!NOTATION charsets
- PUBLIC "-//W3C//NOTATION XHTML Datatype: Charsets//EN" >
-
-<!-- media type, as per [RFC2045] -->
-<!NOTATION contentType
- PUBLIC "-//W3C//NOTATION XHTML Datatype: ContentType//EN" >
-
-<!-- comma-separated list of media types, as per [RFC2045] -->
-<!NOTATION contentTypes
- PUBLIC "-//W3C//NOTATION XHTML Datatype: ContentTypes//EN" >
-
-<!-- date and time information. ISO date format -->
-<!NOTATION datetime
- PUBLIC "-//W3C//NOTATION XHTML Datatype: Datetime//EN" >
-
-<!-- a language code, as per [RFC1766] -->
-<!NOTATION languageCode
- PUBLIC "-//W3C//NOTATION XHTML Datatype: LanguageCode//EN" >
-
-<!-- a Uniform Resource Identifier, see [URI] -->
-<!NOTATION uri
- PUBLIC "-//W3C//NOTATION XHTML Datatype: URI//EN" >
-
-<!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
-<!NOTATION uris
- PUBLIC "-//W3C//NOTATION XHTML Datatype: URIs//EN" >
-
-<!-- end of xhtml-notations-1.mod -->
-]]>
-
-<!ENTITY % xhtml-datatypes.module "INCLUDE" >
-<![%xhtml-datatypes.module;[
-<!ENTITY % xhtml-datatypes.mod
- PUBLIC "-//W3C//ENTITIES XHTML Datatypes 1.0//EN"
- "xhtml-datatypes-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Datatypes Module .............................................. -->
-<!-- file: xhtml-datatypes-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ENTITIES XHTML Datatypes 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-datatypes-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Datatypes
-
- defines containers for the following datatypes, many of
- these imported from other specifications and standards.
--->
-
-<!-- Length defined for cellpadding/cellspacing -->
-
-<!-- nn for pixels or nn% for percentage length -->
-<!ENTITY % Length.datatype "CDATA" >
-
-<!-- space-separated list of link types -->
-<!ENTITY % LinkTypes.datatype "NMTOKENS" >
-
-<!-- single or comma-separated list of media descriptors -->
-<!ENTITY % MediaDesc.datatype "CDATA" >
-
-<!-- pixel, percentage, or relative -->
-<!ENTITY % MultiLength.datatype "CDATA" >
-
-<!-- one or more digits (NUMBER) -->
-<!ENTITY % Number.datatype "CDATA" >
-
-<!-- integer representing length in pixels -->
-<!ENTITY % Pixels.datatype "CDATA" >
-
-<!-- script expression -->
-<!ENTITY % Script.datatype "CDATA" >
-
-<!-- textual content -->
-<!ENTITY % Text.datatype "CDATA" >
-
-<!-- Imported Datatypes ................................ -->
-
-<!-- a single character from [ISO10646] -->
-<!ENTITY % Character.datatype "CDATA" >
-
-<!-- a character encoding, as per [RFC2045] -->
-<!ENTITY % Charset.datatype "CDATA" >
-
-<!-- a space separated list of character encodings, as per [RFC2045] -->
-<!ENTITY % Charsets.datatype "CDATA" >
-
-<!-- media type, as per [RFC2045] -->
-<!ENTITY % ContentType.datatype "CDATA" >
-
-<!-- comma-separated list of media types, as per [RFC2045] -->
-<!ENTITY % ContentTypes.datatype "CDATA" >
-
-<!-- date and time information. ISO date format -->
-<!ENTITY % Datetime.datatype "CDATA" >
-
-<!-- formal public identifier, as per [ISO8879] -->
-<!ENTITY % FPI.datatype "CDATA" >
-
-<!-- a language code, as per [RFC1766] -->
-<!ENTITY % LanguageCode.datatype "NMTOKEN" >
-
-<!-- a Uniform Resource Identifier, see [URI] -->
-<!ENTITY % URI.datatype "CDATA" >
-
-<!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
-<!ENTITY % URIs.datatype "CDATA" >
-
-<!-- end of xhtml-datatypes-1.mod -->
-]]>
-
-<!-- placeholder for XLink support module -->
-<!ENTITY % xhtml-xlink.mod "" >
-
-
-<!ENTITY % xhtml-qname.module "INCLUDE" >
-<![%xhtml-qname.module;[
-<!ENTITY % xhtml-qname.mod
- PUBLIC "-//W3C//ENTITIES XHTML Qualified Names 1.0//EN"
- "xhtml-qname-1.mod" >
-<!-- ....................................................................... -->
-<!-- XHTML Qname Module ................................................... -->
-<!-- file: xhtml-qname-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ENTITIES XHTML Qualified Names 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-qname-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- XHTML Qname (Qualified Name) Module
-
- This module is contained in two parts, labeled Section 'A' and 'B':
-
- Section A declares parameter entities to support namespace-
- qualified names, namespace declarations, and name prefixing
- for XHTML and extensions.
-
- Section B declares parameter entities used to provide
- namespace-qualified names for all XHTML element types:
-
- %applet.qname; the xmlns-qualified name for <applet>
- %base.qname; the xmlns-qualified name for <base>
- ...
-
- XHTML extensions would create a module similar to this one.
- Included in the XHTML distribution is a template module
- ('template-qname-1.mod') suitable for this purpose.
--->
-
-<!-- Section A: XHTML XML Namespace Framework :::::::::::::::::::: -->
-
-<!-- 1. Declare a %XHTML.prefixed; conditional section keyword, used
- to activate namespace prefixing. The default value should
- inherit '%NS.prefixed;' from the DTD driver, so that unless
- overridden, the default behaviour follows the overall DTD
- prefixing scheme.
--->
-<!ENTITY % NS.prefixed "IGNORE" >
-<!ENTITY % XHTML.prefixed "%NS.prefixed;" >
-
-<!-- 2. Declare a parameter entity (eg., %XHTML.xmlns;) containing
- the URI reference used to identify the XHTML namespace:
--->
-<!ENTITY % XHTML.xmlns "http://www.w3.org/1999/xhtml" >
-
-<!-- 3. Declare parameter entities (eg., %XHTML.prefix;) containing
- the default namespace prefix string(s) to use when prefixing
- is enabled. This may be overridden in the DTD driver or the
- internal subset of an document instance. If no default prefix
- is desired, this may be declared as an empty string.
-
- NOTE: As specified in [XMLNAMES], the namespace prefix serves
- as a proxy for the URI reference, and is not in itself significant.
--->
-<!ENTITY % XHTML.prefix "" >
-
-<!-- 4. Declare parameter entities (eg., %XHTML.pfx;) containing the
- colonized prefix(es) (eg., '%XHTML.prefix;:') used when
- prefixing is active, an empty string when it is not.
--->
-<![%XHTML.prefixed;[
-<!ENTITY % XHTML.pfx "%XHTML.prefix;:" >
-]]>
-<!ENTITY % XHTML.pfx "" >
-
-<!-- declare qualified name extensions here ............ -->
-<!ENTITY % xhtml-qname-extra.mod "" >
-
-
-<!-- 5. The parameter entity %XHTML.xmlns.extra.attrib; may be
- redeclared to contain any non-XHTML namespace declaration
- attributes for namespaces embedded in XHTML. The default
- is an empty string. XLink should be included here if used
- in the DTD.
--->
-<!ENTITY % XHTML.xmlns.extra.attrib "" >
-
-<!-- The remainder of Section A is only followed in XHTML, not extensions. -->
-
-<!-- Declare a parameter entity %NS.decl.attrib; containing
- all XML Namespace declarations used in the DTD, plus the
- xmlns declaration for XHTML, its form dependent on whether
- prefixing is active.
--->
-<![%XHTML.prefixed;[
-<!ENTITY % NS.decl.attrib
- "xmlns:%XHTML.prefix; %URI.datatype; #FIXED '%XHTML.xmlns;'
- %XHTML.xmlns.extra.attrib;"
->
-]]>
-<!ENTITY % NS.decl.attrib
- "%XHTML.xmlns.extra.attrib;"
->
-
-<!-- This is a placeholder for future XLink support.
--->
-<!ENTITY % XLINK.xmlns.attrib "" >
-
-<!-- Declare a parameter entity %NS.decl.attrib; containing all
- XML namespace declaration attributes used by XHTML, including
- a default xmlns attribute when prefixing is inactive.
--->
-<![%XHTML.prefixed;[
-<!ENTITY % XHTML.xmlns.attrib
- "%NS.decl.attrib;
- %XLINK.xmlns.attrib;"
->
-]]>
-<!ENTITY % XHTML.xmlns.attrib
- "xmlns %URI.datatype; #FIXED '%XHTML.xmlns;'
- %XLINK.xmlns.attrib;"
->
-
-<!-- placeholder for qualified name redeclarations -->
-<!ENTITY % xhtml-qname.redecl "" >
-
-
-<!-- Section B: XHTML Qualified Names ::::::::::::::::::::::::::::: -->
-
-<!-- 6. This section declares parameter entities used to provide
- namespace-qualified names for all XHTML element types.
--->
-
-<!-- module: xhtml-applet-1.mod -->
-<!ENTITY % applet.qname "%XHTML.pfx;applet" >
-
-<!-- module: xhtml-base-1.mod -->
-<!ENTITY % base.qname "%XHTML.pfx;base" >
-
-<!-- module: xhtml-bdo-1.mod -->
-<!ENTITY % bdo.qname "%XHTML.pfx;bdo" >
-
-<!-- module: xhtml-blkphras-1.mod -->
-<!ENTITY % address.qname "%XHTML.pfx;address" >
-<!ENTITY % blockquote.qname "%XHTML.pfx;blockquote" >
-<!ENTITY % pre.qname "%XHTML.pfx;pre" >
-<!ENTITY % h1.qname "%XHTML.pfx;h1" >
-<!ENTITY % h2.qname "%XHTML.pfx;h2" >
-<!ENTITY % h3.qname "%XHTML.pfx;h3" >
-<!ENTITY % h4.qname "%XHTML.pfx;h4" >
-<!ENTITY % h5.qname "%XHTML.pfx;h5" >
-<!ENTITY % h6.qname "%XHTML.pfx;h6" >
-
-<!-- module: xhtml-blkpres-1.mod -->
-<!ENTITY % hr.qname "%XHTML.pfx;hr" >
-
-<!-- module: xhtml-blkstruct-1.mod -->
-<!ENTITY % div.qname "%XHTML.pfx;div" >
-<!ENTITY % p.qname "%XHTML.pfx;p" >
-
-<!-- module: xhtml-edit-1.mod -->
-<!ENTITY % ins.qname "%XHTML.pfx;ins" >
-<!ENTITY % del.qname "%XHTML.pfx;del" >
-
-<!-- module: xhtml-form-1.mod -->
-<!ENTITY % form.qname "%XHTML.pfx;form" >
-<!ENTITY % label.qname "%XHTML.pfx;label" >
-<!ENTITY % input.qname "%XHTML.pfx;input" >
-<!ENTITY % select.qname "%XHTML.pfx;select" >
-<!ENTITY % optgroup.qname "%XHTML.pfx;optgroup" >
-<!ENTITY % option.qname "%XHTML.pfx;option" >
-<!ENTITY % textarea.qname "%XHTML.pfx;textarea" >
-<!ENTITY % fieldset.qname "%XHTML.pfx;fieldset" >
-<!ENTITY % legend.qname "%XHTML.pfx;legend" >
-<!ENTITY % button.qname "%XHTML.pfx;button" >
-
-<!-- module: xhtml-hypertext-1.mod -->
-<!ENTITY % a.qname "%XHTML.pfx;a" >
-
-<!-- module: xhtml-image-1.mod -->
-<!ENTITY % img.qname "%XHTML.pfx;img" >
-
-<!-- module: xhtml-inlphras-1.mod -->
-<!ENTITY % abbr.qname "%XHTML.pfx;abbr" >
-<!ENTITY % acronym.qname "%XHTML.pfx;acronym" >
-<!ENTITY % cite.qname "%XHTML.pfx;cite" >
-<!ENTITY % code.qname "%XHTML.pfx;code" >
-<!ENTITY % dfn.qname "%XHTML.pfx;dfn" >
-<!ENTITY % em.qname "%XHTML.pfx;em" >
-<!ENTITY % kbd.qname "%XHTML.pfx;kbd" >
-<!ENTITY % q.qname "%XHTML.pfx;q" >
-<!ENTITY % samp.qname "%XHTML.pfx;samp" >
-<!ENTITY % strong.qname "%XHTML.pfx;strong" >
-<!ENTITY % var.qname "%XHTML.pfx;var" >
-
-<!-- module: xhtml-inlpres-1.mod -->
-<!ENTITY % b.qname "%XHTML.pfx;b" >
-<!ENTITY % big.qname "%XHTML.pfx;big" >
-<!ENTITY % i.qname "%XHTML.pfx;i" >
-<!ENTITY % small.qname "%XHTML.pfx;small" >
-<!ENTITY % sub.qname "%XHTML.pfx;sub" >
-<!ENTITY % sup.qname "%XHTML.pfx;sup" >
-<!ENTITY % tt.qname "%XHTML.pfx;tt" >
-
-<!-- module: xhtml-inlstruct-1.mod -->
-<!ENTITY % br.qname "%XHTML.pfx;br" >
-<!ENTITY % span.qname "%XHTML.pfx;span" >
-
-<!-- module: xhtml-ismap-1.mod (also csismap, ssismap) -->
-<!ENTITY % map.qname "%XHTML.pfx;map" >
-<!ENTITY % area.qname "%XHTML.pfx;area" >
-
-<!-- module: xhtml-link-1.mod -->
-<!ENTITY % link.qname "%XHTML.pfx;link" >
-
-<!-- module: xhtml-list-1.mod -->
-<!ENTITY % dl.qname "%XHTML.pfx;dl" >
-<!ENTITY % dt.qname "%XHTML.pfx;dt" >
-<!ENTITY % dd.qname "%XHTML.pfx;dd" >
-<!ENTITY % ol.qname "%XHTML.pfx;ol" >
-<!ENTITY % ul.qname "%XHTML.pfx;ul" >
-<!ENTITY % li.qname "%XHTML.pfx;li" >
-
-<!-- module: xhtml-meta-1.mod -->
-<!ENTITY % meta.qname "%XHTML.pfx;meta" >
-
-<!-- module: xhtml-param-1.mod -->
-<!ENTITY % param.qname "%XHTML.pfx;param" >
-
-<!-- module: xhtml-object-1.mod -->
-<!ENTITY % object.qname "%XHTML.pfx;object" >
-
-<!-- module: xhtml-script-1.mod -->
-<!ENTITY % script.qname "%XHTML.pfx;script" >
-<!ENTITY % noscript.qname "%XHTML.pfx;noscript" >
-
-<!-- module: xhtml-struct-1.mod -->
-<!ENTITY % html.qname "%XHTML.pfx;html" >
-<!ENTITY % head.qname "%XHTML.pfx;head" >
-<!ENTITY % title.qname "%XHTML.pfx;title" >
-<!ENTITY % body.qname "%XHTML.pfx;body" >
-
-<!-- module: xhtml-style-1.mod -->
-<!ENTITY % style.qname "%XHTML.pfx;style" >
-
-<!-- module: xhtml-table-1.mod -->
-<!ENTITY % table.qname "%XHTML.pfx;table" >
-<!ENTITY % caption.qname "%XHTML.pfx;caption" >
-<!ENTITY % thead.qname "%XHTML.pfx;thead" >
-<!ENTITY % tfoot.qname "%XHTML.pfx;tfoot" >
-<!ENTITY % tbody.qname "%XHTML.pfx;tbody" >
-<!ENTITY % colgroup.qname "%XHTML.pfx;colgroup" >
-<!ENTITY % col.qname "%XHTML.pfx;col" >
-<!ENTITY % tr.qname "%XHTML.pfx;tr" >
-<!ENTITY % th.qname "%XHTML.pfx;th" >
-<!ENTITY % td.qname "%XHTML.pfx;td" >
-
-
-<!-- Provisional XHTML 2.0 Qualified Names ...................... -->
-
-<!-- module: xhtml-image-2.mod -->
-<!ENTITY % alt.qname "%XHTML.pfx;alt" >
-
-<!-- end of xhtml-qname-1.mod -->
-]]>
-
-<!ENTITY % xhtml-events.module "IGNORE" >
-<![%xhtml-events.module;[
-<!ENTITY % xhtml-events.mod
- PUBLIC "-//W3C//ENTITIES XHTML Intrinsic Events 1.0//EN"
- "xhtml-events-1.mod" >
-%xhtml-events.mod;]]>
-
-<!ENTITY % xhtml-attribs.module "INCLUDE" >
-<![%xhtml-attribs.module;[
-<!ENTITY % xhtml-attribs.mod
- PUBLIC "-//W3C//ENTITIES XHTML Common Attributes 1.0//EN"
- "xhtml-attribs-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Common Attributes Module ...................................... -->
-<!-- file: xhtml-attribs-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ENTITIES XHTML Common Attributes 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-attribs-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Common Attributes
-
- This module declares many of the common attributes for the XHTML DTD.
- %NS.decl.attrib; is declared in the XHTML Qname module.
--->
-
-<!ENTITY % id.attrib
- "id ID #IMPLIED"
->
-
-<!ENTITY % class.attrib
- "class NMTOKENS #IMPLIED"
->
-
-<!ENTITY % title.attrib
- "title %Text.datatype; #IMPLIED"
->
-
-<!ENTITY % Core.extra.attrib "" >
-
-<!ENTITY % Core.attrib
- "%XHTML.xmlns.attrib;
- %id.attrib;
- %class.attrib;
- %title.attrib;
- %Core.extra.attrib;"
->
-
-<!ENTITY % lang.attrib
- "xml:lang %LanguageCode.datatype; #IMPLIED"
->
-
-<![%XHTML.bidi;[
-<!ENTITY % dir.attrib
- "dir ( ltr | rtl ) #IMPLIED"
->
-
-<!ENTITY % I18n.attrib
- "%dir.attrib;
- %lang.attrib;"
->
-
-]]>
-<!ENTITY % I18n.attrib
- "%lang.attrib;"
->
-
-<!ENTITY % Common.extra.attrib "" >
-
-<!-- intrinsic event attributes declared previously
--->
-<!ENTITY % Events.attrib "" >
-
-<!ENTITY % Common.attrib
- "%Core.attrib;
- %I18n.attrib;
- %Events.attrib;
- %Common.extra.attrib;"
->
-
-<!-- end of xhtml-attribs-1.mod -->
-]]>
-
-<!-- placeholder for content model redeclarations -->
-<!ENTITY % xhtml-model.redecl "" >
-
-
-<!ENTITY % xhtml-model.module "INCLUDE" >
-<![%xhtml-model.module;[
-<!-- instantiate the Document Model module declared in the DTD driver
--->
-<!-- ....................................................................... -->
-<!-- XHTML Basic 1.0 Document Model Module .................................... -->
-<!-- file: xhtml-basic10-model-1.mod
-
- This is XHTML Basic, a proper subset of XHTML.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ENTITIES XHTML Basic 1.0 Document Model 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-basic/xhtml-basic10-model-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- XHTML Basic Document Model
-
- This module describes the groupings of elements that make up
- common content models for XHTML elements.
--->
-
-<!-- Optional Elements in head .............. -->
-
-<!ENTITY % HeadOpts.mix
- "( %meta.qname; | %link.qname; | %object.qname; )*" >
-
-<!-- Miscellaneous Elements ................. -->
-
-<!ENTITY % Misc.class "" >
-
-<!-- Inline Elements ........................ -->
-
-<!ENTITY % InlStruct.class "%br.qname; | %span.qname;" >
-
-<!ENTITY % InlPhras.class
- "| %em.qname; | %strong.qname; | %dfn.qname; | %code.qname;
- | %samp.qname; | %kbd.qname; | %var.qname; | %cite.qname;
- | %abbr.qname; | %acronym.qname; | %q.qname;" >
-
-<!ENTITY % InlPres.class "" >
-
-<!ENTITY % I18n.class "" >
-
-<!ENTITY % Anchor.class "| %a.qname;" >
-
-<!ENTITY % InlSpecial.class "| %img.qname; | %object.qname;" >
-
-<!ENTITY % InlForm.class
- "| %input.qname; | %select.qname; | %textarea.qname;
- | %label.qname;"
->
-
-<!ENTITY % Inline.extra "" >
-
-<!ENTITY % Inline.class
- "%InlStruct.class;
- %InlPhras.class;
- %Anchor.class;
- %InlSpecial.class;
- %InlForm.class;
- %Inline.extra;"
->
-
-<!ENTITY % InlNoAnchor.class
- "%InlStruct.class;
- %InlPhras.class;
- %InlSpecial.class;
- %InlForm.class;
- %Inline.extra;"
->
-
-<!ENTITY % InlNoAnchor.mix
- "%InlNoAnchor.class;
- %Misc.class;"
->
-
-<!ENTITY % Inline.mix
- "%Inline.class;
- %Misc.class;"
->
-
-<!-- Block Elements ......................... -->
-
-<!ENTITY % Heading.class
- "%h1.qname; | %h2.qname; | %h3.qname;
- | %h4.qname; | %h5.qname; | %h6.qname;"
->
-<!ENTITY % List.class "%ul.qname; | %ol.qname; | %dl.qname;" >
-
-<!ENTITY % Table.class "| %table.qname;" >
-
-<!ENTITY % Form.class "| %form.qname;" >
-
-<!ENTITY % BlkStruct.class "%p.qname; | %div.qname;" >
-
-<!ENTITY % BlkPhras.class
- "| %pre.qname; | %blockquote.qname; | %address.qname;"
->
-
-<!ENTITY % BlkPres.class "" >
-
-<!ENTITY % BlkSpecial.class
- "%Table.class;
- %Form.class;"
->
-
-<!ENTITY % Block.extra "" >
-
-<!ENTITY % Block.class
- "%BlkStruct.class;
- %BlkPhras.class;
- %BlkSpecial.class;
- %Block.extra;"
->
-
-<!ENTITY % Block.mix
- "%Heading.class;
- | %List.class;
- | %Block.class;
- %Misc.class;"
->
-
-<!-- All Content Elements ................... -->
-
-<!-- declares all content except tables
--->
-<!ENTITY % FlowNoTable.mix
- "%Heading.class;
- | %List.class;
- | %BlkStruct.class;
- %BlkPhras.class;
- %Form.class;
- %Block.extra;
- | %Inline.class;
- %Misc.class;"
->
-
-<!ENTITY % Flow.mix
- "%Heading.class;
- | %List.class;
- | %Block.class;
- | %Inline.class;
- %Misc.class;"
->
-
-<!-- end of xhtml-basic10-model-1.mod -->
-]]>
-
-<!ENTITY % xhtml-charent.module "INCLUDE" >
-<![%xhtml-charent.module;[
-<!ENTITY % xhtml-charent.mod
- PUBLIC "-//W3C//ENTITIES XHTML Character Entities 1.0//EN"
- "xhtml-charent-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Character Entities Module ......................................... -->
-<!-- file: xhtml-charent-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ENTITIES XHTML Character Entities 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-charent-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Character Entities for XHTML
-
- This module declares the set of character entities for XHTML,
- including the Latin 1, Symbol and Special character collections.
--->
-
-<!ENTITY % xhtml-lat1
- PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
- "xhtml-lat1.ent" >
-<!ENTITY % xhtml-symbol
- PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
- "xhtml-symbol.ent" >
-<!ENTITY % xhtml-special
- PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
- "xhtml-special.ent" >
-
-<!-- Portions (C) International Organization for Standardization 1986
- Permission to copy in any form is granted for use with
- conforming SGML systems and applications as defined in
- ISO 8879, provided this notice is included in all copies.
--->
-<!-- Character entity set. Typical invocation:
- <!ENTITY % HTMLlat1 PUBLIC
- "-//W3C//ENTITIES Latin 1 for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
- %HTMLlat1;
--->
-
-<!ENTITY nbsp "&#160;"> <!-- no-break space = non-breaking space,
- U+00A0 ISOnum -->
-<!ENTITY iexcl "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
-<!ENTITY cent "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
-<!ENTITY pound "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
-<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
-<!ENTITY yen "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
-<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
- U+00A6 ISOnum -->
-<!ENTITY sect "&#167;"> <!-- section sign, U+00A7 ISOnum -->
-<!ENTITY uml "&#168;"> <!-- diaeresis = spacing diaeresis,
- U+00A8 ISOdia -->
-<!ENTITY copy "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
-<!ENTITY ordf "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
-<!ENTITY laquo "&#171;"> <!-- left-pointing double angle quotation mark
- = left pointing guillemet, U+00AB ISOnum -->
-<!ENTITY not "&#172;"> <!-- not sign = discretionary hyphen,
- U+00AC ISOnum -->
-<!ENTITY shy "&#173;"> <!-- soft hyphen = discretionary hyphen,
- U+00AD ISOnum -->
-<!ENTITY reg "&#174;"> <!-- registered sign = registered trade mark sign,
- U+00AE ISOnum -->
-<!ENTITY macr "&#175;"> <!-- macron = spacing macron = overline
- = APL overbar, U+00AF ISOdia -->
-<!ENTITY deg "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
-<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
- U+00B1 ISOnum -->
-<!ENTITY sup2 "&#178;"> <!-- superscript two = superscript digit two
- = squared, U+00B2 ISOnum -->
-<!ENTITY sup3 "&#179;"> <!-- superscript three = superscript digit three
- = cubed, U+00B3 ISOnum -->
-<!ENTITY acute "&#180;"> <!-- acute accent = spacing acute,
- U+00B4 ISOdia -->
-<!ENTITY micro "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
-<!ENTITY para "&#182;"> <!-- pilcrow sign = paragraph sign,
- U+00B6 ISOnum -->
-<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
- = Greek middle dot, U+00B7 ISOnum -->
-<!ENTITY cedil "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
-<!ENTITY sup1 "&#185;"> <!-- superscript one = superscript digit one,
- U+00B9 ISOnum -->
-<!ENTITY ordm "&#186;"> <!-- masculine ordinal indicator,
- U+00BA ISOnum -->
-<!ENTITY raquo "&#187;"> <!-- right-pointing double angle quotation mark
- = right pointing guillemet, U+00BB ISOnum -->
-<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
- = fraction one quarter, U+00BC ISOnum -->
-<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
- = fraction one half, U+00BD ISOnum -->
-<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
- = fraction three quarters, U+00BE ISOnum -->
-<!ENTITY iquest "&#191;"> <!-- inverted question mark
- = turned question mark, U+00BF ISOnum -->
-<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
- = latin capital letter A grave,
- U+00C0 ISOlat1 -->
-<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
- U+00C1 ISOlat1 -->
-<!ENTITY Acirc "&#194;"> <!-- latin capital letter A with circumflex,
- U+00C2 ISOlat1 -->
-<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
- U+00C3 ISOlat1 -->
-<!ENTITY Auml "&#196;"> <!-- latin capital letter A with diaeresis,
- U+00C4 ISOlat1 -->
-<!ENTITY Aring "&#197;"> <!-- latin capital letter A with ring above
- = latin capital letter A ring,
- U+00C5 ISOlat1 -->
-<!ENTITY AElig "&#198;"> <!-- latin capital letter AE
- = latin capital ligature AE,
- U+00C6 ISOlat1 -->
-<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
- U+00C7 ISOlat1 -->
-<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
- U+00C8 ISOlat1 -->
-<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
- U+00C9 ISOlat1 -->
-<!ENTITY Ecirc "&#202;"> <!-- latin capital letter E with circumflex,
- U+00CA ISOlat1 -->
-<!ENTITY Euml "&#203;"> <!-- latin capital letter E with diaeresis,
- U+00CB ISOlat1 -->
-<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
- U+00CC ISOlat1 -->
-<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
- U+00CD ISOlat1 -->
-<!ENTITY Icirc "&#206;"> <!-- latin capital letter I with circumflex,
- U+00CE ISOlat1 -->
-<!ENTITY Iuml "&#207;"> <!-- latin capital letter I with diaeresis,
- U+00CF ISOlat1 -->
-<!ENTITY ETH "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
-<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
- U+00D1 ISOlat1 -->
-<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
- U+00D2 ISOlat1 -->
-<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
- U+00D3 ISOlat1 -->
-<!ENTITY Ocirc "&#212;"> <!-- latin capital letter O with circumflex,
- U+00D4 ISOlat1 -->
-<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
- U+00D5 ISOlat1 -->
-<!ENTITY Ouml "&#214;"> <!-- latin capital letter O with diaeresis,
- U+00D6 ISOlat1 -->
-<!ENTITY times "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
-<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
- = latin capital letter O slash,
- U+00D8 ISOlat1 -->
-<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
- U+00D9 ISOlat1 -->
-<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
- U+00DA ISOlat1 -->
-<!ENTITY Ucirc "&#219;"> <!-- latin capital letter U with circumflex,
- U+00DB ISOlat1 -->
-<!ENTITY Uuml "&#220;"> <!-- latin capital letter U with diaeresis,
- U+00DC ISOlat1 -->
-<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
- U+00DD ISOlat1 -->
-<!ENTITY THORN "&#222;"> <!-- latin capital letter THORN,
- U+00DE ISOlat1 -->
-<!ENTITY szlig "&#223;"> <!-- latin small letter sharp s = ess-zed,
- U+00DF ISOlat1 -->
-<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
- = latin small letter a grave,
- U+00E0 ISOlat1 -->
-<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
- U+00E1 ISOlat1 -->
-<!ENTITY acirc "&#226;"> <!-- latin small letter a with circumflex,
- U+00E2 ISOlat1 -->
-<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
- U+00E3 ISOlat1 -->
-<!ENTITY auml "&#228;"> <!-- latin small letter a with diaeresis,
- U+00E4 ISOlat1 -->
-<!ENTITY aring "&#229;"> <!-- latin small letter a with ring above
- = latin small letter a ring,
- U+00E5 ISOlat1 -->
-<!ENTITY aelig "&#230;"> <!-- latin small letter ae
- = latin small ligature ae, U+00E6 ISOlat1 -->
-<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
- U+00E7 ISOlat1 -->
-<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
- U+00E8 ISOlat1 -->
-<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
- U+00E9 ISOlat1 -->
-<!ENTITY ecirc "&#234;"> <!-- latin small letter e with circumflex,
- U+00EA ISOlat1 -->
-<!ENTITY euml "&#235;"> <!-- latin small letter e with diaeresis,
- U+00EB ISOlat1 -->
-<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
- U+00EC ISOlat1 -->
-<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
- U+00ED ISOlat1 -->
-<!ENTITY icirc "&#238;"> <!-- latin small letter i with circumflex,
- U+00EE ISOlat1 -->
-<!ENTITY iuml "&#239;"> <!-- latin small letter i with diaeresis,
- U+00EF ISOlat1 -->
-<!ENTITY eth "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
-<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
- U+00F1 ISOlat1 -->
-<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
- U+00F2 ISOlat1 -->
-<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
- U+00F3 ISOlat1 -->
-<!ENTITY ocirc "&#244;"> <!-- latin small letter o with circumflex,
- U+00F4 ISOlat1 -->
-<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
- U+00F5 ISOlat1 -->
-<!ENTITY ouml "&#246;"> <!-- latin small letter o with diaeresis,
- U+00F6 ISOlat1 -->
-<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
-<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
- = latin small letter o slash,
- U+00F8 ISOlat1 -->
-<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
- U+00F9 ISOlat1 -->
-<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
- U+00FA ISOlat1 -->
-<!ENTITY ucirc "&#251;"> <!-- latin small letter u with circumflex,
- U+00FB ISOlat1 -->
-<!ENTITY uuml "&#252;"> <!-- latin small letter u with diaeresis,
- U+00FC ISOlat1 -->
-<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
- U+00FD ISOlat1 -->
-<!ENTITY thorn "&#254;"> <!-- latin small letter thorn with,
- U+00FE ISOlat1 -->
-<!ENTITY yuml "&#255;"> <!-- latin small letter y with diaeresis,
- U+00FF ISOlat1 -->
-
-<!-- Mathematical, Greek and Symbolic characters for HTML -->
-
-<!-- Character entity set. Typical invocation:
- <!ENTITY % HTMLsymbol PUBLIC
- "-//W3C//ENTITIES Symbols for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
- %HTMLsymbol;
--->
-
-<!-- Portions (C) International Organization for Standardization 1986:
- Permission to copy in any form is granted for use with
- conforming SGML systems and applications as defined in
- ISO 8879, provided this notice is included in all copies.
--->
-
-<!-- Relevant ISO entity set is given unless names are newly introduced.
- New names (i.e., not in ISO 8879 list) do not clash with any
- existing ISO 8879 entity names. ISO 10646 character numbers
- are given for each character, in hex. values are decimal
- conversions of the ISO 10646 values and refer to the document
- character set. Names are Unicode names.
--->
-
-<!-- Latin Extended-B -->
-<!ENTITY fnof "&#402;"> <!-- latin small f with hook = function
- = florin, U+0192 ISOtech -->
-
-<!-- Greek -->
-<!ENTITY Alpha "&#913;"> <!-- greek capital letter alpha, U+0391 -->
-<!ENTITY Beta "&#914;"> <!-- greek capital letter beta, U+0392 -->
-<!ENTITY Gamma "&#915;"> <!-- greek capital letter gamma,
- U+0393 ISOgrk3 -->
-<!ENTITY Delta "&#916;"> <!-- greek capital letter delta,
- U+0394 ISOgrk3 -->
-<!ENTITY Epsilon "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
-<!ENTITY Zeta "&#918;"> <!-- greek capital letter zeta, U+0396 -->
-<!ENTITY Eta "&#919;"> <!-- greek capital letter eta, U+0397 -->
-<!ENTITY Theta "&#920;"> <!-- greek capital letter theta,
- U+0398 ISOgrk3 -->
-<!ENTITY Iota "&#921;"> <!-- greek capital letter iota, U+0399 -->
-<!ENTITY Kappa "&#922;"> <!-- greek capital letter kappa, U+039A -->
-<!ENTITY Lambda "&#923;"> <!-- greek capital letter lambda,
- U+039B ISOgrk3 -->
-<!ENTITY Mu "&#924;"> <!-- greek capital letter mu, U+039C -->
-<!ENTITY Nu "&#925;"> <!-- greek capital letter nu, U+039D -->
-<!ENTITY Xi "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
-<!ENTITY Omicron "&#927;"> <!-- greek capital letter omicron, U+039F -->
-<!ENTITY Pi "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
-<!ENTITY Rho "&#929;"> <!-- greek capital letter rho, U+03A1 -->
-<!-- there is no Sigmaf, and no U+03A2 character either -->
-<!ENTITY Sigma "&#931;"> <!-- greek capital letter sigma,
- U+03A3 ISOgrk3 -->
-<!ENTITY Tau "&#932;"> <!-- greek capital letter tau, U+03A4 -->
-<!ENTITY Upsilon "&#933;"> <!-- greek capital letter upsilon,
- U+03A5 ISOgrk3 -->
-<!ENTITY Phi "&#934;"> <!-- greek capital letter phi,
- U+03A6 ISOgrk3 -->
-<!ENTITY Chi "&#935;"> <!-- greek capital letter chi, U+03A7 -->
-<!ENTITY Psi "&#936;"> <!-- greek capital letter psi,
- U+03A8 ISOgrk3 -->
-<!ENTITY Omega "&#937;"> <!-- greek capital letter omega,
- U+03A9 ISOgrk3 -->
-
-<!ENTITY alpha "&#945;"> <!-- greek small letter alpha,
- U+03B1 ISOgrk3 -->
-<!ENTITY beta "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
-<!ENTITY gamma "&#947;"> <!-- greek small letter gamma,
- U+03B3 ISOgrk3 -->
-<!ENTITY delta "&#948;"> <!-- greek small letter delta,
- U+03B4 ISOgrk3 -->
-<!ENTITY epsilon "&#949;"> <!-- greek small letter epsilon,
- U+03B5 ISOgrk3 -->
-<!ENTITY zeta "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
-<!ENTITY eta "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
-<!ENTITY theta "&#952;"> <!-- greek small letter theta,
- U+03B8 ISOgrk3 -->
-<!ENTITY iota "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
-<!ENTITY kappa "&#954;"> <!-- greek small letter kappa,
- U+03BA ISOgrk3 -->
-<!ENTITY lambda "&#955;"> <!-- greek small letter lambda,
- U+03BB ISOgrk3 -->
-<!ENTITY mu "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
-<!ENTITY nu "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
-<!ENTITY xi "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
-<!ENTITY omicron "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
-<!ENTITY pi "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
-<!ENTITY rho "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
-<!ENTITY sigmaf "&#962;"> <!-- greek small letter final sigma,
- U+03C2 ISOgrk3 -->
-<!ENTITY sigma "&#963;"> <!-- greek small letter sigma,
- U+03C3 ISOgrk3 -->
-<!ENTITY tau "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
-<!ENTITY upsilon "&#965;"> <!-- greek small letter upsilon,
- U+03C5 ISOgrk3 -->
-<!ENTITY phi "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
-<!ENTITY chi "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
-<!ENTITY psi "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
-<!ENTITY omega "&#969;"> <!-- greek small letter omega,
- U+03C9 ISOgrk3 -->
-<!ENTITY thetasym "&#977;"> <!-- greek small letter theta symbol,
- U+03D1 NEW -->
-<!ENTITY upsih "&#978;"> <!-- greek upsilon with hook symbol,
- U+03D2 NEW -->
-<!ENTITY piv "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
-
-<!-- General Punctuation -->
-<!ENTITY bull "&#8226;"> <!-- bullet = black small circle,
- U+2022 ISOpub -->
-<!-- bullet is NOT the same as bullet operator, U+2219 -->
-<!ENTITY hellip "&#8230;"> <!-- horizontal ellipsis = three dot leader,
- U+2026 ISOpub -->
-<!ENTITY prime "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
-<!ENTITY Prime "&#8243;"> <!-- double prime = seconds = inches,
- U+2033 ISOtech -->
-<!ENTITY oline "&#8254;"> <!-- overline = spacing overscore,
- U+203E NEW -->
-<!ENTITY frasl "&#8260;"> <!-- fraction slash, U+2044 NEW -->
-
-<!-- Letterlike Symbols -->
-<!ENTITY weierp "&#8472;"> <!-- script capital P = power set
- = Weierstrass p, U+2118 ISOamso -->
-<!ENTITY image "&#8465;"> <!-- blackletter capital I = imaginary part,
- U+2111 ISOamso -->
-<!ENTITY real "&#8476;"> <!-- blackletter capital R = real part symbol,
- U+211C ISOamso -->
-<!ENTITY trade "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
-<!ENTITY alefsym "&#8501;"> <!-- alef symbol = first transfinite cardinal,
- U+2135 NEW -->
-<!-- alef symbol is NOT the same as hebrew letter alef,
- U+05D0 although the same glyph could be used to depict both characters -->
-
-<!-- Arrows -->
-<!ENTITY larr "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
-<!ENTITY uarr "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
-<!ENTITY rarr "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
-<!ENTITY darr "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
-<!ENTITY harr "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
-<!ENTITY crarr "&#8629;"> <!-- downwards arrow with corner leftwards
- = carriage return, U+21B5 NEW -->
-<!ENTITY lArr "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
-<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
- but also does not have any other character for that function. So ? lArr can
- be used for 'is implied by' as ISOtech suggests -->
-<!ENTITY uArr "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
-<!ENTITY rArr "&#8658;"> <!-- rightwards double arrow,
- U+21D2 ISOtech -->
-<!-- Unicode does not say this is the 'implies' character but does not have
- another character with this function so ?
- rArr can be used for 'implies' as ISOtech suggests -->
-<!ENTITY dArr "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
-<!ENTITY hArr "&#8660;"> <!-- left right double arrow,
- U+21D4 ISOamsa -->
-
-<!-- Mathematical Operators -->
-<!ENTITY forall "&#8704;"> <!-- for all, U+2200 ISOtech -->
-<!ENTITY part "&#8706;"> <!-- partial differential, U+2202 ISOtech -->
-<!ENTITY exist "&#8707;"> <!-- there exists, U+2203 ISOtech -->
-<!ENTITY empty "&#8709;"> <!-- empty set = null set = diameter,
- U+2205 ISOamso -->
-<!ENTITY nabla "&#8711;"> <!-- nabla = backward difference,
- U+2207 ISOtech -->
-<!ENTITY isin "&#8712;"> <!-- element of, U+2208 ISOtech -->
-<!ENTITY notin "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
-<!ENTITY ni "&#8715;"> <!-- contains as member, U+220B ISOtech -->
-<!-- should there be a more memorable name than 'ni'? -->
-<!ENTITY prod "&#8719;"> <!-- n-ary product = product sign,
- U+220F ISOamsb -->
-<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
- the same glyph might be used for both -->
-<!ENTITY sum "&#8721;"> <!-- n-ary sumation, U+2211 ISOamsb -->
-<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
- though the same glyph might be used for both -->
-<!ENTITY minus "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
-<!ENTITY lowast "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
-<!ENTITY radic "&#8730;"> <!-- square root = radical sign,
- U+221A ISOtech -->
-<!ENTITY prop "&#8733;"> <!-- proportional to, U+221D ISOtech -->
-<!ENTITY infin "&#8734;"> <!-- infinity, U+221E ISOtech -->
-<!ENTITY ang "&#8736;"> <!-- angle, U+2220 ISOamso -->
-<!ENTITY and "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
-<!ENTITY or "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
-<!ENTITY cap "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
-<!ENTITY cup "&#8746;"> <!-- union = cup, U+222A ISOtech -->
-<!ENTITY int "&#8747;"> <!-- integral, U+222B ISOtech -->
-<!ENTITY there4 "&#8756;"> <!-- therefore, U+2234 ISOtech -->
-<!ENTITY sim "&#8764;"> <!-- tilde operator = varies with = similar to,
- U+223C ISOtech -->
-<!-- tilde operator is NOT the same character as the tilde, U+007E,
- although the same glyph might be used to represent both -->
-<!ENTITY cong "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
-<!ENTITY asymp "&#8776;"> <!-- almost equal to = asymptotic to,
- U+2248 ISOamsr -->
-<!ENTITY ne "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
-<!ENTITY equiv "&#8801;"> <!-- identical to, U+2261 ISOtech -->
-<!ENTITY le "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
-<!ENTITY ge "&#8805;"> <!-- greater-than or equal to,
- U+2265 ISOtech -->
-<!ENTITY sub "&#8834;"> <!-- subset of, U+2282 ISOtech -->
-<!ENTITY sup "&#8835;"> <!-- superset of, U+2283 ISOtech -->
-<!-- note that nsup, 'not a superset of, U+2283' is not covered by the Symbol
- font encoding and is not included. Should it be, for symmetry?
- It is in ISOamsn -->
-<!ENTITY nsub "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
-<!ENTITY sube "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
-<!ENTITY supe "&#8839;"> <!-- superset of or equal to,
- U+2287 ISOtech -->
-<!ENTITY oplus "&#8853;"> <!-- circled plus = direct sum,
- U+2295 ISOamsb -->
-<!ENTITY otimes "&#8855;"> <!-- circled times = vector product,
- U+2297 ISOamsb -->
-<!ENTITY perp "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
- U+22A5 ISOtech -->
-<!ENTITY sdot "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
-<!-- dot operator is NOT the same character as U+00B7 middle dot -->
-
-<!-- Miscellaneous Technical -->
-<!ENTITY lceil "&#8968;"> <!-- left ceiling = apl upstile,
- U+2308 ISOamsc -->
-<!ENTITY rceil "&#8969;"> <!-- right ceiling, U+2309 ISOamsc -->
-<!ENTITY lfloor "&#8970;"> <!-- left floor = apl downstile,
- U+230A ISOamsc -->
-<!ENTITY rfloor "&#8971;"> <!-- right floor, U+230B ISOamsc -->
-<!ENTITY lang "&#9001;"> <!-- left-pointing angle bracket = bra,
- U+2329 ISOtech -->
-<!-- lang is NOT the same character as U+003C 'less than'
- or U+2039 'single left-pointing angle quotation mark' -->
-<!ENTITY rang "&#9002;"> <!-- right-pointing angle bracket = ket,
- U+232A ISOtech -->
-<!-- rang is NOT the same character as U+003E 'greater than'
- or U+203A 'single right-pointing angle quotation mark' -->
-
-<!-- Geometric Shapes -->
-<!ENTITY loz "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
-
-<!-- Miscellaneous Symbols -->
-<!ENTITY spades "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
-<!-- black here seems to mean filled as opposed to hollow -->
-<!ENTITY clubs "&#9827;"> <!-- black club suit = shamrock,
- U+2663 ISOpub -->
-<!ENTITY hearts "&#9829;"> <!-- black heart suit = valentine,
- U+2665 ISOpub -->
-<!ENTITY diams "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->
-
-<!-- Special characters for HTML -->
-
-<!-- Character entity set. Typical invocation:
- <!ENTITY % HTMLspecial PUBLIC
- "-//W3C//ENTITIES Special for XHTML//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
- %HTMLspecial;
--->
-
-<!-- Portions (C) International Organization for Standardization 1986:
- Permission to copy in any form is granted for use with
- conforming SGML systems and applications as defined in
- ISO 8879, provided this notice is included in all copies.
--->
-
-<!-- Relevant ISO entity set is given unless names are newly introduced.
- New names (i.e., not in ISO 8879 list) do not clash with any
- existing ISO 8879 entity names. ISO 10646 character numbers
- are given for each character, in hex. values are decimal
- conversions of the ISO 10646 values and refer to the document
- character set. Names are Unicode names.
--->
-
-<!-- C0 Controls and Basic Latin -->
-<!ENTITY quot "&#34;"> <!-- quotation mark = APL quote,
- U+0022 ISOnum -->
-<!ENTITY amp "&#38;#38;"> <!-- ampersand, U+0026 ISOnum -->
-<!ENTITY lt "&#38;#60;"> <!-- less-than sign, U+003C ISOnum -->
-<!ENTITY gt "&#62;"> <!-- greater-than sign, U+003E ISOnum -->
-<!ENTITY apos "&#39;"> <!-- apostrophe mark, U+0027 ISOnum -->
-
-<!-- Latin Extended-A -->
-<!ENTITY OElig "&#338;"> <!-- latin capital ligature OE,
- U+0152 ISOlat2 -->
-<!ENTITY oelig "&#339;"> <!-- latin small ligature oe, U+0153 ISOlat2 -->
-<!-- ligature is a misnomer, this is a separate character in some languages -->
-<!ENTITY Scaron "&#352;"> <!-- latin capital letter S with caron,
- U+0160 ISOlat2 -->
-<!ENTITY scaron "&#353;"> <!-- latin small letter s with caron,
- U+0161 ISOlat2 -->
-<!ENTITY Yuml "&#376;"> <!-- latin capital letter Y with diaeresis,
- U+0178 ISOlat2 -->
-
-<!-- Spacing Modifier Letters -->
-<!ENTITY circ "&#710;"> <!-- modifier letter circumflex accent,
- U+02C6 ISOpub -->
-<!ENTITY tilde "&#732;"> <!-- small tilde, U+02DC ISOdia -->
-
-<!-- General Punctuation -->
-<!ENTITY ensp "&#8194;"> <!-- en space, U+2002 ISOpub -->
-<!ENTITY emsp "&#8195;"> <!-- em space, U+2003 ISOpub -->
-<!ENTITY thinsp "&#8201;"> <!-- thin space, U+2009 ISOpub -->
-<!ENTITY zwnj "&#8204;"> <!-- zero width non-joiner,
- U+200C NEW RFC 2070 -->
-<!ENTITY zwj "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
-<!ENTITY lrm "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
-<!ENTITY rlm "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
-<!ENTITY ndash "&#8211;"> <!-- en dash, U+2013 ISOpub -->
-<!ENTITY mdash "&#8212;"> <!-- em dash, U+2014 ISOpub -->
-<!ENTITY lsquo "&#8216;"> <!-- left single quotation mark,
- U+2018 ISOnum -->
-<!ENTITY rsquo "&#8217;"> <!-- right single quotation mark,
- U+2019 ISOnum -->
-<!ENTITY sbquo "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
-<!ENTITY ldquo "&#8220;"> <!-- left double quotation mark,
- U+201C ISOnum -->
-<!ENTITY rdquo "&#8221;"> <!-- right double quotation mark,
- U+201D ISOnum -->
-<!ENTITY bdquo "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
-<!ENTITY dagger "&#8224;"> <!-- dagger, U+2020 ISOpub -->
-<!ENTITY Dagger "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
-<!ENTITY permil "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
-<!ENTITY lsaquo "&#8249;"> <!-- single left-pointing angle quotation mark,
- U+2039 ISO proposed -->
-<!-- lsaquo is proposed but not yet ISO standardized -->
-<!ENTITY rsaquo "&#8250;"> <!-- single right-pointing angle quotation mark,
- U+203A ISO proposed -->
-<!-- rsaquo is proposed but not yet ISO standardized -->
-<!ENTITY euro "&#8364;"> <!-- euro sign, U+20AC NEW -->
-
-
-<!-- end of xhtml-charent-1.mod -->
-]]>
-
-<!-- end of xhtml-framework-1.mod -->
-
-
-<!ENTITY % pre.content
- "( #PCDATA
- | %InlStruct.class;
- %InlPhras.class;
- %Anchor.class;
- %Inline.extra; )*"
->
-
-<!ENTITY % xhtml-text.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN"
- "xhtml-text-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Text Module ................................................... -->
-<!-- file: xhtml-text-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-text-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Textual Content
-
- The Text module includes declarations for all core
- text container elements and their attributes.
--->
-
-<!ENTITY % xhtml-inlstruct.module "INCLUDE" >
-<![%xhtml-inlstruct.module;[
-<!ENTITY % xhtml-inlstruct.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Inline Structural 1.0//EN"
- "xhtml-inlstruct-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Inline Structural Module ...................................... -->
-<!-- file: xhtml-inlstruct-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Inline Structural 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-inlstruct-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Inline Structural
-
- br, span
-
- This module declares the elements and their attributes
- used to support inline-level structural markup.
--->
-
-<!-- br: forced line break ............................. -->
-
-<!ENTITY % br.element "INCLUDE" >
-<![%br.element;[
-
-<!ENTITY % br.content "EMPTY" >
-<!ENTITY % br.qname "br" >
-<!ELEMENT %br.qname; %br.content; >
-
-<!-- end of br.element -->]]>
-
-<!ENTITY % br.attlist "INCLUDE" >
-<![%br.attlist;[
-<!ATTLIST %br.qname;
- %Core.attrib;
->
-<!-- end of br.attlist -->]]>
-
-<!-- span: generic inline container .................... -->
-
-<!ENTITY % span.element "INCLUDE" >
-<![%span.element;[
-<!ENTITY % span.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ENTITY % span.qname "span" >
-<!ELEMENT %span.qname; %span.content; >
-<!-- end of span.element -->]]>
-
-<!ENTITY % span.attlist "INCLUDE" >
-<![%span.attlist;[
-<!ATTLIST %span.qname;
- %Common.attrib;
->
-<!-- end of span.attlist -->]]>
-
-<!-- end of xhtml-inlstruct-1.mod -->
-]]>
-
-<!ENTITY % xhtml-inlphras.module "INCLUDE" >
-<![%xhtml-inlphras.module;[
-<!ENTITY % xhtml-inlphras.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Inline Phrasal 1.0//EN"
- "xhtml-inlphras-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Inline Phrasal Module ......................................... -->
-<!-- file: xhtml-inlphras-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Inline Phrasal 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-inlphras-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Inline Phrasal
-
- abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var
-
- This module declares the elements and their attributes used to
- support inline-level phrasal markup.
--->
-
-<!ENTITY % abbr.element "INCLUDE" >
-<![%abbr.element;[
-<!ENTITY % abbr.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ENTITY % abbr.qname "abbr" >
-<!ELEMENT %abbr.qname; %abbr.content; >
-<!-- end of abbr.element -->]]>
-
-<!ENTITY % abbr.attlist "INCLUDE" >
-<![%abbr.attlist;[
-<!ATTLIST %abbr.qname;
- %Common.attrib;
->
-<!-- end of abbr.attlist -->]]>
-
-<!ENTITY % acronym.element "INCLUDE" >
-<![%acronym.element;[
-<!ENTITY % acronym.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ENTITY % acronym.qname "acronym" >
-<!ELEMENT %acronym.qname; %acronym.content; >
-<!-- end of acronym.element -->]]>
-
-<!ENTITY % acronym.attlist "INCLUDE" >
-<![%acronym.attlist;[
-<!ATTLIST %acronym.qname;
- %Common.attrib;
->
-<!-- end of acronym.attlist -->]]>
-
-<!ENTITY % cite.element "INCLUDE" >
-<![%cite.element;[
-<!ENTITY % cite.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ENTITY % cite.qname "cite" >
-<!ELEMENT %cite.qname; %cite.content; >
-<!-- end of cite.element -->]]>
-
-<!ENTITY % cite.attlist "INCLUDE" >
-<![%cite.attlist;[
-<!ATTLIST %cite.qname;
- %Common.attrib;
->
-<!-- end of cite.attlist -->]]>
-
-<!ENTITY % code.element "INCLUDE" >
-<![%code.element;[
-<!ENTITY % code.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ENTITY % code.qname "code" >
-<!ELEMENT %code.qname; %code.content; >
-<!-- end of code.element -->]]>
-
-<!ENTITY % code.attlist "INCLUDE" >
-<![%code.attlist;[
-<!ATTLIST %code.qname;
- %Common.attrib;
->
-<!-- end of code.attlist -->]]>
-
-<!ENTITY % dfn.element "INCLUDE" >
-<![%dfn.element;[
-<!ENTITY % dfn.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ENTITY % dfn.qname "dfn" >
-<!ELEMENT %dfn.qname; %dfn.content; >
-<!-- end of dfn.element -->]]>
-
-<!ENTITY % dfn.attlist "INCLUDE" >
-<![%dfn.attlist;[
-<!ATTLIST %dfn.qname;
- %Common.attrib;
->
-<!-- end of dfn.attlist -->]]>
-
-<!ENTITY % em.element "INCLUDE" >
-<![%em.element;[
-<!ENTITY % em.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ENTITY % em.qname "em" >
-<!ELEMENT %em.qname; %em.content; >
-<!-- end of em.element -->]]>
-
-<!ENTITY % em.attlist "INCLUDE" >
-<![%em.attlist;[
-<!ATTLIST %em.qname;
- %Common.attrib;
->
-<!-- end of em.attlist -->]]>
-
-<!ENTITY % kbd.element "INCLUDE" >
-<![%kbd.element;[
-<!ENTITY % kbd.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ENTITY % kbd.qname "kbd" >
-<!ELEMENT %kbd.qname; %kbd.content; >
-<!-- end of kbd.element -->]]>
-
-<!ENTITY % kbd.attlist "INCLUDE" >
-<![%kbd.attlist;[
-<!ATTLIST %kbd.qname;
- %Common.attrib;
->
-<!-- end of kbd.attlist -->]]>
-
-<!ENTITY % q.element "INCLUDE" >
-<![%q.element;[
-<!ENTITY % q.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ENTITY % q.qname "q" >
-<!ELEMENT %q.qname; %q.content; >
-<!-- end of q.element -->]]>
-
-<!ENTITY % q.attlist "INCLUDE" >
-<![%q.attlist;[
-<!ATTLIST %q.qname;
- %Common.attrib;
- cite %URI.datatype; #IMPLIED
->
-<!-- end of q.attlist -->]]>
-
-<!ENTITY % samp.element "INCLUDE" >
-<![%samp.element;[
-<!ENTITY % samp.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ENTITY % samp.qname "samp" >
-<!ELEMENT %samp.qname; %samp.content; >
-<!-- end of samp.element -->]]>
-
-<!ENTITY % samp.attlist "INCLUDE" >
-<![%samp.attlist;[
-<!ATTLIST %samp.qname;
- %Common.attrib;
->
-<!-- end of samp.attlist -->]]>
-
-<!ENTITY % strong.element "INCLUDE" >
-<![%strong.element;[
-<!ENTITY % strong.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ENTITY % strong.qname "strong" >
-<!ELEMENT %strong.qname; %strong.content; >
-<!-- end of strong.element -->]]>
-
-<!ENTITY % strong.attlist "INCLUDE" >
-<![%strong.attlist;[
-<!ATTLIST %strong.qname;
- %Common.attrib;
->
-<!-- end of strong.attlist -->]]>
-
-<!ENTITY % var.element "INCLUDE" >
-<![%var.element;[
-<!ENTITY % var.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ENTITY % var.qname "var" >
-<!ELEMENT %var.qname; %var.content; >
-<!-- end of var.element -->]]>
-
-<!ENTITY % var.attlist "INCLUDE" >
-<![%var.attlist;[
-<!ATTLIST %var.qname;
- %Common.attrib;
->
-<!-- end of var.attlist -->]]>
-
-<!-- end of xhtml-inlphras-1.mod -->
-]]>
-
-<!ENTITY % xhtml-blkstruct.module "INCLUDE" >
-<![%xhtml-blkstruct.module;[
-<!ENTITY % xhtml-blkstruct.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Block Structural 1.0//EN"
- "xhtml-blkstruct-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Block Structural Module ....................................... -->
-<!-- file: xhtml-blkstruct-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Block Structural 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-blkstruct-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Block Structural
-
- div, p
-
- This module declares the elements and their attributes used to
- support block-level structural markup.
--->
-
-<!ENTITY % div.element "INCLUDE" >
-<![%div.element;[
-<!ENTITY % div.content
- "( #PCDATA | %Flow.mix; )*"
->
-<!ENTITY % div.qname "div" >
-<!ELEMENT %div.qname; %div.content; >
-<!-- end of div.element -->]]>
-
-<!ENTITY % div.attlist "INCLUDE" >
-<![%div.attlist;[
-<!-- end of div.attlist -->]]>
-<!ATTLIST %div.qname;
- %Common.attrib;
->
-
-<!ENTITY % p.element "INCLUDE" >
-<![%p.element;[
-<!ENTITY % p.content
- "( #PCDATA | %Inline.mix; )*" >
-<!ENTITY % p.qname "p" >
-<!ELEMENT %p.qname; %p.content; >
-<!-- end of p.element -->]]>
-
-<!ENTITY % p.attlist "INCLUDE" >
-<![%p.attlist;[
-<!ATTLIST %p.qname;
- %Common.attrib;
->
-<!-- end of p.attlist -->]]>
-
-<!-- end of xhtml-blkstruct-1.mod -->
-]]>
-
-<!ENTITY % xhtml-blkphras.module "INCLUDE" >
-<![%xhtml-blkphras.module;[
-<!ENTITY % xhtml-blkphras.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Block Phrasal 1.0//EN"
- "xhtml-blkphras-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Block Phrasal Module .......................................... -->
-<!-- file: xhtml-blkphras-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Block Phrasal 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-blkphras-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Block Phrasal
-
- address, blockquote, pre, h1, h2, h3, h4, h5, h6
-
- This module declares the elements and their attributes used to
- support block-level phrasal markup.
--->
-
-<!ENTITY % address.element "INCLUDE" >
-<![%address.element;[
-<!ENTITY % address.content
- "( #PCDATA | %Inline.mix; )*" >
-<!ENTITY % address.qname "address" >
-<!ELEMENT %address.qname; %address.content; >
-<!-- end of address.element -->]]>
-
-<!ENTITY % address.attlist "INCLUDE" >
-<![%address.attlist;[
-<!ATTLIST %address.qname;
- %Common.attrib;
->
-<!-- end of address.attlist -->]]>
-
-<!ENTITY % blockquote.element "INCLUDE" >
-<![%blockquote.element;[
-<!ENTITY % blockquote.content
- "( %Block.mix; )+"
->
-<!ENTITY % blockquote.qname "blockquote" >
-<!ELEMENT %blockquote.qname; %blockquote.content; >
-<!-- end of blockquote.element -->]]>
-
-<!ENTITY % blockquote.attlist "INCLUDE" >
-<![%blockquote.attlist;[
-<!ATTLIST %blockquote.qname;
- %Common.attrib;
- cite %URI.datatype; #IMPLIED
->
-<!-- end of blockquote.attlist -->]]>
-
-<!ENTITY % pre.element "INCLUDE" >
-<![%pre.element;[
-<!ENTITY % pre.content
- "( #PCDATA
- | %InlStruct.class;
- %InlPhras.class;
- | %tt.qname; | %i.qname; | %b.qname;
- %I18n.class;
- %Anchor.class;
- | %script.qname; | %map.qname;
- %Inline.extra; )*"
->
-<!ENTITY % pre.qname "pre" >
-<!ELEMENT %pre.qname; %pre.content; >
-<!-- end of pre.element -->]]>
-
-<!ENTITY % pre.attlist "INCLUDE" >
-<![%pre.attlist;[
-<!ATTLIST %pre.qname;
- %Common.attrib;
- xml:space ( preserve ) #FIXED 'preserve'
->
-<!-- end of pre.attlist -->]]>
-
-<!-- ................... Heading Elements ................... -->
-
-<!ENTITY % Heading.content "( #PCDATA | %Inline.mix; )*" >
-
-<!ENTITY % h1.element "INCLUDE" >
-<![%h1.element;[
-<!ENTITY % h1.qname "h1" >
-<!ELEMENT %h1.qname; %Heading.content; >
-<!-- end of h1.element -->]]>
-
-<!ENTITY % h1.attlist "INCLUDE" >
-<![%h1.attlist;[
-<!ATTLIST %h1.qname;
- %Common.attrib;
->
-<!-- end of h1.attlist -->]]>
-
-<!ENTITY % h2.element "INCLUDE" >
-<![%h2.element;[
-<!ENTITY % h2.qname "h2" >
-<!ELEMENT %h2.qname; %Heading.content; >
-<!-- end of h2.element -->]]>
-
-<!ENTITY % h2.attlist "INCLUDE" >
-<![%h2.attlist;[
-<!ATTLIST %h2.qname;
- %Common.attrib;
->
-<!-- end of h2.attlist -->]]>
-
-<!ENTITY % h3.element "INCLUDE" >
-<![%h3.element;[
-<!ENTITY % h3.qname "h3" >
-<!ELEMENT %h3.qname; %Heading.content; >
-<!-- end of h3.element -->]]>
-
-<!ENTITY % h3.attlist "INCLUDE" >
-<![%h3.attlist;[
-<!ATTLIST %h3.qname;
- %Common.attrib;
->
-<!-- end of h3.attlist -->]]>
-
-<!ENTITY % h4.element "INCLUDE" >
-<![%h4.element;[
-<!ENTITY % h4.qname "h4" >
-<!ELEMENT %h4.qname; %Heading.content; >
-<!-- end of h4.element -->]]>
-
-<!ENTITY % h4.attlist "INCLUDE" >
-<![%h4.attlist;[
-<!ATTLIST %h4.qname;
- %Common.attrib;
->
-<!-- end of h4.attlist -->]]>
-
-<!ENTITY % h5.element "INCLUDE" >
-<![%h5.element;[
-<!ENTITY % h5.qname "h5" >
-<!ELEMENT %h5.qname; %Heading.content; >
-<!-- end of h5.element -->]]>
-
-<!ENTITY % h5.attlist "INCLUDE" >
-<![%h5.attlist;[
-<!ATTLIST %h5.qname;
- %Common.attrib;
->
-<!-- end of h5.attlist -->]]>
-
-<!ENTITY % h6.element "INCLUDE" >
-<![%h6.element;[
-<!ENTITY % h6.qname "h6" >
-<!ELEMENT %h6.qname; %Heading.content; >
-<!-- end of h6.element -->]]>
-
-<!ENTITY % h6.attlist "INCLUDE" >
-<![%h6.attlist;[
-<!ATTLIST %h6.qname;
- %Common.attrib;
->
-<!-- end of h6.attlist -->]]>
-
-<!-- end of xhtml-blkphras-1.mod -->
-]]>
-
-<!-- end of xhtml-text-1.mod -->
-
-
-<!ENTITY % xhtml-hypertext.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN"
- "xhtml-hypertext-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Hypertext Module .............................................. -->
-<!-- file: xhtml-hypertext-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-hypertext-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Hypertext
-
- a
-
- This module declares the anchor ('a') element type, which
- defines the source of a hypertext link. The destination
- (or link 'target') is identified via its 'id' attribute
- rather than the 'name' attribute as was used in HTML.
--->
-
-<!-- ............ Anchor Element ............ -->
-
-<!ENTITY % a.element "INCLUDE" >
-<![%a.element;[
-<!ENTITY % a.content
- "( #PCDATA | %InlNoAnchor.mix; )*"
->
-<!ENTITY % a.qname "a" >
-<!ELEMENT %a.qname; %a.content; >
-<!-- end of a.element -->]]>
-
-<!ENTITY % a.attlist "INCLUDE" >
-<![%a.attlist;[
-<!ATTLIST %a.qname;
- %Common.attrib;
- href %URI.datatype; #IMPLIED
- charset %Charset.datatype; #IMPLIED
- type %ContentType.datatype; #IMPLIED
- hreflang %LanguageCode.datatype; #IMPLIED
- rel %LinkTypes.datatype; #IMPLIED
- rev %LinkTypes.datatype; #IMPLIED
- accesskey %Character.datatype; #IMPLIED
- tabindex %Number.datatype; #IMPLIED
->
-<!-- end of a.attlist -->]]>
-
-<!-- end of xhtml-hypertext-1.mod -->
-
-
-<!ENTITY % xhtml-list.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN"
- "xhtml-list-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Lists Module .................................................. -->
-<!-- file: xhtml-list-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-list-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Lists
-
- dl, dt, dd, ol, ul, li
-
- This module declares the list-oriented element types
- and their attributes.
--->
-
-<!ENTITY % dl.qname "dl" >
-<!ENTITY % dt.qname "dt" >
-<!ENTITY % dd.qname "dd" >
-<!ENTITY % ol.qname "ol" >
-<!ENTITY % ul.qname "ul" >
-<!ENTITY % li.qname "li" >
-
-<!-- dl: Definition List ............................... -->
-
-<!ENTITY % dl.element "INCLUDE" >
-<![%dl.element;[
-<!ENTITY % dl.content "( %dt.qname; | %dd.qname; )+" >
-<!ELEMENT %dl.qname; %dl.content; >
-<!-- end of dl.element -->]]>
-
-<!ENTITY % dl.attlist "INCLUDE" >
-<![%dl.attlist;[
-<!ATTLIST %dl.qname;
- %Common.attrib;
->
-<!-- end of dl.attlist -->]]>
-
-<!-- dt: Definition Term ............................... -->
-
-<!ENTITY % dt.element "INCLUDE" >
-<![%dt.element;[
-<!ENTITY % dt.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ELEMENT %dt.qname; %dt.content; >
-<!-- end of dt.element -->]]>
-
-<!ENTITY % dt.attlist "INCLUDE" >
-<![%dt.attlist;[
-<!ATTLIST %dt.qname;
- %Common.attrib;
->
-<!-- end of dt.attlist -->]]>
-
-<!-- dd: Definition Description ........................ -->
-
-<!ENTITY % dd.element "INCLUDE" >
-<![%dd.element;[
-<!ENTITY % dd.content
- "( #PCDATA | %Flow.mix; )*"
->
-<!ELEMENT %dd.qname; %dd.content; >
-<!-- end of dd.element -->]]>
-
-<!ENTITY % dd.attlist "INCLUDE" >
-<![%dd.attlist;[
-<!ATTLIST %dd.qname;
- %Common.attrib;
->
-<!-- end of dd.attlist -->]]>
-
-<!-- ol: Ordered List (numbered styles) ................ -->
-
-<!ENTITY % ol.element "INCLUDE" >
-<![%ol.element;[
-<!ENTITY % ol.content "( %li.qname; )+" >
-<!ELEMENT %ol.qname; %ol.content; >
-<!-- end of ol.element -->]]>
-
-<!ENTITY % ol.attlist "INCLUDE" >
-<![%ol.attlist;[
-<!ATTLIST %ol.qname;
- %Common.attrib;
->
-<!-- end of ol.attlist -->]]>
-
-<!-- ul: Unordered List (bullet styles) ................ -->
-
-<!ENTITY % ul.element "INCLUDE" >
-<![%ul.element;[
-<!ENTITY % ul.content "( %li.qname; )+" >
-<!ELEMENT %ul.qname; %ul.content; >
-<!-- end of ul.element -->]]>
-
-<!ENTITY % ul.attlist "INCLUDE" >
-<![%ul.attlist;[
-<!ATTLIST %ul.qname;
- %Common.attrib;
->
-<!-- end of ul.attlist -->]]>
-
-<!-- li: List Item ..................................... -->
-
-<!ENTITY % li.element "INCLUDE" >
-<![%li.element;[
-<!ENTITY % li.content
- "( #PCDATA | %Flow.mix; )*"
->
-<!ELEMENT %li.qname; %li.content; >
-<!-- end of li.element -->]]>
-
-<!ENTITY % li.attlist "INCLUDE" >
-<![%li.attlist;[
-<!ATTLIST %li.qname;
- %Common.attrib;
->
-<!-- end of li.attlist -->]]>
-
-<!-- end of xhtml-list-1.mod -->
-
-
-<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-
-<!-- Image Module ............................................... -->
-<!ENTITY % xhtml-image.module "INCLUDE" >
-<![%xhtml-image.module;[
-<!ENTITY % xhtml-image.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN"
- "xhtml-image-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Images Module ................................................. -->
-<!-- file: xhtml-image-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Rovision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-image-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Images
-
- img
-
- This module provides markup to support basic image embedding.
--->
-
-<!-- To avoid problems with text-only UAs as well as to make
- image content understandable and navigable to users of
- non-visual UAs, you need to provide a description with
- the 'alt' attribute, and avoid server-side image maps.
--->
-
-<!ENTITY % img.element "INCLUDE" >
-<![%img.element;[
-<!ENTITY % img.content "EMPTY" >
-<!ENTITY % img.qname "img" >
-<!ELEMENT %img.qname; %img.content; >
-<!-- end of img.element -->]]>
-
-<!ENTITY % img.attlist "INCLUDE" >
-<![%img.attlist;[
-<!ATTLIST %img.qname;
- %Common.attrib;
- src %URI.datatype; #REQUIRED
- alt %Text.datatype; #REQUIRED
- longdesc %URI.datatype; #IMPLIED
- height %Length.datatype; #IMPLIED
- width %Length.datatype; #IMPLIED
->
-<!-- end of img.attlist -->]]>
-
-<!-- end of xhtml-image-1.mod -->
-]]>
-
-<!-- Tables Module ............................................... -->
-<!ENTITY % xhtml-table.module "INCLUDE" >
-<![%xhtml-table.module;[
-<!ENTITY % xhtml-table.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Basic Tables 1.0//EN"
- "xhtml-basic-table-1.mod" >
-<!-- ....................................................................... -->
-<!-- XHTML Basic Table Module ............................................. -->
-<!-- file: xhtml-basic-table-1.mod
-
- This is XHTML Basic, a proper subset of XHTML.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Basic Tables 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-basic-table-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Basic Tables
-
- table, caption, tr, th, td
-
- This table module declares elements and attributes defining
- a table model based fundamentally on features found in the
- widely-deployed HTML 3.2 table model. While this module
- mimics the content model and table attributes of HTML 3.2
- tables, the element types declared herein also includes all
- HTML 4 common and most of the HTML 4 table attributes.
--->
-
-<!-- declare qualified element type names:
--->
-<!ENTITY % table.qname "table" >
-<!ENTITY % caption.qname "caption" >
-<!ENTITY % tr.qname "tr" >
-<!ENTITY % th.qname "th" >
-<!ENTITY % td.qname "td" >
-
-<!-- horizontal alignment attributes for cell contents
--->
-<!ENTITY % CellHAlign.attrib
- "align ( left
- | center
- | right ) #IMPLIED"
->
-
-<!-- vertical alignment attributes for cell contents
--->
-<!ENTITY % CellVAlign.attrib
- "valign ( top
- | middle
- | bottom ) #IMPLIED"
->
-
-<!-- scope is simpler than axes attribute for common tables
--->
-<!ENTITY % scope.attrib
- "scope ( row | col ) #IMPLIED"
->
-
-<!-- table: Table Element .............................. -->
-
-<!ENTITY % table.element "INCLUDE" >
-<![%table.element;[
-<!ENTITY % table.content
- "( %caption.qname;?, %tr.qname;+ )"
->
-<!ELEMENT %table.qname; %table.content; >
-<!-- end of table.element -->]]>
-
-<!ENTITY % table.attlist "INCLUDE" >
-<![%table.attlist;[
-<!ATTLIST %table.qname;
- %Common.attrib;
- summary %Text.datatype; #IMPLIED
->
-<!-- end of table.attlist -->]]>
-
-<!-- caption: Table Caption ............................ -->
-
-<!ENTITY % caption.element "INCLUDE" >
-<![%caption.element;[
-<!ENTITY % caption.content
- "( #PCDATA | %Inline.mix; )*"
->
-<!ELEMENT %caption.qname; %caption.content; >
-<!-- end of caption.element -->]]>
-
-<!ENTITY % caption.attlist "INCLUDE" >
-<![%caption.attlist;[
-<!ATTLIST %caption.qname;
- %Common.attrib;
->
-<!-- end of caption.attlist -->]]>
-
-<!-- tr: Table Row ..................................... -->
-
-<!ENTITY % tr.element "INCLUDE" >
-<![%tr.element;[
-<!ENTITY % tr.content "( %th.qname; | %td.qname; )+" >
-<!ELEMENT %tr.qname; %tr.content; >
-<!-- end of tr.element -->]]>
-
-<!ENTITY % tr.attlist "INCLUDE" >
-<![%tr.attlist;[
-<!ATTLIST %tr.qname;
- %Common.attrib;
- %CellHAlign.attrib;
- %CellVAlign.attrib;
->
-<!-- end of tr.attlist -->]]>
-
-<!-- th: Table Header Cell ............................. -->
-
-<!-- th is for header cells, td for data,
- but for cells acting as both use td
--->
-
-<!ENTITY % th.element "INCLUDE" >
-<![%th.element;[
-<!ENTITY % th.content
- "( #PCDATA | %FlowNoTable.mix; )*"
->
-<!ELEMENT %th.qname; %th.content; >
-<!-- end of th.element -->]]>
-
-<!ENTITY % th.attlist "INCLUDE" >
-<![%th.attlist;[
-<!ATTLIST %th.qname;
- %Common.attrib;
- abbr %Text.datatype; #IMPLIED
- axis CDATA #IMPLIED
- headers IDREFS #IMPLIED
- %scope.attrib;
- rowspan %Number.datatype; '1'
- colspan %Number.datatype; '1'
- %CellHAlign.attrib;
- %CellVAlign.attrib;
->
-<!-- end of th.attlist -->]]>
-
-<!-- td: Table Data Cell ............................... -->
-
-<!ENTITY % td.element "INCLUDE" >
-<![%td.element;[
-<!ENTITY % td.content
- "( #PCDATA | %FlowNoTable.mix; )*"
->
-<!ELEMENT %td.qname; %td.content; >
-<!-- end of td.element -->]]>
-
-<!ENTITY % td.attlist "INCLUDE" >
-<![%td.attlist;[
-<!ATTLIST %td.qname;
- %Common.attrib;
- abbr %Text.datatype; #IMPLIED
- axis CDATA #IMPLIED
- headers IDREFS #IMPLIED
- %scope.attrib;
- rowspan %Number.datatype; '1'
- colspan %Number.datatype; '1'
- %CellHAlign.attrib;
- %CellVAlign.attrib;
->
-<!-- end of td.attlist -->]]>
-
-<!-- end of xhtml-basic-table-1.mod -->
-]]>
-
-<!-- Forms Module ............................................... -->
-<!ENTITY % xhtml-form.module "INCLUDE" >
-<![%xhtml-form.module;[
-<!ENTITY % xhtml-form.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Basic Forms 1.0//EN"
- "xhtml-basic-form-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Simplified Forms Module ....................................... -->
-<!-- file: xhtml-basic-form-1.mod
-
- This is XHTML Basic, a proper subset of XHTML.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Basic Forms 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-basic-form-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Basic Forms
-
- This forms module is based on the HTML 3.2 forms model, with
- the WAI-requested addition of the label element. While this
- module essentially mimics the content model and attributes of
- HTML 3.2 forms, the element types declared herein also include
- all HTML 4 common attributes.
-
- form, label, input, select, option, textarea
--->
-
-<!-- declare qualified element type names:
--->
-<!ENTITY % form.qname "form" >
-<!ENTITY % label.qname "label" >
-<!ENTITY % input.qname "input" >
-<!ENTITY % select.qname "select" >
-<!ENTITY % option.qname "option" >
-<!ENTITY % textarea.qname "textarea" >
-
-<!-- %BlkNoForm.mix; includes all non-form block elements,
- plus %Misc.class;
--->
-<!ENTITY % BlkNoForm.mix
- "%Heading.class;
- | %List.class;
- | %BlkStruct.class;
- %BlkPhras.class;
- %BlkPres.class;
- | %table.qname;
- %Block.extra;
- %Misc.class;"
->
-
-<!-- form: Form Element ................................ -->
-
-<!ENTITY % form.element "INCLUDE" >
-<![%form.element;[
-<!ENTITY % form.content
- "( %BlkNoForm.mix; )+"
->
-<!ELEMENT %form.qname; %form.content; >
-<!-- end of form.element -->]]>
-
-<!ENTITY % form.attlist "INCLUDE" >
-<![%form.attlist;[
-<!ATTLIST %form.qname;
- %Common.attrib;
- action %URI.datatype; #REQUIRED
- method ( get | post ) 'get'
- enctype %ContentType.datatype; 'application/x-www-form-urlencoded'
->
-<!-- end of form.attlist -->]]>
-
-<!-- label: Form Field Label Text ...................... -->
-
-<!ENTITY % label.element "INCLUDE" >
-<![%label.element;[
-<!-- Each label must not contain more than ONE field
--->
-<!ENTITY % label.content
- "( #PCDATA
- | %input.qname; | %select.qname; | %textarea.qname;
- | %InlStruct.class;
- %InlPhras.class;
- %I18n.class;
- %InlPres.class;
- %InlSpecial.class;
- %Misc.class; )*"
->
-<!ELEMENT %label.qname; %label.content; >
-<!-- end of label.element -->]]>
-
-<!ENTITY % label.attlist "INCLUDE" >
-<![%label.attlist;[
-<!ATTLIST %label.qname;
- %Common.attrib;
- for IDREF #IMPLIED
- accesskey %Character.datatype; #IMPLIED
->
-<!-- end of label.attlist -->]]>
-
-<!-- input: Form Control ............................... -->
-
-<!ENTITY % input.element "INCLUDE" >
-<![%input.element;[
-<!ENTITY % input.content "EMPTY" >
-<!ELEMENT %input.qname; %input.content; >
-<!-- end of input.element -->]]>
-
-<!-- Basic Forms removes 'image' and 'file' input types.
--->
-<!ENTITY % input.attlist "INCLUDE" >
-<![%input.attlist;[
-<!ENTITY % InputType.class
- "( text | password | checkbox | radio
- | submit | reset | hidden )"
->
-<!-- attribute name required for all but submit & reset
--->
-<!ATTLIST %input.qname;
- %Common.attrib;
- type %InputType.class; 'text'
- name CDATA #IMPLIED
- value CDATA #IMPLIED
- checked ( checked ) #IMPLIED
- size CDATA #IMPLIED
- maxlength %Number.datatype; #IMPLIED
- src %URI.datatype; #IMPLIED
- accesskey %Character.datatype; #IMPLIED
->
-<!-- end of input.attlist -->]]>
-
-<!-- select: Option Selector ........................... -->
-
-<!ENTITY % select.element "INCLUDE" >
-<![%select.element;[
-<!ENTITY % select.content "( %option.qname; )+" >
-<!ELEMENT %select.qname; %select.content; >
-<!-- end of select.element -->]]>
-
-<!ENTITY % select.attlist "INCLUDE" >
-<![%select.attlist;[
-<!ATTLIST %select.qname;
- %Common.attrib;
- name CDATA #IMPLIED
- size %Number.datatype; #IMPLIED
- multiple ( multiple ) #IMPLIED
->
-<!-- end of select.attlist -->]]>
-
-<!-- option: Selectable Choice ......................... -->
-
-<!ENTITY % option.element "INCLUDE" >
-<![%option.element;[
-<!ENTITY % option.content "( #PCDATA )" >
-<!ELEMENT %option.qname; %option.content; >
-<!-- end of option.element -->]]>
-
-<!ENTITY % option.attlist "INCLUDE" >
-<![%option.attlist;[
-<!ATTLIST %option.qname;
- %Common.attrib;
- selected ( selected ) #IMPLIED
- value CDATA #IMPLIED
->
-<!-- end of option.attlist -->]]>
-
-<!-- textarea: Multi-Line Text Field ................... -->
-
-<!ENTITY % textarea.element "INCLUDE" >
-<![%textarea.element;[
-<!ENTITY % textarea.content "( #PCDATA )" >
-<!ELEMENT %textarea.qname; %textarea.content; >
-<!-- end of textarea.element -->]]>
-
-<!ENTITY % textarea.attlist "INCLUDE" >
-<![%textarea.attlist;[
-<!ATTLIST %textarea.qname;
- %Common.attrib;
- name CDATA #IMPLIED
- rows %Number.datatype; #REQUIRED
- cols %Number.datatype; #REQUIRED
- accesskey %Character.datatype; #IMPLIED
->
-<!-- end of textarea.attlist -->]]>
-
-<!-- end of xhtml-basic-form-1.mod -->
-]]>
-
-<!-- Link Element Module ........................................ -->
-<!ENTITY % xhtml-link.module "INCLUDE" >
-<![%xhtml-link.module;[
-<!ENTITY % xhtml-link.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN"
- "xhtml-link-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Link Element Module ........................................... -->
-<!-- file: xhtml-link-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-link-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Link element
-
- link
-
- This module declares the link element type and its attributes,
- which could (in principle) be used to define document-level links
- to external resources such as:
-
- a) for document specific toolbars/menus, 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")
--->
-
-<!-- link: Media-Independent Link ...................... -->
-
-<!ENTITY % link.element "INCLUDE" >
-<![%link.element;[
-<!ENTITY % link.content "EMPTY" >
-<!ENTITY % link.qname "link" >
-<!ELEMENT %link.qname; %link.content; >
-<!-- end of link.element -->]]>
-
-<!ENTITY % link.attlist "INCLUDE" >
-<![%link.attlist;[
-<!ATTLIST %link.qname;
- %Common.attrib;
- charset %Charset.datatype; #IMPLIED
- href %URI.datatype; #IMPLIED
- hreflang %LanguageCode.datatype; #IMPLIED
- type %ContentType.datatype; #IMPLIED
- rel %LinkTypes.datatype; #IMPLIED
- rev %LinkTypes.datatype; #IMPLIED
- media %MediaDesc.datatype; #IMPLIED
->
-<!-- end of link.attlist -->]]>
-
-<!-- end of xhtml-link-1.mod -->
-]]>
-
-<!-- Document Metainformation Module ............................ -->
-<!ENTITY % xhtml-meta.module "INCLUDE" >
-<![%xhtml-meta.module;[
-<!ENTITY % xhtml-meta.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN"
- "xhtml-meta-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Document Metainformation Module ............................... -->
-<!-- file: xhtml-meta-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-meta-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Meta Information
-
- meta
-
- This module declares the meta element type and its attributes,
- used to provide declarative document metainformation.
--->
-
-<!-- meta: Generic Metainformation ..................... -->
-
-<!ENTITY % meta.element "INCLUDE" >
-<![%meta.element;[
-<!ENTITY % meta.content "EMPTY" >
-<!ENTITY % meta.qname "meta" >
-<!ELEMENT %meta.qname; %meta.content; >
-<!-- end of meta.element -->]]>
-
-<!ENTITY % meta.attlist "INCLUDE" >
-<![%meta.attlist;[
-<!ATTLIST %meta.qname;
- %XHTML.xmlns.attrib;
- %I18n.attrib;
- http-equiv NMTOKEN #IMPLIED
- name NMTOKEN #IMPLIED
- content CDATA #REQUIRED
- scheme CDATA #IMPLIED
->
-<!-- end of meta.attlist -->]]>
-
-<!-- end of xhtml-meta-1.mod -->
-]]>
-
-<!-- Base Element Module ........................................ -->
-<!ENTITY % xhtml-base.module "INCLUDE" >
-<![%xhtml-base.module;[
-<!ENTITY % xhtml-base.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN"
- "xhtml-base-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Base Element Module ........................................... -->
-<!-- file: xhtml-base-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-base-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Base element
-
- base
-
- This module declares the base element type and its attributes,
- used to define a base URI against which relative URIs in the
- document will be resolved.
-
- Note that this module also redeclares the content model for
- the head element to include the base element.
--->
-
-<!-- base: Document Base URI ........................... -->
-
-<!ENTITY % base.element "INCLUDE" >
-<![%base.element;[
-<!ENTITY % base.content "EMPTY" >
-<!ENTITY % base.qname "base" >
-<!ELEMENT %base.qname; %base.content; >
-<!-- end of base.element -->]]>
-
-<!ENTITY % base.attlist "INCLUDE" >
-<![%base.attlist;[
-<!ATTLIST %base.qname;
- %XHTML.xmlns.attrib;
- href %URI.datatype; #REQUIRED
->
-<!-- end of base.attlist -->]]>
-
-<!ENTITY % head.content
- "( %HeadOpts.mix;,
- ( ( %title.qname;, %HeadOpts.mix;, ( %base.qname;, %HeadOpts.mix; )? )
- | ( %base.qname;, %HeadOpts.mix;, ( %title.qname;, %HeadOpts.mix; ))))"
->
-
-<!-- end of xhtml-base-1.mod -->
-]]>
-
-<!-- Param Element Module ....................................... -->
-<!ENTITY % xhtml-param.module "INCLUDE" >
-<![%xhtml-param.module;[
-<!ENTITY % xhtml-param.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN"
- "xhtml-param-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Param Element Module ..................................... -->
-<!-- file: xhtml-param-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-param-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Parameters for Java Applets and Embedded Objects
-
- param
-
- This module provides declarations for the param element,
- used to provide named property values for the applet
- and object elements.
--->
-
-<!-- param: Named Property Value ....................... -->
-
-<!ENTITY % param.element "INCLUDE" >
-<![%param.element;[
-<!ENTITY % param.content "EMPTY" >
-<!ENTITY % param.qname "param" >
-<!ELEMENT %param.qname; %param.content; >
-<!-- end of param.element -->]]>
-
-<!ENTITY % param.attlist "INCLUDE" >
-<![%param.attlist;[
-<!ATTLIST %param.qname;
- %XHTML.xmlns.attrib;
- %id.attrib;
- name CDATA #REQUIRED
- value CDATA #IMPLIED
- valuetype ( data | ref | object ) 'data'
- type %ContentType.datatype; #IMPLIED
->
-<!-- end of param.attlist -->]]>
-
-<!-- end of xhtml-param-1.mod -->
-]]>
-
-<!-- Embedded Object Module ..................................... -->
-<!ENTITY % xhtml-object.module "INCLUDE" >
-<![%xhtml-object.module;[
-<!ENTITY % xhtml-object.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN"
- "xhtml-object-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Embedded Object Module ........................................ -->
-<!-- file: xhtml-object-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-object-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Embedded Objects
-
- object
-
- This module declares the object element type and its attributes,
- used to embed external objects as part of XHTML pages. In the
- document, place param elements prior to the object elements
- that require their content.
-
- Note that use of this module requires instantiation of the
- Param Element Module prior to this module.
--->
-
-<!-- object: Generic Embedded Object ................... -->
-
-<!ENTITY % object.element "INCLUDE" >
-<![%object.element;[
-<!ENTITY % object.content
- "( #PCDATA | %Flow.mix; | %param.qname; )*"
->
-<!ENTITY % object.qname "object" >
-<!ELEMENT %object.qname; %object.content; >
-<!-- end of object.element -->]]>
-
-<!ENTITY % object.attlist "INCLUDE" >
-<![%object.attlist;[
-<!ATTLIST %object.qname;
- %Common.attrib;
- declare ( declare ) #IMPLIED
- classid %URI.datatype; #IMPLIED
- codebase %URI.datatype; #IMPLIED
- data %URI.datatype; #IMPLIED
- type %ContentType.datatype; #IMPLIED
- codetype %ContentType.datatype; #IMPLIED
- archive %URIs.datatype; #IMPLIED
- standby %Text.datatype; #IMPLIED
- height %Length.datatype; #IMPLIED
- width %Length.datatype; #IMPLIED
- name CDATA #IMPLIED
- tabindex %Number.datatype; #IMPLIED
->
-<!-- end of object.attlist -->]]>
-
-<!-- end of xhtml-object-1.mod -->
-]]>
-
-<!ENTITY % xhtml-struct.mod
- PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN"
- "xhtml-struct-1.mod" >
-<!-- ...................................................................... -->
-<!-- XHTML Structure Module .............................................. -->
-<!-- file: xhtml-struct-1.mod
-
- This is XHTML, a reformulation of HTML as a modular XML application.
- Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id$ SMI
-
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
- PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-struct-1.mod"
-
- Revisions:
- (none)
- ....................................................................... -->
-
-<!-- Document Structure
-
- title, head, body, html
-
- The Structure Module defines the major structural elements and
- their attributes.
-
- Note that the content model of the head element type is redeclared
- when the Base Module is included in the DTD.
-
- The parameter entity containing the XML namespace URI value used
- for XHTML is '%XHTML.xmlns;', defined in the Qualified Names module.
--->
-
-<!-- title: Document Title ............................. -->
-
-<!-- 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.
--->
-
-<!ENTITY % title.element "INCLUDE" >
-<![%title.element;[
-<!ENTITY % title.content "( #PCDATA )" >
-<!ENTITY % title.qname "title" >
-<!ELEMENT %title.qname; %title.content; >
-<!-- end of title.element -->]]>
-
-<!ENTITY % title.attlist "INCLUDE" >
-<![%title.attlist;[
-<!ATTLIST %title.qname;
- %XHTML.xmlns.attrib;
- %I18n.attrib;
->
-<!-- end of title.attlist -->]]>
-
-<!-- head: Document Head ............................... -->
-
-<!ENTITY % head.element "INCLUDE" >
-<![%head.element;[
-<!ENTITY % head.content
- "( %HeadOpts.mix;, %title.qname;, %HeadOpts.mix; )"
->
-<!ENTITY % head.qname "head" >
-<!ELEMENT %head.qname; %head.content; >
-<!-- end of head.element -->]]>
-
-<!ENTITY % head.attlist "INCLUDE" >
-<![%head.attlist;[
-<!-- reserved for future use with document profiles
--->
-<!ENTITY % profile.attrib
- "profile %URI.datatype; '%XHTML.profile;'"
->
-
-<!ATTLIST %head.qname;
- %XHTML.xmlns.attrib;
- %I18n.attrib;
- %profile.attrib;
->
-<!-- end of head.attlist -->]]>
-
-<!-- body: Document Body ............................... -->
-
-<!ENTITY % body.element "INCLUDE" >
-<![%body.element;[
-<!ENTITY % body.content
- "( %Block.mix; )+"
->
-<!ENTITY % body.qname "body" >
-<!ELEMENT %body.qname; %body.content; >
-<!-- end of body.element -->]]>
-
-<!ENTITY % body.attlist "INCLUDE" >
-<![%body.attlist;[
-<!ATTLIST %body.qname;
- %Common.attrib;
->
-<!-- end of body.attlist -->]]>
-
-<!-- html: XHTML Document Element ...................... -->
-
-<!ENTITY % html.element "INCLUDE" >
-<![%html.element;[
-<!ENTITY % html.content "( %head.qname;, %body.qname; )" >
-<!ENTITY % html.qname "html" >
-<!ELEMENT %html.qname; %html.content; >
-<!-- end of html.element -->]]>
-
-<!ENTITY % html.attlist "INCLUDE" >
-<![%html.attlist;[
-<!-- version attribute value defined in driver
--->
-<!ENTITY % XHTML.version.attrib
- "version %FPI.datatype; #FIXED '%XHTML.version;'"
->
-
-<!-- see the Qualified Names module for information
- on how to extend XHTML using XML namespaces
--->
-<!ATTLIST %html.qname;
- %XHTML.xmlns.attrib;
- %XHTML.version.attrib;
- %I18n.attrib;
->
-<!-- end of html.attlist -->]]>
-
-<!-- end of xhtml-struct-1.mod -->
-
-
-<!-- end of XHTML Basic 1.0 DTD ........................................... -->