1 <!-- $Id: texinfo.dtd,v 1.5 2002/03/23 20:41:32 karl Exp $
2 Document Type Definition for Texinfo.
4 Author: Philippe Martin (feloy@free.fr)
6 Karl Eichwalder (keichwa@gmx.net)
8 Copyright (C) 2001, 02 Free Software Foundation, Inc.
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 2, or (at your option)
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software Foundation,
22 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
27 <!-- Meta-information -->
28 <!ENTITY % metainformation "setfilename | settitle | titlefont | dircategory">
32 <!ENTITY % block "menu | para | quotation | example | smallexample | lisp
33 | smalllisp | cartouche | copying
34 | format | smallformat | display
35 | smalldisplay | itemize | enumerate | sp | center | group
36 | table | multitable">
40 <!ENTITY % section.level1 "top | chapter | unnumbered | appendix
41 | majorheading | chapheading">
43 <!ENTITY % section.level2 "section | unnumberedsec | appendixsec | heading">
45 <!ENTITY % section.level3 "subsection | unnumberedsubsec | appendixsubsec
48 <!ENTITY % section.level4 "subsubsection | unnumberedsubsubsec
49 | appendixsubsubsec | subsubheading">
51 <!ENTITY % section.all "%section.level1; | %section.level2; | %section.level3;
55 <!ENTITY % section.level1.content "(%block;
61 <!ENTITY % section.level2.content "(%block;
63 | %section.level4;)*">
65 <!ENTITY % section.level3.content "(%block;
66 | %section.level4;)*">
68 <!ENTITY % section.level4.content "(%block;)*">
73 <!ENTITY % Inline.emphasize "strong | emph">
74 <!ENTITY % Inline.smallcaps "sc">
75 <!ENTITY % Inline.fonts "i | b | tt | r">
76 <!ENTITY % Inline.markup "code | dfn | cite | key | kbd | var | acronym | url">
77 <!ENTITY % Inline.reference "xref | inforef | indexterm | email | uref">
79 <!ENTITY % Inline.phrase
80 "%Inline.emphasize; | %Inline.smallcaps; | %Inline.fonts;
81 | %Inline.markup; | %Inline.reference; ">
88 <!-- TOP Level Element -->
89 <!-- ***************** -->
90 <!ELEMENT texinfo ((%metainformation; | node | %block;)* )>
92 <!-- meta-information -->
93 <!ELEMENT setfilename (#PCDATA)>
94 <!ELEMENT settitle (#PCDATA)>
95 <!ELEMENT titlefont (#PCDATA)>
96 <!ELEMENT dircategory (#PCDATA)>
100 <!ELEMENT node (nodename, nodenext?, nodeprev?, nodeup?,
101 (para | menu | %section.all;)*) >
103 <!ELEMENT nodename (#PCDATA)>
104 <!ELEMENT nodenext (#PCDATA)>
105 <!ELEMENT nodeprev (#PCDATA)>
106 <!ELEMENT nodeup (#PCDATA)>
111 <!ELEMENT top (title?, %section.level1.content;)>
113 <!ELEMENT chapter (title?, %section.level1.content;)>
114 <!ELEMENT section (title?, %section.level2.content;)>
115 <!ELEMENT subsection (title?, %section.level3.content;)>
116 <!ELEMENT subsubsection (title?, %section.level4.content;)>
118 <!ELEMENT unnumbered (title?, %section.level1.content;)>
119 <!ELEMENT unnumberedsec (title?, %section.level2.content;)>
120 <!ELEMENT unnumberedsubsec (title?, %section.level3.content;)>
121 <!ELEMENT unnumberedsubsubsec (title?, %section.level4.content;)>
123 <!ELEMENT appendix (title?, %section.level1.content;)>
124 <!ELEMENT appendixsec (title?, %section.level2.content;)>
125 <!ELEMENT appendixsubsec (title?, %section.level3.content;)>
126 <!ELEMENT appendixsubsubsec (title?, %section.level4.content;)>
128 <!ELEMENT majorheading (title?, %section.level1.content;)>
129 <!ELEMENT chapheading (title?, %section.level1.content;)>
130 <!ELEMENT heading (title?, %section.level2.content;)>
131 <!ELEMENT subheading (title?, %section.level3.content;)>
132 <!ELEMENT subsubheading (title?, %section.level4.content;)>
134 <!ELEMENT title (#PCDATA | %Inline.phrase; | footnote)*>
136 <!-- BLOCK Elements -->
137 <!-- ************** -->
139 <!ELEMENT quotation (#PCDATA | %block; | %Inline.phrase;)*>
140 <!ELEMENT example (#PCDATA | %block; | %Inline.phrase;)*>
141 <!ELEMENT smallexample (#PCDATA | %block; | %Inline.phrase;)*>
142 <!ELEMENT lisp (#PCDATA | %block; | %Inline.phrase;)*>
143 <!ELEMENT smalllisp (#PCDATA | %block; | %Inline.phrase;)*>
144 <!ELEMENT cartouche (#PCDATA | %block; | %Inline.phrase;)*>
145 <!ELEMENT copying (#PCDATA | %block; | %Inline.phrase;)*>
146 <!ELEMENT format (#PCDATA | %block; | %Inline.phrase;)*>
147 <!ELEMENT smallformat (#PCDATA | %block; | %Inline.phrase;)*>
148 <!ELEMENT display (#PCDATA | %block; | %Inline.phrase;)*>
149 <!ELEMENT smalldisplay (#PCDATA | %block; | %Inline.phrase;)*>
150 <!ELEMENT center (#PCDATA | %block; | %Inline.phrase;)*>
151 <!ELEMENT group (#PCDATA | %block; | %Inline.phrase;)*>
152 <!ELEMENT image (#PCDATA)>
154 <!ELEMENT para (#PCDATA | %Inline.phrase; | footnote)*>
156 <!ELEMENT menu ((menuentry | para)*)>
157 <!ELEMENT menuentry (menunode?, menutitle?, menucomment?)>
158 <!ELEMENT menunode (#PCDATA)>
159 <!ELEMENT menutitle (#PCDATA)>
160 <!ELEMENT menucomment (#PCDATA | para)*>
163 <!ELEMENT itemize (itemfunction, (item | itemize | enumerate | indexterm)*)>
164 <!ELEMENT enumerate (enumarg?, (item | itemize | enumerate)*)>
166 first CDATA #IMPLIED>
168 <!ELEMENT item (%block;)*>
169 <!ELEMENT enumarg (#PCDATA)>
171 <!ELEMENT itemfunction (#PCDATA | %Inline.phrase;)*>
174 <!ELEMENT table (tableitem | indexterm)+>
175 <!ELEMENT tableitem (tableterm+, item)>
176 <!ELEMENT tableterm (#PCDATA | %Inline.phrase;)*>
178 <!ELEMENT multitable (columnfraction*, row*)>
179 <!ELEMENT columnfraction (#PCDATA)>
180 <!ELEMENT row (entry*)>
181 <!ELEMENT entry (#PCDATA | %Inline.phrase;)*>
183 <!-- INLINE Elements -->
184 <!-- *************** -->
187 <!ELEMENT strong (#PCDATA | %Inline.phrase;)*>
188 <!ELEMENT emph (#PCDATA | %Inline.phrase;)*>
191 <!ELEMENT sc (#PCDATA | %Inline.phrase;)*>
194 <!ELEMENT i (#PCDATA | %Inline.phrase;)*>
195 <!ELEMENT b (#PCDATA | %Inline.phrase;)*>
196 <!ELEMENT tt (#PCDATA | %Inline.phrase;)*>
197 <!ELEMENT r (#PCDATA | %Inline.phrase;)*>
198 <!ELEMENT notfixedwidth (#PCDATA | %Inline.phrase;)*>
201 <!ELEMENT code (#PCDATA | %Inline.phrase;)*>
202 <!ELEMENT dfn (#PCDATA | %Inline.phrase;)*>
203 <!ELEMENT cite (#PCDATA | %Inline.phrase;)*>
204 <!ELEMENT key (#PCDATA | %Inline.phrase;)*>
205 <!ELEMENT kbd (#PCDATA | %Inline.phrase;)*>
206 <!ELEMENT var (#PCDATA | %Inline.phrase;)*>
207 <!ELEMENT acronym (#PCDATA | %Inline.phrase;)*>
208 <!ELEMENT url (#PCDATA | %Inline.phrase;)*>
211 <!ELEMENT anchor EMPTY>
215 <!ELEMENT xref (xrefnodename | xrefinfoname | xrefinfofile
216 | xrefprintedname | xrefprinteddesc)*>
217 <!ELEMENT xrefnodename (#PCDATA | %Inline.phrase;)*>
218 <!ELEMENT xrefinfoname (#PCDATA | %Inline.phrase;)*>
219 <!ELEMENT xrefinfofile (#PCDATA | %Inline.phrase;)*>
220 <!ELEMENT xrefprintedname (#PCDATA | %Inline.phrase;)*>
221 <!ELEMENT xrefprinteddesc (#PCDATA | %Inline.phrase;)*>
223 <!ELEMENT inforef (inforefnodename | inforefrefname | inforefinfoname)*>
224 <!ELEMENT inforefnodename (#PCDATA | %Inline.phrase;)*>
225 <!ELEMENT inforefrefname (#PCDATA | %Inline.phrase;)*>
226 <!ELEMENT inforefinfoname (#PCDATA | %Inline.phrase;)*>
228 <!ELEMENT indexterm (#PCDATA | %Inline.phrase;)*>
230 INDEX CDATA #IMPLIED>
232 <!ELEMENT email (emailaddress, emailname?)>
233 <!ELEMENT emailaddress (#PCDATA | %Inline.phrase;)*>
234 <!ELEMENT emailname (#PCDATA | %Inline.phrase;)*>
236 <!ELEMENT uref (urefurl, urefdesc?, urefreplacement?)>
237 <!ELEMENT urefurl (#PCDATA | %Inline.phrase;)*>
238 <!ELEMENT urefdesc (#PCDATA | %Inline.phrase;)*>
239 <!ELEMENT urefreplacement (#PCDATA | %Inline.phrase;)*>
241 <!ELEMENT footnote (para)>
246 <!ENTITY ellipsis "">
250 <!ENTITY copyright "">
252 <!ENTITY linebreak "">
331 <!-- fixxme: not yet classified -->
333 <!ELEMENT sp (#PCDATA)>
335 lines CDATA #IMPLIED>
336 <!ELEMENT printindex (#PCDATA)>