<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -*-coding: iso-safe;-*-
 ! Recombinant XHTML
 !
 ! This is the DTD driver for Recombinant XHTML.
 ! Recombinant XHTML is a genetic code for recombinant texts based on XHTML 1.1.
 ! The public identifier is:
 !
 !     "-//textbender//DTD XHTML recombinant//EN"
 !
 ! The structure of a typical document is:
 !
 !     <?xml version="1.0"?>
 !     <!DOCTYPE html PUBLIC "-//textbender//DTD XHTML recombinant//EN" "xhtml-recombinant.dtd">
 !     <html xmlns="http://www.w3.org/1999/xhtml"
 !      xmlns:t="http://reluk.ca/_/name/textbender">
 !         <head t:g="--">
 !              ~ ~ ~
 !             </head>
 !
 !         <body>
 !              ~ ~ ~
 !             </body>
 !
 !         <tail xmlns="http://reluk.ca/_/name/textbender" t:document-meta-data="1" t:g="--">
 !              ~ ~ ~
 !             </tail>
 !         </html>
 !
 ! Authors
 ! ^^^^^^^
 ! This DTD uses the namespace prefix 't' for attributes, as shown further above.
 ! Authors may use a different prefix if necessary.
 ! (Validators must therefore check that prefixes match between document and DTD,
 !  adjusting them if necessary, before validating.)
 ! Avoid character entity references such as '&nbsp;' in document content.
 ! Instead use numeric references such as '&#xA0;' or '&#160;'.
 ! Most XHTML browsers will fail to parse the document otherwise,
 ! complaining of an 'undefined entity'. (In fact, the standard XHTML character
 !  entities *are* defined in this DTD. But parsers are not required to read it.
 !  In practice, Mozilla 1.7 and Firefox 1.5 do not.)
 !
 ! The recommended file extension is either '.xht' or '.xhtml'.
 ! Authors with a non-XHTML browser (IE7) might try '.htm' or '.html'.
 ! But note: in-page tools (recombinant scripts, plug-ins, applets)
 ! may fail in non-XHTML browsers.
 !
 ! Web Administrators
 ! ^^^^^^^^^^^^^^^^^^
 ! The MIME type is 'application/xhtml+xml'.
 ! An alternate for browsers without XHTML support is 'text/html'.
 ! <http://reluk.ca/project/textbender/o/xhtml/note.xht#XHTML-in-Non-Compliant-Clients
 !
 ! Application Developers
 ! ^^^^^^^^^^^^^^^^^^^^^^
 ! Extensions of Recombinant XHTML must adhere to the XHTML naming rules:
 ! <http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/conformance.html#s_conform_naming_rules
 !
 ! In addition, the third field of the public identifier must begin
 ! with the string "DTD XHTML recombinant". For example:
 !
 !     "-//my organization//DTD XHTML recombinant my extension//EN"
 !
 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 ! Copyright 2005-2007 Michael Allan.  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Textbender Software"), to deal in the Textbender Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicence, and/or sell copies of the Textbender Software, and to permit persons to whom the Textbender Software is furnished to do so, subject to the following conditions: The preceding copyright notice and this permission notice shall be included in all copies or substantial portions of the Textbender Software. THE TEXTBENDER SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE TEXTBENDER SOFTWARE OR THE USE OR OTHER DEALINGS IN THE TEXTBENDER SOFTWARE.
 -->

<!ENTITY %                                a-u-transfer-clipboard-clipboard PUBLIC
 "http://reluk.ca/_/name/textbender-gene#a-u-transfer-clipboard-clipboard.mod"
                                "../../../a/u/transfer/clipboard/clipboard.mod">
                                         %a-u-transfer-clipboard-clipboard;

<!ENTITY %                                d-gene-document PUBLIC
 "http://reluk.ca/_/name/textbender-gene#d-gene-document.mod"
                                             "../document.mod">
                                         %d-gene-document;

<!ENTITY %                                d-gene-gene PUBLIC
 "http://reluk.ca/_/name/textbender-gene#d-gene-gene.mod"
                                             "../gene.mod">
                                         %d-gene-gene;

<!ENTITY                                % d-revision-revision PUBLIC
 "http://reluk.ca/_/name/textbender-gene#d-revision-revision.mod"
                                     "../../revision/revision.mod">
                                         %d-revision-revision;



<!ENTITY % Core.extra.attrib "%t-g.attrib;"> <!-- any element may be attributed as a gene -->


<!ENTITY % html.content "( head, body, tail? )" > <!-- add the tail -->


<!ENTITY % p.content "( #PCDATA | %Inline.mix; | div )*" > <!-- allow 'div' lines in 'p' stanzas, per verse.css -->


<!ENTITY % xhtml-special SYSTEM "xhtml-special-strict.ent"> <!-- will be loaded by ../../../o/xhtml/xhtml-charent-1.mod -->


<!ENTITY % XHTML.xmlns.attrib
 "xmlns CDATA #FIXED 'http://www.w3.org/1999/xhtml'
  xmlns:t CDATA #IMPLIED">
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - -
 ! Allow declaration of the textbender namespace.
 ! - - - - - - - - -
 ! Would rather set this in parameter XHTML.xmlns.extra.attrib,
 ! but it takes effect only if parameter XHTML.prefixed is also set;
 ! resulting in a prefixed (rather than a default) XHTML namespace.
 ! So the whole thing is pre-declared here.
 -->



<!-- ################################################################################# -->

<!ENTITY % xhtml11.dtd PUBLIC "-//W3C//DTD XHTML 1.1//EN" "../../../o/xhtml/xhtml11.dtd">
%xhtml11.dtd;

<!-- ################################################################################# -->



<!ELEMENT tail ( gg|revision-line )* >
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - -
 ! The tail contains meta-data about the document.
 ! - - - - - - - - -
 ! Only one each of the various meta-data elements is permitted.
 -->

    <!ATTLIST tail
     xmlns CDATA #FIXED 'http://reluk.ca/_/name/textbender'
     %t-document-meta-data.attrib-name; CDATA #FIXED '1'>