2 SF_FORUM 0.1 (2000-03-07)
4 Same as XMLNews-Story except that root element is no longer nitf, but is
5 the group element instead, containing multiple forums, in turn containing
9 <?xml version="1.0" encoding="UTF-8"?>
10 <!ELEMENT group (forum*)>
13 <!ELEMENT forum (nitf+)>
18 ************************************************************************
19 XMLNEWS-STORY (1999-04-05)
21 Copyright (c) 1999 by XMLNews.org
25 XMLNews-Story is a compatible subset of the News Industry
26 Text Format (NITF-XML) DTD of 21 September 1998. Documentation and
27 tutorial information, together with the latest version of the schema, are
28 available from http://www.xml.org/. The root element is
29 <nitf>. The system identifier for the DTD is
30 "http://www.xmlnews.org/dtds/xmlnews-story.dtd".
32 ************************************************************************
35 <!-- Hyperlink anchor -->
36 <!ELEMENT a (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
41 <!ELEMENT audio (audio.caption?, audio.producer?, audio.data)>
44 length NMTOKEN #IMPLIED>
46 <!-- Audio clip caption -->
47 <!ELEMENT audio.caption (caption)>
49 <!-- Audio clip data -->
50 <!ELEMENT audio.data EMPTY>
52 copyright CDATA #IMPLIED>
54 <!-- Audio clip producer -->
55 <!ELEMENT audio.producer (byline)+>
57 <!-- Document base URL -->
62 <!-- Information block -->
63 <!ELEMENT block (dateline?, copyrite?, (img | audio | video | p | ol | ul | dl | table | bq | pre)*, datasource?)>
65 <!-- Body of the news story -->
66 <!ELEMENT body (body.head?, body.content?, body.end?)>
68 <!-- Main content of a news story -->
69 <!ELEMENT body.content (p | ol | ul | dl | h1 | h2 | h3 | h4 | block)*>
71 <!-- End information for a news story -->
72 <!ELEMENT body.end (tagline)>
74 <!-- Printable header information for a news story -->
75 <!ELEMENT body.head (hedline?, byline*, distributor?, dateline?, series?)>
77 <!-- Block quotation -->
78 <!ELEMENT bq ((h1 | h2 | h3 | h4 | block)+, credit?)>
84 <!ELEMENT byline (bytag)>
86 <!-- Tag in a byline. -->
87 <!ELEMENT bytag (#PCDATA)>
90 <!ELEMENT caption (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
92 <!-- Date and time -->
93 <!ELEMENT chron (#PCDATA)>
98 <!ELEMENT city (#PCDATA)>
100 <!-- Copyright statement -->
101 <!ELEMENT copyrite (#PCDATA | copyrite.year | copyrite.holder)*>
103 <!-- Copyright holder -->
104 <!ELEMENT copyrite.holder (#PCDATA)>
106 <!-- Copyright year -->
107 <!ELEMENT copyrite.year (#PCDATA)>
109 <!-- Country name -->
110 <!ELEMENT country (#PCDATA)>
112 <!-- Quotation credit -->
113 <!ELEMENT credit (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
115 <!-- Block data source -->
116 <!ELEMENT datasource (#PCDATA)>
119 <!ELEMENT dateline (location, story.date?)>
121 <!-- Descriptive data -->
122 <!ELEMENT dd (block)>
125 <!ELEMENT denom (#PCDATA)>
127 <!-- News distributor -->
128 <!ELEMENT distributor (#PCDATA | org)*>
130 <!-- Descriptive list -->
131 <!ELEMENT dl (lh?, (dt?, dd)+)>
133 <!-- Description title -->
134 <!ELEMENT dt (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
136 <!-- Emphasized phrase -->
137 <!ELEMENT em (#PCDATA)>
140 <!ELEMENT event (#PCDATA)>
143 <!ELEMENT frac (numer, denom)>
145 <!-- Person's function -->
146 <!ELEMENT function (#PCDATA)>
148 <!-- Level one heading -->
149 <!ELEMENT h1 (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
151 <!-- Level two heading -->
152 <!ELEMENT h2 (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
154 <!-- Level three heading -->
155 <!ELEMENT h3 (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
157 <!-- Level four heading -->
158 <!ELEMENT h4 (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
160 <!-- Document header -->
161 <!ELEMENT head (title, base?)>
163 <!-- Story headline group -->
164 <!ELEMENT hedline (hl1, hl2*)>
166 <!-- Story headline -->
167 <!ELEMENT hl1 (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
169 <!-- Story subheadline -->
170 <!ELEMENT hl2 (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
173 <!ELEMENT img (img.caption?, img.producer?, img.data)>
176 width NMTOKEN #IMPLIED
177 height NMTOKEN #IMPLIED>
179 <!-- Image caption -->
180 <!ELEMENT img.caption (caption)>
183 <!ELEMENT img.data EMPTY>
185 copyright CDATA #IMPLIED>
187 <!-- Image producer -->
188 <!ELEMENT img.producer (byline)+>
190 <!-- Foreign language phrase -->
191 <!ELEMENT lang (#PCDATA)>
193 lang NMTOKEN #IMPLIED>
196 <!ELEMENT lh (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
199 <!ELEMENT li (block)>
201 <!-- Location in story -->
202 <!ELEMENT location (#PCDATA | sublocation | city | state | region | country)*>
204 <!-- Monetary phrase -->
205 <!ELEMENT money (#PCDATA)>
210 <!ELEMENT name.family (#PCDATA)>
213 <!ELEMENT name.given (#PCDATA)>
215 <!-- XMLNews-Story root element -->
216 <!ELEMENT nitf (head, body)>
218 baselang CDATA #IMPLIED
219 change.date CDATA #FIXED "$Date$"
220 change.time CDATA #FIXED "0000"
222 version CDATA #FIXED "-//XMLNews//DTD XMLNEWS-STORY $Revision$//EN">
224 <!-- Numeric expression -->
225 <!ELEMENT num (#PCDATA | frac | sub | sup)*>
228 <!ELEMENT numer (#PCDATA)>
230 <!-- Object title -->
231 <!ELEMENT object.title (#PCDATA)>
233 <!-- Ordered list -->
234 <!ELEMENT ol (lh?, li+)>
236 <!-- Organization -->
237 <!ELEMENT org (#PCDATA | orgid)*>
239 <!-- Organization identifier -->
240 <!ELEMENT orgid EMPTY>
242 idsrc CDATA #REQUIRED
243 value CDATA #REQUIRED>
246 <!ELEMENT p (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
249 <!ELEMENT person (#PCDATA | name.given | name.family | function)*>
251 <!-- Preformatted text -->
252 <!ELEMENT pre (#PCDATA)>
254 <!-- Pronounciation -->
255 <!ELEMENT pronounce EMPTY>
258 phonetic CDATA #IMPLIED>
260 <!-- Quoted phrase -->
261 <!ELEMENT q (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
263 <!-- Geographical region -->
264 <!ELEMENT region (#PCDATA)>
267 <!ELEMENT series EMPTY>
269 series.name CDATA #IMPLIED
270 series.part NMTOKEN "0"
271 series.totalpart NMTOKEN "0">
273 <!-- Geographical state -->
274 <!ELEMENT state (#PCDATA)>
277 <!ELEMENT story.date (#PCDATA)>
279 <!-- Subscript phrase -->
280 <!ELEMENT sub (#PCDATA)>
282 <!-- Geographical sublocation -->
283 <!ELEMENT sublocation (#PCDATA)>
285 <!-- Superscript phrase -->
286 <!ELEMENT sup (#PCDATA)>
289 <!ELEMENT table (caption?, thead?, tfoot?, tbody+)>
291 <!-- Story tag line -->
292 <!ELEMENT tagline (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q)*>
295 <!ELEMENT tbody (tr+)>
297 align (left | center | right | justify) #IMPLIED
298 valign (top | middle | bottom | baseline) #IMPLIED>
300 <!-- Table data cell -->
301 <!ELEMENT td (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q | p | ol | ul | dl | h1 | h2 | h3 | h4 | img | audio | video)*>
305 align (left | center | right | justify) #IMPLIED
306 valign (top | middle | bottom | baseline) #IMPLIED>
308 <!-- Table footer -->
309 <!ELEMENT tfoot (tr+)>
311 align (left | center | right | justify) #IMPLIED
312 valign (top | middle | bottom | baseline) #IMPLIED>
314 <!-- Table heading cell -->
315 <!ELEMENT th (#PCDATA | chron | copyrite | event | function | location | money | num | object.title | org | person | virtloc | a | br | em | lang | pronounce | q | p | ol | ul | dl | h1 | h2 | h3 | h4)*>
319 align (left | center | right | justify) #IMPLIED
320 valign (top | middle | bottom | baseline) #IMPLIED>
322 <!-- Table header -->
323 <!ELEMENT thead (tr+)>
325 align (left | center | right | justify) #IMPLIED
326 valign (top | middle | bottom | baseline) #IMPLIED>
328 <!-- Document title -->
329 <!ELEMENT title (#PCDATA)>
332 <!ELEMENT tr (th | td)+>
334 align (left | center | right | justify) #IMPLIED
335 valign (top | middle | bottom | baseline) #IMPLIED>
337 <!-- Unordered list -->
338 <!ELEMENT ul (lh?, li+)>
341 <!ELEMENT video (video.caption?, video.producer?, video.data)>
344 length NMTOKEN #IMPLIED>
346 <!-- Video clip caption -->
347 <!ELEMENT video.caption (caption)>
349 <!-- Video clip data -->
350 <!ELEMENT video.data EMPTY>
352 copyright CDATA #IMPLIED>
354 <!-- Video clip producer -->
355 <!ELEMENT video.producer (byline)+>
357 <!-- Virtual location -->
358 <!ELEMENT virtloc (#PCDATA)>