Convert uses of XKeycodeToKeysym (deprecated) to XkbKeycodeToKeysym
[oweals/cde.git] / cde / programs / dthelp / parser / dtds / sdl.dtd
1 <!SGML "ISO 8879:1986"
2
3   -- ======================================================
4                   Semantic Delivery Language DTD
5
6  (c) Copyright 1993, 1994 Hewlett-Packard Company
7  (c) Copyright 1993, 1994 International Business Machines Corp.
8  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
9  (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of Novell, Inc.
10
11      Permission to use, copy, and distribute this Document Type
12      Definition (DTD) is hereby granted, provided that the above
13      copyright notice appear in all copies and that both that
14      copyright notice and this permission notice appear in supporting
15      hardcopy and online documentation.  All other rights reserved.
16
17      The names of the companies owning the copyright or the company
18      logos may not be used in advertising or publicity pertaining to
19      distribution of this DTD without specific, written prior
20      permission.  The companies make no representations about the
21      suitability of this DTD for any purpose.  It is provided "as is"
22      without express or implied warranty.
23
24      The companies disclaim all warranties with regard to this DTD,
25      including all implied warranties of merchantability and fitness,
26      in no event shall the companies be liable for any special,
27      indirect or consequential damages or any damages whatsoever
28      resulting from loss of use, data or profits, whether in an action
29      of contract, negligence or other tortious action, arising out of
30      or in connection with the use or performance of this DTD.
31
32      ======================================================
33
34      RCS information is later in the document
35   --
36
37   -- SGML Declaration ________________________________________________--
38 CHARSET
39 BASESET "ISO 646-1983//CHARSET International Reference Version
40           (IRV)//ESC 2/5 4/0"
41 DESCSET      0        9      UNUSED
42              9        2      9
43             11        2      UNUSED
44             13        1      13
45             14       18      UNUSED
46             32       95      32
47            127        1      UNUSED
48
49 BASESET "ISO Registration Number 100//CHARSET ECMA-94
50           Right Part of Latin Alphabet  Nr. 1//ESC  2/13  4/1"
51 DESCSET    128       32      UNUSED
52            160        5      32
53            165        1      UNUSED
54            166       88      38
55            254        1      127
56            255        1      UNUSED
57
58 CAPACITY SGMLREF
59     TOTALCAP 350000
60     ENTCAP   100000
61     ENTCHCAP  50000
62     ELEMCAP   50000
63     GRPCAP   210000
64     EXGRPCAP  50000
65     EXNMCAP   50000
66     ATTCAP    50000
67     ATTCHCAP  50000
68     AVGRPCAP  50000
69     NOTCAP    50000
70     NOTCHCAP  50000
71     IDCAP     50000
72     IDREFCAP  50000
73     MAPCAP   210000
74     LKSETCAP  50000
75     LKNMCAP   50000
76
77 SCOPE DOCUMENT
78 SYNTAX -- The Core Reference Syntax except with ATTCNT, LITLEN, NAMELEN,
79           GRPCNT, and GRPGTCNT changed --
80
81 SHUNCHAR CONTROLS   0   1   2   3   4   5   6   7   8   9
82                    10  11  12  13  14  15  16  17  18  19
83                    20  21  22  23  24  25  26  27  28  29
84                    30  31 127 255
85
86 BASESET "ISO 646-1983//CHARSET International Reference Version
87           (IRV)//ESC 2/5 4/0"
88 DESCSET      0      128      0
89
90 FUNCTION     RE      13
91              RS      10
92              SPACE   32
93              TAB     SEPCHAR    9
94
95 NAMING
96    LCNMSTRT ""
97    UCNMSTRT ""
98    LCNMCHAR "-."
99    UCNMCHAR "-."
100    NAMECASE
101       GENERAL YES
102       ENTITY  YES
103
104 DELIM
105    GENERAL  SGMLREF
106    SHORTREF SGMLREF
107    NAMES    SGMLREF
108    QUANTITY SGMLREF
109        ATTCNT    140
110        LITLEN   4096
111        NAMELEN    64
112        GRPCNT    100
113        GRPGTCNT  253
114        TAGLVL     48
115
116 FEATURES
117     MINIMIZE
118         DATATAG    NO
119         OMITTAG    NO
120         RANK       NO
121         SHORTTAG   NO
122     LINK
123         SIMPLE     NO
124         IMPLICIT   NO
125         EXPLICIT   NO
126     OTHER
127         CONCUR     NO
128         SUBDOC     NO
129         FORMAL     NO
130         APPINFO  NONE
131 >
132
133 <!DOCTYPE sdldoc [
134 <!-- ======================================================
135    -              Semantic Delivery Language DTD
136    -
137    -
138    - Original:  March 9, 1992
139    -
140    - Transcribed on: March 10, 1993
141    -
142    - $XConsortium: sdl.dtd /main/3 1995/11/08 09:58:22 rswiston $
143    - $Header: /proj/.cde-1/cde1/dthelp/parser/dtds/sdl.dtd /main/3 1995/11/08 09:58:22 rswiston $
144    -
145    - ======================================================
146   -->
147
148 <!-- Parameter Entities ______________________________________________-->
149
150 <!ENTITY % system-notations "(graphic  | text     | audio    | video    |
151                               animate  | crossdoc | man-page | textfile |
152                               sys-cmd  | callback | script   | switch)" >
153
154 <!ENTITY % generated-elements "(loids, toss?, lophrases?, index?, rel-docs?,
155                                 rel-file?, notes?)" >
156
157 <!ENTITY % key-class    "acro       | book      | emph     | jargon     |
158                          l10n       | name      | quote    | product    |
159                          termdef    | term      | mach-in  | mach-out   |
160                          mach-cont  | pub-lit   | udefkey" >
161
162 <!ENTITY % head-class    "label     | head      | caption  | annotation |
163                           phead     | udefhead" >
164
165 <!ENTITY % format-class  "table     | cell      | list     | item       |
166                           text      | udeffrmt" >
167
168 <!ENTITY % graphic-class "figure    | in-line   | button   | icon       |
169                           udefgrph" >
170
171 <!ENTITY % phrase-class  "( super   | sub )" >
172
173 <!ENTITY % font-styles
174            '-- height of font in points; main body is 10 point --
175             pointsz   NUMBER             #IMPLIED
176
177             -- width of font in points; defaults to point size --
178             -- similar to point size but refers to relative    --
179             -- width rather than height (e.g., an 8 point font --
180             -- based on a square would be 8 pt, 8 set)         --
181             set-width NUMBER             #IMPLIED
182
183             -- one of 42 CDE colors or "RGB:rrrr/gggg/bbbb"    --
184             color     CDATA              #IMPLIED
185
186             -- XLFD typeface name for use on X Window System   --
187             -- e.g., "-adobe-helvetica-bold-i-narrow-*-"       --
188             -- One each of normal, italic, bold and bold       --
189             -- italic must be specified.                       --
190             -- These should only be specified if the author is --
191             -- sure of exactly what font is desired.  In the   --
192             -- usual case, only the logical typeface spec.     --
193             -- defined below will be given.                    --
194             xlfd      CDATA              #IMPLIED
195             xlfdi     CDATA              #IMPLIED
196             xlfdb     CDATA              #IMPLIED
197             xlfdib    CDATA              #IMPLIED
198
199             -- MS-Windows typeface name (maximum of 32 chars)  --
200             -- One each of normal, italic, bold and bold       --
201             -- italic must be specified.                       --
202             -- As for the XLFD specification above, these      --
203             -- should only be provided if an author knows the  --
204             -- exact font desired.                             --
205             typenam   CDATA              #IMPLIED
206             typenami  CDATA              #IMPLIED
207             typenamb  CDATA              #IMPLIED
208             typenamib CDATA              #IMPLIED
209
210             -- Logical typeface spec (allows mapping into one  --
211             -- of the 13 PostScript typefaces).  This spec. is --
212             -- used if an exact match XLFD or Windows type-    --
213             -- face name attribute is missing or cannot be     --
214             -- found.  In the usual case, these will be        --
215             -- specified in preference to specifying an exact  --
216             -- font.                                           --
217
218             -- processor should default style to "sans-serif"  --
219             style     ( serif      |
220                         sans-serif |
221                         symbol     )     #IMPLIED
222
223             -- processor should deflt spacing to "monospace"   --
224             spacing   ( monospace  |
225                         propspace  )     #IMPLIED
226
227             -- processor should default weight to "medium"     --
228             weight    ( medium     |
229                         bold       )     #IMPLIED
230
231             -- processor should default slant to "roman"       --
232             slant     ( roman      |
233                         italic     |
234                         rev-italic )     #IMPLIED
235
236             -- processor should default special to "none"      --
237             special   ( underline  |
238                         strikeout  |
239                         none       )     #IMPLIED'         >
240
241 <!ENTITY % format-styles
242            '-- left and right margins are additive and measured    --
243             -- in character widths defaulting to "0"               --
244             l-margin  NUMBER             #IMPLIED
245             r-margin  NUMBER             #IMPLIED
246
247             -- top and bottom margins merely take the maximum and  --
248             -- are measured in lines defaulting to "0"             --
249             t-margin  NUMBER             #IMPLIED
250             b-margin  NUMBER             #IMPLIED
251
252             -- border specifies the decoration type                --
253             -- processor should default border to "no-border"      --
254             border   ( no-border         |
255                        full-border       |
256                        horizontal-border |
257                        vertical-border   |
258                        top-border        |
259                        bottom-border     |
260                        left-border       |
261                        right-border      )
262                                          #IMPLIED
263
264
265             -- applies to the text in the element, not the element --
266             -- itself.                                             --
267             -- processor should default vjust to "top-vjust"       --
268             vjust    ( top-vjust    |
269                        bottom-vjust |
270                        center-vjust )    #IMPLIED' >
271
272 <!ENTITY % linkage   "anchor | link" >
273 <!ENTITY % reference "snref"         >
274 <!ENTITY % simple    "key | sphrase | rev | if | spc | %reference;" >
275 <!ENTITY % atomic    "( %simple; | %linkage; )" >
276
277 <!NOTATION tcl SYSTEM "embedded tcl interpreter">
278 <!NOTATION sh  SYSTEM "/bin/sh">
279 <!NOTATION csh SYSTEM "/bin/csh">
280 <!NOTATION ksh SYSTEM "/bin/ksh">
281
282
283 <!-- Document Hierarchy  _____________________________________________-->
284
285 <!-- The root element is a pageless document, sdldoc.
286    -   A sdldoc contains one or more virtual pages.
287    -   A Virtual page is the smallest display unit.
288    -   A Block is a unit of a given style.
289    -   A Paragraph is a unit of character formatting.
290   -->
291 <!ELEMENT sdldoc     - - (vstruct, head*, snb?, virpage+)>
292 <!ATTLIST sdldoc         pub-id     CDATA              #REQUIRED
293                          doc-id     CDATA              #REQUIRED
294                          timestmp   CDATA              #REQUIRED
295                          first-page IDREF              #IMPLIED
296                          product    CDATA              #IMPLIED
297                          prodpn     CDATA              #IMPLIED
298                          prodver    CDATA              #IMPLIED
299                          license    CDATA              #IMPLIED
300                          language   CDATA              #IMPLIED
301                          charset    CDATA              #IMPLIED
302                          author     CDATA              #IMPLIED
303                          version    CDATA              #IMPLIED
304                          sdldtd     CDATA              #REQUIRED
305                          srcdtd     CDATA              #IMPLIED >
306
307
308 <!ELEMENT vstruct   - - (%generated-elements;) >
309 <!ATTLIST vstruct       version     CDATA              #IMPLIED
310                         doc-id      CDATA              #REQUIRED >
311
312
313 <!ELEMENT virpage   - - (head*, snb?, (block | form)*) >
314 <!ATTLIST virpage       id          ID                 #REQUIRED
315                         level       NUMBER             #REQUIRED
316                         version     CDATA              #IMPLIED
317                         language    CDATA              #IMPLIED
318                         charset     CDATA              #IMPLIED
319                         doc-id      CDATA              #REQUIRED
320                         ssi         CDATA              #IMPLIED >
321
322
323 <!ELEMENT snb       - - (head?, (%system-notations;)+) >
324 <!ATTLIST snb           version     CDATA              #IMPLIED >
325
326
327 <!ELEMENT block     - - (head*, (p | cp)*) >
328 <!ATTLIST block         id          ID                 #IMPLIED
329
330                         -- processor should default level to "1"      --
331                         level       NUMBER             #IMPLIED
332                         version     CDATA              #IMPLIED
333                         class       (%format-class;)   #IMPLIED
334                         language    CDATA              #IMPLIED
335
336                         -- prcessor shld deflt charset to "ISO8859-1" --
337                         charset     CDATA              #IMPLIED
338
339                         length      NUMBER             #IMPLIED
340
341                         -- processor should default app to "all"      --
342                         app        ( all      |
343                                      help     |
344                                      tutorial |
345                                      ref      |
346                                      sys      )        #IMPLIED
347
348                         -- processor should default timing to "sync"  --
349                         timing     ( sync | async )    #IMPLIED
350                         ssi         CDATA              #IMPLIED >
351
352
353 <!ELEMENT form      - - (head*, ((fstyle, fdata) | (fdata, fstyle))) >
354 <!ATTLIST form          id          ID                 #IMPLIED
355
356                         -- processor shld deflt level to nest of form --
357                         level       NUMBER             #IMPLIED
358                         version     CDATA              #IMPLIED
359                         class       (%format-class;)   #IMPLIED
360                         language    CDATA              #IMPLIED
361
362                         -- prcessor shld deflt charset to "ISO8859-1" --
363                         charset     CDATA              #IMPLIED
364                         length      NUMBER             #IMPLIED
365
366                         -- processor should default app to "all"      --
367                         app        ( all      |
368                                      help     |
369                                      tutorial |
370                                      ref      |
371                                      sys      )        #IMPLIED
372                         ssi         CDATA              #IMPLIED >
373
374
375 <!ELEMENT fstyle    - - (frowvec+) >
376 <!ATTLIST fstyle        -- The number of columns in this form, ncols, --
377                         -- should be a number greater than zero.      --
378                         -- Unless overridden by a "colw" (column      --
379                         -- width) specification in a formstyle, the   --
380                         -- available space is divided evenly among    --
381                         -- the columns.  Unless overriden by a "colj" --
382                         -- specification in a formstyle, the columns  --
383                         -- are all left justified.                    --
384                         -- processor should default ncols to 1        --
385                         ncols       NUMBER             #IMPLIED >
386
387
388 <!ELEMENT frowvec   - O EMPTY >
389 <!ATTLIST frowvec       -- processor should default hdr to "NO"       --
390                         hdr         (YES | NO)         #IMPLIED
391
392                         -- Ids of cell contents.  One id per cell.    --
393                         -- Each id must refer to either a block or a  --
394                         -- form.                                      --
395                         cells       IDREFS             #REQUIRED >
396
397
398 <!ELEMENT fdata     - - ((block | form)*) >
399
400
401 <!-- Containers ______________________________________________________-->
402
403 <!ELEMENT p         - - (head*, (%atomic | #PCDATA)+) >
404 <!ATTLIST p             id          ID                 #IMPLIED
405                         version     CDATA              #IMPLIED
406
407                         -- processor should default type to "dynamic" --
408                         type        (literal |
409                                      lined   |
410                                      dynamic )         #IMPLIED
411                         ssi         CDATA              #IMPLIED >
412
413
414 <!ELEMENT cp        - - CDATA >
415 <!ATTLIST cp            id          ID                 #IMPLIED
416                         version     CDATA              #IMPLIED
417
418                         -- processor should default type to "dynamic" --
419                         type        (literal |
420                                      lined   |
421                                      dynamic )         #IMPLIED
422                         ssi         CDATA              #IMPLIED >
423
424
425 <!-- Heads may have multiple sub-heads -->
426 <!ELEMENT head      - - ((%atomic; | #PCDATA)*, subhead*) >
427 <!ELEMENT subhead   - - ((%atomic | #PCDATA)*) >
428 <!ATTLIST (head | subhead)
429                         id          ID                 #IMPLIED
430                         version     CDATA              #IMPLIED
431
432                         -- processor should default class to "head"   --
433                         class       (%head-class;)     #IMPLIED
434                         language    CDATA              #IMPLIED
435
436                         -- prcessor shld deflt charset to "ISO8859-1" --
437                         charset     CDATA              #IMPLIED
438
439                         -- processor should default type to "dynamic" --
440                         type        (literal |
441                                      lined   |
442                                      dynamic )         #IMPLIED
443                         abbrev      CDATA              #IMPLIED
444                         ssi         CDATA              #IMPLIED >
445
446
447
448 <!-- Atomic Link Elements ____________________________________________-->
449
450 <!ELEMENT anchor    - O EMPTY     -- Just marks the spot to jump to   -->
451 <!ATTLIST anchor        id          ID                 #REQUIRED >
452
453
454 <!ELEMENT link      - - ((%atomic; | #PCDATA)+) -(link)>
455 <!ATTLIST link          -- rid is to id in this document or to a link --
456                         -- type element such as crossdoc in the snb   --
457                         -- of the current virpage                     --
458                         rid         IDREF              #REQUIRED
459
460                         -- button should be a graphic in the snb      --
461                         button      IDREF              #IMPLIED
462
463                         linkinfo    CDATA              #IMPLIED
464                         descript    CDATA              #IMPLIED
465
466                         -- processor shld default window to "current" --
467                         window      (current  |
468                                      new      |
469                                      popup    )        #IMPLIED
470
471                         -- procssr shld dflt traversal to "noreturn"  --
472                         traversal   (return   |
473                                      noreturn )        #IMPLIED >
474
475
476 <!-- reference to an element or alternates in the system notation block -->
477 <!ELEMENT snref     - - (refitem+, alttext?) >
478 <!ATTLIST snref         id         ID                  #IMPLIED >
479
480
481 <!-- Each refitem is tried in turn until one can be  successfully
482    - formatted.  The button is used to request display of the refitem
483    - on systems where display of the item would be slow or expensive
484    - in some other way, i.e., the button is displayed and the refitem
485    - is only displayed on activiation of the button.
486   -->
487 <!ELEMENT refitem   - - (head*) >
488 <!ATTLIST refitem       -- rid should point to a representational    --
489                         -- element in the system notation block      --
490                         rid        IDREF               #REQUIRED
491                         class      (%graphic-class; |
492                                     %format-class;  )  #REQUIRED
493
494                         -- button should be a graphic in the snb      --
495                         button      IDREF              #IMPLIED
496                         ssi         CDATA              #IMPLIED   >
497
498
499 <!-- simple text to use if all else fails -->
500 <!ELEMENT alttext   - - CDATA >
501
502
503 <!-- Atomic Text Elements ____________________________________________-->
504
505 <!-- empty rev implies delete -->
506 <!ELEMENT rev       - - ((%atomic; | #PCDATA)*) -(rev) >
507
508
509 <!-- font changes -->
510 <!ELEMENT key       - - ((%atomic; | #PCDATA)*) -(link) >
511 <!ATTLIST key           -- prcessor shld deflt charset to "ISO8859-1" --
512                         charset     CDATA              #IMPLIED
513                         class       (%key-class;)      #REQUIRED
514                         ssi         CDATA              #IMPLIED >
515
516
517 <!-- super or subscripted phrase -->
518 <!ELEMENT sphrase   - - (spc | #PCDATA)* >
519 <!ATTLIST sphrase       class       %phrase-class      #REQUIRED
520                         ssi         CDATA              #IMPLIED >
521
522
523 <!-- conditional inclusion of text -->
524 <!ELEMENT if        - - (cond, then, else?) >
525
526
527 <!-- call "interp" passing CDATA -->
528 <!ELEMENT cond      - - CDATA >
529 <!ATTLIST cond          -- processor should default interp to "ksh"   --
530                         interp      NOTATION
531                                     (tcl |
532                                      sh  |
533                                      ksh |
534                                      csh )             #IMPLIED >
535
536
537 <!-- include this text if "cond" returns non-zero -->
538 <!ELEMENT then      - - ((%atomic; | #PCDATA)*) >
539
540
541 <!-- include this text if "cond" returns zero -->
542 <!ELEMENT else      - - ((%atomic; | #PCDATA)*) >
543
544
545 <!-- special characters: the "name" attribute must be one of the special
546    - character names, e.g., [bull  ] (bullet), defined in the public
547    - character entities such as ISOpub, "ISO 8879:1986//ENTITIES
548    - Publishing//EN";  these entities are defined in sections D.4.2.1
549    - through D.4.5.6 of The SGML Handbook (Goldfarb).
550    -->
551 <!ELEMENT spc       - O EMPTY >
552 <!ATTLIST spc           name        CDATA              #REQUIRED >
553
554
555 <!-- Notation Elements _______________________________________________-->
556 <!-- The first group are representaional - referenced via <snref>     -->
557
558 <!-- Only one graphic element is declared.  The "class" attribute in
559    - the refitem of the referring snref is used to distinguish between
560    - figure, in-line or button.
561   -->
562 <!ELEMENT graphic   - O EMPTY >
563 <!ATTLIST graphic       id          ID                 #REQUIRED
564                         format      CDATA              #IMPLIED
565                         method      IDREF              #IMPLIED
566                         xid         CDATA              #REQUIRED >
567
568
569 <!-- alternate rich text for use in a list of refitems in snref -->
570 <!ELEMENT text      - - ((p | cp)*) >
571 <!ATTLIST text          id          ID                 #REQUIRED
572                         language    CDATA              #IMPLIED
573
574                         -- prcessor shld dflt charset to "ISO8859-1"  --
575                         charset     CDATA              #IMPLIED   >
576
577
578 <!ELEMENT audio     - O EMPTY >
579 <!ATTLIST audio         id          ID                 #REQUIRED
580                         format      CDATA              #IMPLIED
581                         method      IDREF              #IMPLIED
582                         xid         CDATA              #REQUIRED >
583
584
585 <!ELEMENT video     - O EMPTY >
586 <!ATTLIST video         id          ID                 #REQUIRED
587                         format      CDATA              #IMPLIED
588                         method      IDREF              #IMPLIED
589                         xid         CDATA              #REQUIRED >
590
591
592 <!ELEMENT animate   - O EMPTY >
593 <!ATTLIST animate       id          ID                 #REQUIRED
594                         format      CDATA              #IMPLIED
595                         method      IDREF              #IMPLIED
596                         xid         CDATA              #REQUIRED >
597
598
599 <!-- Execute the content of this element using the specified "interp"
600    - whenever the script element is referenced via an snref.  If the
601    - script returns a value, that value effectively becomes the CDATA
602    - content of the script element and is interpolated into the document
603    - at the point of the snref.
604   -->
605 <!ELEMENT script    - - CDATA >
606 <!ATTLIST script        id          ID                 #REQUIRED
607                         -- processor should default interp to "ksh"   --
608                         interp      NOTATION
609                                     (tcl |
610                                      sh  |
611                                      ksh |
612                                      csh )             #IMPLIED >
613
614
615 <!-- The second group in the snb is linkage - referenced via <link>   -->
616 <!ELEMENT crossdoc  - O EMPTY >
617 <!ATTLIST crossdoc      id          ID                 #REQUIRED
618
619                         -- cross document link - doc & id   --
620                         xid         CDATA              #REQUIRED >
621
622 <!ELEMENT man-page  - O EMPTY >
623 <!ATTLIST man-page      id          ID                 #REQUIRED
624                         xid         CDATA              #REQUIRED >
625
626
627 <!ELEMENT textfile  - O EMPTY >
628 <!ATTLIST textfile      id          ID                 #REQUIRED
629                         xid         CDATA              #REQUIRED
630                         offset      CDATA              #IMPLIED 
631                         format      CDATA              #IMPLIED  >
632
633
634 <!ELEMENT sys-cmd   - O EMPTY >
635 <!ATTLIST sys-cmd       id          ID                 #REQUIRED
636                         command     CDATA              #REQUIRED >
637
638
639 <!ELEMENT callback  - O EMPTY >
640 <!ATTLIST callback     id           ID                 #REQUIRED
641                        data         CDATA              #IMPLIED  >
642
643
644 <!-- The switch element is always hyperlinked to.  The interpreter,
645    - interp, is called passing the CDATA content and returning a number
646    - 0 to n.  The return value of the interpreter is used to index into
647    - the list of branches and the hyperlink is continued to that ID.  A
648    - return value less than zero or greater than the number of IDs minus
649    - 1 causes the hyperlink to continue to branch 0.
650   -->
651 <!ELEMENT switch    - - CDATA >
652 <!ATTLIST switch        id         ID                  #REQUIRED
653                         -- processor should default interp to "ksh"   --
654                         interp     NOTATION
655                                    (tcl |
656                                     sh  |
657                                     ksh |
658                                     csh )              #IMPLIED
659                         branches   IDREFS              #REQUIRED >
660
661
662 <!-- Generated Elements ______________________________________________-->
663
664 <!ELEMENT rel-docs  - O EMPTY >
665 <!ELEMENT rel-file  - O EMPTY >
666 <!ELEMENT notes     - O EMPTY >
667
668
669 <!-- The list of identifiers, loids, element is a list of ids in this
670      document in the order they are defined.  The "count" attribute of
671      loids is the number of ids it contains.  The higher level DTD to
672      SDL translator may precompute "count" to enable the processor to
673      preallocate space for the ids.  If "count" is not present, the
674      processor must compute the number itself from the document.  The
675      "type" attribute of id is the name of the element to which the
676      id belongs.  The "rid" (referenced identifier) attribute is the
677      identifier being listed.  The "rssi" (referenced source semantic
678      identifier) is the "ssi" of the element to which the identifier
679      belongs.  Similarly, the "rlevel" (referenced level) attribute
680      is the "level" of the element to which the identifier belongs.
681      Finally, the "offset" attribute is the byte offset in the document
682      to the start of the virtual page containing the identifier. -->
683 <!ELEMENT loids     - - (id*) >
684 <!ATTLIST loids         count      NUMBER              #IMPLIED   >
685
686 <!ELEMENT id        - O EMPTY >
687 <!ATTLIST id            type       (virpage  |
688                                     block    |
689                                     form     |
690                                     p        |
691                                     cp       |
692                                     head     |
693                                     subhead  |
694                                     anchor   |
695                                     switch   |
696                                     snref    |
697                                     graphic  |
698                                     text     |
699                                     audio    |
700                                     video    |
701                                     animate  |
702                                     crossdoc |
703                                     man-page |
704                                     textfile |
705                                     sys-cmd  |
706                                     script   |
707                                     callback )         #REQUIRED
708                         rid         IDREF              #REQUIRED
709                         rssi        CDATA              #IMPLIED
710                         rlevel      NUMBER             #IMPLIED
711                         offset      NUMBER             #REQUIRED  >
712
713
714 <!-- An index consists of zero or more entries.  Each entry contains
715      the indexed (rich) text.  The "count" attribute of index is the
716      number of entries (recursively) it contains.  The higher level
717      DTD to SDL translator may precompute "count" to enable the
718      processor to preallocate space for the entries.  If "count" is
719      not present, the processor must compute the number itself from
720      the document.  The "locs" and "main" attributes of an entry are
721      lists of ids where the entry may be found.  Those ids found on
722      the "main" list may be highlighted or emphasized in some way to
723      indicate a greater importance than the ids found on the "locs"
724      list - a definition, for example.  Otherwise, ids found on the
725      "locs" list and the "main" list behave identically.  The "syns"
726      attribute of an entry is another list of ids that refer to other
727      entry elements and correspond to a "See also" or synonym type
728      reference in an index.  The "sort" attribute is an optional sort
729      key to be used if the indexed entry is to be sorted other than
730      by its content.  The index should be pre-sorted although the
731      optional sort keys are preserved in case multiple indexes need
732      to be merged at some later date.  An entry element may also
733      contain other entries to allow a hierarchical index to be
734      generated. -->
735 <!ELEMENT index     - - (entry*)                                  >
736 <!ATTLIST index         head        CDATA              #IMPLIED
737                         count       NUMBER             #IMPLIED   >
738
739 <!ELEMENT entry     - - ((%simple; | #PCDATA)*, entry*)           >
740 <!ATTLIST entry         id          ID                 #IMPLIED
741                         main        IDREFS             #IMPLIED
742                         locs        IDREFS             #IMPLIED
743                         syns        IDREFS             #IMPLIED
744                         sort        CDATA              #IMPLIED   >
745
746
747 <!-- The lophrases (list of phrases) element is generated by the
748      higher level DTD to SDL translator.  It is a list of phrases used
749      from the toss element content in this document.  The phrases are
750      used to map the users knowledge domain into the constructs used
751      in SDL.  This information can be used to to pass the phrases
752      available for structured/semantic searches to a browser or viewer
753      to allow that browser or viewer to offer that information to the
754      user.  The "count" attribute of lophrases is the number of phrases
755      it contains.  The higher level DTD to SDL translator may precompute
756      "count" to enable the processor to preallocate space for the
757      phrases.  If "count" is not present, the processor must compute
758      the number itself from the document.  -->
759 <!ELEMENT lophrases - - (phrase+) >
760 <!ATTLIST lophrases     count       NUMBER             #IMPLIED  >
761
762 <!ELEMENT phrase    - O EMPTY     >
763 <!ATTLIST phrase        text        CDATA              #REQUIRED >
764
765
766 <!-- The following element, toss (table of semantics and styles), is
767      generated by the higher level DTD to SDL translator.  The "count"
768      attribute of toss is the number of styles it contains.  The
769      translator may precompute "count" to enable the processor to
770      preallocate space for the styles.  If "count" is not present, the
771      processor must compute the number itself from the document.  The
772      first three attributes of each sub-element are used for lookup in
773      the toss.  When formatting an element, the toss is searched for a
774      semantic match, i.e., a match of the ssi, class and level/rlevel.
775      The result of the search is font and/or formatting information
776      along with the phrase describing the meaning of an element of this
777      style.
778
779      With the exception of the XLFD and Windows typeface name, an
780      unspecified attribute implies inheritance.
781
782      The "phrase" attribute is an English (or natural language) phrase
783      describing the intended use (semantics) of an element of this
784      style.  -->
785 <!ELEMENT toss      - - (keystyle*,
786                          headstyle*,
787                          formstyle*,
788                          frmtstyle*,
789                          grphstyle*) >
790 <!ATTLIST toss          count       NUMBER             #IMPLIED   >
791
792
793 <!ELEMENT keystyle  - O EMPTY    >
794 <!ATTLIST keystyle      class       (%key-class;)      #REQUIRED
795                         ssi         CDATA              #IMPLIED
796
797                         -- the level of the element being described   --
798                         rlevel      NUMBER             #IMPLIED
799
800                         phrase      CDATA              #IMPLIED
801
802                         -- likelihood that this element contains an   --
803                         -- actual hit when doing a full text search   --
804                         srch-wt     NUMBER             #IMPLIED
805
806                         -- strings to emit on entry and exit from key --
807                         enter       CDATA              #IMPLIED
808                         exit        CDATA              #IMPLIED
809
810                         %font-styles; >
811
812
813
814 <!ELEMENT headstyle - O EMPTY    >
815 <!ATTLIST headstyle     class       (%head-class;)     #REQUIRED
816                         ssi         CDATA              #IMPLIED
817
818                         -- the level of the element being described   --
819                         rlevel      NUMBER             #IMPLIED
820
821                         phrase      CDATA              #IMPLIED
822
823                         -- likelihood that this element contains an   --
824                         -- actual hit when doing a full text search   --
825                         srch-wt     NUMBER             #IMPLIED
826
827                         -- horizontal orientation of the head with    --
828                         -- respect to its associated document,        --
829                         -- vstruct, virpage, snb, block, form, or p;  --
830                         -- or of the subhead with respect to its      --
831                         -- head.                                      --
832                         -- procsr shld dflt orient to "center-orient" --
833                         orient      (left-orient         |
834                                      center-orient       |
835                                      right-orient        |
836                                      left-margin-orient  |
837                                      right-margin-orient |
838                                      left-corner-orient  |
839                                      right-corner-orient )
840                                                        #IMPLIED
841
842                         -- vertical orientation of the head or        --
843                         -- subhead with respect to its parent.        --
844                         -- procsor shld dflt vorient to "top-vorient" --
845                         vorient     (top-vorient    |
846                                      bottom-vorient |
847                                      center-vorient )  #IMPLIED
848
849                         -- This attribute applies to head elements    --
850                         -- only, since subheads cannot contain more   --
851                         -- subheads.  The attribute determines        --
852                         -- whether the vorient attribute applies to   --
853                         -- the head only or to the entire head object --
854                         -- including its subheads.                    --
855                         -- processor shld deflt placement to "parent" --
856                         placement   (object | parent)  #IMPLIED
857
858                         -- Head width is the percent of the           --
859                         -- available space for this element that      --
860                         -- should be given to its head or the percent --
861                         -- of the head that should be given to a      --
862                         -- subhead.  It is expressed as a fixed point --
863                         -- number 1 to 10000 with an implied decimal  --
864                         -- point two places to the left of the right  --
865                         -- side.                                      --
866                         -- processor should default headw to "10000"  --
867                         headw        CDATA             #IMPLIED
868
869                         -- where to put this head or subhead if it    --
870                         -- collides with one already placed.          --
871                         -- Horizontal stacking means place this one   --
872                         -- under the other.  Vertical stacking means  --
873                         -- place this one to the right of the other.  --
874                         -- processor should default stack to "vert"   --
875                         stack       (horiz | vert)     #IMPLIED
876
877                         -- does the body wrap around the head text?   --
878                         -- "join" implies starting the content of the --
879                         -- surrounding element immediatly after this  --
880                         -- head (i.e., on the same line as the bottom --
881                         -- of this head).                             --
882                         -- processor should default flow to "nowrap"  --
883                         flow         (wrap   |
884                                       nowrap |
885                                       join)            #IMPLIED
886
887                         %font-styles;
888                         %format-styles;
889
890                         -- applies to the text in the element, not    --
891                         -- the element itself.                        --
892                         -- prcsr shld dflt justify to "left-justify"  --
893                         justify      (left-justify   |
894                                       right-justify  |
895                                       center-justify |
896                                       numeric-justify) #IMPLIED >
897
898
899 <!ELEMENT formstyle - O EMPTY    >
900 <!ATTLIST formstyle     class        (%format-class;)  #REQUIRED
901                         ssi          CDATA             #IMPLIED
902
903                         -- the level of the element being described   --
904                         rlevel       NUMBER            #IMPLIED
905
906                         phrase       CDATA             #IMPLIED
907
908                         -- likelihood that this element contains an   --
909                         -- actual hit when doing a full text search   --
910                         srch-wt      NUMBER            #IMPLIED
911
912                         -- The widths of the columns in this form,    --
913                         -- colw, is a space separated list of comma   --
914                         -- separated integral triples.  If only two   --
915                         -- comma separated numbers in a triple are    --
916                         -- given, the second is replicated to make    --
917                         -- three.  If only one number is given, the   --
918                         -- other two are assumed to be 0. The first   --
919                         -- number of a triple is the optimally        --
920                         -- desired width.  The second number is how   --
921                         -- much the column is willing to grow         --
922                         -- relative to the other columns.  The third  --
923                         -- number is how much the column is willing   --
924                         -- to shrink relative to the other columns.   --
925                         -- The numbers are summed and the total is    --
926                         -- taken as 100 percent of available space.   --
927                         -- That space is then divided among the       --
928                         -- columns.  The process of summing and       --
929                         -- dividing is repeated until all the         --
930                         -- desired/shrink/grow constraints are met or --
931                         -- it is known to be impossible to meet them. --
932                         -- If meeting the constraints is impossible,  --
933                         -- the column is handled similarly to a       --
934                         -- graphic that will not fit, e.g., a scroll- --
935                         -- bar may be added to allow the form to be   --
936                         -- larger than the size of the viewing area.  --
937                         -- There should be as many triples as given   --
938                         -- in the value "ncols" in the "fstyle" sub-  --
939                         -- element of the form element to which this  --
940                         -- "formstyle" is being applied.  Extra       --
941                         -- triples are ignored.  If less than "ncols" --
942                         -- triples are provided, the last triple is   --
943                         -- replicated.                                --
944                         colw         CDATA             #IMPLIED
945
946                         -- Column justification, taken from one of    --
947                         -- l | r | c | d (left, right, centered and   --
948                         -- decimal), separated by spaces, for each    --
949                         -- column of the form.  Extras are ignored.   --
950                         -- If there are fewer than the number of      --
951                         -- columns specified by the "ncols" attribute --
952                         -- of the "fstyle" subelement of the "form"   --
953                         -- to which this "formstyle" is being         --
954                         -- applied, the last value is replicated.     --
955                         -- The value defaults to "l" (left justified) --
956                         colj         CDATA             #IMPLIED
957
958                         %font-styles;
959                         %format-styles; >
960
961
962 <!ELEMENT frmtstyle - O EMPTY    >
963 <!ATTLIST frmtstyle     class        (%format-class;)  #REQUIRED
964                         ssi          CDATA             #IMPLIED
965
966                         -- the level of the element being described   --
967                         rlevel       NUMBER            #IMPLIED
968
969                         phrase       CDATA             #IMPLIED
970
971                         -- first line lmargin may be negative but     --
972                         -- it's a number used to indicate extension   --
973                         -- or indentation at start                    --
974                         -- processor should default f-margin to "0"   --
975                         f-margin     CDATA             #IMPLIED
976
977                         -- likelihood that this element contains an   --
978                         -- actual hit when doing a full text search   --
979                         srch-wt      NUMBER            #IMPLIED
980
981                         %font-styles;
982                         %format-styles;
983
984                         -- applies to the text in the element, not    --
985                         -- the element itself.                        --
986                         -- prcsr shld dflt justify to "left-justify"  --
987                         justify      (left-justify   |
988                                       right-justify  |
989                                       center-justify |
990                                       numeric-justify) #IMPLIED >
991
992 <!ELEMENT grphstyle - O EMPTY    >
993 <!ATTLIST grphstyle     class        (%graphic-class;) #REQUIRED
994                         ssi          CDATA             #IMPLIED
995
996                         -- the level of the element being described   --
997                         rlevel       NUMBER            #IMPLIED
998
999                         phrase       CDATA             #IMPLIED
1000
1001                         %format-styles;
1002
1003                         -- applies to the graphic in the element, not --
1004                         -- the element itself.                        --
1005                         -- prcsr shld dflt justify to "left-justify"  --
1006                         justify      (left-justify   |
1007                                       right-justify  |
1008                                       center-justify ) #IMPLIED >
1009
1010 ] >