Forgotten files. 1.11
authorRadek Czajka <rczajka@rczajka.pl>
Wed, 9 Dec 2020 09:36:22 +0000 (10:36 +0100)
committerRadek Czajka <rczajka@rczajka.pl>
Wed, 9 Dec 2020 09:36:22 +0000 (10:36 +0100)
src/librarian/res/daisy/content.smil [new file with mode: 0644]
src/librarian/res/daisy/er_book_info.xml [new file with mode: 0644]
src/librarian/res/daisy/master.smil [new file with mode: 0644]
src/librarian/res/daisy/ncc.html [new file with mode: 0644]
src/librarian/res/daisy/smil10.dtd [new file with mode: 0644]
src/librarian/res/daisy/xhtml-lat1.ent [new file with mode: 0644]
src/librarian/res/daisy/xhtml-special.ent [new file with mode: 0644]
src/librarian/res/daisy/xhtml-symbol.ent [new file with mode: 0644]
src/librarian/res/daisy/xhtml1-transitional.dtd [new file with mode: 0644]

diff --git a/src/librarian/res/daisy/content.smil b/src/librarian/res/daisy/content.smil
new file mode 100644 (file)
index 0000000..ea9ff99
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='ASCII'?>
+<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 1.0//EN" "SMIL10.dtd">
+<smil>
+  <head>
+    <meta name="dc:format" content="Daisy 2.02"/>
+    <meta name="ncc:totalElapsedTime" content="00:00:00.000"/>
+    <layout>
+      <region id="txt-view"/>
+    </layout>
+    <meta name="ncc:generator" content="Librarian {VERSION}"/>
+    <meta name="dc:identifier" content="Unknown"/>
+    <meta name="ncc:timeInThisSmil" content="{HHMMSSmmm}"/>
+    <meta name="title" content="{TITLE}"/>
+    <meta name="dc:title" content="{TITLE}"/>
+  </head>
+  <body>
+    <seq dur="{Sd}"></seq>
+  </body>
+</smil>
+
diff --git a/src/librarian/res/daisy/er_book_info.xml b/src/librarian/res/daisy/er_book_info.xml
new file mode 100644 (file)
index 0000000..0ea3ffd
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<book_info>\r
+  <smil_info>\r
+    <smil nr="1" Name="content.smil" dur="{Sd}"/>\r
+  </smil_info>\r
+</book_info>\r
diff --git a/src/librarian/res/daisy/master.smil b/src/librarian/res/daisy/master.smil
new file mode 100644 (file)
index 0000000..666fed9
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 1.0//EN" "SMIL10.dtd">\r
+<smil>\r
+  <head>\r
+    <meta name="ncc:generator" content="Librarian {VERSION}"/>\r
+    <meta name="dc:format" content="Daisy 2.02"/>\r
+    <meta name="dc:title" content="{TITLE}"/>\r
+    <meta name="dc:identifier" content="Unknown"/>\r
+    <meta name="ncc:timeInThisSmil" content="{HHMMSSmmm}"/>\r
+    <layout>\r
+      <region id="txtView"/>\r
+    </layout>\r
+  </head>\r
+  <body>\r
+    <ref title="{TITLE}" src="content.smil#seq000001" id="smil_0001"/>\r
+  </body>\r
+</smil>\r
diff --git a/src/librarian/res/daisy/ncc.html b/src/librarian/res/daisy/ncc.html
new file mode 100644 (file)
index 0000000..a9b20ec
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
+  <head>\r
+    <title>{TITLE}</title>\r
+    <meta name="dc:format" content="Daisy 2.02"/>\r
+    <meta name="dc:title" content="{TITLE}"/>\r
+    <meta name="dc:identifier" content="Unknown"/>\r
+    <meta name="dc:publisher" content="{PUBLISHER}"/>\r
+    <meta name="dc:date" content="{YEAR}-{MONTH}" scheme="yyyy-mm"/>\r
+    <meta name="dc:language" content="pl" scheme="ISO 639"/>\r
+    <meta name="dc:creator" content="{AUTHOR}"/>\r
+    <meta name="ncc:charset" content="utf-8"/>\r
+    <meta name="ncc:tocItems" content="1"/>\r
+    <meta name="ncc:generator" content="Librarian {VERSION}"/>\r
+    <meta name="ncc:totalTime" content="{HHMMSS}" scheme="hh:mm:ss"/>\r
+    <meta name="ncc:pageFront" content="0"/>\r
+    <meta name="ncc:pageNormal" content="1"/>\r
+    <meta name="ncc:pageSpecial" content="0"/>\r
+    <meta name="ncc:prodNotes" content="0"/>\r
+    <meta name="ncc:sidebars" content="0"/>\r
+    <meta name="ncc:footnotes" content="0"/>\r
+    <meta name="ncc:setInfo" content="1 of 1"/>\r
+    <meta name="ncc:maxPageNormal" content="1"/>\r
+    <meta name="ncc:depth" content="1"/>\r
+    <meta name="ncc:narrator" content="{NARRATOR}"/>\r
+    <meta name="prod:ep_update" content=""/>\r
+    <meta name="prod:last_used_id" content=""/>\r
+    <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>\r
+  </head>\r
+  <body>\r
+    <h1 class="title" id="content"><a href="content.smil#par000001">{TITLE}</a></h1>\r
+  </body>\r
+</html>\r
diff --git a/src/librarian/res/daisy/smil10.dtd b/src/librarian/res/daisy/smil10.dtd
new file mode 100644 (file)
index 0000000..a7a5b1d
--- /dev/null
@@ -0,0 +1,245 @@
+<!--\r
+\r
+    This is the XML document type definition (DTD) for SMIL 1.0.\r
+\r
+    Date: 1998/06/15 08:56:30\r
+\r
+    Authors: \r
+       Jacco van Ossenbruggen <jrvosse@cwi.nl> \r
+       Sjoerd Mullender       <sjoerd@cwi.nl>\r
+       \r
+    Further information about SMIL is available at:\r
+\r
+          http://www.w3.org/AudioVideo/\r
+\r
+-->\r
+\r
+<!-- Generally useful entities -->\r
+<!ENTITY % id-attr "id ID #IMPLIED">\r
+<!ENTITY % title-attr "title CDATA #IMPLIED">\r
+<!ENTITY % skip-attr "skip-content (true|false) 'true'">\r
+<!ENTITY % desc-attr "\r
+        %title-attr;\r
+       abstract        CDATA   #IMPLIED\r
+       author          CDATA   #IMPLIED\r
+       copyright       CDATA   #IMPLIED\r
+">\r
+\r
+<!--=================== SMIL Document =====================================-->\r
+<!--\r
+     The root element SMIL contains all other elements.\r
+-->\r
+<!ELEMENT smil (head?,body?)>\r
+<!ATTLIST smil\r
+        %id-attr;\r
+>\r
+\r
+<!--=================== The Document Head =================================-->\r
+<!ENTITY % layout-section "layout|switch">\r
+\r
+<!ENTITY % head-element "(meta*,((%layout-section;), meta*))?">\r
+\r
+<!ELEMENT head %head-element;>\r
+<!ATTLIST head %id-attr;>\r
+\r
+\r
+<!--=================== Layout Element ====================================-->\r
+<!--\r
+     Layout contains the region and root-layout elements defined by\r
+     smil-basic-layout or other elements defined an external layout \r
+     mechanism.\r
+-->\r
+<!ELEMENT layout ANY>\r
+<!ATTLIST layout\r
+        %id-attr;\r
+        type CDATA      "text/smil-basic-layout"\r
+>\r
+\r
+\r
+<!--=================== Region Element ===================================-->\r
+<!ENTITY % viewport-attrs "\r
+        height              CDATA    #IMPLIED\r
+        width               CDATA    #IMPLIED\r
+       background-color    CDATA    #IMPLIED\r
+">\r
+\r
+<!ELEMENT region EMPTY>\r
+<!ATTLIST region\r
+        %id-attr;\r
+        %title-attr;\r
+        %viewport-attrs;\r
+        left                CDATA    "0"\r
+        top                 CDATA    "0"\r
+        z-index             CDATA    "0"\r
+        fit                 (hidden|fill|meet|scroll|slice)    "hidden"\r
+        %skip-attr;\r
+>\r
+\r
+<!--=================== Root-layout Element ================================-->\r
+<!ELEMENT root-layout EMPTY>\r
+<!ATTLIST root-layout\r
+        %id-attr;\r
+        %title-attr;\r
+        %viewport-attrs;\r
+        %skip-attr;\r
+>\r
+\r
+\r
+<!--=================== Meta Element=======================================-->\r
+<!ELEMENT meta EMPTY>\r
+<!ATTLIST meta\r
+        name    NMTOKEN #REQUIRED\r
+        content CDATA   #REQUIRED\r
+       %skip-attr;\r
+>\r
+\r
+<!--=================== The Document Body =================================-->\r
+<!ENTITY % media-object "audio|video|text|img|animation|textstream|ref">\r
+<!ENTITY % schedule "par|seq|(%media-object;)">\r
+<!ENTITY % inline-link "a">\r
+<!ENTITY % assoc-link "anchor">\r
+<!ENTITY % link "%inline-link;">\r
+<!ENTITY % container-content "(%schedule;)|switch|(%link;)">\r
+<!ENTITY % body-content "(%container-content;)">\r
+\r
+<!ELEMENT body (%body-content;)*>\r
+<!ATTLIST body %id-attr;>\r
+\r
+<!--=================== Synchronization Attributes ========================-->\r
+<!ENTITY % sync-attributes "\r
+        begin   CDATA   #IMPLIED\r
+        end     CDATA   #IMPLIED\r
+">\r
+\r
+<!--=================== Switch Parameter Attributes =======================-->\r
+<!ENTITY % system-attribute "\r
+        system-bitrate             CDATA                #IMPLIED\r
+        system-language            CDATA                #IMPLIED\r
+        system-required            NMTOKEN              #IMPLIED\r
+        system-screen-size         CDATA                #IMPLIED\r
+        system-screen-depth        CDATA                #IMPLIED\r
+       system-captions            (on|off)             #IMPLIED\r
+       system-overdub-or-caption  (caption|overdub)    #IMPLIED\r
+">\r
+\r
+<!--=================== Fill Attribute ====================================-->\r
+<!ENTITY % fill-attribute "\r
+        fill    (remove|freeze)    'remove'\r
+">\r
+\r
+\r
+<!--=================== The Parallel Element ==============================-->\r
+<!ENTITY % par-content "%container-content;">\r
+<!ELEMENT par    (%par-content;)*>\r
+<!ATTLIST par\r
+        %id-attr;\r
+       %desc-attr;\r
+        endsync CDATA           "last"\r
+        dur     CDATA           #IMPLIED\r
+        repeat  CDATA           "1"\r
+        region  IDREF           #IMPLIED\r
+        %sync-attributes;\r
+        %system-attribute;\r
+>\r
+\r
+<!--=================== The Sequential Element ============================-->\r
+<!ENTITY % seq-content "%container-content;">\r
+<!ELEMENT seq    (%seq-content;)*>\r
+<!ATTLIST seq\r
+        %id-attr;\r
+       %desc-attr;\r
+        dur     CDATA           #IMPLIED\r
+        repeat  CDATA           "1"\r
+        region  IDREF           #IMPLIED\r
+        %sync-attributes;\r
+        %system-attribute;\r
+>\r
+\r
+<!--=================== The Switch Element ================================-->\r
+<!-- In the head, a switch may contain only layout elements,\r
+     in the body, only container elements. However, this\r
+     constraint cannot be expressed in the DTD (?), so\r
+     we allow both:\r
+-->\r
+<!ENTITY % switch-content "layout|(%container-content;)">\r
+<!ELEMENT switch (%switch-content;)*>\r
+<!ATTLIST switch\r
+        %id-attr;\r
+        %title-attr;\r
+>\r
+\r
+<!--=================== Media Object Elements =============================-->\r
+<!-- SMIL only defines the structure. The real media data is\r
+     referenced by the src attribute of the media objects.\r
+-->\r
+\r
+<!-- Furthermore, they have the following attributes as defined\r
+     in the SMIL specification:\r
+-->\r
+<!ENTITY % mo-attributes "\r
+        %id-attr;\r
+        %desc-attr;\r
+        region     IDREF           #IMPLIED\r
+        alt        CDATA           #IMPLIED\r
+        longdesc   CDATA           #IMPLIED\r
+        src        CDATA           #IMPLIED\r
+        type       CDATA           #IMPLIED\r
+        dur        CDATA           #IMPLIED\r
+        repeat     CDATA           '1'\r
+        %fill-attribute;\r
+        %sync-attributes;\r
+        %system-attribute;\r
+">\r
+\r
+<!--\r
+     Most info is in the attributes, media objects are empty or\r
+     contain associated link elements:\r
+-->\r
+<!ENTITY % mo-content "(%assoc-link;)*">\r
+<!ENTITY % clip-attrs "\r
+        clip-begin      CDATA   #IMPLIED\r
+        clip-end        CDATA   #IMPLIED\r
+">\r
+\r
+<!ELEMENT ref          %mo-content;>\r
+<!ELEMENT audio                %mo-content;>\r
+<!ELEMENT img          %mo-content;>\r
+<!ELEMENT video                %mo-content;>\r
+<!ELEMENT text         %mo-content;>\r
+<!ELEMENT textstream   %mo-content;>\r
+<!ELEMENT animation    %mo-content;>\r
+\r
+<!ATTLIST ref           %mo-attributes; %clip-attrs;>\r
+<!ATTLIST audio         %mo-attributes; %clip-attrs;>\r
+<!ATTLIST video         %mo-attributes; %clip-attrs;>\r
+<!ATTLIST animation     %mo-attributes; %clip-attrs;>\r
+<!ATTLIST textstream    %mo-attributes; %clip-attrs;>\r
+<!ATTLIST text          %mo-attributes;>\r
+<!ATTLIST img           %mo-attributes;>\r
+\r
+<!--=================== Link Elements =====================================-->\r
+\r
+<!ENTITY % smil-link-attributes "\r
+        %id-attr;\r
+        %title-attr;\r
+        href            CDATA                   #REQUIRED\r
+        show            (replace|new|pause)     'replace'\r
+">\r
+\r
+\r
+<!--=================== Inline Link Element ===============================-->\r
+<!ELEMENT a (%schedule;|switch)*>\r
+<!ATTLIST a\r
+        %smil-link-attributes;\r
+>\r
+\r
+\r
+<!--=================== Associated Link Element ===========================-->\r
+<!ELEMENT anchor EMPTY>\r
+<!ATTLIST anchor\r
+        %skip-attr;\r
+        %smil-link-attributes;\r
+        %sync-attributes;\r
+        coords          CDATA                   #IMPLIED\r
+>\r
+\r
diff --git a/src/librarian/res/daisy/xhtml-lat1.ent b/src/librarian/res/daisy/xhtml-lat1.ent
new file mode 100644 (file)
index 0000000..aaae738
--- /dev/null
@@ -0,0 +1,196 @@
+<!-- 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 -->
diff --git a/src/librarian/res/daisy/xhtml-special.ent b/src/librarian/res/daisy/xhtml-special.ent
new file mode 100644 (file)
index 0000000..cf709d1
--- /dev/null
@@ -0,0 +1,79 @@
+<!-- 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 -->
diff --git a/src/librarian/res/daisy/xhtml-symbol.ent b/src/librarian/res/daisy/xhtml-symbol.ent
new file mode 100644 (file)
index 0000000..16f876b
--- /dev/null
@@ -0,0 +1,242 @@
+<!-- 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 -->
diff --git a/src/librarian/res/daisy/xhtml1-transitional.dtd b/src/librarian/res/daisy/xhtml1-transitional.dtd
new file mode 100644 (file)
index 0000000..93321c6
--- /dev/null
@@ -0,0 +1,1196 @@
+<!--\r
+   Extensible HTML version 1.0 Transitional DTD\r
+\r
+   This is the same as HTML 4.0 Transitional except for\r
+   changes due to the differences between XML and SGML.\r
+\r
+   Namespace = http://www.w3.org/1999/xhtml\r
+\r
+   For further information, see: http://www.w3.org/TR/xhtml1\r
+\r
+   Copyright (c) 1998-2000 W3C (MIT, INRIA, Keio),\r
+   All Rights Reserved. \r
+\r
+   This DTD module is identified by the PUBLIC and SYSTEM identifiers:\r
+\r
+   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\r
+   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"\r
+\r
+   $Revision: 1.1 $\r
+   $Date: 2000/01/26 14:08:56 $\r
+\r
+-->\r
+\r
+<!--================ Character mnemonic entities =========================-->\r
+\r
+<!ENTITY % HTMLlat1 PUBLIC\r
+   "-//W3C//ENTITIES Latin 1 for XHTML//EN"\r
+   "xhtml-lat1.ent">\r
+%HTMLlat1;\r
+\r
+<!ENTITY % HTMLsymbol PUBLIC\r
+   "-//W3C//ENTITIES Symbols for XHTML//EN"\r
+   "xhtml-symbol.ent">\r
+%HTMLsymbol;\r
+\r
+<!ENTITY % HTMLspecial PUBLIC\r
+   "-//W3C//ENTITIES Special for XHTML//EN"\r
+   "xhtml-special.ent">\r
+%HTMLspecial;\r
+\r
+<!--================== Imported Names ====================================-->\r
+\r
+<!ENTITY % ContentType "CDATA">\r
+    <!-- media type, as per [RFC2045] -->\r
+\r
+<!ENTITY % ContentTypes "CDATA">\r
+    <!-- comma-separated list of media types, as per [RFC2045] -->\r
+\r
+<!ENTITY % Charset "CDATA">\r
+    <!-- a character encoding, as per [RFC2045] -->\r
+\r
+<!ENTITY % Charsets "CDATA">\r
+    <!-- a space separated list of character encodings, as per [RFC2045] -->\r
+\r
+<!ENTITY % LanguageCode "NMTOKEN">\r
+    <!-- a language code, as per [RFC1766] -->\r
+\r
+<!ENTITY % Character "CDATA">\r
+    <!-- a single character from [ISO10646] -->\r
+\r
+<!ENTITY % Number "CDATA">\r
+    <!-- one or more digits -->\r
+\r
+<!ENTITY % LinkTypes "CDATA">\r
+    <!-- space-separated list of link types -->\r
+\r
+<!ENTITY % MediaDesc "CDATA">\r
+    <!-- single or comma-separated list of media descriptors -->\r
+\r
+<!ENTITY % URI "CDATA">\r
+    <!-- a Uniform Resource Identifier, see [RFC2396] -->\r
+\r
+<!ENTITY % UriList "CDATA">\r
+    <!-- a space separated list of Uniform Resource Identifiers -->\r
+\r
+<!ENTITY % Datetime "CDATA">\r
+    <!-- date and time information. ISO date format -->\r
+\r
+<!ENTITY % Script "CDATA">\r
+    <!-- script expression -->\r
+\r
+<!ENTITY % StyleSheet "CDATA">\r
+    <!-- style sheet data -->\r
+\r
+<!ENTITY % Text "CDATA">\r
+    <!-- used for titles etc. -->\r
+\r
+<!ENTITY % FrameTarget "NMTOKEN">\r
+    <!-- render in this frame -->\r
+\r
+<!ENTITY % Length "CDATA">\r
+    <!-- nn for pixels or nn% for percentage length -->\r
+\r
+<!ENTITY % MultiLength "CDATA">\r
+    <!-- pixel, percentage, or relative -->\r
+\r
+<!ENTITY % MultiLengths "CDATA">\r
+    <!-- comma-separated list of MultiLength -->\r
+\r
+<!ENTITY % Pixels "CDATA">\r
+    <!-- integer representing length in pixels -->\r
+\r
+<!-- these are used for image maps -->\r
+\r
+<!ENTITY % Shape "(rect|circle|poly|default)">\r
+\r
+<!ENTITY % Coords "CDATA">\r
+    <!-- comma separated list of lengths -->\r
+\r
+<!-- used for object, applet, img, input and iframe -->\r
+<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">\r
+\r
+<!-- a color using sRGB: #RRGGBB as Hex values -->\r
+<!ENTITY % Color "CDATA">\r
+\r
+<!-- There are also 16 widely known color names with their sRGB values:\r
+\r
+    Black  = #000000    Green  = #008000\r
+    Silver = #C0C0C0    Lime   = #00FF00\r
+    Gray   = #808080    Olive  = #808000\r
+    White  = #FFFFFF    Yellow = #FFFF00\r
+    Maroon = #800000    Navy   = #000080\r
+    Red    = #FF0000    Blue   = #0000FF\r
+    Purple = #800080    Teal   = #008080\r
+    Fuchsia= #FF00FF    Aqua   = #00FFFF\r
+-->\r
+\r
+<!--=================== Generic Attributes ===============================-->\r
+\r
+<!-- core attributes common to most elements\r
+  id       document-wide unique id\r
+  class    space separated list of classes\r
+  style    associated style info\r
+  title    advisory title/amplification\r
+-->\r
+<!ENTITY % coreattrs\r
+ "id          ID             #IMPLIED\r
+  class       CDATA          #IMPLIED\r
+  style       %StyleSheet;   #IMPLIED\r
+  title       %Text;         #IMPLIED"\r
+  >\r
+\r
+<!-- internationalization attributes\r
+  lang        language code (backwards compatible)\r
+  xml:lang    language code (as per XML 1.0 spec)\r
+  dir         direction for weak/neutral text\r
+-->\r
+<!ENTITY % i18n\r
+ "lang        %LanguageCode; #IMPLIED\r
+  xml:lang    %LanguageCode; #IMPLIED\r
+  dir         (ltr|rtl)      #IMPLIED"\r
+  >\r
+\r
+<!-- attributes for common UI events\r
+  onclick     a pointer button was clicked\r
+  ondblclick  a pointer button was double clicked\r
+  onmousedown a pointer button was pressed down\r
+  onmouseup   a pointer button was released\r
+  onmousemove a pointer was moved onto the element\r
+  onmouseout  a pointer was moved away from the element\r
+  onkeypress  a key was pressed and released\r
+  onkeydown   a key was pressed down\r
+  onkeyup     a key was released\r
+-->\r
+<!ENTITY % events\r
+ "onclick     %Script;       #IMPLIED\r
+  ondblclick  %Script;       #IMPLIED\r
+  onmousedown %Script;       #IMPLIED\r
+  onmouseup   %Script;       #IMPLIED\r
+  onmouseover %Script;       #IMPLIED\r
+  onmousemove %Script;       #IMPLIED\r
+  onmouseout  %Script;       #IMPLIED\r
+  onkeypress  %Script;       #IMPLIED\r
+  onkeydown   %Script;       #IMPLIED\r
+  onkeyup     %Script;       #IMPLIED"\r
+  >\r
+\r
+<!-- attributes for elements that can get the focus\r
+  accesskey   accessibility key character\r
+  tabindex    position in tabbing order\r
+  onfocus     the element got the focus\r
+  onblur      the element lost the focus\r
+-->\r
+<!ENTITY % focus\r
+ "accesskey   %Character;    #IMPLIED\r
+  tabindex    %Number;       #IMPLIED\r
+  onfocus     %Script;       #IMPLIED\r
+  onblur      %Script;       #IMPLIED"\r
+  >\r
+\r
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">\r
+\r
+<!-- text alignment for p, div, h1-h6. The default is\r
+     align="left" for ltr headings, "right" for rtl -->\r
+\r
+<!ENTITY % TextAlign "align (left|center|right) #IMPLIED">\r
+\r
+<!--=================== Text Elements ====================================-->\r
+\r
+<!ENTITY % special\r
+   "br | span | bdo | object | applet | img | map | iframe">\r
+\r
+<!ENTITY % fontstyle "tt | i | b | big | small | u\r
+                      | s | strike |font | basefont">\r
+\r
+<!ENTITY % phrase "em | strong | dfn | code | q | sub | sup |\r
+                   samp | kbd | var | cite | abbr | acronym">\r
+\r
+<!ENTITY % inline.forms "input | select | textarea | label | button">\r
+\r
+<!-- these can occur at block or inline level -->\r
+<!ENTITY % misc "ins | del | script | noscript">\r
+\r
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">\r
+\r
+<!-- %Inline; covers inline or "text-level" elements -->\r
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc;)*">\r
+\r
+<!--================== Block level elements ==============================-->\r
+\r
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">\r
+<!ENTITY % lists "ul | ol | dl | menu | dir">\r
+<!ENTITY % blocktext "pre | hr | blockquote | address | center | noframes">\r
+\r
+<!ENTITY % block\r
+    "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">\r
+\r
+<!ENTITY % Block "(%block; | form | %misc;)*">\r
+\r
+<!-- %Flow; mixes Block and Inline and is used for list items etc. -->\r
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">\r
+\r
+<!--================== Content models for exclusions =====================-->\r
+\r
+<!-- a elements use %Inline; excluding a -->\r
+\r
+<!ENTITY % a.content\r
+   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc;)*">\r
+\r
+<!-- pre uses %Inline excluding img, object, applet, big, small,\r
+     sub, sup, font, or basefont -->\r
+\r
+<!ENTITY % pre.content\r
+   "(#PCDATA | a | br | span | bdo | map | tt | i | b | u | s |\r
+      %phrase; | %inline.forms;)*">\r
+\r
+<!-- form uses %Flow; excluding form -->\r
+\r
+<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">\r
+\r
+<!-- button uses %Flow; but excludes a, form, form controls, iframe -->\r
+\r
+<!ENTITY % button.content\r
+   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |\r
+      table | br | span | bdo | object | applet | img | map |\r
+      %fontstyle; | %phrase; | %misc;)*">\r
+\r
+<!--================ Document Structure ==================================-->\r
+\r
+<!-- the namespace URI designates the document profile -->\r
+\r
+<!ELEMENT html (head, body)>\r
+<!ATTLIST html\r
+  %i18n;\r
+  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'\r
+  >\r
+\r
+<!--================ Document Head =======================================-->\r
+\r
+<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">\r
+\r
+<!-- content model is %head.misc; combined with a single\r
+     title and an optional base element in any order -->\r
+\r
+<!ELEMENT head (%head.misc;,\r
+     ((title, %head.misc;, (base, %head.misc;)?) |\r
+      (base, %head.misc;, (title, %head.misc;))))>\r
+\r
+<!ATTLIST head\r
+  %i18n;\r
+  profile     %URI;          #IMPLIED\r
+  >\r
+\r
+<!-- The title element is not considered part of the flow of text.\r
+       It should be displayed, for example as the page header or\r
+       window title. Exactly one title is required per document.\r
+    -->\r
+<!ELEMENT title (#PCDATA)>\r
+<!ATTLIST title %i18n;>\r
+\r
+<!-- document base URI -->\r
+\r
+<!ELEMENT base EMPTY>\r
+<!ATTLIST base\r
+  href        %URI;          #IMPLIED\r
+  target      %FrameTarget;  #IMPLIED\r
+  >\r
+\r
+<!-- generic metainformation -->\r
+<!ELEMENT meta EMPTY>\r
+<!ATTLIST meta\r
+  %i18n;\r
+  http-equiv  CDATA          #IMPLIED\r
+  name        CDATA          #IMPLIED\r
+  content     CDATA          #REQUIRED\r
+  scheme      CDATA          #IMPLIED\r
+  >\r
+\r
+<!--\r
+  Relationship values can be used in principle:\r
+\r
+   a) for document specific toolbars/menus when used\r
+      with the link element in document head e.g.\r
+        start, contents, previous, next, index, end, help\r
+   b) to link to a separate style sheet (rel="stylesheet")\r
+   c) to make a link to a script (rel="script")\r
+   d) by stylesheets to control how collections of\r
+      html nodes are rendered into printed documents\r
+   e) to make a link to a printable version of this document\r
+      e.g. a PostScript or PDF version (rel="alternate" media="print")\r
+-->\r
+\r
+<!ELEMENT link EMPTY>\r
+<!ATTLIST link\r
+  %attrs;\r
+  charset     %Charset;      #IMPLIED\r
+  href        %URI;          #IMPLIED\r
+  hreflang    %LanguageCode; #IMPLIED\r
+  type        %ContentType;  #IMPLIED\r
+  rel         %LinkTypes;    #IMPLIED\r
+  rev         %LinkTypes;    #IMPLIED\r
+  media       %MediaDesc;    #IMPLIED\r
+  target      %FrameTarget;  #IMPLIED\r
+  >\r
+\r
+<!-- style info, which may include CDATA sections -->\r
+<!ELEMENT style (#PCDATA)>\r
+<!ATTLIST style\r
+  %i18n;\r
+  type        %ContentType;  #REQUIRED\r
+  media       %MediaDesc;    #IMPLIED\r
+  title       %Text;         #IMPLIED\r
+  xml:space   (preserve)     #FIXED 'preserve'\r
+  >\r
+\r
+<!-- script statements, which may include CDATA sections -->\r
+<!ELEMENT script (#PCDATA)>\r
+<!ATTLIST script\r
+  charset     %Charset;      #IMPLIED\r
+  type        %ContentType;  #REQUIRED\r
+  language    CDATA          #IMPLIED\r
+  src         %URI;          #IMPLIED\r
+  defer       (defer)        #IMPLIED\r
+  xml:space   (preserve)     #FIXED 'preserve'\r
+  >\r
+\r
+<!-- alternate content container for non script-based rendering -->\r
+\r
+<!ELEMENT noscript %Flow;>\r
+<!ATTLIST noscript\r
+  %attrs;\r
+  >\r
+\r
+<!--======================= Frames =======================================-->\r
+\r
+<!-- inline subwindow -->\r
+\r
+<!ELEMENT iframe %Flow;>\r
+<!ATTLIST iframe\r
+  %coreattrs;\r
+  longdesc    %URI;          #IMPLIED\r
+  name        NMTOKEN        #IMPLIED\r
+  src         %URI;          #IMPLIED\r
+  frameborder (1|0)          "1"\r
+  marginwidth %Pixels;       #IMPLIED\r
+  marginheight %Pixels;      #IMPLIED\r
+  scrolling   (yes|no|auto)  "auto"\r
+  align       %ImgAlign;     #IMPLIED\r
+  height      %Length;       #IMPLIED\r
+  width       %Length;       #IMPLIED\r
+  >\r
+\r
+<!-- alternate content container for non frame-based rendering -->\r
+\r
+<!ELEMENT noframes %Flow;>\r
+<!ATTLIST noframes\r
+  %attrs;\r
+  >\r
+\r
+<!--=================== Document Body ====================================-->\r
+\r
+<!ELEMENT body %Flow;>\r
+<!ATTLIST body\r
+  %attrs;\r
+  onload      %Script;       #IMPLIED\r
+  onunload    %Script;       #IMPLIED\r
+  background  %URI;          #IMPLIED\r
+  bgcolor     %Color;        #IMPLIED\r
+  text        %Color;        #IMPLIED\r
+  link        %Color;        #IMPLIED\r
+  vlink       %Color;        #IMPLIED\r
+  alink       %Color;        #IMPLIED\r
+  >\r
+\r
+<!ELEMENT div %Flow;>  <!-- generic language/style container -->\r
+<!ATTLIST div\r
+  %attrs;\r
+  %TextAlign;\r
+  >\r
+\r
+<!--=================== Paragraphs =======================================-->\r
+\r
+<!ELEMENT p %Inline;>\r
+<!ATTLIST p\r
+  %attrs;\r
+  %TextAlign;\r
+  >\r
+\r
+<!--=================== Headings =========================================-->\r
+\r
+<!--\r
+  There are six levels of headings from h1 (the most important)\r
+  to h6 (the least important).\r
+-->\r
+\r
+<!ELEMENT h1  %Inline;>\r
+<!ATTLIST h1\r
+  %attrs;\r
+  %TextAlign;\r
+  >\r
+\r
+<!ELEMENT h2 %Inline;>\r
+<!ATTLIST h2\r
+  %attrs;\r
+  %TextAlign;\r
+  >\r
+\r
+<!ELEMENT h3 %Inline;>\r
+<!ATTLIST h3\r
+  %attrs;\r
+  %TextAlign;\r
+  >\r
+\r
+<!ELEMENT h4 %Inline;>\r
+<!ATTLIST h4\r
+  %attrs;\r
+  %TextAlign;\r
+  >\r
+\r
+<!ELEMENT h5 %Inline;>\r
+<!ATTLIST h5\r
+  %attrs;\r
+  %TextAlign;\r
+  >\r
+\r
+<!ELEMENT h6 %Inline;>\r
+<!ATTLIST h6\r
+  %attrs;\r
+  %TextAlign;\r
+  >\r
+\r
+<!--=================== Lists ============================================-->\r
+\r
+<!-- Unordered list bullet styles -->\r
+\r
+<!ENTITY % ULStyle "(disc|square|circle)">\r
+\r
+<!-- Unordered list -->\r
+\r
+<!ELEMENT ul (li)+>\r
+<!ATTLIST ul\r
+  %attrs;\r
+  type        %ULStyle;     #IMPLIED\r
+  compact     (compact)     #IMPLIED\r
+  >\r
+\r
+<!-- Ordered list numbering style\r
+\r
+    1   arabic numbers      1, 2, 3, ...\r
+    a   lower alpha         a, b, c, ...\r
+    A   upper alpha         A, B, C, ...\r
+    i   lower roman         i, ii, iii, ...\r
+    I   upper roman         I, II, III, ...\r
+\r
+    The style is applied to the sequence number which by default\r
+    is reset to 1 for the first list item in an ordered list.\r
+-->\r
+<!ENTITY % OLStyle "CDATA">\r
+\r
+<!-- Ordered (numbered) list -->\r
+\r
+<!ELEMENT ol (li)+>\r
+<!ATTLIST ol\r
+  %attrs;\r
+  type        %OLStyle;      #IMPLIED\r
+  compact     (compact)      #IMPLIED\r
+  start       %Number;       #IMPLIED\r
+  >\r
+\r
+<!-- single column list (DEPRECATED) --> \r
+<!ELEMENT menu (li)+>\r
+<!ATTLIST menu\r
+  %attrs;\r
+  compact     (compact)     #IMPLIED\r
+  >\r
+\r
+<!-- multiple column list (DEPRECATED) --> \r
+<!ELEMENT dir (li)+>\r
+<!ATTLIST dir\r
+  %attrs;\r
+  compact     (compact)     #IMPLIED\r
+  >\r
+\r
+<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->\r
+<!ENTITY % LIStyle "CDATA">\r
+\r
+<!-- list item -->\r
+\r
+<!ELEMENT li %Flow;>\r
+<!ATTLIST li\r
+  %attrs;\r
+  type        %LIStyle;      #IMPLIED\r
+  value       %Number;       #IMPLIED\r
+  >\r
+\r
+<!-- definition lists - dt for term, dd for its definition -->\r
+\r
+<!ELEMENT dl (dt|dd)+>\r
+<!ATTLIST dl\r
+  %attrs;\r
+  compact     (compact)      #IMPLIED\r
+  >\r
+\r
+<!ELEMENT dt %Inline;>\r
+<!ATTLIST dt\r
+  %attrs;\r
+  >\r
+\r
+<!ELEMENT dd %Flow;>\r
+<!ATTLIST dd\r
+  %attrs;\r
+  >\r
+\r
+<!--=================== Address ==========================================-->\r
+\r
+<!-- information on author -->\r
+\r
+<!ELEMENT address %Inline;>\r
+<!ATTLIST address\r
+  %attrs;\r
+  >\r
+\r
+<!--=================== Horizontal Rule ==================================-->\r
+\r
+<!ELEMENT hr EMPTY>\r
+<!ATTLIST hr\r
+  %attrs;\r
+  align       (left|center|right) #IMPLIED\r
+  noshade     (noshade)      #IMPLIED\r
+  size        %Pixels;       #IMPLIED\r
+  width       %Length;       #IMPLIED\r
+  >\r
+\r
+<!--=================== Preformatted Text ================================-->\r
+\r
+<!-- content is %Inline; excluding \r
+        "img|object|applet|big|small|sub|sup|font|basefont" -->\r
+\r
+<!ELEMENT pre %pre.content;>\r
+<!ATTLIST pre\r
+  %attrs;\r
+  width       %Number;      #IMPLIED\r
+  xml:space   (preserve)    #FIXED 'preserve'\r
+  >\r
+\r
+<!--=================== Block-like Quotes ================================-->\r
+\r
+<!ELEMENT blockquote %Flow;>\r
+<!ATTLIST blockquote\r
+  %attrs;\r
+  cite        %URI;          #IMPLIED\r
+  >\r
+\r
+<!--=================== Text alignment ===================================-->\r
+\r
+<!-- center content -->\r
+<!ELEMENT center %Flow;>\r
+<!ATTLIST center\r
+  %attrs;\r
+  >\r
+\r
+<!--=================== Inserted/Deleted Text ============================-->\r
+\r
+<!--\r
+  ins/del are allowed in block and inline content, but its\r
+  inappropriate to include block content within an ins element\r
+  occurring in inline content.\r
+-->\r
+<!ELEMENT ins %Flow;>\r
+<!ATTLIST ins\r
+  %attrs;\r
+  cite        %URI;          #IMPLIED\r
+  datetime    %Datetime;     #IMPLIED\r
+  >\r
+\r
+<!ELEMENT del %Flow;>\r
+<!ATTLIST del\r
+  %attrs;\r
+  cite        %URI;          #IMPLIED\r
+  datetime    %Datetime;     #IMPLIED\r
+  >\r
+\r
+<!--================== The Anchor Element ================================-->\r
+\r
+<!-- content is %Inline; except that anchors shouldn't be nested -->\r
+\r
+<!ELEMENT a %a.content;>\r
+<!ATTLIST a\r
+  %attrs;\r
+  charset     %Charset;      #IMPLIED\r
+  type        %ContentType;  #IMPLIED\r
+  name        NMTOKEN        #IMPLIED\r
+  href        %URI;          #IMPLIED\r
+  hreflang    %LanguageCode; #IMPLIED\r
+  rel         %LinkTypes;    #IMPLIED\r
+  rev         %LinkTypes;    #IMPLIED\r
+  accesskey   %Character;    #IMPLIED\r
+  shape       %Shape;        "rect"\r
+  coords      %Coords;       #IMPLIED\r
+  tabindex    %Number;       #IMPLIED\r
+  onfocus     %Script;       #IMPLIED\r
+  onblur      %Script;       #IMPLIED\r
+  target      %FrameTarget;  #IMPLIED\r
+  >\r
+\r
+<!--===================== Inline Elements ================================-->\r
+\r
+<!ELEMENT span %Inline;> <!-- generic language/style container -->\r
+<!ATTLIST span\r
+  %attrs;\r
+  >\r
+\r
+<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->\r
+<!ATTLIST bdo\r
+  %coreattrs;\r
+  %events;\r
+  lang        %LanguageCode; #IMPLIED\r
+  xml:lang    %LanguageCode; #IMPLIED\r
+  dir         (ltr|rtl)      #REQUIRED\r
+  >\r
+\r
+<!ELEMENT br EMPTY>   <!-- forced line break -->\r
+<!ATTLIST br\r
+  %coreattrs;\r
+  clear       (left|all|right|none) "none"\r
+  >\r
+\r
+<!ELEMENT em %Inline;>   <!-- emphasis -->\r
+<!ATTLIST em %attrs;>\r
+\r
+<!ELEMENT strong %Inline;>   <!-- strong emphasis -->\r
+<!ATTLIST strong %attrs;>\r
+\r
+<!ELEMENT dfn %Inline;>   <!-- definitional -->\r
+<!ATTLIST dfn %attrs;>\r
+\r
+<!ELEMENT code %Inline;>   <!-- program code -->\r
+<!ATTLIST code %attrs;>\r
+\r
+<!ELEMENT samp %Inline;>   <!-- sample -->\r
+<!ATTLIST samp %attrs;>\r
+\r
+<!ELEMENT kbd %Inline;>  <!-- something user would type -->\r
+<!ATTLIST kbd %attrs;>\r
+\r
+<!ELEMENT var %Inline;>   <!-- variable -->\r
+<!ATTLIST var %attrs;>\r
+\r
+<!ELEMENT cite %Inline;>   <!-- citation -->\r
+<!ATTLIST cite %attrs;>\r
+\r
+<!ELEMENT abbr %Inline;>   <!-- abbreviation -->\r
+<!ATTLIST abbr %attrs;>\r
+\r
+<!ELEMENT acronym %Inline;>   <!-- acronym -->\r
+<!ATTLIST acronym %attrs;>\r
+\r
+<!ELEMENT q %Inline;>   <!-- inlined quote -->\r
+<!ATTLIST q\r
+  %attrs;\r
+  cite        %URI;          #IMPLIED\r
+  >\r
+\r
+<!ELEMENT sub %Inline;> <!-- subscript -->\r
+<!ATTLIST sub %attrs;>\r
+\r
+<!ELEMENT sup %Inline;> <!-- superscript -->\r
+<!ATTLIST sup %attrs;>\r
+\r
+<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->\r
+<!ATTLIST tt %attrs;>\r
+\r
+<!ELEMENT i %Inline;>   <!-- italic font -->\r
+<!ATTLIST i %attrs;>\r
+\r
+<!ELEMENT b %Inline;>   <!-- bold font -->\r
+<!ATTLIST b %attrs;>\r
+\r
+<!ELEMENT big %Inline;>   <!-- bigger font -->\r
+<!ATTLIST big %attrs;>\r
+\r
+<!ELEMENT small %Inline;>   <!-- smaller font -->\r
+<!ATTLIST small %attrs;>\r
+\r
+<!ELEMENT u %Inline;>   <!-- underline -->\r
+<!ATTLIST u %attrs;>\r
+\r
+<!ELEMENT s %Inline;>   <!-- strike-through -->\r
+<!ATTLIST s %attrs;>\r
+\r
+<!ELEMENT strike %Inline;>   <!-- strike-through -->\r
+<!ATTLIST strike %attrs;>\r
+\r
+<!ELEMENT basefont EMPTY>  <!-- base font size -->\r
+<!ATTLIST basefont\r
+  id          ID             #IMPLIED\r
+  size        CDATA          #REQUIRED\r
+  color       %Color;        #IMPLIED\r
+  face        CDATA          #IMPLIED\r
+  >\r
+\r
+<!ELEMENT font %Inline;> <!-- local change to font -->\r
+<!ATTLIST font\r
+  %coreattrs;\r
+  %i18n;\r
+  size        CDATA          #IMPLIED\r
+  color       %Color;        #IMPLIED\r
+  face        CDATA          #IMPLIED\r
+  >\r
+\r
+<!--==================== Object ======================================-->\r
+<!--\r
+  object is used to embed objects as part of HTML pages.\r
+  param elements should precede other content. Parameters\r
+  can also be expressed as attribute/value pairs on the\r
+  object element itself when brevity is desired.\r
+-->\r
+\r
+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>\r
+<!ATTLIST object\r
+  %attrs;\r
+  declare     (declare)      #IMPLIED\r
+  classid     %URI;          #IMPLIED\r
+  codebase    %URI;          #IMPLIED\r
+  data        %URI;          #IMPLIED\r
+  type        %ContentType;  #IMPLIED\r
+  codetype    %ContentType;  #IMPLIED\r
+  archive     %UriList;      #IMPLIED\r
+  standby     %Text;         #IMPLIED\r
+  height      %Length;       #IMPLIED\r
+  width       %Length;       #IMPLIED\r
+  usemap      %URI;          #IMPLIED\r
+  name        NMTOKEN        #IMPLIED\r
+  tabindex    %Number;       #IMPLIED\r
+  align       %ImgAlign;     #IMPLIED\r
+  border      %Pixels;       #IMPLIED\r
+  hspace      %Pixels;       #IMPLIED\r
+  vspace      %Pixels;       #IMPLIED\r
+  >\r
+\r
+<!--\r
+  param is used to supply a named property value.\r
+  In XML it would seem natural to follow RDF and support an\r
+  abbreviated syntax where the param elements are replaced\r
+  by attribute value pairs on the object start tag.\r
+-->\r
+<!ELEMENT param EMPTY>\r
+<!ATTLIST param\r
+  id          ID             #IMPLIED\r
+  name        CDATA          #REQUIRED\r
+  value       CDATA          #IMPLIED\r
+  valuetype   (data|ref|object) "data"\r
+  type        %ContentType;  #IMPLIED\r
+  >\r
+\r
+<!--=================== Java applet ==================================-->\r
+<!--\r
+  One of code or object attributes must be present.\r
+  Place param elements before other content.\r
+-->\r
+<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>\r
+<!ATTLIST applet\r
+  %coreattrs;\r
+  codebase    %URI;          #IMPLIED\r
+  archive     CDATA          #IMPLIED\r
+  code        CDATA          #IMPLIED\r
+  object      CDATA          #IMPLIED\r
+  alt         %Text;         #IMPLIED\r
+  name        NMTOKEN        #IMPLIED\r
+  width       %Length;       #REQUIRED\r
+  height      %Length;       #REQUIRED\r
+  align       %ImgAlign;     #IMPLIED\r
+  hspace      %Pixels;       #IMPLIED\r
+  vspace      %Pixels;       #IMPLIED\r
+  >\r
+\r
+<!--=================== Images ===========================================-->\r
+\r
+<!--\r
+   To avoid accessibility problems for people who aren't\r
+   able to see the image, you should provide a text\r
+   description using the alt and longdesc attributes.\r
+   In addition, avoid the use of server-side image maps.\r
+-->\r
+\r
+<!ELEMENT img EMPTY>\r
+<!ATTLIST img\r
+  %attrs;\r
+  src         %URI;          #REQUIRED\r
+  alt         %Text;         #REQUIRED\r
+  name        NMTOKEN        #IMPLIED\r
+  longdesc    %URI;          #IMPLIED\r
+  height      %Length;       #IMPLIED\r
+  width       %Length;       #IMPLIED\r
+  usemap      %URI;          #IMPLIED\r
+  ismap       (ismap)        #IMPLIED\r
+  align       %ImgAlign;     #IMPLIED\r
+  border      %Length;       #IMPLIED\r
+  hspace      %Pixels;       #IMPLIED\r
+  vspace      %Pixels;       #IMPLIED\r
+  >\r
+\r
+<!-- usemap points to a map element which may be in this document\r
+  or an external document, although the latter is not widely supported -->\r
+\r
+<!--================== Client-side image maps ============================-->\r
+\r
+<!-- These can be placed in the same document or grouped in a\r
+     separate document although this isn't yet widely supported -->\r
+\r
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>\r
+<!ATTLIST map\r
+  %i18n;\r
+  %events;\r
+  id          ID             #REQUIRED\r
+  class       CDATA          #IMPLIED\r
+  style       %StyleSheet;   #IMPLIED\r
+  title       %Text;         #IMPLIED\r
+  name        CDATA          #IMPLIED\r
+  >\r
+\r
+<!ELEMENT area EMPTY>\r
+<!ATTLIST area\r
+  %attrs;\r
+  shape       %Shape;        "rect"\r
+  coords      %Coords;       #IMPLIED\r
+  href        %URI;          #IMPLIED\r
+  nohref      (nohref)       #IMPLIED\r
+  alt         %Text;         #REQUIRED\r
+  tabindex    %Number;       #IMPLIED\r
+  accesskey   %Character;    #IMPLIED\r
+  onfocus     %Script;       #IMPLIED\r
+  onblur      %Script;       #IMPLIED\r
+  target      %FrameTarget;  #IMPLIED\r
+  >\r
+\r
+<!--================ Forms ===============================================-->\r
+\r
+<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->\r
+\r
+<!ATTLIST form\r
+  %attrs;\r
+  action      %URI;          #REQUIRED\r
+  method      (get|post)     "get"\r
+  name        NMTOKEN        #IMPLIED\r
+  enctype     %ContentType;  "application/x-www-form-urlencoded"\r
+  onsubmit    %Script;       #IMPLIED\r
+  onreset     %Script;       #IMPLIED\r
+  accept      %ContentTypes; #IMPLIED\r
+  accept-charset %Charsets;  #IMPLIED\r
+  target      %FrameTarget;  #IMPLIED\r
+  >\r
+\r
+<!--\r
+  Each label must not contain more than ONE field\r
+  Label elements shouldn't be nested.\r
+-->\r
+<!ELEMENT label %Inline;>\r
+<!ATTLIST label\r
+  %attrs;\r
+  for         IDREF          #IMPLIED\r
+  accesskey   %Character;    #IMPLIED\r
+  onfocus     %Script;       #IMPLIED\r
+  onblur      %Script;       #IMPLIED\r
+  >\r
+\r
+<!ENTITY % InputType\r
+  "(text | password | checkbox |\r
+    radio | submit | reset |\r
+    file | hidden | image | button)"\r
+   >\r
+\r
+<!-- the name attribute is required for all but submit & reset -->\r
+\r
+<!ELEMENT input EMPTY>     <!-- form control -->\r
+<!ATTLIST input\r
+  %attrs;\r
+  type        %InputType;    "text"\r
+  name        CDATA          #IMPLIED\r
+  value       CDATA          #IMPLIED\r
+  checked     (checked)      #IMPLIED\r
+  disabled    (disabled)     #IMPLIED\r
+  readonly    (readonly)     #IMPLIED\r
+  size        CDATA          #IMPLIED\r
+  maxlength   %Number;       #IMPLIED\r
+  src         %URI;          #IMPLIED\r
+  alt         CDATA          #IMPLIED\r
+  usemap      %URI;          #IMPLIED\r
+  tabindex    %Number;       #IMPLIED\r
+  accesskey   %Character;    #IMPLIED\r
+  onfocus     %Script;       #IMPLIED\r
+  onblur      %Script;       #IMPLIED\r
+  onselect    %Script;       #IMPLIED\r
+  onchange    %Script;       #IMPLIED\r
+  accept      %ContentTypes; #IMPLIED\r
+  align       %ImgAlign;     #IMPLIED\r
+  >\r
+\r
+<!ELEMENT select (optgroup|option)+>  <!-- option selector -->\r
+<!ATTLIST select\r
+  %attrs;\r
+  name        CDATA          #IMPLIED\r
+  size        %Number;       #IMPLIED\r
+  multiple    (multiple)     #IMPLIED\r
+  disabled    (disabled)     #IMPLIED\r
+  tabindex    %Number;       #IMPLIED\r
+  onfocus     %Script;       #IMPLIED\r
+  onblur      %Script;       #IMPLIED\r
+  onchange    %Script;       #IMPLIED\r
+  >\r
+\r
+<!ELEMENT optgroup (option)+>   <!-- option group -->\r
+<!ATTLIST optgroup\r
+  %attrs;\r
+  disabled    (disabled)     #IMPLIED\r
+  label       %Text;         #REQUIRED\r
+  >\r
+\r
+<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->\r
+<!ATTLIST option\r
+  %attrs;\r
+  selected    (selected)     #IMPLIED\r
+  disabled    (disabled)     #IMPLIED\r
+  label       %Text;         #IMPLIED\r
+  value       CDATA          #IMPLIED\r
+  >\r
+\r
+<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->\r
+<!ATTLIST textarea\r
+  %attrs;\r
+  name        CDATA          #IMPLIED\r
+  rows        %Number;       #REQUIRED\r
+  cols        %Number;       #REQUIRED\r
+  disabled    (disabled)     #IMPLIED\r
+  readonly    (readonly)     #IMPLIED\r
+  tabindex    %Number;       #IMPLIED\r
+  accesskey   %Character;    #IMPLIED\r
+  onfocus     %Script;       #IMPLIED\r
+  onblur      %Script;       #IMPLIED\r
+  onselect    %Script;       #IMPLIED\r
+  onchange    %Script;       #IMPLIED\r
+  >\r
+\r
+<!--\r
+  The fieldset element is used to group form fields.\r
+  Only one legend element should occur in the content\r
+  and if present should only be preceded by whitespace.\r
+-->\r
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>\r
+<!ATTLIST fieldset\r
+  %attrs;\r
+  >\r
+\r
+<!ENTITY % LAlign "(top|bottom|left|right)">\r
+\r
+<!ELEMENT legend %Inline;>     <!-- fieldset label -->\r
+<!ATTLIST legend\r
+  %attrs;\r
+  accesskey   %Character;    #IMPLIED\r
+  align       %LAlign;       #IMPLIED\r
+  >\r
+\r
+<!--\r
+ Content is %Flow; excluding a, form, form controls, iframe\r
+--> \r
+<!ELEMENT button %button.content;>  <!-- push button -->\r
+<!ATTLIST button\r
+  %attrs;\r
+  name        CDATA          #IMPLIED\r
+  value       CDATA          #IMPLIED\r
+  type        (button|submit|reset) "submit"\r
+  disabled    (disabled)     #IMPLIED\r
+  tabindex    %Number;       #IMPLIED\r
+  accesskey   %Character;    #IMPLIED\r
+  onfocus     %Script;       #IMPLIED\r
+  onblur      %Script;       #IMPLIED\r
+  >\r
+\r
+<!-- single-line text input control (DEPRECATED) -->\r
+<!ELEMENT isindex EMPTY>\r
+<!ATTLIST isindex\r
+  %coreattrs;\r
+  %i18n;\r
+  prompt      %Text;         #IMPLIED\r
+  >\r
+\r
+<!--======================= Tables =======================================-->\r
+\r
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->\r
+\r
+<!--\r
+ The border attribute sets the thickness of the frame around the\r
+ table. The default units are screen pixels.\r
+\r
+ The frame attribute specifies which parts of the frame around\r
+ the table should be rendered. The values are not the same as\r
+ CALS to avoid a name clash with the valign attribute.\r
+-->\r
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">\r
+\r
+<!--\r
+ The rules attribute defines which rules to draw between cells:\r
+\r
+ If rules is absent then assume:\r
+     "none" if border is absent or border="0" otherwise "all"\r
+-->\r
+\r
+<!ENTITY % TRules "(none | groups | rows | cols | all)">\r
+  \r
+<!-- horizontal placement of table relative to document -->\r
+<!ENTITY % TAlign "(left|center|right)">\r
+\r
+<!-- horizontal alignment attributes for cell contents\r
+\r
+  char        alignment char, e.g. char=':'\r
+  charoff     offset for alignment char\r
+-->\r
+<!ENTITY % cellhalign\r
+  "align      (left|center|right|justify|char) #IMPLIED\r
+   char       %Character;    #IMPLIED\r
+   charoff    %Length;       #IMPLIED"\r
+  >\r
+\r
+<!-- vertical alignment attributes for cell contents -->\r
+<!ENTITY % cellvalign\r
+  "valign     (top|middle|bottom|baseline) #IMPLIED"\r
+  >\r
+\r
+<!ELEMENT table\r
+     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>\r
+<!ELEMENT caption  %Inline;>\r
+<!ELEMENT thead    (tr)+>\r
+<!ELEMENT tfoot    (tr)+>\r
+<!ELEMENT tbody    (tr)+>\r
+<!ELEMENT colgroup (col)*>\r
+<!ELEMENT col      EMPTY>\r
+<!ELEMENT tr       (th|td)+>\r
+<!ELEMENT th       %Flow;>\r
+<!ELEMENT td       %Flow;>\r
+\r
+<!ATTLIST table\r
+  %attrs;\r
+  summary     %Text;         #IMPLIED\r
+  width       %Length;       #IMPLIED\r
+  border      %Pixels;       #IMPLIED\r
+  frame       %TFrame;       #IMPLIED\r
+  rules       %TRules;       #IMPLIED\r
+  cellspacing %Length;       #IMPLIED\r
+  cellpadding %Length;       #IMPLIED\r
+  align       %TAlign;       #IMPLIED\r
+  bgcolor     %Color;        #IMPLIED\r
+  >\r
+\r
+<!ENTITY % CAlign "(top|bottom|left|right)">\r
+\r
+<!ATTLIST caption\r
+  %attrs;\r
+  align       %CAlign;       #IMPLIED\r
+  >\r
+\r
+<!--\r
+colgroup groups a set of col elements. It allows you to group\r
+several semantically related columns together.\r
+-->\r
+<!ATTLIST colgroup\r
+  %attrs;\r
+  span        %Number;       "1"\r
+  width       %MultiLength;  #IMPLIED\r
+  %cellhalign;\r
+  %cellvalign;\r
+  >\r
+\r
+<!--\r
+ col elements define the alignment properties for cells in\r
+ one or more columns.\r
+\r
+ The width attribute specifies the width of the columns, e.g.\r
+\r
+     width=64        width in screen pixels\r
+     width=0.5*      relative width of 0.5\r
+\r
+ The span attribute causes the attributes of one\r
+ col element to apply to more than one column.\r
+-->\r
+<!ATTLIST col\r
+  %attrs;\r
+  span        %Number;       "1"\r
+  width       %MultiLength;  #IMPLIED\r
+  %cellhalign;\r
+  %cellvalign;\r
+  >\r
+\r
+<!--\r
+    Use thead to duplicate headers when breaking table\r
+    across page boundaries, or for static headers when\r
+    tbody sections are rendered in scrolling panel.\r
+\r
+    Use tfoot to duplicate footers when breaking table\r
+    across page boundaries, or for static footers when\r
+    tbody sections are rendered in scrolling panel.\r
+\r
+    Use multiple tbody sections when rules are needed\r
+    between groups of table rows.\r
+-->\r
+<!ATTLIST thead\r
+  %attrs;\r
+  %cellhalign;\r
+  %cellvalign;\r
+  >\r
+\r
+<!ATTLIST tfoot\r
+  %attrs;\r
+  %cellhalign;\r
+  %cellvalign;\r
+  >\r
+\r
+<!ATTLIST tbody\r
+  %attrs;\r
+  %cellhalign;\r
+  %cellvalign;\r
+  >\r
+\r
+<!ATTLIST tr\r
+  %attrs;\r
+  %cellhalign;\r
+  %cellvalign;\r
+  bgcolor     %Color;        #IMPLIED\r
+  >\r
+\r
+<!-- Scope is simpler than headers attribute for common tables -->\r
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">\r
+\r
+<!-- th is for headers, td for data and for cells acting as both -->\r
+\r
+<!ATTLIST th\r
+  %attrs;\r
+  abbr        %Text;         #IMPLIED\r
+  axis        CDATA          #IMPLIED\r
+  headers     IDREFS         #IMPLIED\r
+  scope       %Scope;        #IMPLIED\r
+  rowspan     %Number;       "1"\r
+  colspan     %Number;       "1"\r
+  %cellhalign;\r
+  %cellvalign;\r
+  nowrap      (nowrap)       #IMPLIED\r
+  bgcolor     %Color;        #IMPLIED\r
+  width       %Pixels;       #IMPLIED\r
+  height      %Pixels;       #IMPLIED\r
+  >\r
+\r
+<!ATTLIST td\r
+  %attrs;\r
+  abbr        %Text;         #IMPLIED\r
+  axis        CDATA          #IMPLIED\r
+  headers     IDREFS         #IMPLIED\r
+  scope       %Scope;        #IMPLIED\r
+  rowspan     %Number;       "1"\r
+  colspan     %Number;       "1"\r
+  %cellhalign;\r
+  %cellvalign;\r
+  nowrap      (nowrap)       #IMPLIED\r
+  bgcolor     %Color;        #IMPLIED\r
+  width       %Pixels;       #IMPLIED\r
+  height      %Pixels;       #IMPLIED\r
+  >\r
+\r