<!-- ................................................................. --><!-- CafeML Extension Module ......................................... --><!-- file: CafeML-1.mod    This is an extension of XHTML, a reformulation of HTML as     a modular XML application.    The Extensible Hypertext Markup Language (XHTML)    Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.    Revision: $Id: template-1.mod,v 1.1 2000/10/05 03:52:34 hugo Exp $ SMI    This DTD module is identified by the PUBLIC and SYSTEM identifiers:      PUBLIC "-//Elliotte Rusty Harold//ENTITIES CafeML Extension 1.0//EN"             "CafeML-1.mod"     Revisions:     (none)     ................................................................. --><!-- Extension CafeML     [This module declares two extension element      types, <today> and <quoteoftheday>. The parameter entity naming      convention uses uppercase for the entity name and lowercase     for namespace prefixes, hence this example uses 'CAFEML' and      'cafe' respectively.]     This module declares parameter entities used to provide     namespace-qualified names for all CafeML element types,     as well as an extensible framework for attribute-based     namespace declarations on all element types.     The %NS.prefixed; conditional section keyword must be     declared as "INCLUDE" in order to allow prefixing to be used.     By default, foreign (i.e., non-XHTML) namespace modules should     inherit %NS.prefixed; from XHTML, but this can be overridden     when prefixing of only the non-XHTML markup is desired.     XHTML's default value for the 'namespace prefix' is an empty     string. The Prefix value can be redeclared either in a DTD     driver or in a document's internal subset as appropriate.     NOTE: As specified in [XMLNAMES], the namespace prefix serves as     a proxy for the URI reference, and is not in itself significant.--><!-- ................................................................  --><!-- 10. Declare the xmlns attributes used by CAFEML dependent on whether         CafeML's prefixing is active. This should be used on all CafeML         element types as part of CafeML's common attributes.        If the entire DTD is namespace-prefixed, CafeML should inherit         %NamespaceDecl.attrib;, otherwise it should declare default         xmlns attributes on its own element types.--><![%NS.prefixed;[<!ENTITY % CAFEML.NamespaceDecl.attrib "%NamespaceDecl.attrib;" >]]><!ENTITY % CAFEML.NamespaceDecl.attrib "%CAFEML.xmlns.attrib;" ><!-- now include the module's various markup declarations ........ --><!ENTITY % CAFEML.Common.attrib      "%CAFEML.NamespaceDecl.attrib;      id           ID                       #IMPLIED"><!-- 11. In the attribute list for each element, declare the XML Namespace         declarations that are legal in the document instance by including         the %NamespaceDecl.attrib; parameter entity in the ATTLIST of         each element type.--><!ENTITY % CAFEML.today.qname  "today" ><!ELEMENT %CAFEML.today.qname;  ( %Block.mix; )* ><!ATTLIST %CAFEML.today.qname;      %CAFEML.Common.attrib;      date CDATA #REQUIRED><!ENTITY % CAFEML.quoteoftheday.qname  "quoteoftheday" ><!ELEMENT %CAFEML.quoteoftheday.qname;  ( %blockquote.element;,                                           %p.element; ) ><!ATTLIST %CAFEML.quoteoftheday.qname;      %CAFEML.Common.attrib;><!-- end of CafeML-1.mod -->