1 <!-- $Id: texinfo.dtd,v 1.13 2008/01/31 18:33:27 karl Exp $
2 Document Type Definition for Texinfo XML output (the '-'-xml option).
4 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5 Free Software Foundation, Inc.
7 Copying and distribution of this file, with or without modification,
8 are permitted in any medium without royalty provided the copyright
9 notice and this notice are preserved.
11 Author: Philippe Martin
21 <!-- Meta-information -->
22 <!ENTITY % metainformation
"setfilename | settitle | dircategory
23 | documentdescription">
24 <!ENTITY % variables
"setvalue | clearvalue">
26 <!-- Document language -->
27 <!ENTITY % lang
"documentlanguage">
29 <!-- Language codes -->
30 <!ENTITY % languagecodes
"aa|ab|af|am|ar|as|ay|az|ba|be|bg|bh|bi|bn|bo|br|ca|co|cs|cy|da|de|dz|el|en|eo|es|et|eu|fa|fi|fj|fo|fr|fy|ga|gd|gl|gn|gu|ha|he|hi|hr|hu|hy|ia|id|ie|ik|is|it|iu|ja|jw|ka|kk|kl|km|kn|ko|ks|ku|ky|la|ln|lo|lt|lv|mg|mi|mk|ml|mn|mo|mr|ms|mt|my|na|ne|nl|no|oc|om|or|pa|pl|ps|pt|qu|rm|rn|ro|ru|rw|sa|sd|sg|sh|si|sk|sl|sm|sn|so|sq|sr|ss|st|su|sv|sw|ta|te|tg|th|ti|tk|tl|tn|to|tr|ts|tt|tw|ug|uk|ur|uz|vi|vo|wo|xh|yi|yo|za|zh|zu">
33 <!ENTITY % toc
"contents | shortcontents">
36 <!ENTITY % titlepage_cmds
"author | booktitle | booksubtitle">
39 <!ENTITY % block
"menu | para | quotation | example | smallexample | lisp
40 | smalllisp | cartouche | copying
41 | format | smallformat | display
42 | smalldisplay | itemize | enumerate | sp | center | group
43 | table | multitable | definition | float | image">
45 <!-- API definitions -->
46 <!ENTITY % definition.cmds
"defcategory | deffunction | defvariable | defparam
47 | defdelimiter | deftype | defparamtype | defdatatype
48 | defclass | defclassvar | defoperation">
51 <!ENTITY % headings
"majorheading | chapheading | heading | subheading
56 <!ENTITY % section.level1
"top | chapter | unnumbered | appendix">
58 <!ENTITY % section.level2
"section | unnumberedsec | appendixsec">
60 <!ENTITY % section.level3
"subsection | unnumberedsubsec | appendixsubsec">
62 <!ENTITY % section.level4
"subsubsection | unnumberedsubsubsec
65 <!ENTITY % section.all
"%section.level1; | %section.level2; | %section.level3;
69 <!ENTITY % section.level1.content
"(%block;
73 | verbatim | titlepage | %toc;
74 | %lang; | %variables;
79 <!ENTITY % section.level2.content
"(%block;
82 | verbatim | titlepage | %toc;
83 | %lang; | %variables;
86 <!ENTITY % section.level3.content
"(%block;
88 | verbatim | titlepage | %toc;
89 | %lang; | %variables;
92 <!ENTITY % section.level4.content
"(%block;
93 | verbatim | titlepage | %toc;
94 | %lang; | %variables;
97 <!-- Options (many missing) -->
98 <!ENTITY % onoff
"on|off">
99 <!ENTITY % option.cmds
"frenchspacing">
102 <!ENTITY % Inline.emphasize
"strong | emph">
103 <!ENTITY % Inline.fonts
"b | i | r | sansserif | slanted | titlefont | tt
105 <!ENTITY % Inline.footnote
"footnote">
106 <!ENTITY % Inline.markup
"code | command | env | file | option | samp | verb
107 | dfn | cite | key | kbd | var | acronym | url">
108 <!ENTITY % Inline.math
"math | dmn">
109 <!ENTITY % Inline.reference
"xref | inforef | indexterm | email | uref">
110 <!ENTITY % Inline.misc
"click | clicksequence | logo | punct">
112 <!ENTITY % Inline.phrase
113 "%Inline.emphasize; | %Inline.misc; | %Inline.fonts;
114 | %Inline.markup; | %Inline.math; | %Inline.reference;
115 | %Inline.footnote; | %option.cmds; ">
118 <!-- * ELEMENTS * -->
120 <!-- TOP Level Element -->
121 <!ELEMENT texinfo ((%metainformation; | titlepage | node | synindex | %block; | %toc;
122 | %variables; | %lang;)* )
>
123 <!ATTLIST texinfo xml:lang (%languagecodes;) 'en'
>
125 <!-- meta-information -->
126 <!ELEMENT setfilename (#PCDATA)
>
127 <!ELEMENT settitle (#PCDATA | %Inline.phrase;)*
>
128 <!ELEMENT dircategory (#PCDATA)
>
130 <!ELEMENT setvalue (#PCDATA | %Inline.phrase;)*
>
131 <!ELEMENT clearvalue EMPTY
>
133 name CDATA #REQUIRED
>
135 name CDATA #REQUIRED
>
138 <!ELEMENT contents EMPTY
>
139 <!ELEMENT shortcontents EMPTY
>
141 <!-- Document language -->
142 <!ELEMENT documentlanguage EMPTY
>
143 <!ATTLIST documentlanguage xml:lang (%languagecodes;) 'en'
>
146 <!ELEMENT titlepage (%titlepage_cmds; | %block;)*
>
147 <!ELEMENT author (#PCDATA | %Inline.phrase;)*
>
148 <!ELEMENT booktitle (#PCDATA | %Inline.phrase;)*
>
149 <!ELEMENT booksubtitle (#PCDATA | %Inline.phrase;)*
>
152 <!ELEMENT node (nodename, nodenext?, nodeprev?, nodeup?,
153 (%section.all; | %block; | %toc; | %lang;)*)
>
155 <!ELEMENT nodename (#PCDATA)
>
156 <!ELEMENT nodenext (#PCDATA)
>
157 <!ELEMENT nodeprev (#PCDATA)
>
158 <!ELEMENT nodeup (#PCDATA)
>
162 <!ELEMENT top (title?, (%section.level1.content;))
>
164 <!ELEMENT chapter (title?, (%section.level1.content;))
>
165 <!ELEMENT section (title?, (%section.level2.content;))
>
166 <!ELEMENT subsection (title?, (%section.level3.content;))
>
167 <!ELEMENT subsubsection (title?, (%section.level4.content;))
>
169 <!ELEMENT unnumbered (title?, (%section.level1.content;))
>
170 <!ELEMENT unnumberedsec (title?, (%section.level2.content;))
>
171 <!ELEMENT unnumberedsubsec (title?, (%section.level3.content;))
>
172 <!ELEMENT unnumberedsubsubsec (title?, (%section.level4.content;))
>
174 <!ELEMENT appendix (title?, (%section.level1.content;))
>
175 <!ELEMENT appendixsec (title?, (%section.level2.content;))
>
176 <!ELEMENT appendixsubsec (title?, (%section.level3.content;))
>
177 <!ELEMENT appendixsubsubsec (title?, (%section.level4.content;))
>
179 <!-- Headings and titles -->
180 <!ELEMENT majorheading (#PCDATA | %Inline.phrase;)*
>
181 <!ELEMENT chapheading (#PCDATA | %Inline.phrase;)*
>
182 <!ELEMENT heading (#PCDATA | %Inline.phrase;)*
>
183 <!ELEMENT subheading (#PCDATA | %Inline.phrase;)*
>
184 <!ELEMENT subsubheading (#PCDATA | %Inline.phrase;)*
>
185 <!ELEMENT title (#PCDATA | %Inline.phrase;)*
>
187 <!-- Negative Indentation in Blocks -->
188 <!ELEMENT exdent (#PCDATA | %Inline.phrase;)*
>
191 <!-- BLOCK Elements -->
193 <!ELEMENT quotation (%block; | %Inline.phrase; | exdent)*
>
194 <!ELEMENT documentdescription (#PCDATA | %block; | %Inline.phrase;)*
>
195 <!ELEMENT example (#PCDATA | %block; | %Inline.phrase; | exdent)*
>
196 <!ELEMENT smallexample (#PCDATA | %block; | %Inline.phrase; | exdent)*
>
197 <!ELEMENT lisp (#PCDATA | %block; | %Inline.phrase; | exdent)*
>
198 <!ELEMENT smalllisp (#PCDATA | %block; | %Inline.phrase; | exdent)*
>
199 <!ELEMENT cartouche (#PCDATA | %block; | %Inline.phrase; | exdent)*
>
200 <!ELEMENT copying (#PCDATA | %block; | %Inline.phrase; | exdent)*
>
201 <!ELEMENT format (#PCDATA | %block; | %Inline.phrase; | exdent)*
>
202 <!ELEMENT smallformat (#PCDATA | %block; | %Inline.phrase; | exdent)*
>
203 <!ELEMENT display (#PCDATA | %block; | %Inline.phrase; | exdent)*
>
204 <!ELEMENT smalldisplay (#PCDATA | %block; | %Inline.phrase; | exdent)*
>
205 <!ELEMENT center (#PCDATA | %block; | %Inline.phrase; | exdent)*
>
206 <!ELEMENT group (#PCDATA | %block; | %Inline.phrase; | exdent)*
>
208 <!ELEMENT image (alttext)
>
209 <!ELEMENT alttext (#PCDATA)
>
212 extension CDATA #REQUIRED
213 width CDATA #REQUIRED
214 height CDATA #REQUIRED
>
216 <!-- Whitespace in these elements are always preserved -->
217 <!ATTLIST example xml:space (preserve) #FIXED 'preserve'
>
218 <!ATTLIST smallexample xml:space (preserve) #FIXED 'preserve'
>
219 <!ATTLIST lisp xml:space (preserve) #FIXED 'preserve'
>
220 <!ATTLIST smalllisp xml:space (preserve) #FIXED 'preserve'
>
221 <!ATTLIST display xml:space (preserve) #FIXED 'preserve'
>
222 <!ATTLIST smalldisplay xml:space (preserve) #FIXED 'preserve'
>
223 <!ATTLIST format xml:space (preserve) #FIXED 'preserve'
>
224 <!ATTLIST smallformat xml:space (preserve) #FIXED 'preserve'
>
226 <!ELEMENT verbatim (#PCDATA)
>
227 <!ATTLIST verbatim xml:space (preserve) #FIXED 'preserve'
>
229 <!ELEMENT para (#PCDATA | %Inline.phrase; | %lang;)*
>
233 <!ELEMENT menu (menuentry | detailmenu | para)*
>
234 <!ELEMENT detailmenu (menuentry | para)*
>
235 <!ELEMENT menuentry (menunode?, menutitle?, menucomment?)
>
236 <!ELEMENT menunode (#PCDATA)
>
237 <!ELEMENT menutitle (#PCDATA)
>
238 <!ELEMENT menucomment (#PCDATA | %Inline.phrase;)*
>
240 <!-- Floating displays -->
241 <!ELEMENT float (floattype, floatpos, (%block;)*,
242 ((caption, shortcaption?) | (shortcaption, caption))?)
>
245 <!ELEMENT floattype (#PCDATA)
>
246 <!ELEMENT floatpos (#PCDATA)
>
247 <!ELEMENT caption (#PCDATA | %Inline.phrase;)*
>
248 <!ELEMENT shortcaption (#PCDATA | %Inline.phrase;)*
>
249 <!ELEMENT listoffloats EMPTY
>
250 <!ATTLIST listoffloats
254 <!ELEMENT itemize (itemfunction, (item | itemize | enumerate | indexterm)*)
>
255 <!ELEMENT enumerate (item | itemize | enumerate | indexterm)*
>
257 first CDATA #IMPLIED
>
259 <!ELEMENT item (%block;)*
>
261 <!ELEMENT itemfunction (#PCDATA | %Inline.phrase;)*
>
264 <!ELEMENT table (tableitem | indexterm)+
>
265 <!ELEMENT tableitem ((tableterm, indexterm*)+, item?)
>
266 <!ELEMENT tableterm (#PCDATA | %Inline.phrase;)*
>
268 <!ELEMENT multitable (columnfraction*, thead?, tbody)
>
269 <!ELEMENT columnfraction (#PCDATA)
>
270 <!ELEMENT thead (row+)
>
271 <!ELEMENT tbody (row+)
>
272 <!ELEMENT row (entry*)
>
273 <!ELEMENT entry (#PCDATA | %Inline.phrase;)*
>
275 <!-- API definitions -->
276 <!ELEMENT definition (definitionterm | definitionitem | indexterm)+
>
277 <!ELEMENT definitionterm (%definition.cmds; | indexterm)+
>
278 <!ELEMENT definitionitem (%block;)*
>
280 <!ELEMENT defcategory (#PCDATA | %Inline.phrase;)*
>
281 <!ELEMENT deffunction (#PCDATA | %Inline.phrase;)*
>
282 <!ELEMENT defvariable (#PCDATA | %Inline.phrase;)*
>
283 <!ELEMENT defparam (#PCDATA | %Inline.phrase;)*
>
284 <!ELEMENT defdelimiter (#PCDATA | %Inline.phrase;)*
>
285 <!ELEMENT deftype (#PCDATA | %Inline.phrase;)*
>
286 <!ELEMENT defparamtype (#PCDATA | %Inline.phrase;)*
>
287 <!ELEMENT defdatatype (#PCDATA | %Inline.phrase;)*
>
288 <!ELEMENT defclass (#PCDATA | %Inline.phrase;)*
>
289 <!ELEMENT defclassvar (#PCDATA | %Inline.phrase;)*
>
290 <!ELEMENT defoperation (#PCDATA | %Inline.phrase;)*
>
292 <!-- INLINE Elements -->
295 <!ELEMENT frenchspacing (#PCDATA)
> <!-- must be on or off -->
296 <!ATTLIST frenchspacing val (%onoff;) 'off'
>
299 <!ELEMENT strong (#PCDATA | %Inline.phrase;)*
>
300 <!ELEMENT emph (#PCDATA | %Inline.phrase;)*
>
303 <!ELEMENT sc (#PCDATA | %Inline.phrase;)*
>
306 <!ELEMENT b (#PCDATA | %Inline.phrase;)*
>
307 <!ELEMENT i (#PCDATA | %Inline.phrase;)*
>
308 <!ELEMENT r (#PCDATA | %Inline.phrase;)*
>
309 <!ELEMENT sansserif (#PCDATA | %Inline.phrase;)*
>
310 <!ELEMENT slanted (#PCDATA | %Inline.phrase;)*
>
311 <!ELEMENT titlefont (#PCDATA | %Inline.phrase;)*
>
312 <!ELEMENT tt (#PCDATA | %Inline.phrase;)*
>
315 <!ELEMENT code (#PCDATA | %Inline.phrase;)*
>
316 <!ELEMENT command (#PCDATA | %Inline.phrase;)*
>
317 <!ELEMENT env (#PCDATA | %Inline.phrase;)*
>
318 <!ELEMENT file (#PCDATA | %Inline.phrase;)*
>
319 <!ELEMENT option (#PCDATA | %Inline.phrase;)*
>
320 <!ELEMENT samp (#PCDATA | %Inline.phrase;)*
>
321 <!ELEMENT dfn (#PCDATA | %Inline.phrase;)*
>
322 <!ELEMENT cite (#PCDATA | %Inline.phrase;)*
>
323 <!ELEMENT key (#PCDATA | %Inline.phrase;)*
>
324 <!ELEMENT kbd (#PCDATA | %Inline.phrase;)*
>
325 <!ELEMENT var (#PCDATA | %Inline.phrase;)*
>
326 <!ELEMENT url (#PCDATA | %Inline.phrase;)*
>
328 <!ELEMENT acronym (acronymword, acronymdesc?)
>
329 <!ELEMENT acronymword (#PCDATA | %Inline.phrase;)*
>
330 <!ELEMENT acronymdesc (#PCDATA | %Inline.phrase;)*
>
332 <!ELEMENT abbrev (abbrevword, abbrevdesc?)
>
333 <!ELEMENT abbrevword (#PCDATA | %Inline.phrase;)*
>
334 <!ELEMENT abbrevdesc (#PCDATA | %Inline.phrase;)*
>
337 <!ELEMENT math (#PCDATA | %Inline.phrase;)*
>
338 <!ELEMENT dmn (#PCDATA | %Inline.phrase;)*
>
341 <!ELEMENT anchor EMPTY
>
345 <!ELEMENT xref (xrefnodename | xrefinfoname | xrefinfofile
346 | xrefprintedname | xrefprinteddesc)*
>
347 <!ELEMENT xrefnodename (#PCDATA | %Inline.phrase;)*
>
348 <!ELEMENT xrefinfoname (#PCDATA | %Inline.phrase;)*
>
349 <!ELEMENT xrefinfofile (#PCDATA | %Inline.phrase;)*
>
350 <!ELEMENT xrefprintedname (#PCDATA | %Inline.phrase;)*
>
351 <!ELEMENT xrefprinteddesc (#PCDATA | %Inline.phrase;)*
>
353 <!ELEMENT inforef (inforefnodename | inforefrefname | inforefinfoname)*
>
354 <!ELEMENT inforefnodename (#PCDATA | %Inline.phrase;)*
>
355 <!ELEMENT inforefrefname (#PCDATA | %Inline.phrase;)*
>
356 <!ELEMENT inforefinfoname (#PCDATA | %Inline.phrase;)*
>
358 <!ELEMENT synindex EMPTY
>
361 from NMTOKEN #REQUIRED
362 to NMTOKEN #REQUIRED
>
363 <!ELEMENT indexterm (#PCDATA | %Inline.phrase;)*
>
365 index CDATA #IMPLIED
>
367 <!ELEMENT email (emailaddress, emailname?)
>
368 <!ELEMENT emailaddress (#PCDATA | %Inline.phrase;)*
>
369 <!ELEMENT emailname (#PCDATA | %Inline.phrase;)*
>
371 <!ELEMENT uref (urefurl, urefdesc?, urefreplacement?)
>
372 <!ELEMENT urefurl (#PCDATA | %Inline.phrase;)*
>
373 <!ELEMENT urefdesc (#PCDATA | %Inline.phrase;)*
>
374 <!ELEMENT urefreplacement (#PCDATA | %Inline.phrase;)*
>
376 <!ELEMENT footnote (para)
>
379 <!ELEMENT punct (#PCDATA)
>
381 end-of-sentence (yes|no) #IMPLIED
>
382 <!ELEMENT logo (#PCDATA)
>
383 <!ELEMENT linebreak EMPTY
>
385 <!ENTITY tex
"<logo>TeX</logo>">
386 <!ENTITY latex
"<logo>LaTeX</logo>">
387 <!ENTITY ellipsis
"…">
388 <!ENTITY lt
"<">
389 <!ENTITY gt
">">
390 <!ENTITY bullet
"•">
391 <!ENTITY copyright
"©">
392 <!ENTITY registered
"®">
393 <!ENTITY euro
"€">
394 <!ENTITY pounds
"£">
395 <!ENTITY minus
"−">
396 <!ENTITY linebreak
"<linebreak/>">
397 <!ENTITY space
" "> <!-- Should become an element. -->
398 <!ENTITY dots
"<punct end-of-sentence='no'>…</punct>">
399 <!ENTITY enddots
"<punct end-of-sentence='yes'>…</punct>">
400 <!ENTITY amp
"&">
401 <!ENTITY lsquo
"‘">
402 <!ENTITY rsquo
"’">
403 <!ENTITY sbquo
"‚">
404 <!ENTITY ldquo
"“">
405 <!ENTITY rdquo
"”">
406 <!ENTITY bdquo
"„">
407 <!ENTITY laquo
"«">
408 <!ENTITY raquo
"»">
409 <!ENTITY lsaquo
"‹">
410 <!ENTITY rsaquo
"›">
411 <!ENTITY mdash
"—">
412 <!ENTITY ndash
"–">
413 <!ENTITY period
"<punct end-of-sentence='no'>.</punct>">
414 <!ENTITY eosperiod
"<punct end-of-sentence='yes'>.</punct>">
415 <!ENTITY quest
"<punct end-of-sentence='no'>?</punct>">
416 <!ENTITY eosquest
"<punct end-of-sentence='yes'>?</punct>">
417 <!ENTITY excl
"<punct end-of-sentence='no'>!</punct>">
418 <!ENTITY eosexcl
"<punct end-of-sentence='yes'>!</punct>">
420 <!ENTITY auml
"ä">
421 <!ENTITY ouml
"ö">
422 <!ENTITY uuml
"ü">
423 <!ENTITY Auml
"Ä">
424 <!ENTITY Ouml
"Ö">
425 <!ENTITY Uuml
"Ü">
426 <!ENTITY Euml
"Ë">
427 <!ENTITY euml
"ë">
428 <!ENTITY Iuml
"Ï">
429 <!ENTITY iuml
"ï">
430 <!ENTITY yuml
"ÿ">
431 <!ENTITY uml
"¨">
433 <!ENTITY Aacute
"Á">
434 <!ENTITY Eacute
"É">
435 <!ENTITY Iacute
"Í">
436 <!ENTITY Oacute
"Ó">
437 <!ENTITY Uacute
"Ú">
438 <!ENTITY Yacute
"Ý">
439 <!ENTITY aacute
"á">
440 <!ENTITY eacute
"é">
441 <!ENTITY iacute
"í">
442 <!ENTITY oacute
"ó">
443 <!ENTITY uacute
"ú">
444 <!ENTITY yacute
"ý">
446 <!ENTITY ccedil
"ç">
447 <!ENTITY Ccedil
"Ç">
449 <!ENTITY Acirc
"Â">
450 <!ENTITY Ecirc
"Ê">
451 <!ENTITY Icirc
"Ã">
452 <!ENTITY Ocirc
"Ô">
453 <!ENTITY Ucirc
"Û">
454 <!ENTITY acirc
"â">
455 <!ENTITY ecirc
"ê">
456 <!ENTITY icirc
"î">
457 <!ENTITY ocirc
"ô">
458 <!ENTITY ucirc
"û">
460 <!ENTITY Agrave
"À">
461 <!ENTITY Egrave
"È">
462 <!ENTITY Igrave
"Ì">
463 <!ENTITY Ograve
"Ò">
464 <!ENTITY Ugrave
"Ù">
465 <!ENTITY agrave
"à">
466 <!ENTITY egrave
"è">
467 <!ENTITY igrave
"ì">
468 <!ENTITY ograve
"ò">
469 <!ENTITY ugrave
"ù">
471 <!ENTITY Atilde
"Ã">
472 <!ENTITY Ntilde
"Ñ">
473 <!ENTITY Otilde
"Õ">
474 <!ENTITY atilde
"ã">
475 <!ENTITY ntilde
"ñ">
476 <!ENTITY otilde
"õ">
478 <!ENTITY oslash
"ø">
479 <!ENTITY Oslash
"Ø">
481 <!ENTITY ordm
"º">
482 <!ENTITY ordf
"ª">
484 <!ENTITY iexcl
"¡">
485 <!ENTITY pound
"£">
486 <!ENTITY iquest
"¿">
487 <!ENTITY AElig
"Æ">
488 <!ENTITY aelig
"æ">
489 <!ENTITY OElig
"Œ">
490 <!ENTITY oelig
"œ">
491 <!ENTITY Aring
"Å">
492 <!ENTITY aring
"å">
493 <!ENTITY szlig
"ß">
495 <!ENTITY rarr
"→">
496 <!ENTITY rArr
"⇒">
498 <!ENTITY macr
"¯">
501 <!-- fixxme: not yet classified -->
503 <!ELEMENT sp (#PCDATA)
>
505 lines CDATA #IMPLIED
>
506 <!ELEMENT printindex (#PCDATA)
>