home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 October / Chip_2001-10_cd1.bin / sharewar / htxtbldr / HB1.exe / HB10A.CAB / oebdoc1.dtd < prev    next >
Encoding:
Text File  |  2000-08-08  |  15.1 KB  |  528 lines

  1. <!--
  2.     Document Type Definition for the Open eBook document version 1.0.
  3.     
  4.     Version:  1.0
  5.     Revision: 19990916-x
  6.  
  7.     Authors:  Gunter Hille <hille@abc.de>
  8.               Ben Trafford <bent@exemplary.net>
  9.               Garret Wilson <garret@globalmentor.com>
  10.                 
  11.     Usage:
  12.         <?xml version="1.0"?>
  13.         <!DOCTYPE html PUBLIC 
  14.           "+//ISBN 0-9673008-1-9//DTD OEB 1.0 Document//EN"
  15.           "http://openebook.org/dtds/oeb-1.0/oebdoc10.dtd">
  16.         <html>
  17.         ...
  18.         </html>
  19.         
  20.     References:
  21.       This DTD has been derived from XHTML 1.0 and HTML 4.0.
  22.       It is a pure subset of neither.
  23.       Transitional XHTML 1.0 DTD at http://www.w3.org/TR/xhtml1/DTD/transitional.dtd
  24. -->
  25.  
  26. <!-- ******** Character Mnemonic Entities ******** -->
  27.  
  28. <!-- OEB supports all XHTML mnemonics, but uses only one entity file. -->
  29. <!ENTITY % OEBEntities PUBLIC "+//ISBN 0-9673008-1-9//DTD OEB 1.0 Entities//EN" "oeb1.ent">
  30. %OEBEntities;
  31.  
  32. <!-- ******** Attribute Types ******** -->
  33.  
  34. <!-- Color: A color specification. -->
  35. <!ENTITY % Color "CDATA">
  36.  
  37. <!-- Coords: Comma-separated coordinates for image maps. -->
  38. <!ENTITY % Coords "CDATA">
  39.  
  40. <!-- LanguageCode: An RFC1766 language code. -->
  41. <!ENTITY % LanguageCode "NMTOKEN">
  42.  
  43. <!-- Length: Number of pixels or percentage in one dimension. -->
  44. <!ENTITY % Length "CDATA">
  45.  
  46. <!-- LinkTypes: List of types of document link types, used by "rel" and "rev". -->
  47. <!ENTITY % LinkTypes "CDATA">
  48.  
  49. <!-- MediaType: An RFC2045 media type. -->
  50. <!ENTITY % MediaType "CDATA">
  51.  
  52. <!-- MediaDest: Intended media destination. -->
  53. <!ENTITY % MediaDest "CDATA">
  54.  
  55. <!-- A string of one or more digits. -->
  56. <!ENTITY % Number "CDATA">
  57.  
  58. <!-- ObjectAlign: Non-text multidirectional alignment options. -->
  59. <!ENTITY % ObjectAlign "(top|middle|bottom|left|right)">
  60.  
  61. <!-- ObjectHAlign: Horizontal non-text alignment options. -->
  62. <!ENTITY % ObjectHAlign "(left|center|right)">
  63.  
  64. <!-- Shape: Shapes available for image maps. -->
  65. <!ENTITY % Shape "(rect|circle|poly|default)">
  66.  
  67. <!-- StyleData: Style data (e.g. CSS) -->
  68. <!ENTITY % StyleData "CDATA">
  69.  
  70. <!-- Text: Character data for such attributes as "title" and "alt". -->
  71. <!ENTITY % Text "CDATA">
  72.  
  73. <!-- TextHAlign: Horizontal text alignment options. -->
  74. <!ENTITY % TextHAlign "(left|center|right|justify)">
  75.  
  76. <!-- TextVAlign: Vertical text alignment options. -->
  77. <!ENTITY % TextVAlign "(top|middle|bottom)">
  78.  
  79. <!-- URI: An RFC2396 Uniform Resource Identifier. -->
  80. <!ENTITY % URI "CDATA">
  81.  
  82. <!-- A list of URIs separated by spaces. -->
  83. <!ENTITY % URIList "CDATA">
  84.  
  85. <!-- ******** Common Attributes ******** -->
  86.  
  87. <!-- InternationalAttributes: Attributes for internationalization.
  88.   xml:lang:     XML language code.
  89. -->
  90. <!ENTITY % InternationalAttributes
  91.   "xml:lang %LanguageCode; #IMPLIED"
  92. >
  93.  
  94. <!-- CoreAttributes: Most common attributes used by many elements.
  95.   id:       ID unique to the entire document.
  96.   class:    List of classes.
  97.   style:    Style data.
  98.   title:    Title or additional information.  
  99. -->
  100. <!ENTITY % CoreAttributes
  101.   "id     ID            #IMPLIED
  102.   class   CDATA         #IMPLIED
  103.   style   %StyleData;   #IMPLIED
  104.   title   %Text;        #IMPLIED"
  105. >
  106.  
  107. <!-- CommonAttributes: Common attributes used by many elements.
  108.   CoreAttributes:   Most common attributes.
  109.   InternationalAttributes:         Internationalization attributes.
  110. -->
  111. <!ENTITY % CommonAttributes
  112.   "%CoreAttributes;
  113.   %InternationalAttributes;"
  114. >
  115.  
  116. <!-- ******** Common Elements ******** -->
  117.  
  118. <!-- HeadingElements: <h1>..<h6> -->
  119. <!ENTITY % HeadingElements "h1|h2|h3|h4|h5|h6">
  120.  
  121. <!-- ListElements: Elements for lists. -->
  122. <!ENTITY % ListElements "ul|ol|dl">
  123.  
  124. <!-- PhraseElements: Inline elements that contain a phrase of text.
  125.   Note that while in current HTML implementations many PhraseElements
  126.   are rendered identically to FontStyleElements counterparts (such as
  127.   <em> and <i>, the former do not connotate rendering styles.
  128. -->
  129. <!ENTITY % PhraseElements
  130.   "em | strong | dfn | code | q | sub | sup | samp | kbd | var | cite"
  131. >
  132.  
  133. <!-- FontStyleElements: Inline font style elements.
  134.   Note that many FontStyleElements have been deprecated in favor of
  135.   their PhraseElements counterparts.
  136. -->
  137. <!ENTITY % FontStyleElements
  138.   "tt | i | b | big | small | u | s | strike |font"
  139. >
  140.  
  141. <!-- BlockElements: Elements at the block level. -->
  142. <!ENTITY % BlockElements
  143.   "%HeadingElements; | %ListElements; | p | pre | hr | blockquote
  144.   | center | div | table"
  145. >
  146.  
  147. <!-- InlineElements: Elements that are inline. -->
  148. <!ENTITY % InlineElements
  149.   "%PhraseElements; | %FontStyleElements; | a | br | span | img | object | map"
  150. >
  151.  
  152. <!-- BlockOrInlineElements: Elements that can be either block or inline. -->
  153. <!ENTITY % BlockOrInlineElements "script">
  154.  
  155. <!-- %FlowElements: Both block and inline elements, including those that can be both. -->
  156. <!ENTITY % FlowElements "%BlockElements; | %InlineElements; | %BlockOrInlineElements;">
  157.  
  158. <!-- ******** OEB Document Elements ******** -->
  159.  
  160. <!ELEMENT br EMPTY>
  161. <!ATTLIST br
  162.   %CoreAttributes;
  163.   clear (left|all|right|none) "none"      
  164. >
  165.  
  166. <!ELEMENT span (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  167. <!ATTLIST span %CommonAttributes;>
  168.  
  169. <!ELEMENT b (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  170. <!ATTLIST b %CommonAttributes;>
  171.  
  172. <!ELEMENT big (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  173. <!ATTLIST big %CommonAttributes;>
  174.  
  175. <!ELEMENT i (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  176. <!ATTLIST i %CommonAttributes;>
  177.  
  178. <!ELEMENT small (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  179. <!ATTLIST small %CommonAttributes;>
  180.  
  181. <!ELEMENT sub (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  182. <!ATTLIST sub %CommonAttributes;>
  183.  
  184. <!ELEMENT sup (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  185. <!ATTLIST sup %CommonAttributes;>
  186.  
  187. <!ELEMENT tt (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  188. <!ATTLIST tt %CommonAttributes;>
  189.  
  190. <!ELEMENT font (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  191. <!ATTLIST font
  192.   %CommonAttributes;
  193.   size    CDATA     #IMPLIED
  194.   color   %Color;   #IMPLIED
  195.   face    CDATA     #IMPLIED
  196. >
  197.  
  198. <!ELEMENT s (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  199. <!ATTLIST s %CommonAttributes;>
  200.  
  201. <!ELEMENT strike (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  202. <!ATTLIST strike %CommonAttributes;>
  203.  
  204. <!ELEMENT u (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  205. <!ATTLIST u %CommonAttributes;>
  206.  
  207. <!ELEMENT cite (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  208. <!ATTLIST cite %CommonAttributes;>
  209.  
  210. <!ELEMENT code (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  211. <!ATTLIST code %CommonAttributes;>
  212.  
  213. <!ELEMENT dfn (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  214. <!ATTLIST dfn %CommonAttributes;>
  215.  
  216. <!ELEMENT em (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  217. <!ATTLIST em %CommonAttributes;>
  218.  
  219. <!ELEMENT kbd (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  220. <!ATTLIST kbd %CommonAttributes;>
  221.  
  222. <!ELEMENT q (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  223. <!ATTLIST q
  224.   %CommonAttributes;
  225.   cite %URI; #IMPLIED
  226. >
  227.  
  228. <!ELEMENT samp (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  229. <!ATTLIST samp %CommonAttributes;>
  230.  
  231. <!ELEMENT strong (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  232. <!ATTLIST strong %CommonAttributes;>
  233.  
  234. <!ELEMENT var (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  235. <!ATTLIST var %CommonAttributes;>
  236.  
  237. <!ELEMENT div (#PCDATA | %FlowElements;)*>
  238. <!ATTLIST div
  239.   %CommonAttributes;
  240.   align %TextHAlign; #IMPLIED
  241. >
  242.  
  243. <!ELEMENT p (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  244. <!ATTLIST p
  245.   %CommonAttributes;
  246.   align %TextHAlign; #IMPLIED
  247. >
  248.  
  249. <!ELEMENT hr EMPTY >
  250. <!ATTLIST hr 
  251.   %CommonAttributes;
  252.   align   %ObjectHAlign;  #IMPLIED 
  253.   size    CDATA           #IMPLIED 
  254.   width   %Length;        #IMPLIED 
  255. >
  256.  
  257. <!ELEMENT center (#PCDATA | %FlowElements;)*>
  258. <!ATTLIST center %CommonAttributes;>
  259.  
  260. <!ELEMENT blockquote (#PCDATA | %FlowElements;)*>
  261. <!ATTLIST blockquote
  262.   %CommonAttributes;
  263.   cite %URI; #IMPLIED
  264. >
  265.  
  266. <!ELEMENT pre
  267.   (#PCDATA | %PhraseElements; | a | br | span | map | tt | i | b | u | s)*
  268. >
  269. <!ATTLIST pre 
  270.   %CommonAttributes;
  271.   xml:space CDATA #FIXED "preserve"    
  272.  
  273. <!-- Heading Elements -->
  274.  
  275. <!ELEMENT h1 (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  276. <!ATTLIST h1
  277.   %CommonAttributes;
  278.   align %TextHAlign; #IMPLIED
  279. >
  280.  
  281. <!ELEMENT h2 (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  282. <!ATTLIST h2
  283.   %CommonAttributes;
  284.   align %TextHAlign; #IMPLIED
  285. >
  286.  
  287. <!ELEMENT h3 (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  288. <!ATTLIST h3
  289.   %CommonAttributes;
  290.   align %TextHAlign; #IMPLIED
  291. >
  292.  
  293. <!ELEMENT h4 (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  294. <!ATTLIST h4
  295.   %CommonAttributes;
  296.   align %TextHAlign; #IMPLIED
  297. >
  298.  
  299. <!ELEMENT h5 (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  300. <!ATTLIST h5
  301.   %CommonAttributes;
  302.   align %TextHAlign; #IMPLIED
  303. >
  304.  
  305. <!ELEMENT h6 (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  306. <!ATTLIST h6
  307.   %CommonAttributes;
  308.   align %TextHAlign; #IMPLIED
  309. >
  310.  
  311. <!ELEMENT script (#PCDATA)>
  312. <!ATTLIST script
  313.   xml:space CDATA #FIXED "preserve"
  314. >
  315.  
  316. <!ELEMENT style (#PCDATA)>
  317. <!ATTLIST style
  318.   %InternationalAttributes;
  319.   type        %MediaType;   #FIXED  "text/x-oeb1-css"
  320.   title       %Text;        #IMPLIED
  321.   xml:space   CDATA         #FIXED  "preserve"
  322. >
  323.  
  324. <!ELEMENT img  EMPTY >
  325. <!ATTLIST img
  326.   %CommonAttributes;
  327.   align     %ObjectAlign;   #IMPLIED
  328.   border    CDATA           #IMPLIED
  329.   hspace    CDATA           #IMPLIED
  330.   vspace    CDATA           #IMPLIED
  331.   src       %URI;           #REQUIRED
  332.   alt       %Text;          #REQUIRED
  333.   longdesc  %URI;           #IMPLIED
  334.   height    %Length;        #IMPLIED
  335.   width     %Length;        #IMPLIED
  336.   usemap    %URI;           #IMPLIED
  337. >
  338.  
  339. <!ELEMENT a
  340.    (#PCDATA | %FontStyleElements; | %PhraseElements; | %BlockOrInlineElements;
  341.    | br | span | object | img | map)*
  342. >
  343. <!ATTLIST a
  344.   %CommonAttributes;
  345.   xml:link        CDATA         #FIXED   "simple" 
  346.   xlink:show      CDATA         #FIXED   "replace"
  347.   xlink:actuate   CDATA         #FIXED   "user"
  348.   name            NMTOKEN       #IMPLIED
  349.   href            %URI;         #IMPLIED
  350.   rel             %LinkTypes;   #IMPLIED
  351.   rev             %LinkTypes;   #IMPLIED
  352. >
  353.  
  354. <!ELEMENT base  EMPTY>
  355. <!ATTLIST base 
  356.   href %URI; #REQUIRED
  357.  
  358. <!ELEMENT link  EMPTY>
  359. <!ATTLIST link
  360.   %CommonAttributes;
  361.   href    %URI;         #IMPLIED
  362.   type    %MediaType;   #REQUIRED
  363.   rel     %LinkTypes;   #IMPLIED
  364.   rev     %LinkTypes;   #IMPLIED
  365.   media   %MediaDest;   #IMPLIED
  366. >
  367.  
  368. <!-- The CommonAttributes entity is not used here because in this case
  369.   the "id" attribute is required. -->
  370. <!ELEMENT map ((%BlockElements; | %BlockOrInlineElements;)+ | area+)>
  371. <!ATTLIST map
  372.   %InternationalAttributes;
  373.   id      ID            #REQUIRED
  374.   class   CDATA         #IMPLIED
  375.   style   %StyleData;   #IMPLIED
  376.   title   %Text;        #IMPLIED
  377.   name    NMTOKEN       #IMPLIED
  378. >
  379.  
  380. <!ELEMENT area  EMPTY>
  381. <!ATTLIST area
  382.   %CommonAttributes;
  383.   href    %URI;     #IMPLIED
  384.   shape   %Shape;   "rect"
  385.   coords  %Coords;  #IMPLIED
  386.   nohref  (nohref)  #IMPLIED
  387.   alt     %Text;    #REQUIRED
  388. >
  389.  
  390. <!ELEMENT object
  391.   (#PCDATA | %BlockElements; | %InlineElements; | %BlockOrInlineElements; | param)*
  392. >
  393. <!ATTLIST object
  394.   %CommonAttributes;
  395.   classid   %URI;           #IMPLIED
  396.   codebase  %URI;           #IMPLIED
  397.   data      %URI;           #IMPLIED
  398.   type      %MediaType;     #IMPLIED
  399.   codetype  %MediaType;     #IMPLIED
  400.   archive   %URIList;       #IMPLIED
  401.   height    %Length;        #IMPLIED
  402.   width     %Length;        #IMPLIED
  403.   usemap    %URI;           #IMPLIED
  404.   align     %ObjectAlign;   #IMPLIED
  405.   border    CDATA           #IMPLIED
  406.   hspace    CDATA           #IMPLIED
  407.   vspace    CDATA           #IMPLIED
  408. >
  409.  
  410. <!ELEMENT param EMPTY >
  411. <!ATTLIST param
  412.   id          ID                  #IMPLIED
  413.   name        CDATA               #REQUIRED
  414.   value       CDATA               #IMPLIED
  415.   valuetype   (data|ref|object)   "data"
  416.   type        %MediaType;         #IMPLIED
  417. >
  418.  
  419. <!ELEMENT dl  (dt|dd)+ >
  420. <!ATTLIST dl %CommonAttributes;>
  421.  
  422. <!ELEMENT dt (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  423. <!ATTLIST dt %CommonAttributes;>
  424.  
  425. <!ELEMENT dd (#PCDATA | %FlowElements;)*>
  426. <!ATTLIST dd %CommonAttributes;>
  427.  
  428. <!ELEMENT ol (li)+ >
  429. <!ATTLIST ol
  430.   %CommonAttributes;
  431.   type (1|a|A|i|I) #IMPLIED
  432. >
  433.  
  434. <!ELEMENT ul (li)+>
  435. <!ATTLIST ul %CommonAttributes;>
  436.  
  437. <!ELEMENT li (#PCDATA | %FlowElements;)*>
  438. <!ATTLIST li %CommonAttributes;>
  439.  
  440. <!ELEMENT table  (caption?, tr+) >
  441. <!ATTLIST table
  442.   %CommonAttributes;
  443.   summary       %Text;          #IMPLIED
  444.   width         %Length;        #IMPLIED
  445.   border        CDATA           #IMPLIED
  446.   cellspacing   %Length;        #IMPLIED
  447.   cellpadding   %Length;        #IMPLIED
  448.   align         %ObjectHAlign;  #IMPLIED
  449.   bgcolor       %Color;         #IMPLIED
  450. >
  451.  
  452. <!ELEMENT caption (#PCDATA | %InlineElements; | %BlockOrInlineElements;)*>
  453. <!ATTLIST caption %CommonAttributes;>
  454.  
  455. <!ELEMENT tr  ( th | td )+ >
  456. <!ATTLIST tr
  457.   %CommonAttributes;
  458.   valign    %TextVAlign;    #IMPLIED
  459.   bgcolor   %Color;         #IMPLIED
  460. >
  461.  
  462. <!ELEMENT th (#PCDATA | %FlowElements;)*>
  463. <!ATTLIST th
  464.   %CommonAttributes;
  465.   abbr      %Text;          #IMPLIED
  466.   rowspan   %Number;        "1"
  467.   colspan   %Number;        "1"
  468.   align     %TextHAlign;    #IMPLIED
  469.   valign    %TextVAlign;    #IMPLIED
  470.   nowrap    (nowrap)        #IMPLIED
  471.   bgcolor   %Color;         #IMPLIED
  472.   width     %Length;        #IMPLIED
  473.   height    %Length;        #IMPLIED
  474. >
  475.  
  476. <!ELEMENT td (#PCDATA | %FlowElements;)*>
  477. <!ATTLIST td
  478.   %CommonAttributes;
  479.   abbr      %Text;          #IMPLIED
  480.   rowspan   %Number;        "1"
  481.   colspan   %Number;        "1"
  482.   align     %TextHAlign;    #IMPLIED
  483.   valign    %TextVAlign;    #IMPLIED
  484.   nowrap    (nowrap)        #IMPLIED
  485.   bgcolor   %Color;         #IMPLIED
  486.   width     %Length;        #IMPLIED
  487.   height    %Length;        #IMPLIED
  488. >
  489.  
  490. <!ELEMENT title  (#PCDATA)>
  491. <!ATTLIST title %InternationalAttributes;>
  492.  
  493. <!ELEMENT meta  EMPTY >
  494. <!ATTLIST meta
  495.   %InternationalAttributes;
  496.   name      NMTOKEN   #IMPLIED
  497.   content   CDATA     #REQUIRED
  498.   scheme    CDATA     #IMPLIED
  499. >
  500.  
  501. <!-- HeadElements: Elements that can appear many places within <head>.-->
  502. <!ENTITY % HeadElements "script | style | meta | link | object">
  503.  
  504. <!-- <head> can have the common head elements (always optional),
  505.   with one <title> and an optional <base> interspersed.
  506. -->
  507. <!ELEMENT head ((%HeadElements;)*,
  508.  ((title, (%HeadElements;)*, (base, (%HeadElements;)*)?)
  509.  | (base, (%HeadElements;)*, (title, (%HeadElements;)*))))
  510. >
  511. <!ATTLIST head %InternationalAttributes;> 
  512.  
  513. <!ELEMENT body (#PCDATA | %FlowElements;)*>
  514. <!ATTLIST body
  515.   %CommonAttributes;
  516.   bgcolor   %Color;   #IMPLIED
  517.   text      %Color;   #IMPLIED
  518. >
  519.  
  520. <!ELEMENT html (head?, body)>
  521. <!ATTLIST html
  522.   %InternationalAttributes;
  523.   xmlns         %URI;   #FIXED  "http://openebook.org/namespaces/oeb-document/1.0/"
  524.   xmlns:xlink   %URI;   #FIXED  "http://www.w3.org/XML/XLink/"
  525. >
  526.