This file is indexed.

/usr/share/sgml/dtd/mod-general.dtd is in sgml-data 2.0.10.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
<!-- (C) International Organization for Standardization 1986
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.
-->
<!--
Public identifier:
	"+//ISBN 82-7640-000//DTD General Document//EN"

Note:
    This DTD is a modified version of the public DTD known as
	"ISO 8879:1986//DTD General Document//EN".
    The modification concerns the titlep element, where the content
    model contains "address" twice in the final OR group.  The first
    "address" has been removed, as it was redundant and introduced
    ambiguity to the content model for the titlep element.  Documents
    which conform to the above mentioned DTD will conform to this DTD.

Credits:
    Jaap Akkerhuis <jaap@alice.att.com> discovered the ambiguity.
    Wayne Wohler <WOHLER@BLDVM1.VNET.IBM.COM> provided the original
    DTD.  Modification by Erik Naggum <erik@naggum.no>.

Contact:
    ISBN 82-7640 assigned to Naggum Software, Box 1570 Vika, 0118
    OSLO, NORWAY.  Phone +47-295-0313.  E-mail: <books@naggum.no>.
    This DTD will be provided free of charge, electronically, by means
    of electronic mail or receiver-initiated file transfer, to those
    who have legal access to the ISO document from which this is a
    derived work.  This published material will _not_ be provided in
    paper copy, except as required by law.
-->
<!-- Public document type definition.  Typical invocation:
<!DOCTYPE general PUBLIC "+//ISBN 82-7640-000//DTD General Document//EN" [
  <!ENTITY % ISOnum PUBLIC
    "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN">
  <!ENTITY % ISOpub PUBLIC
    "ISO 8879:1986//ENTITIES Publishing//EN">
  %ISOnum; %ISOpub;
      (Parameter entities and additional elements can be defined here.)
]>
-->
<!ENTITY % doctype "general" -- Document type generic identifier -->
<!-- This is a document type definition for a "general" document.
It contains the necessary elements for use in many applications, and is
organized so that other elements can be added in the document type
declaration subset. -->

		  <!-- Entity Naming Conventions -->
<!--
		   Prefix = where used:
     p.	 = in paragraphs (also in phrases if .ph suffix)
     s.	 = in sections (i.e., among paragraphs)
     ps. = in paragraphs and sections
     i.	 = where allowed by inclusion exceptions
     m.	 = content model or declared content
     a.	 = attribute definition
     NONE= specific use defined in models
		 Suffix = allowed content:
     .ph = elements whose content is %m.ph;
     .d	 = elements whose content has same definition
     NONE= elements with unique definitions
-->
			<!-- Element Tokens -->
<!ENTITY % p.em.ph "hp1|hp2|hp3|hp0|cit" -- Emphasized phrases -->
<!ENTITY % p.rf.ph "hdref|figref" -- Reference phrases -->
<!ENTITY % p.rf.d  "fnref|liref" -- References (empty) -->
<!ENTITY % p.zz.ph "q|(%p.em.ph;)|(%p.rf.ph;)|(%p.rf.d;)" -- All phrases -->
<!ENTITY % ps.ul.d "ol|sl|ul|nl" -- Unit-item lists -->
<!ENTITY % ps.list "%ps.ul.d;|dl|gl" -- All lists -->
<!ENTITY % ps.elem "xmp|lq|lines|tbl|address|artwork" -- Other elements -->
<!ENTITY % ps.zz   "(%ps.elem;)|(%ps.list;)" -- Para/sect subelements -->
<!ENTITY % s.p.d   "p|note" -- Simple paragraphs -->
<!ENTITY % s.top   "top1|top2|top3|top4" -- Topics -->
<!ENTITY % s.zz	   "(%s.p.d;)|(%ps.zz;)|(%s.top;)" -- Section subelements -->
<!ENTITY % i.float "fig|fn" -- Floating elements -->
<!ENTITY % fm.d	   "abstract|preface" -- Front matter -->
<!ENTITY % bm.d	   "glossary|bibliog" -- Back matter -->

			 <!-- Model Groups -->
<!ENTITY % m.ph	   "(#PCDATA|(%p.zz.ph;))*" -- Phrase model -->
<!ENTITY % m.p	   "(#PCDATA|(%p.zz.ph;)|(%ps.zz;))*" -- Paragraph model -->
<!ENTITY % m.pseq  "(p, ((%s.p.d;)|(%ps.zz;))*)" -- Paragraph sequence -->
<!ENTITY % m.top   "(th?, p, (%s.zz;)*)" -- Topic model -->

		      <!-- Document Structure -->
<!--	  ELEMENTS    MIN  CONTENT (EXCEPTIONS) -->
<!ELEMENT %doctype;   - -  (frontm?, body, appendix?, backm?) +(ix|%i.float;)>
<!ELEMENT frontm      - O  (titlep, (%fm.d;|h1)*, toc?, figlist?)>
<!ELEMENT body	      - O  (h0+|h1+)>
<!ELEMENT appendix    - O  (h1+)>
<!ELEMENT backm	      - O  ((%bm.d;|h1)*, index?)>
<!ELEMENT (toc|figlist|index)	 -- Table of contents, figure list, --
		      - O  EMPTY -- and index have generated content -->

		     <!-- Title Page Elements -->
<!--	  ELEMENTS    MIN  CONTENT (EXCEPTIONS) -->
<!ELEMENT titlep      - O  (title & docnum? & date? & abstract? &
			     (author|%s.zz;)*)>
<!ELEMENT (docnum|date|author)
		      - O  (#PCDATA) -- Document number, etc. -->
<!ELEMENT title	      - O  (tline+) -- Document title -->
<!ELEMENT tline	      O O  %m.ph; -- Title line -->

		       <!-- Headed Sections -->
<!--	  ELEMENTS    MIN  CONTENT (EXCEPTIONS) -->
<!ELEMENT h0	      - O  (h0t, (%s.zz;)*, h1+) -- Part -->
<!ELEMENT (h1|%bm.d;|%fm.d;)
		      - O  (h1t, (%s.zz;)*, h2*) -- Chapter -->
<!ELEMENT h2	      - O  (h2t, (%s.zz;)*, h3*) -- Section -->
<!ELEMENT h3	      - O  (h3t, (%s.zz;)*, h4*) -- Subsection -->
<!ELEMENT h4	      - O  (h4t, (%s.zz;)*) -- Sub-subsection -->
<!ELEMENT  (h0t|h1t|h2t|h3t|h4t)
		      O O  %m.ph;    -- Headed section titles -->

		<!-- Topics (Captioned Subsections) -->
<!--	  ELEMENTS    MIN  CONTENT (EXCEPTIONS) -->
<!ELEMENT top1	      - O  %m.top; -(top1) -- Topic 1 -->
<!ELEMENT top2	      - O  %m.top; -(top2) -- Topic 2 -->
<!ELEMENT top3	      - O  %m.top; -(top3) -- Topic 3 -->
<!ELEMENT top4	      - O  %m.top; -(top4) -- Topic 4 -->
<!ELEMENT  th	      - O  %m.ph; -- Topic heading -->

	      <!-- Elements in Sections or Paragraphs -->
<!--	  ELEMENTS    MIN  CONTENT (EXCEPTIONS) -->
<!ELEMENT address     - -  (aline+)>
<!ELEMENT  aline      O O  %m.ph; -- Address line -->
<!ELEMENT artwork     - O  EMPTY>
<!ELEMENT dl	      - -  ((dthd+, ddhd)?, (dt+, dd)*)>
<!ELEMENT  dt	      - O  %m.ph; -- Definition term -->
<!ELEMENT  (dthd|ddhd)- O  (#PCDATA) -- Headings for dt and dd -->
<!ELEMENT  dd	      - O  %m.pseq; -- Definition description -->
<!ELEMENT gl	      - -  (gt, (gd|gdg))* -- Glossary list -->
<!ELEMENT  gt	      - O  (#PCDATA) -- Glossary term -->
<!ELEMENT  gdg	      - O  (gd+) -- Glossary definition group -->
<!ELEMENT  gd	      - O  %m.pseq; -- Glossary definition -->
<!ELEMENT (%ps.ul.d;) - -  (li*) -- Unit item lists -->
<!ELEMENT  li	      - O  %m.pseq; -- List item -->
<!ELEMENT lines	      O O  %m.pseq; -- Line elements -->
<!ELEMENT (lq|xmp)    - -  %m.pseq; -(%i.float;) -- Long quote -->
<!ELEMENT (%s.p.d;)   O O  %m.p; -- Paragraphs -->

			    <!-- Table -->
<!--	  ELEMENTS    MIN  CONTENT (EXCEPTIONS) -->
<!ELEMENT tbl	      - -  (hr*, fr*, r+)>
<!ELEMENT  hr	      - O  (h+) -- Heading row -->
<!ELEMENT  fr	      - O  (f+) -- Footing row -->
<!ELEMENT  r	      O O  (c+) -- Row (body of table) -->
<!ELEMENT   c	      O O  %m.pseq; -- Cell in body row -->
<!ELEMENT   (f|h)     O O  (#PCDATA) -- Cell in fr or hr -->

			   <!-- Phrases -->
<!--	  ELEMENTS    MIN  CONTENT (EXCEPTIONS) -->
<!ELEMENT (%p.em.ph;) - -  %m.ph;  -- Emphasized phrases -->
<!ELEMENT q	      - -  %m.ph;  -- Quotation -->
<!ELEMENT (%p.rf.ph;) - O  %m.ph;  -- Reference phrases -->
<!ELEMENT (%p.rf.d;)  - O  EMPTY   -- Generated references -->

		    <!-- Includable Subelements -->
<!--	  ELEMENTS    MIN  CONTENT (EXCEPTIONS) -->
<!ELEMENT fig	      - -  (figbody, (figcap, figdesc?)?) -(%i.float;)>
<!ELEMENT  figbody    O O  %m.pseq; -- Figure body -->
<!ELEMENT  figcap     - O  %m.ph; -- Figure caption -->
<!ELEMENT  figdesc    - O  %m.pseq; -- Figure description -->
<!ELEMENT fn	      - -  %m.pseq; -(%i.float;) -- Footnote -->
<!ELEMENT ix	      - O  (#PCDATA) -- Index entry -->

		  <!-- Attribute Definition Lists -->
<!-- As this document type definition is intended for basic SGML
     documents, in which the LINK features are not supported, it was
     necessary to include link attributes in the definitions.
-->
<!--	  ELEMENTS    NAME     VALUE	 DEFAULT -->
<!ATTLIST %doctype;   security CDATA	 #IMPLIED
		      status   CDATA	 ""
		      version  CDATA	 #IMPLIED>
<!ATTLIST title	      stitle   CDATA	 #IMPLIED>
<!ATTLIST (h0|h1|h2|%bm.d;|%fm.d;)
		      id       ID	 #IMPLIED
		      stitle   CDATA	 #IMPLIED>
<!ATTLIST (h3|h4)     id       ID	 #IMPLIED>
<!ATTLIST artwork     sizex    NMTOKEN	 textsize
	  -- Default is current text width in column. --
		      sizey    NUTOKEN	 #REQUIRED
	  -- (Sizes are specified in the units supported by the
	     application in which this declaration appears;
	     for sizex, the keyword "textsize" can be used
	     to mean "the width at which previous text was set").
	  -->
<!ATTLIST gl	      compact  (compact) #IMPLIED
		      termhi   NUMBER	 2>
<!ATTLIST dl	      compact  (compact) #IMPLIED
		      headhi   NUMBER	 2
		      termhi   NUMBER	 2
		      tsize    NUMBERS	 9
	  -- The number of dt elements per dd must equal the
	     number of numbers specified for tsize (here 1).
	     The number of dthd elements must be the same.
	  -->
<!ATTLIST gd	      source   CDATA	 #IMPLIED>
<!ATTLIST (%ps.ul.d;) compact  (compact) #IMPLIED>
<!ATTLIST li	      id       ID	 #IMPLIED>
<!ATTLIST xmp	      depth    NUTOKEN	 #IMPLIED
		      keep     NMTOKEN	 all
		      lines    (flow|lines) lines>
<!ATTLIST tbl	      cols     NUMBERS	 #REQUIRED
	  -- The number of c elements per r must equal
	     the number of numbers specified for cols
	     (similarly, the number of h per hr and f per fr).
	  -->
<!ATTLIST c	      heading  (h)	 #IMPLIED
	  -- If h is specified, cell is row heading.
	  -->
<!ATTLIST (%p.rf.ph;) refid    IDREF	 #CONREF
		      page     (yes|no)	 yes>
<!ATTLIST fnref	      refid    IDREF	 #REQUIRED>
<!ATTLIST liref	      refid    IDREF	 #REQUIRED
		      page     (yes|no)	 yes>
<!ATTLIST fig	      id       ID	 #IMPLIED
		      frame    (box|rule|none)	   none
		      place    (top|fixed|bottom)  top
		      width    (column|page)	   page
		      align    (left|center|right) center
		      lines    (flow|lines)	   lines>
<!ATTLIST ix	      id       ID	 #IMPLIED
		      print    CDATA	 #IMPLIED
		      see      CDATA	 #IMPLIED
		      seeid    IDREF	 #IMPLIED>
<!ATTLIST fn	      id       ID	 #IMPLIED>

		<!-- Entities for Short References -->
<!ENTITY   ptag	  STARTTAG "p"	   -- Paragraph start-tag -->
<!ENTITY   qtag	  STARTTAG "q"	   -- Quoted phrase start-tag -->
<!ENTITY   qetag  ENDTAG   "q"	   -- Quoted phrase end-tag -->
<!ENTITY   endtag ENDTAG   ""	   -- Empty end-tag for any element -->

<!SHORTREF docmap		      -- Map for general use --
		  "&#RS;&#RE;" ptag   -- Blank line is <p> --
		  '"'	       qtag   -- " is <q> -->
<!USEMAP   docmap %doctype;>
<!SHORTREF qmap			      -- Map for quoted phrases --
		  '"'	       qetag  -- " is </q> -->
<!USEMAP   qmap q>
<!SHORTREF ixmap		      -- Map for index entries --
		  "&#RE;"      endtag -- Record end is </> -->
<!USEMAP   ixmap ix>