Use PRE tag for CVS keywords.
[gedcom-parse.git] / doc / interface.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4   <title>Libgedcom interface details</title>
5                            
6   <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
7 </head>
8   <body>
9        
10 <h1 align="center">Libgedcom interface details</h1>
11     <br>
12        
13 <h2>Index</h2>
14        
15 <ul>
16       <li><a href="#Record_identifiers">Record identifiers</a></li>
17       <li><a href="#Element_identifiers">Element identifiers</a></li>
18       <li><a href="#Gedcom_val_types">Gedcom_val types</a></li>
19            
20   <ul>
21        <li><a href="#struct_date_value">struct date_value</a></li>
22        <li><a href="#struct_date">struct date</a><br>
23       </li>
24            
25   </ul>
26        
27 </ul>
28     <br>
29        
30 <hr width="100%" size="2">    
31 <h2><a name="Record_identifiers"></a>Record identifiers</h2>
32     The following table describes the identifiers to be used in the record
33  callbacks.  &nbsp;The last column gives the <a href="#Gedcom_val_types"><code>
34   Gedcom_val</code>   type</a> of the <code>xref</code> argument in the header
35  start callback.<br>
36     <br>
37        
38 <table width="100%" border="1" cellspacing="2" cellpadding="2">
39       <tbody>
40         <tr>
41           <td valign="top" align="center"><b>Record</b><br>
42           </td>
43           <td valign="top" align="center"><b>Meaning</b><br>
44           </td>
45           <td valign="top" align="center"><b>Possible<br>
46     &nbsp;<code>xref</code> types</b><br>
47           </td>
48         </tr>
49         <tr>
50           <td valign="top"><code>REC_HEAD</code><br>
51           </td>
52           <td valign="top">The header of the GEDCOM file<br>
53           </td>
54           <td valign="top"><code>NULL</code><br>
55           </td>
56         </tr>
57         <tr>
58           <td valign="top"><code>REC_FAM</code><br>
59           </td>
60           <td valign="top">A record describing a family<br>
61           </td>
62           <td valign="top"><code>STRING</code><br>
63           </td>
64         </tr>
65         <tr>
66           <td valign="top"><code>REC_INDI</code><br>
67           </td>
68           <td valign="top">A record describing an individual<br>
69           </td>
70           <td valign="top"><code>STRING</code><br>
71           </td>
72         </tr>
73         <tr>
74           <td valign="top"><code>REC_OBJE</code><br>
75           </td>
76           <td valign="top">A record describing a multimedia object<br>
77           </td>
78           <td valign="top"><code>STRING</code><br>
79           </td>
80         </tr>
81         <tr>
82           <td valign="top"><code>REC_NOTE</code><br>
83           </td>
84           <td valign="top">A record describing a note<br>
85           </td>
86           <td valign="top"><code>STRING</code><br>
87           </td>
88         </tr>
89         <tr>
90           <td valign="top"><code>REC_REPO</code><br>
91           </td>
92           <td valign="top">A record describing a source repository<br>
93           </td>
94           <td valign="top"><code>STRING</code><br>
95           </td>
96         </tr>
97         <tr>
98           <td valign="top"><code>REC_SOUR</code><br>
99           </td>
100           <td valign="top">A record describing a source<br>
101           </td>
102           <td valign="top"><code>STRING</code><br>
103           </td>
104         </tr>
105         <tr>
106           <td valign="top"><code>REC_SUBN</code><br>
107           </td>
108           <td valign="top">A record describing the submission<br>
109           </td>
110           <td valign="top"><code>STRING</code><br>
111           </td>
112         </tr>
113         <tr>
114           <td valign="top"><code>REC_SUBM</code><br>
115           </td>
116           <td valign="top">A record describing the submitter<br>
117           </td>
118           <td valign="top"><code>STRING</code><br>
119           </td>
120         </tr>
121         <tr>
122           <td valign="top"><code>REC_USER</code><br>
123           </td>
124           <td valign="top">An application-specific record (the <code>tag</code>
125      in the start callback contains the actually used tag).<br>
126           </td>
127           <td valign="top"><code>NULL</code><br>
128     <code>STRING</code><br>
129           </td>
130         </tr>
131                
132   </tbody>    
133 </table>
134        
135 <hr width="100%" size="2">    
136 <h2><a name="Element_identifiers"></a>Element identifiers</h2>
137    The following table describes the identifiers to be used in the element
138  callbacks. &nbsp;The last column gives the <a href="file:///home/verthezp/src/external/gedcom-parse/doc/interface.html#Gedcom_val_types"><code>
139    Gedcom_val</code>  type</a> of the <code>val</code> argument in the element 
140  start callback.<br>
141    <br>
142      
143 <table cellpadding="2" cellspacing="2" border="1" width="100%">
144      <tbody>
145        <tr>
146          <td valign="top" align="center"><b>Element</b><br>
147          </td>
148          <td valign="top" align="center"><b>Possible<br>
149    tags<br>
150          </b><br>
151          </td>
152          <td valign="top" align="center"><b>Used within</b><br>
153          </td>
154          <td valign="top" align="center"><b>Possible<br>
155          <code>val</code> types<br>
156          </b><br>
157          </td>
158        </tr>
159        <tr>
160          <td valign="top"><code>ELT_HEAD_SOUR</code><br>
161          </td>
162          <td valign="top"><code>SOUR</code><br>
163          </td>
164          <td valign="top"><code>REC_HEAD</code><br>
165          </td>
166          <td valign="top"><code>STRING</code><br>
167          </td>
168        </tr>
169        <tr>
170          <td valign="top"><code>ELT_HEAD_SOUR_VERS</code><br>
171          </td>
172          <td valign="top"><code>VERS</code><br>
173          </td>
174          <td valign="top"><code>ELT_HEAD_SOUR</code><br>
175          </td>
176          <td valign="top"><code>STRING</code><br>
177          </td>
178        </tr>
179        <tr>
180          <td valign="top"><code>ELT_HEAD_SOUR_NAME</code><br>
181          </td>
182          <td valign="top"><code>NAME</code><br>
183          </td>
184          <td valign="top"><code>ELT_HEAD_SOUR</code><br>
185          </td>
186          <td valign="top"><code>STRING</code><br>
187          </td>
188        </tr>
189        <tr>
190          <td valign="top"><code>ELT_HEAD_SOUR_CORP</code><br>
191          </td>
192          <td valign="top"><code>CORP</code><br>
193          </td>
194          <td valign="top"><code>ELT_HEAD_SOUR</code><br>
195          </td>
196          <td valign="top"><code>STRING</code><br>
197          </td>
198        </tr>
199        <tr>
200          <td valign="top"><code>ELT_HEAD_SOUR_DATA</code><br>
201          </td>
202          <td valign="top"><code>DATA</code><br>
203          </td>
204          <td valign="top"><code>ELT_HEAD_SOUR</code><br>
205          </td>
206          <td valign="top"><code>STRING</code><br>
207          </td>
208        </tr>
209        <tr>
210          <td valign="top"><code>ELT_HEAD_SOUR_DATA_DATE</code><br>
211          </td>
212          <td valign="top"><code>DATE</code><br>
213          </td>
214          <td valign="top"><code>ELT_HEAD_SOUR_DATA</code><br>
215          </td>
216          <td valign="top"><code>DATE</code><br>
217          </td>
218        </tr>
219        <tr>
220          <td valign="top"><code>ELT_HEAD_SOUR_DATA_COPR</code><br>
221          </td>
222          <td valign="top"><code>COPR</code><br>
223          </td>
224          <td valign="top"><code>ELT_HEAD_SOUR_DATA</code><br>
225          </td>
226          <td valign="top"><code>STRING</code><br>
227          </td>
228        </tr>
229        <tr>
230          <td valign="top"><code>ELT_HEAD_DEST</code><br>
231          </td>
232          <td valign="top"><code>DEST</code><br>
233          </td>
234          <td valign="top"><code>REC_HEAD</code><br>
235          </td>
236          <td valign="top"><code>STRING</code><br>
237          </td>
238        </tr>
239        <tr>
240          <td valign="top"><code>ELT_HEAD_DATE</code><br>
241          </td>
242          <td valign="top"><code>DATE</code><br>
243          </td>
244          <td valign="top"><code>REC_HEAD</code><br>
245          </td>
246          <td valign="top"><code>DATE</code><br>
247          </td>
248        </tr>
249        <tr>
250          <td valign="top"><code>ELT_HEAD_DATE_TIME</code><br>
251          </td>
252          <td valign="top"><code>TIME</code><br>
253          </td>
254          <td valign="top"><code>ELT_HEAD_DATE</code><br>
255          </td>
256          <td valign="top"><code>STRING</code><br>
257          </td>
258        </tr>
259        <tr>
260          <td valign="top"><code>ELT_HEAD_SUBM</code><br>
261          </td>
262          <td valign="top"><code>SUBM</code><br>
263          </td>
264          <td valign="top"><code>REC_HEAD</code><br>
265          </td>
266          <td valign="top"><code>STRING</code><br>
267          </td>
268        </tr>
269        <tr>
270          <td valign="top"><code>ELT_HEAD_SUBN</code><br>
271          </td>
272          <td valign="top"><code>SUBN</code><br>
273          </td>
274          <td valign="top"><code>REC_HEAD</code><br>
275          </td>
276          <td valign="top"><code>STRING</code><br>
277          </td>
278        </tr>
279        <tr>
280          <td valign="top"><code>ELT_HEAD_FILE</code><br>
281          </td>
282          <td valign="top"><code>FILE</code><br>
283          </td>
284          <td valign="top"><code>REC_HEAD</code><br>
285          </td>
286          <td valign="top"><code>STRING</code><br>
287          </td>
288        </tr>
289        <tr>
290          <td valign="top"><code>ELT_HEAD_COPR</code><br>
291          </td>
292          <td valign="top"><code>COPR</code><br>
293          </td>
294          <td valign="top"><code>REC_HEAD</code><br>
295          </td>
296          <td valign="top"><code>STRING</code><br>
297          </td>
298        </tr>
299        <tr>
300          <td valign="top"><code>ELT_HEAD_GEDC</code><br>
301          </td>
302          <td valign="top"><code>GEDC</code><br>
303          </td>
304          <td valign="top"><code>REC_HEAD</code><br>
305          </td>
306          <td valign="top"><code>NULL</code><br>
307          </td>
308        </tr>
309        <tr>
310          <td valign="top"><code>ELT_HEAD_GEDC_VERS</code><br>
311          </td>
312          <td valign="top"><code>VERS</code><br>
313          </td>
314          <td valign="top"><code>ELT_HEAD_GEDC</code><br>
315          </td>
316          <td valign="top"><code>STRING</code><br>
317          </td>
318        </tr>
319        <tr>
320          <td valign="top"><code>ELT_HEAD_GEDC_FORM</code><br>
321          </td>
322          <td valign="top"><code>FORM</code><br>
323          </td>
324          <td valign="top"><code>ELT_HEAD_GEDC</code><br>
325          </td>
326          <td valign="top"><code>STRING</code><br>
327          </td>
328        </tr>
329        <tr>
330          <td valign="top"><code>ELT_HEAD_CHAR</code><br>
331          </td>
332          <td valign="top"><code>CHAR</code><br>
333          </td>
334          <td valign="top"><code>REC_HEAD</code><br>
335          </td>
336          <td valign="top"><code>STRING</code><br>
337          </td>
338        </tr>
339        <tr>
340          <td valign="top"><code>ELT_HEAD_CHAR_VERS</code><br>
341          </td>
342          <td valign="top"><code>VERS</code><br>
343          </td>
344          <td valign="top"><code>ELT_HEAD_CHAR</code><br>
345          </td>
346          <td valign="top"><code>STRING</code><br>
347          </td>
348        </tr>
349        <tr>
350          <td valign="top"><code>ELT_HEAD_LANG</code><br>
351          </td>
352          <td valign="top"><code>LANG</code><br>
353          </td>
354          <td valign="top"><code>REC_HEAD</code><br>
355          </td>
356          <td valign="top"><code>STRING</code><br>
357          </td>
358        </tr>
359        <tr>
360          <td valign="top"><code>ELT_HEAD_PLAC</code><br>
361          </td>
362          <td valign="top"><code>PLAC</code><br>
363          </td>
364          <td valign="top"><code>REC_HEAD</code><br>
365          </td>
366          <td valign="top"><code>NULL</code><br>
367          </td>
368        </tr>
369        <tr>
370          <td valign="top"><code>ELT_HEAD_PLAC_FORM</code><br>
371          </td>
372          <td valign="top"><code>FORM</code><br>
373          </td>
374          <td valign="top"><code>ELT_HEAD_PLAC</code><br>
375          </td>
376          <td valign="top"><code>STRING</code><br>
377          </td>
378        </tr>
379        <tr>
380          <td valign="top"><code>ELT_HEAD_NOTE</code><br>
381          </td>
382          <td valign="top"><code>NOTE</code><br>
383          </td>
384          <td valign="top"><code>REC_HEAD</code><br>
385          </td>
386          <td valign="top"><code>STRING</code><br>
387          </td>
388        </tr>
389        <tr>
390          <td valign="top"><code>ELT_FAM_HUSB</code><br>
391          </td>
392          <td valign="top"><code>HUSB</code><br>
393          </td>
394          <td valign="top"><code>REC_FAM</code><br>
395          </td>
396          <td valign="top"><code>STRING</code><br>
397          </td>
398        </tr>
399        <tr>
400          <td valign="top"><code>ELT_FAM_WIFE</code><br>
401          </td>
402          <td valign="top"><code>WIFE</code><br>
403          </td>
404          <td valign="top"><code>REC_FAM</code><br>
405          </td>
406          <td valign="top"><code>STRING</code><br>
407          </td>
408        </tr>
409        <tr>
410          <td valign="top"><code>ELT_FAM_CHIL</code><br>
411          </td>
412          <td valign="top"><code>CHIL</code><br>
413          </td>
414          <td valign="top"><code>REC_FAM</code><br>
415          </td>
416          <td valign="top"><code>STRING</code><br>
417          </td>
418        </tr>
419        <tr>
420          <td valign="top"><code>ELT_FAM_NCHI</code><br>
421          </td>
422          <td valign="top"><code>NCHI</code><br>
423          </td>
424          <td valign="top"><code>REC_FAM</code><br>
425          </td>
426          <td valign="top"><code>STRING</code><br>
427          </td>
428        </tr>
429        <tr>
430          <td valign="top"><code>ELT_FAM_SUBM</code><br>
431          </td>
432          <td valign="top"><code>SUBM</code><br>
433          </td>
434          <td valign="top"><code>REC_FAM</code><br>
435          </td>
436          <td valign="top"><code>STRING</code><br>
437          </td>
438        </tr>
439        <tr>
440          <td valign="top"><code>ELT_INDI_RESN</code><br>
441          </td>
442          <td valign="top"><code>RES</code><code>N</code><br>
443          </td>
444          <td valign="top"><code>REC_INDI</code><br>
445          </td>
446          <td valign="top"><code>STRING</code><br>
447          </td>
448        </tr>
449        <tr>
450          <td valign="top"><code>ELT_INDI_SEX</code><br>
451          </td>
452          <td valign="top"><code>SEX</code><br>
453          </td>
454          <td valign="top"><code>REC_INDI</code><br>
455          </td>
456          <td valign="top"><code>STRING</code><br>
457          </td>
458        </tr>
459        <tr>
460          <td valign="top"><code>ELT_INDI_SUBM</code><br>
461          </td>
462          <td valign="top"><code>SUBM</code><br>
463          </td>
464          <td valign="top"><code>REC_INDI</code><br>
465          </td>
466          <td valign="top"><code>STRING</code><br>
467          </td>
468        </tr>
469        <tr>
470          <td valign="top"><code>ELT_INDI_ALIA</code><br>
471          </td>
472          <td valign="top"><code>ALIA</code><br>
473          </td>
474          <td valign="top"><code>REC_INDI</code><br>
475          </td>
476          <td valign="top"><code>STRING</code><br>
477          </td>
478        </tr>
479        <tr>
480          <td valign="top"><code>ELT_INDI_ANCI</code><br>
481          </td>
482          <td valign="top"><code>ANCI</code><br>
483          </td>
484          <td valign="top"><code>REC_INDI</code><br>
485          </td>
486          <td valign="top"><code>STRING</code><br>
487          </td>
488        </tr>
489        <tr>
490          <td valign="top"><code>ELT_INDI_DESI</code><br>
491          </td>
492          <td valign="top"><code>DESI</code><br>
493          </td>
494          <td valign="top"><code>REC_INDI</code><br>
495          </td>
496          <td valign="top"><code>STRING</code><br>
497          </td>
498        </tr>
499        <tr>
500          <td valign="top"><code>ELT_INDI_RFN</code><br>
501          </td>
502          <td valign="top"><code>RFN</code><br>
503          </td>
504          <td valign="top"><code>REC_INDI</code><br>
505          </td>
506          <td valign="top"><code>STRING</code><br>
507          </td>
508        </tr>
509        <tr>
510          <td valign="top"><code>ELT_INDI_AFN</code><br>
511          </td>
512          <td valign="top"><code>AFN</code><br>
513          </td>
514          <td valign="top"><code>REC_INDI</code><br>
515          </td>
516          <td valign="top"><code>STRING</code><br>
517          </td>
518        </tr>
519        <tr>
520          <td valign="top"><code>ELT_OBJE_FORM</code><br>
521          </td>
522          <td valign="top"><code>FORM</code><br>
523          </td>
524          <td valign="top"><code>REC_OBJE</code><br>
525          </td>
526          <td valign="top"><code>STRING</code><br>
527          </td>
528        </tr>
529        <tr>
530          <td valign="top"><code>ELT_OBJE_TITL</code><br>
531          </td>
532          <td valign="top"><code>TITL</code><br>
533          </td>
534          <td valign="top"><code>REC_OBJE</code><br>
535          </td>
536          <td valign="top"><code>STRING</code><br>
537          </td>
538        </tr>
539        <tr>
540          <td valign="top"><code>ELT_OBJE_BLOB</code><br>
541          </td>
542          <td valign="top"><code>BLOB</code><br>
543          </td>
544          <td valign="top"><code>REC_OBJE</code><br>
545          </td>
546          <td valign="top"><code>NULL</code><br>
547          </td>
548        </tr>
549        <tr>
550          <td valign="top"><code>ELT_OBJE_BLOB_CONT</code><br>
551          </td>
552          <td valign="top"><code>CONT</code><br>
553          </td>
554          <td valign="top"><code>ELT_OBJE_BLOB</code><br>
555          </td>
556          <td valign="top"><code>STRING</code><br>
557          </td>
558        </tr>
559        <tr>
560          <td valign="top"><code>ELT_OBJE_OBJE</code><br>
561          </td>
562          <td valign="top"><code>OBJE</code><br>
563          </td>
564          <td valign="top"><code>REC_OBJE</code><br>
565          </td>
566          <td valign="top"><code>STRING</code><br>
567          </td>
568        </tr>
569        <tr>
570          <td valign="top"><code>ELT_REPO_NAME</code><br>
571          </td>
572          <td valign="top"><code>NAME</code><br>
573          </td>
574          <td valign="top"><code>REC_REPO</code><br>
575          </td>
576          <td valign="top"><code>STRING</code><br>
577          </td>
578        </tr>
579        <tr>
580          <td valign="top"><code>ELT_SOUR_DATA</code><br>
581          </td>
582          <td valign="top"><code>DATA</code><br>
583          </td>
584          <td valign="top"><code>REC_SOUR</code><br>
585          </td>
586          <td valign="top"><code>NULL</code><br>
587          </td>
588        </tr>
589        <tr>
590          <td valign="top"><code>ELT_SOUR_DATA_EVEN</code><br>
591          </td>
592          <td valign="top"><code>EVEN</code><br>
593          </td>
594          <td valign="top"><code>ELT_SOUR_DATA</code><br>
595          </td>
596          <td valign="top"><code>STRING</code><br>
597          </td>
598        </tr>
599        <tr>
600          <td valign="top"><code>ELT_SOUR_DATA_EVEN_DATE</code><br>
601          </td>
602          <td valign="top"><code>DATE</code><br>
603          </td>
604          <td valign="top"><code>ELT_SOUR_DATA_EVEN</code><br>
605          </td>
606          <td valign="top"><code>DATE</code><br>
607          </td>
608        </tr>
609        <tr>
610          <td valign="top"><code>ELT_SOUR_DATA_EVEN_PLAC</code><br>
611          </td>
612          <td valign="top"><code>PLAC</code><br>
613          </td>
614          <td valign="top"><code>ELT_SOUR_DATA_EVEN</code><br>
615          </td>
616          <td valign="top"><code>STRING</code><br>
617          </td>
618        </tr>
619        <tr>
620          <td valign="top"><code>ELT_SOUR_DATA_AGNC</code><br>
621          </td>
622          <td valign="top"><code>AGNC</code><br>
623          </td>
624          <td valign="top"><code>ELT_SOUR_DATA</code><br>
625          </td>
626          <td valign="top"><code>STRING</code><br>
627          </td>
628        </tr>
629        <tr>
630          <td valign="top"><code>ELT_SOUR_AUTH</code><br>
631          </td>
632          <td valign="top"><code>AUTH</code><br>
633          </td>
634          <td valign="top"><code>REC_SOUR</code><br>
635          </td>
636          <td valign="top"><code>STRING</code><br>
637          </td>
638        </tr>
639        <tr>
640          <td valign="top"><code>ELT_SOUR_TITL</code><br>
641          </td>
642          <td valign="top"><code>TITL</code><br>
643          </td>
644          <td valign="top"><code>REC_SOUR</code><br>
645          </td>
646          <td valign="top"><code>STRING</code><br>
647          </td>
648        </tr>
649        <tr>
650          <td valign="top"><code>ELT_SOUR_ABBR</code><br>
651          </td>
652          <td valign="top"><code>ABBR</code><br>
653          </td>
654          <td valign="top"><code>REC_SOUR</code><br>
655          </td>
656          <td valign="top"><code>STRING</code><br>
657          </td>
658        </tr>
659        <tr>
660          <td valign="top"><code>ELT_SOUR_PUBL</code><br>
661          </td>
662          <td valign="top"><code>PUBL</code><br>
663          </td>
664          <td valign="top"><code>REC_SOUR</code><br>
665          </td>
666          <td valign="top"><code>STRING</code><br>
667          </td>
668        </tr>
669        <tr>
670          <td valign="top"><code>ELT_SOUR_TEXT</code><br>
671          </td>
672          <td valign="top"><code>TEXT</code><br>
673          </td>
674          <td valign="top"><code>REC_SOUR</code><br>
675          </td>
676          <td valign="top"><code>STRING</code><br>
677          </td>
678        </tr>
679        <tr>
680          <td valign="top"><code>ELT_SUBN_SUBM</code><br>
681          </td>
682          <td valign="top"><code>SUBM</code><br>
683          </td>
684          <td valign="top"><code>REC_SUBN</code><br>
685          </td>
686          <td valign="top"><code>STRING</code><br>
687          </td>
688        </tr>
689        <tr>
690          <td valign="top"><code>ELT_SUBN_FAMF</code><br>
691          </td>
692          <td valign="top"><code>FAMF</code><br>
693          </td>
694          <td valign="top"><code>REC_SUBN</code><br>
695          </td>
696          <td valign="top"><code>STRING</code><br>
697          </td>
698        </tr>
699        <tr>
700          <td valign="top"><code>ELT_SUBN_TEMP</code><br>
701          </td>
702          <td valign="top"><code>TEMP</code><br>
703          </td>
704          <td valign="top"><code>REC_SUBN</code><br>
705          </td>
706          <td valign="top"><code>STRING</code><br>
707          </td>
708        </tr>
709        <tr>
710          <td valign="top"><code>ELT_SUBN_ANCE</code><br>
711          </td>
712          <td valign="top"><code>ANCE</code><br>
713          </td>
714          <td valign="top"><code>REC_SUBN</code><br>
715          </td>
716          <td valign="top"><code>STRING</code><br>
717          </td>
718        </tr>
719        <tr>
720          <td valign="top"><code>ELT_SUBN_DESC</code><br>
721          </td>
722          <td valign="top"><code>DESC</code><br>
723          </td>
724          <td valign="top"><code>REC_SUBN</code><br>
725          </td>
726          <td valign="top"><code>STRING</code><br>
727          </td>
728        </tr>
729        <tr>
730          <td valign="top"><code>ELT_SUBN_ORDI</code><br>
731          </td>
732          <td valign="top"><code>ORDI</code><br>
733          </td>
734          <td valign="top"><code>REC_SUBN</code><br>
735          </td>
736          <td valign="top"><code>STRING</code><br>
737          </td>
738        </tr>
739        <tr>
740          <td valign="top"><code>ELT_SUBN_RIN</code><br>
741          </td>
742          <td valign="top"><code>RIN</code><br>
743          </td>
744          <td valign="top"><code>REC_SUBN</code><br>
745          </td>
746          <td valign="top"><code>STRING</code><br>
747          </td>
748        </tr>
749        <tr>
750          <td valign="top"><code>ELT_SUBM_NAME</code><br>
751          </td>
752          <td valign="top"><nobr><code>NAME</code></nobr><br>
753          </td>
754          <td valign="top"><code>REC_SUBM</code><br>
755          </td>
756          <td valign="top"><code>STRING</code><br>
757          </td>
758        </tr>
759        <tr>
760          <td valign="top"><code>ELT_SUBM_LANG</code><br>
761          </td>
762          <td valign="top"><code>LANG</code><br>
763          </td>
764          <td valign="top"><code>REC_SUBM</code><br>
765          </td>
766          <td valign="top"><code>STRING</code><br>
767          </td>
768        </tr>
769        <tr>
770          <td valign="top"><code>ELT_SUBM_RFN</code><br>
771          </td>
772          <td valign="top"><code>RFN</code><br>
773          </td>
774          <td valign="top"><code>REC_SUBM</code><br>
775          </td>
776          <td valign="top"><code>STRING</code><br>
777          </td>
778        </tr>
779        <tr>
780          <td valign="top"><code>ELT_SUBM_RIN</code><br>
781          </td>
782          <td valign="top"><code>RIN</code><br>
783          </td>
784          <td valign="top"><code>REC_SUBM</code><br>
785          </td>
786          <td valign="top"><code>STRING</code><br>
787          </td>
788        </tr>
789        <tr>
790          <td valign="top"><code>ELT_SUB_ADDR</code><br>
791          </td>
792          <td valign="top"><code>ADDR</code><br>
793          </td>
794          <td valign="top"><code>ELT_HEAD_SOUR_CORP,<br>
795   REC_REPO, REC_SUBM,<br>
796         </code><code>ELT_SUB_FAM_EVT</code>,<br>
797         <code>ELT_SUB_FAM_EVT_EVEN,<br>
798   ELT_SUB_INDIV_ATTR,<br>
799   ELT_SUB_INDIV_RESI,<br>
800   ELT_SUB_INDIV_BIRT,<br>
801   ELT_SUB_INDIV_GEN,<br>
802   ELT_SUB_INDIV_ADOP<br>
803         </code><br>
804         <br>
805          </td>
806          <td valign="top"><code>STRING</code><br>
807          </td>
808        </tr>
809        <tr>
810          <td valign="top"><code>ELT_SUB_ADDR_CONT</code><br>
811          </td>
812          <td valign="top"><code>CONT</code><br>
813          </td>
814          <td valign="top"><code>ELT_SUB_ADDR</code><br>
815          </td>
816          <td valign="top"><code>STRING</code><br>
817          </td>
818        </tr>
819        <tr>
820          <td valign="top"><code>ELT_SUB_ADDR_ADR1</code><br>
821          </td>
822          <td valign="top"><code>ADR1</code><br>
823          </td>
824          <td valign="top"><code>ELT_SUB_ADDR</code><br>
825          </td>
826          <td valign="top"><code>STRING</code><br>
827          </td>
828        </tr>
829        <tr>
830          <td valign="top"><code>ELT_SUB_ADDR_ADR2</code><br>
831          </td>
832          <td valign="top"><code>ADR2</code><br>
833          </td>
834          <td valign="top"><code>ELT_SUB_ADDR</code><br>
835          </td>
836          <td valign="top"><code>STRING</code><br>
837          </td>
838        </tr>
839        <tr>
840          <td valign="top"><code>ELT_SUB_ADDR_CITY</code><br>
841          </td>
842          <td valign="top"><code>CITY</code><br>
843          </td>
844          <td valign="top"><code>ELT_SUB_ADDR</code><br>
845          </td>
846          <td valign="top"><code>STRING</code><br>
847          </td>
848        </tr>
849        <tr>
850          <td valign="top"><code>ELT_SUB_ADDR_STAE</code><br>
851          </td>
852          <td valign="top"><code>STAE</code><br>
853          </td>
854          <td valign="top"><code>ELT_SUB_ADDR</code><br>
855          </td>
856          <td valign="top"><code>STRING</code><br>
857          </td>
858        </tr>
859        <tr>
860          <td valign="top"><code>ELT_SUB_ADDR_POST</code><br>
861          </td>
862          <td valign="top"><code>POST</code><br>
863          </td>
864          <td valign="top"><code>ELT_SUB_ADDR</code><br>
865          </td>
866          <td valign="top"><code>STRING</code><br>
867          </td>
868        </tr>
869        <tr>
870          <td valign="top"><code>ELT_SUB_ADDR_CTRY</code><br>
871          </td>
872          <td valign="top"><code>CTRY</code><br>
873          </td>
874          <td valign="top"><code>ELT_SUB_ADDR</code><br>
875          </td>
876          <td valign="top"><code>STRING</code><br>
877          </td>
878        </tr>
879        <tr>
880          <td valign="top"><code>ELT_SUB_PHON</code><br>
881          </td>
882          <td valign="top"><code>PHON</code><br>
883          </td>
884          <td valign="top"><code>ELT_HEAD_SOUR_CORP,<br>
885   REC_REPO, REC_SUBM,<br>
886         </code><code>ELT_SUB_FAM_EVT,<br>
887         </code><code>ELT_SUB_FAM_EVT_EVEN,<br>
888   ELT_SUB_INDIV_ATTR,<br>
889   ELT_SUB_INDIV_RESI,<br>
890   ELT_SUB_INDIV_BIRT,<br>
891   ELT_SUB_INDIV_GEN,<br>
892   ELT_SUB_INDIV_ADOP<br>
893         </code><br>
894         <br>
895          </td>
896          <td valign="top"><code>STRING</code><br>
897          </td>
898        </tr>
899        <tr>
900          <td valign="top"><code>ELT_SUB_ASSO</code><br>
901          </td>
902          <td valign="top"><code>ASSO</code><br>
903          </td>
904          <td valign="top"><code>REC_INDI</code><br>
905          </td>
906          <td valign="top"><code>STRING</code><br>
907          </td>
908        </tr>
909        <tr>
910          <td valign="top"><code>ELT_SUB_ASSO_TYPE</code><br>
911          </td>
912          <td valign="top"><code>TYPE</code><br>
913          </td>
914          <td valign="top"><code>ELT_SUB_ASSO</code><br>
915          </td>
916          <td valign="top"><code>STRING</code><br>
917          </td>
918        </tr>
919        <tr>
920          <td valign="top"><code>ELT_SUB_ASSO_RELA</code><br>
921          </td>
922          <td valign="top"><code>RELA</code><br>
923          </td>
924          <td valign="top"><code>ELT_SUB_ASSO</code><br>
925          </td>
926          <td valign="top"><code>STRING</code><br>
927          </td>
928        </tr>
929        <tr>
930          <td valign="top"><code>ELT_SUB_CHAN</code><br>
931          </td>
932          <td valign="top"><code>CHAN</code><br>
933          </td>
934          <td valign="top"><code>REC_FAM, REC_INDI,<br>
935   REC_OBJE, REC_NOTE,<br>
936   REC_REPO, REC_SOUR,<br>
937   REC_SUBM<br>
938         </code><br>
939          </td>
940          <td valign="top"><code>NULL</code><br>
941          </td>
942        </tr>
943        <tr>
944          <td valign="top"><code>ELT_SUB_CHAN_DATE</code><br>
945          </td>
946          <td valign="top"><code>DATE</code><br>
947          </td>
948          <td valign="top"><code>ELT_SUB_CHAN</code><br>
949          </td>
950          <td valign="top"><code>DATE</code><br>
951          </td>
952        </tr>
953        <tr>
954          <td valign="top"><code>ELT_SUB_CHAN_TIME</code><br>
955          </td>
956          <td valign="top"><code>TIME</code><br>
957          </td>
958          <td valign="top"><code>ELT_SUB_CHAN_DATE</code><br>
959          </td>
960          <td valign="top"><code>STRING</code><br>
961          </td>
962        </tr>
963        <tr>
964          <td valign="top"><code>ELT_SUB_FAMC</code><br>
965          </td>
966          <td valign="top"><code>FAMC</code><br>
967          </td>
968          <td valign="top"><code>REC_INDI</code><br>
969          </td>
970          <td valign="top"><code>STRING</code><br>
971          </td>
972        </tr>
973        <tr>
974          <td valign="top"><code>ELT_SUB_FAMC_PEDI</code><br>
975          </td>
976          <td valign="top"><code>PEDI</code><br>
977          </td>
978          <td valign="top"><code>ELT_SUB_FAMC</code><br>
979          </td>
980          <td valign="top"><code>STRING</code><br>
981          </td>
982        </tr>
983        <tr>
984          <td valign="top"><code>ELT_SUB_CONT</code><br>
985          </td>
986          <td valign="top"><code>CONT</code><br>
987          </td>
988          <td valign="top"><code>ELT_HEAD_NOTE, REC_NOTE,<br>
989   ELT_SOUR_AUTH, ELT_SOUR_TITL,<br>
990   ELT_SOUR_PUBL, ELT_SOUR_TEXT,<br>
991   ELT_SUB_NOTE, <br>
992   ELT_SUB_SOUR, ELT_SUB_SOUR_TEXT<br>
993         </code><br>
994          </td>
995          <td valign="top"><code>STRING</code><br>
996          </td>
997        </tr>
998        <tr>
999          <td valign="top"><code>ELT_SUB_CONC</code><br>
1000          </td>
1001          <td valign="top"><code>CONC</code><br>
1002          </td>
1003          <td valign="top"><code>ELT_HEAD_NOTE, REC_NOTE,<br>
1004   ELT_SOUR_AUTH, ELT_SOUR_TITL,<br>
1005   ELT_SOUR_PUBL, ELT_SOUR_TEXT,<br>
1006   ELT_SUB_NOTE, <br>
1007   ELT_SUB_SOUR, ELT_SUB_SOUR_TEXT<br>
1008         </code><br>
1009          </td>
1010          <td valign="top"><code>STRING</code><br>
1011          </td>
1012        </tr>
1013        <tr>
1014          <td valign="top"><code>ELT_SUB_EVT_TYPE</code><br>
1015          </td>
1016          <td valign="top"><code>TYPE</code><br>
1017          </td>
1018          <td valign="top"><code>ELT_SUB_FAM_EVT,<br>
1019         </code><code>ELT_SUB_FAM_EVT_EVEN,<br>
1020   ELT_SUB_INDIV_ATTR,<br>
1021   ELT_SUB_INDIV_RESI,<br>
1022   ELT_SUB_INDIV_BIRT,<br>
1023   ELT_SUB_INDIV_GEN,<br>
1024   ELT_SUB_INDIV_ADOP<br>
1025         </code><br>
1026          </td>
1027          <td valign="top"><code>STRING</code><br>
1028          </td>
1029        </tr>
1030        <tr>
1031          <td valign="top"><code>ELT_SUB_EVT_DATE</code><br>
1032          </td>
1033          <td valign="top"><code>DATE</code><br>
1034          </td>
1035          <td valign="top"><code>ELT_SUB_FAM_EVT</code>,<br>
1036         <code>ELT_SUB_FAM_EVT_EVEN,<br>
1037   ELT_SUB_INDIV_ATTR</code><code>,<br>
1038    ELT_SUB_INDIV_RESI,<br>
1039    ELT_SUB_INDIV_BIRT,<br>
1040    ELT_SUB_INDIV_GEN,<br>
1041    ELT_SUB_INDIV_ADOP<br>
1042         </code><br>
1043         <br>
1044         <br>
1045          </td>
1046          <td valign="top"><code>DATE</code><br>
1047          </td>
1048        </tr>
1049        <tr>
1050          <td valign="top"><code>ELT_SUB_EVT_AGE</code><br>
1051          </td>
1052          <td valign="top"><code>AGE</code><br>
1053          </td>
1054          <td valign="top"><code>ELT_SUB_FAM_EVT,<br>
1055         </code><code>ELT_SUB_FAM_EVT_EVEN,<br>
1056   ELT_SUB_INDIV_ATTR,<br>
1057   ELT_SUB_INDIV_RESI</code><code>,<br>
1058    ELT_SUB_INDIV_BIRT,<br>
1059    ELT_SUB_INDIV_GEN,<br>
1060    ELT_SUB_INDIV_ADOP</code><br>
1061         <br>
1062         <br>
1063          </td>
1064          <td valign="top"><code>STRING</code><br>
1065          </td>
1066        </tr>
1067        <tr>
1068          <td valign="top"><code>ELT_SUB_EVT_AGNC</code><br>
1069          </td>
1070          <td valign="top"><code>AGNC</code><br>
1071          </td>
1072          <td valign="top"><code>ELT_SUB_FAM_EVT,<br>
1073         </code><code>ELT_SUB_FAM_EVT_EVEN,<br>
1074   ELT_SUB_INDIV_ATTR,<br>
1075   ELT_SUB_INDIV_RESI</code><code>,<br>
1076    ELT_SUB_INDIV_BIRT,<br>
1077    ELT_SUB_INDIV_GEN,<br>
1078    ELT_SUB_INDIV_ADOP</code><br>
1079         <br>
1080         <br>
1081          </td>
1082          <td valign="top"><code>STRING</code><br>
1083          </td>
1084        </tr>
1085        <tr>
1086          <td valign="top"><code>ELT_SUB_EVT_CAUS</code><br>
1087          </td>
1088          <td valign="top"><code>CAUS</code><br>
1089          </td>
1090          <td valign="top"><code>ELT_SUB_FAM_EVT,<br>
1091         </code><code>ELT_SUB_FAM_EVT_EVEN,<br>
1092   ELT_SUB_INDIV_ATTR,<br>
1093   ELT_SUB_INDIV_RESI</code><code>,<br>
1094    ELT_SUB_INDIV_BIRT,<br>
1095    ELT_SUB_INDIV_GEN,<br>
1096    ELT_SUB_INDIV_ADOP</code><br>
1097         <br>
1098         <br>
1099          </td>
1100          <td valign="top"><code>STRING</code><br>
1101          </td>
1102        </tr>
1103        <tr>
1104          <td valign="top"><code>ELT_SUB_FAM_EVT</code><br>
1105          </td>
1106          <td valign="top"><code>ANUL, CENS, DIV,<br>
1107    DIVF, ENGA, MARR,<br>
1108    MARB, MARC, MARL,<br>
1109    MARS</code><br>
1110          </td>
1111          <td valign="top"><code>REC_FAM</code><br>
1112          </td>
1113          <td valign="top"><code>NULL<br>
1114    STRING</code><br>
1115          </td>
1116        </tr>
1117        <tr>
1118          <td valign="top"><code>ELT_SUB_FAM_EVT_HUSB</code><br>
1119          </td>
1120          <td valign="top"><code>HUSB</code><br>
1121          </td>
1122          <td valign="top"><code>ELT_SUB_FAM_EVT</code>,<br>
1123         <code>ELT_SUB_FAM_EVT_EVEN</code><br>
1124          </td>
1125          <td valign="top"><code>NULL</code><br>
1126          </td>
1127        </tr>
1128        <tr>
1129          <td valign="top"><code>ELT_SUB_FAM_EVT_WIFE</code><br>
1130          </td>
1131          <td valign="top"><code>WIFE</code><br>
1132          </td>
1133          <td valign="top"><code>ELT_SUB_FAM_EVT</code>,<br>
1134         <code>ELT_SUB_FAM_EVT_EVEN</code><br>
1135          </td>
1136          <td valign="top"><code>NULL</code><br>
1137          </td>
1138        </tr>
1139        <tr>
1140          <td valign="top"><code>ELT_SUB_FAM_EVT_AGE</code><br>
1141          </td>
1142          <td valign="top"><code>AGE</code><br>
1143          </td>
1144          <td valign="top"><code>ELT_SUB_FAM_EVT_HUSB</code>,<br>
1145         <code>ELT_SUB_FAM_EVT_WIFE</code><br>
1146          </td>
1147          <td valign="top"><code>STRING</code><br>
1148          </td>
1149        </tr>
1150        <tr>
1151          <td valign="top"><code>ELT_SUB_FAM_EVT_EVEN</code><br>
1152          </td>
1153          <td valign="top"><code>EVEN</code><br>
1154          </td>
1155          <td valign="top"><code>REC_FAM</code><br>
1156          </td>
1157          <td valign="top"><code>NULL</code><br>
1158          </td>
1159        </tr>
1160        <tr>
1161          <td valign="top"><code>ELT_SUB_IDENT_REFN</code><br>
1162          </td>
1163          <td valign="top"><code>REFN</code><br>
1164          </td>
1165          <td valign="top"><code>REC_FAM, REC_INDI,<br>
1166   REC_OBJE, REC_NOTE,<br>
1167   REC_REPO, REC_SOUR<br>
1168         </code><br>
1169          </td>
1170          <td valign="top"><code>STRING</code><br>
1171          </td>
1172        </tr>
1173        <tr>
1174          <td valign="top"><code>ELT_SUB_IDENT_REFN_TYPE</code><br>
1175          </td>
1176          <td valign="top"><code>TYPE</code><br>
1177          </td>
1178          <td valign="top"><code>ELT_SUB_IDENT_REFN</code><br>
1179          </td>
1180          <td valign="top"><code>STRING</code><br>
1181          </td>
1182        </tr>
1183        <tr>
1184          <td valign="top"><code>ELT_SUB_IDENT_RIN</code><br>
1185          </td>
1186          <td valign="top"><code>RIN</code><br>
1187          </td>
1188          <td valign="top"><code>REC_FAM, REC_INDI,<br>
1189   REC_OBJE, REC_NOTE,<br>
1190   REC_REPO, REC_SOUR<br>
1191         </code><br>
1192          </td>
1193          <td valign="top"><code>STRING</code><br>
1194          </td>
1195        </tr>
1196        <tr>
1197          <td valign="top"><code>ELT_SUB_INDIV_ATTR</code><br>
1198          </td>
1199          <td valign="top"><code>CAST, DSCR, EDUC,<br>
1200    IDNO, NATI, NCHR,<br>
1201    NMR, OCCU, PROP,<br>
1202    RELI, SSN, TITL</code><br>
1203          </td>
1204          <td valign="top"><code>REC_INDI</code><br>
1205          </td>
1206          <td valign="top"><code>STRING</code><br>
1207          </td>
1208        </tr>
1209        <tr>
1210          <td valign="top"><code>ELT_SUB_INDIV_RESI</code><br>
1211          </td>
1212          <td valign="top"><code>RESI</code><br>
1213          </td>
1214          <td valign="top"><code>REC_INDI</code><br>
1215          </td>
1216          <td valign="top"><code>NULL</code><br>
1217          </td>
1218        </tr>
1219        <tr>
1220          <td valign="top"><code>ELT_SUB_INDIV_BIRT</code><br>
1221          </td>
1222          <td valign="top"><code>BIRT, CHR</code><br>
1223          </td>
1224          <td valign="top"><code>REC_INDI</code><br>
1225          </td>
1226          <td valign="top"><code>NULL<br>
1227    STRING</code><br>
1228          </td>
1229        </tr>
1230        <tr>
1231          <td valign="top"><code>ELT_SUB_INDIV_BIRT_FAMC</code><br>
1232          </td>
1233          <td valign="top"><code>FAMC</code><br>
1234          </td>
1235          <td valign="top"><code>ELT_SUB_INDIV_BIRT</code><br>
1236          </td>
1237          <td valign="top"><code>STRING</code><br>
1238          </td>
1239        </tr>
1240        <tr>
1241          <td valign="top"><code>ELT_SUB_INDIV_GEN</code><br>
1242          </td>
1243          <td valign="top"><code>DEAT, BURI, CREM,<br>
1244    BAPM, BARM, BASM,<br>
1245    BLES, CHRA, CONF,<br>
1246    FCOM, ORDN, NATU,<br>
1247    EMIG, IMMI, CENS,<br>
1248    PROB, WILL, GRAD,<br>
1249    RETI</code><br>
1250          </td>
1251          <td valign="top"><code>REC_INDI</code><br>
1252          </td>
1253          <td valign="top"><code>NULL<br>
1254    STRING</code><br>
1255          </td>
1256        </tr>
1257        <tr>
1258          <td valign="top"><code>ELT_SUB_INDIV_ADOP</code><br>
1259          </td>
1260          <td valign="top"><code>ADOP</code><br>
1261          </td>
1262          <td valign="top"><code>REC_INDI</code><br>
1263          </td>
1264          <td valign="top"><code>NULL<br>
1265    STRING</code><br>
1266          </td>
1267        </tr>
1268        <tr>
1269          <td valign="top"><code>ELT_SUB_INDIV_ADOP_FAMC</code><br>
1270          </td>
1271          <td valign="top"><code>FAMC</code><br>
1272          </td>
1273          <td valign="top"><code>ELT_SUB_INDIV_ADOP</code><br>
1274          </td>
1275          <td valign="top"><code>STRING</code><br>
1276          </td>
1277        </tr>
1278        <tr>
1279          <td valign="top"><code>ELT_SUB_INDIV_ADOP_FAMC_ADOP</code><br>
1280          </td>
1281          <td valign="top"><code>ADOP</code><br>
1282          </td>
1283          <td valign="top"><code>ELT_SUB_INDIV_ADOP_FAMC</code><br>
1284          </td>
1285          <td valign="top"><code>STRING</code><br>
1286          </td>
1287        </tr>
1288        <tr>
1289          <td valign="top"><code>ELT_SUB_INDIV_EVEN</code><br>
1290          </td>
1291          <td valign="top"><code>EVEN</code><br>
1292          </td>
1293          <td valign="top"><code>REC_INDI</code><br>
1294          </td>
1295          <td valign="top"><code>NULL</code><br>
1296          </td>
1297        </tr>
1298        <tr>
1299          <td valign="top"><code>ELT_SUB_LIO_BAPL</code><br>
1300          </td>
1301          <td valign="top"><code>BAPL, CONL, ENDL</code><br>
1302          </td>
1303          <td valign="top"><code>REC_INDI</code><br>
1304          </td>
1305          <td valign="top"><code>NULL</code><br>
1306          </td>
1307        </tr>
1308        <tr>
1309          <td valign="top"><code>ELT_SUB_LIO_BAPL_STAT</code><br>
1310          </td>
1311          <td valign="top"><code>STAT</code><br>
1312          </td>
1313          <td valign="top"><code></code><code>ELT_SUB_LIO_BAPL,<br>
1314   ELT_SUB_LIO_SLGC<br>
1315         </code><br>
1316          </td>
1317          <td valign="top"><code>STRING</code><br>
1318          </td>
1319        </tr>
1320        <tr>
1321          <td valign="top"><code>ELT_SUB_LIO_BAPL_DATE</code><br>
1322          </td>
1323          <td valign="top"><code>DATE</code><br>
1324          </td>
1325          <td valign="top"><code>ELT_SUB_LIO_BAPL</code><code>,<br>
1326    ELT_SUB_LIO_SLGC<br>
1327         </code><br>
1328         <br>
1329          </td>
1330          <td valign="top"><code>DATE</code><br>
1331          </td>
1332        </tr>
1333        <tr>
1334          <td valign="top"><code>ELT_SUB_LIO_BAPL_TEMP</code><br>
1335          </td>
1336          <td valign="top"><code>TEMP</code><br>
1337          </td>
1338          <td valign="top"><code>ELT_SUB_LIO_BAPL</code><code>,<br>
1339    ELT_SUB_LIO_SLGC<br>
1340         </code><br>
1341         <br>
1342          </td>
1343          <td valign="top"><code>STRING</code><br>
1344          </td>
1345        </tr>
1346        <tr>
1347          <td valign="top"><code>ELT_SUB_LIO_BAPL_PLAC</code><br>
1348          </td>
1349          <td valign="top"><code>PLAC</code><br>
1350          </td>
1351          <td valign="top"><code>ELT_SUB_LIO_BAPL</code><code>,<br>
1352    ELT_SUB_LIO_SLGC<br>
1353         </code><br>
1354         <br>
1355          </td>
1356          <td valign="top"><code>STRING</code><br>
1357          </td>
1358        </tr>
1359        <tr>
1360          <td valign="top"><code>ELT_SUB_LIO_SLGC</code><br>
1361          </td>
1362          <td valign="top"><code>SLGC</code><br>
1363          </td>
1364          <td valign="top"><code>REC_INDI</code><br>
1365          </td>
1366          <td valign="top"><code>NULL</code><br>
1367          </td>
1368        </tr>
1369        <tr>
1370          <td valign="top"><code>ELT_SUB_LIO_SLGC_FAMC</code><br>
1371          </td>
1372          <td valign="top"><code>FAMC</code><br>
1373          </td>
1374          <td valign="top"><code>ELT_SUB_LIO_SLGC</code><br>
1375          </td>
1376          <td valign="top"><code>STRING</code><br>
1377          </td>
1378        </tr>
1379        <tr>
1380          <td valign="top"><code>ELT_SUB_LSS_SLGS</code><br>
1381          </td>
1382          <td valign="top"><code>SLGS</code><br>
1383          </td>
1384          <td valign="top"><code>REC_FAM</code><br>
1385          </td>
1386          <td valign="top"><code>NULL</code><br>
1387          </td>
1388        </tr>
1389        <tr>
1390          <td valign="top"><code>ELT_SUB_LSS_SLGS_STAT</code><br>
1391          </td>
1392          <td valign="top"><code>STAT</code><br>
1393          </td>
1394          <td valign="top"><code>ELT_SUB_LSS_SLGS</code><br>
1395          </td>
1396          <td valign="top"><code>STRING</code><br>
1397          </td>
1398        </tr>
1399        <tr>
1400          <td valign="top"><code>ELT_SUB_LSS_SLGS_DATE</code><br>
1401          </td>
1402          <td valign="top"><code>DATE</code><br>
1403          </td>
1404          <td valign="top"><code>ELT_SUB_LSS_SLGS</code><br>
1405          </td>
1406          <td valign="top"><code>DATE</code><br>
1407          </td>
1408        </tr>
1409        <tr>
1410          <td valign="top"><code>ELT_SUB_LSS_SLGS_TEMP</code><br>
1411          </td>
1412          <td valign="top"><code>TEMP</code><br>
1413          </td>
1414          <td valign="top"><code>ELT_SUB_LSS_SLGS</code><br>
1415          </td>
1416          <td valign="top"><code>STRING</code><br>
1417          </td>
1418        </tr>
1419        <tr>
1420          <td valign="top"><code>ELT_SUB_LSS_SLGS_PLAC</code><br>
1421          </td>
1422          <td valign="top"><code>PLAC</code><br>
1423          </td>
1424          <td valign="top"><code>ELT_SUB_LSS_SLGS</code><br>
1425          </td>
1426          <td valign="top"><code>STRING</code><br>
1427          </td>
1428        </tr>
1429        <tr>
1430          <td valign="top"><code>ELT_SUB_MULTIM_OBJE</code><br>
1431          </td>
1432          <td valign="top"><code>OBJE</code><br>
1433          </td>
1434          <td valign="top"><code>REC_FAM, REC_INDI,<br>
1435   REC_SOUR, REC_SUBM,<br>
1436         </code><code>ELT_SUB_FAM_EVT,<br>
1437   ELT_SUB_FAM_EVT_EVEN,<br>
1438   ELT_SUB_INDIV_ATTR,<br>
1439   ELT_SUB_INDIV_RESI</code><code>,<br>
1440    ELT_SUB_INDIV_BIRT,<br>
1441    ELT_SUB_INDIV_GEN,<br>
1442    ELT_SUB_INDIV_ADOP,<br>
1443   ELT_SUB_SOUR</code><br>
1444          </td>
1445          <td valign="top"><code>NULL</code><br>
1446          </td>
1447        </tr>
1448        <tr>
1449          <td valign="top"><code>ELT_SUB_MULTIM_OBJE_FORM</code><br>
1450          </td>
1451          <td valign="top"><code>FORM</code><br>
1452          </td>
1453          <td valign="top"><code>ELT_SUB_MULTIM_OBJE</code><br>
1454          </td>
1455          <td valign="top"><code>STRING</code><br>
1456          </td>
1457        </tr>
1458        <tr>
1459          <td valign="top"><code>ELT_SUB_MULTIM_OBJE_TITL</code><br>
1460          </td>
1461          <td valign="top"><code>TITL</code><br>
1462          </td>
1463          <td valign="top"><code>ELT_SUB_MULTIM_OBJE</code><br>
1464          </td>
1465          <td valign="top"><code>STRING</code><br>
1466          </td>
1467        </tr>
1468        <tr>
1469          <td valign="top"><code>ELT_SUB_MULTIM_OBJE_FILE</code><br>
1470          </td>
1471          <td valign="top"><code>FILE</code><br>
1472          </td>
1473          <td valign="top"><code>ELT_SUB_MULTIM_OBJE</code><br>
1474          </td>
1475          <td valign="top"><code>STRING</code><br>
1476          </td>
1477        </tr>
1478        <tr>
1479          <td valign="top"><code>ELT_SUB_NOTE</code><br>
1480          </td>
1481          <td valign="top"><code>NOTE</code><br>
1482          </td>
1483          <td valign="top"><code>REC_FAM, REC_INDI,<br>
1484   REC_OBJE, REC_REPO,<br>
1485   REC_SOUR, ELT_SOUR_DATA,<br>
1486   ELT_SUB_ASSO, ELT_SUB_CHAN,<br>
1487   ELT_SUB_FAMC, </code><code>ELT_SUB_FAM_EVT,<br>
1488   ELT_SUB_FAM_EVT_EVEN,<br>
1489   ELT_SUB_INDIV_ATTR,<br>
1490   ELT_SUB_INDIV_RESI</code><code>,<br>
1491    ELT_SUB_INDIV_BIRT,<br>
1492    ELT_SUB_INDIV_GEN,<br>
1493    ELT_SUB_INDIV_ADOP,<br>
1494   ELT_SUB_LIO_BAPL,<br>
1495   ELT_SUB_LIO_SLGC,<br>
1496   ELT_SUB_LSS_SLGS,<br>
1497   ELT_SUB_MULTIM_OBJE,<br>
1498   ELT_SUB_PERS_NAME,<br>
1499   ELT_SUB_PLAC,<br>
1500   ELT_SUB_SOUR,<br>
1501   ELT_SUB_REPO,<br>
1502   ELT_SUB_FAMS</code><br>
1503          </td>
1504          <td valign="top"><code>NULL<br>
1505    STRING</code><br>
1506          </td>
1507        </tr>
1508        <tr>
1509          <td valign="top"><code>ELT_SUB_PERS_NAME</code><br>
1510          </td>
1511          <td valign="top"><code>NAME</code><br>
1512          </td>
1513          <td valign="top"><code>REC_INDI</code><br>
1514          </td>
1515          <td valign="top"><code>STRING</code><br>
1516          </td>
1517        </tr>
1518        <tr>
1519          <td valign="top"><code>ELT_SUB_PERS_NAME_NPFX</code><br>
1520          </td>
1521          <td valign="top"><code>NPFX</code><br>
1522          </td>
1523          <td valign="top"><code>ELT_SUB_PERS_NAME</code><br>
1524          </td>
1525          <td valign="top"><code>STRING</code><br>
1526          </td>
1527        </tr>
1528        <tr>
1529          <td valign="top"><code>ELT_SUB_PERS_NAME_GIVN</code><br>
1530          </td>
1531          <td valign="top"><code>GIVN</code><br>
1532          </td>
1533          <td valign="top"><code>ELT_SUB_PERS_NAME</code><br>
1534          </td>
1535          <td valign="top"><code>STRING</code><br>
1536          </td>
1537        </tr>
1538        <tr>
1539          <td valign="top"><code>ELT_SUB_PERS_NAME_NICK</code><br>
1540          </td>
1541          <td valign="top"><code>NICK</code><br>
1542          </td>
1543          <td valign="top"><code>ELT_SUB_PERS_NAME</code><br>
1544          </td>
1545          <td valign="top"><code>STRING</code><br>
1546          </td>
1547        </tr>
1548        <tr>
1549          <td valign="top"><code>ELT_SUB_PERS_NAME_SPFX</code><br>
1550          </td>
1551          <td valign="top"><code>SPFX</code><br>
1552          </td>
1553          <td valign="top"><code>ELT_SUB_PERS_NAME</code><br>
1554          </td>
1555          <td valign="top"><code>STRING</code><br>
1556          </td>
1557        </tr>
1558        <tr>
1559          <td valign="top"><code>ELT_SUB_PERS_NAME_SURN</code><br>
1560          </td>
1561          <td valign="top"><code>SURN</code><br>
1562          </td>
1563          <td valign="top"><code>ELT_SUB_PERS_NAME</code><br>
1564          </td>
1565          <td valign="top"><code>STRING</code><br>
1566          </td>
1567        </tr>
1568        <tr>
1569          <td valign="top"><code>ELT_SUB_PERS_NAME_NSFX</code><br>
1570          </td>
1571          <td valign="top"><code>NSFX</code><br>
1572          </td>
1573          <td valign="top"><code>ELT_SUB_PERS_NAME</code><br>
1574          </td>
1575          <td valign="top"><code>STRING</code><br>
1576          </td>
1577        </tr>
1578        <tr>
1579          <td valign="top"><code>ELT_SUB_PLAC</code><br>
1580          </td>
1581          <td valign="top"><code>PLAC</code><br>
1582          </td>
1583          <td valign="top"><code>ELT_SUB_FAM_EVT</code>,<br>
1584         <code>ELT_SUB_FAM_EVT_EVEN,<br>
1585   ELT_SUB_INDIV_ATTR,<br>
1586   ELT_SUB_INDIV_RESI</code><br>
1587          </td>
1588          <td valign="top"><code>STRING</code><br>
1589          </td>
1590        </tr>
1591        <tr>
1592          <td valign="top"><code>ELT_SUB_PLAC_FORM</code><br>
1593          </td>
1594          <td valign="top"><code>FORM</code><br>
1595          </td>
1596          <td valign="top"><code>ELT_SUB_PLAC</code><br>
1597          </td>
1598          <td valign="top"><code>STRING</code><br>
1599          </td>
1600        </tr>
1601        <tr>
1602          <td valign="top"><code>ELT_SUB_SOUR</code><br>
1603          </td>
1604          <td valign="top"><code>SOUR</code><br>
1605          </td>
1606          <td valign="top"><code>REC_FAM, REC_INDI,<br>
1607   REC_NOTE, ELT_SUB_ASSO<br>
1608         </code><code>ELT_SUB_FAM_EVT,<br>
1609         </code><code>ELT_SUB_FAM_EVT_EVEN,<br>
1610   ELT_SUB_INDIV_ATTR,<br>
1611   ELT_SUB_INDIV_RESI</code><code>,<br>
1612    ELT_SUB_INDIV_BIRT,<br>
1613    ELT_SUB_INDIV_GEN,<br>
1614    ELT_SUB_INDIV_ADOP,<br>
1615   ELT_SUB_LIO_BAPL,<br>
1616   ELT_SUB_LIO_SLGC,<br>
1617   ELT_SUB_LSS_SLGS,<br>
1618   ELT_SUB_NOTE,<br>
1619   ELT_SUB_PERS_NAME,<br>
1620   ELT_SUB_PLAC</code><br>
1621          </td>
1622          <td valign="top"><code>STRING</code><br>
1623          </td>
1624        </tr>
1625        <tr>
1626          <td valign="top"><code>ELT_SUB_SOUR_PAGE</code><br>
1627          </td>
1628          <td valign="top"><code>PAGE</code><br>
1629          </td>
1630          <td valign="top"><code>ELT_SUB_SOUR</code><br>
1631          </td>
1632          <td valign="top"><code>STRING</code><br>
1633          </td>
1634        </tr>
1635        <tr>
1636          <td valign="top"><code>ELT_SUB_SOUR_EVEN</code><br>
1637          </td>
1638          <td valign="top"><code>EVEN</code><br>
1639          </td>
1640          <td valign="top"><code>ELT_SUB_SOUR</code><br>
1641          </td>
1642          <td valign="top"><code>STRING</code><br>
1643          </td>
1644        </tr>
1645        <tr>
1646          <td valign="top"><code>ELT_SUB_SOUR_EVEN_ROLE</code><br>
1647          </td>
1648          <td valign="top"><code>ROLE</code><br>
1649          </td>
1650          <td valign="top"><code>ELT_SUB_SOUR_EVEN</code><br>
1651          </td>
1652          <td valign="top"><code>STRING</code><br>
1653          </td>
1654        </tr>
1655        <tr>
1656          <td valign="top"><code>ELT_SUB_SOUR_DATA</code><br>
1657          </td>
1658          <td valign="top"><code>DATA</code><br>
1659          </td>
1660          <td valign="top"><code>ELT_SUB_SOUR</code><br>
1661          </td>
1662          <td valign="top"><code>NULL</code><br>
1663          </td>
1664        </tr>
1665        <tr>
1666          <td valign="top"><code>ELT_SUB_SOUR_DATA_DATE</code><br>
1667          </td>
1668          <td valign="top"><code>DATE</code><br>
1669          </td>
1670          <td valign="top"><code>ELT_SUB_SOUR_DATA</code><br>
1671          </td>
1672          <td valign="top"><code>DATE</code><br>
1673          </td>
1674        </tr>
1675        <tr>
1676          <td valign="top"><code>ELT_SUB_SOUR_TEXT</code><br>
1677          </td>
1678          <td valign="top"><code>TEXT</code><br>
1679          </td>
1680          <td valign="top"><code>ELT_SUB_SOUR<br>
1681   ELT_SUB_SOUR_DATA</code><br>
1682          </td>
1683          <td valign="top"><code>STRING</code><br>
1684          </td>
1685        </tr>
1686        <tr>
1687          <td valign="top"><code>ELT_SUB_SOUR_QUAY</code><br>
1688          </td>
1689          <td valign="top"><code>QUAY</code><br>
1690          </td>
1691          <td valign="top"><code>ELT_SUB_SOUR</code><br>
1692          </td>
1693          <td valign="top"><code>STRING</code><br>
1694          </td>
1695        </tr>
1696        <tr>
1697          <td valign="top"><code>ELT_SUB_REPO</code><br>
1698          </td>
1699          <td valign="top"><code>REPO</code><br>
1700          </td>
1701          <td valign="top"><code>REC_SOUR</code><br>
1702          </td>
1703          <td valign="top"><code>STRING</code><br>
1704          </td>
1705        </tr>
1706        <tr>
1707          <td valign="top"><code>ELT_SUB_REPO_CALN</code><br>
1708          </td>
1709          <td valign="top"><code>CALN</code><br>
1710          </td>
1711          <td valign="top"><code>ELT_SUB_REPO</code><br>
1712          </td>
1713          <td valign="top"><code>STRING</code><br>
1714          </td>
1715        </tr>
1716        <tr>
1717          <td valign="top"><code>ELT_SUB_REPO_CALN_MEDI</code><br>
1718          </td>
1719          <td valign="top"><code>MEDI</code><br>
1720          </td>
1721          <td valign="top"><code>ELT_SUB_REPO_CALN</code><br>
1722          </td>
1723          <td valign="top"><code>STRING</code><br>
1724          </td>
1725        </tr>
1726        <tr>
1727          <td valign="top"><code>ELT_SUB_FAMS</code><br>
1728          </td>
1729          <td valign="top"><code>FAMS</code><br>
1730          </td>
1731          <td valign="top"><code>REC_INDI</code><br>
1732          </td>
1733          <td valign="top"><code>STRING</code><br>
1734          </td>
1735        </tr>
1736        <tr>
1737          <td valign="top"><code>ELT_USER</code><br>
1738          </td>
1739          <td valign="top"><code>any tag starting<br>
1740    with an underscore</code><br>
1741          </td>
1742          <td valign="top"><code>anywhere</code><br>
1743          </td>
1744          <td valign="top"><code>NULL<br>
1745    STRING</code><br>
1746          </td>
1747        </tr>
1748            
1749   </tbody>   
1750 </table>
1751        
1752 <hr width="100%" size="2">    
1753 <h2><a name="Gedcom_val_types"></a>Gedcom_val types<br>
1754     </h2>
1755     Currently, the specific <code>Gedcom_val</code> types are (with <code>
1756  val</code>   of type <code>Gedcom_val</code>):<br>
1757    <br>
1758      
1759 <table cellpadding="2" cellspacing="2" border="1" width="100%">
1760      <tbody>
1761        <tr>
1762          <td valign="top"><br>
1763          </td>
1764          <td valign="top"><b>type checker</b><br>
1765          </td>
1766          <td valign="top"><b>cast operator</b><br>
1767          </td>
1768        </tr>
1769        <tr>
1770          <td valign="top">null value<br>
1771          </td>
1772          <td valign="top"><code>GEDCOM_IS_NULL(val)</code><br>
1773          </td>
1774          <td valign="top">N/A<br>
1775          </td>
1776        </tr>
1777        <tr>
1778          <td valign="top">string<br>
1779          </td>
1780          <td valign="top"><code>GEDCOM_IS_STRING(val)</code><br>
1781          </td>
1782          <td valign="top"><code>char* str = GEDCOM_STRING(val);</code><br>
1783          </td>
1784        </tr>
1785        <tr>
1786          <td valign="top">date<br>
1787          </td>
1788          <td valign="top"><code>GEDCOM_IS_DATE(val)</code><br>
1789          </td>
1790          <td valign="top"><code>struct date_value dv = GEDCOM_DATE(val);</code></td>
1791        </tr>
1792            
1793   </tbody>   
1794 </table>
1795    <br>
1796    <br>
1797      The type checker returns a true or a false value according to the type 
1798  of the value, but this is in principle only necessary in the rare circumstances
1799   that two types are possible, or where an optional value can be provided.
1800  &nbsp;In most cases, the type is fixed for a specific tag.<br>
1801    <br>
1802     The null value is used for when the GEDCOM spec doesn't allow a value,
1803  or  when an optional value is allowed but none is given.<br>
1804     &nbsp; <br>
1805     The string value is the most general used value currently, for all those
1806   values that don't have a more specific meaning. &nbsp;In essence, the value
1807   that is returned by GEDCOM_STRING is always the same as the raw_value passed
1808   to the start callback, and is thus in fact redundant.<br>
1809    <br>
1810     The date value is used for all elements that return a date.<br>
1811    <br>
1812      
1813 <h3><a name="struct_date_value"></a>struct date_value</h3>
1814    This struct describes a date as given in the GEDCOM file, and has the
1815 following  definition:<br>
1816      
1817 <blockquote><code>struct date_value {<br>
1818    &nbsp; Date_value_type &nbsp;type;<br>
1819    &nbsp; struct date &nbsp; &nbsp; &nbsp;date1;<br>
1820    &nbsp; struct date &nbsp; &nbsp; &nbsp;date2;<br>
1821    &nbsp; char &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;phrase[MAX_PHRASE_LEN 
1822  + 1];<br>
1823    };</code><br>
1824      </blockquote>
1825      It depends on the first member, the type, which members are actually 
1826 relevant:<br>
1827      <br>
1828            
1829   <table cellpadding="2" cellspacing="2" border="1" width="100%">
1830        <tbody>
1831          <tr>
1832            <td valign="top" align="center"><b>Date_value_type</b><br>
1833            </td>
1834            <td valign="top" align="center"><b>Meaning</b><br>
1835            </td>
1836            <td valign="top" align="center"><b>Relevant members</b><br>
1837            </td>
1838          </tr>
1839          <tr>
1840            <td valign="top"><code>DV_NO_MODIFIER</code><br>
1841            </td>
1842            <td valign="top">just a simple date<br>
1843            </td>
1844            <td valign="top">date1<br>
1845            </td>
1846          </tr>
1847          <tr>
1848            <td valign="top"><code>DV_BEFORE</code><br>
1849            </td>
1850            <td valign="top">a range (BEFORE date1)<br>
1851            </td>
1852            <td valign="top">date1<br>
1853            </td>
1854          </tr>
1855          <tr>
1856            <td valign="top"><code>DV_AFTER</code><br>
1857            </td>
1858            <td valign="top">a range (AFTER date1)<br>
1859            </td>
1860            <td valign="top">date1<br>
1861            </td>
1862          </tr>
1863          <tr>
1864            <td valign="top"><code>DV_BETWEEN</code><br>
1865            </td>
1866            <td valign="top">a range (BETWEEN date1 AND date2)<br>
1867            </td>
1868            <td valign="top">date1, date2<br>
1869            </td>
1870          </tr>
1871          <tr>
1872            <td valign="top"><code>DV_FROM</code><br>
1873            </td>
1874            <td valign="top">a period (FROM date1)<br>
1875            </td>
1876            <td valign="top">date1<br>
1877            </td>
1878          </tr>
1879          <tr>
1880            <td valign="top"><code>DV_TO</code><br>
1881            </td>
1882            <td valign="top">a period (TO date1)<br>
1883            </td>
1884            <td valign="top">date1<br>
1885            </td>
1886          </tr>
1887          <tr>
1888            <td valign="top"><code>DV_FROM_TO</code><br>
1889            </td>
1890            <td valign="top">a period (FROM date1 TO date2)<br>
1891            </td>
1892            <td valign="top">date1, date2<br>
1893            </td>
1894          </tr>
1895          <tr>
1896            <td valign="top"><code>DV_ABOUT</code><br>
1897            </td>
1898            <td valign="top">an approximation (ABOUT date1)<br>
1899            </td>
1900            <td valign="top">date1<br>
1901            </td>
1902          </tr>
1903          <tr>
1904            <td valign="top"><code>DV_CALCULATED</code><br>
1905            </td>
1906            <td valign="top">an approximation (CALCULATED date1)<br>
1907            </td>
1908            <td valign="top">date1<br>
1909            </td>
1910          </tr>
1911          <tr>
1912            <td valign="top"><code>DV_ESTIMATED</code><br>
1913            </td>
1914            <td valign="top">an approximation (ESTIMATED date1)<br>
1915            </td>
1916            <td valign="top">date1<br>
1917            </td>
1918          </tr>
1919          <tr>
1920            <td valign="top"><code>DV_INTERPRETED</code><br>
1921            </td>
1922            <td valign="top">INTERPRETED date1 FROM a given free form date 
1923 phrase<br>
1924            </td>
1925            <td valign="top">date1, phrase<br>
1926            </td>
1927          </tr>
1928          <tr>
1929            <td valign="top"><code>DV_PHRASE</code><br>
1930            </td>
1931            <td valign="top">a free form date phrase<br>
1932            </td>
1933            <td valign="top">phrase<br>
1934            </td>
1935          </tr>
1936                  
1937     </tbody>         
1938   </table>
1939      <br>
1940            
1941   <h3><a name="struct_date"></a>struct date<br>
1942      </h3>
1943    The <code>date1</code> and <code>date2</code> also have a strict syntax:<br>
1944            
1945   <blockquote><code>struct date {<br>
1946    &nbsp; Calendar_type &nbsp;cal;<br>
1947    &nbsp; char &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; day_str[MAX_DAY_LEN + 1];<br>
1948    &nbsp; char &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; month_str[MAX_MONTH_LEN 
1949 +  1];<br>
1950    &nbsp; char &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; year_str[MAX_YEAR_LEN + 
1951 1];<br>
1952        <br>
1953    &nbsp; int &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;day;<br>
1954    &nbsp; int &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;month;<br>
1955    &nbsp; int &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;year;<br>
1956    &nbsp; Year_type &nbsp; &nbsp; &nbsp;year_type;<br>
1957        <br>
1958    &nbsp; Date_type &nbsp; &nbsp; &nbsp;type;<br>
1959    &nbsp; long int &nbsp; &nbsp; &nbsp; sdn1;<br>
1960    &nbsp; long int &nbsp; &nbsp; &nbsp; sdn2;<br>
1961    };</code><br>
1962        </blockquote>
1963    The first four fields are the primary fields parsed from the value in
1964 the  GEDCOM file. &nbsp;The <code>day_str</code>, <code>month_str</code>
1965 and     <code>  year_str</code> are the literal parts of the date that denote 
1966 the day, month  and year (the <code>day_str</code> and <code>month_str</code>
1967   can be empty) . &nbsp;The calendar type <code>cal</code> is one of (see 
1968 calendar overview     <i>LINK TBD</i>):<br>
1969                  
1970     <ul>
1971          <li><code>CAL_GREGORIAN</code> : the Gregorian calendar</li>
1972          <li><code>CAL_JULIAN</code> : the Julian calendar</li>
1973          <li><code>CAL_HEBREW</code> : the Hebrew (Jewish) calendar</li>
1974          <li><code>CAL_FRENCH_REV</code> : the calendar used after the French 
1975  Revolution</li>
1976          <li><code>CAL_UNKNOWN</code> : an unknown calendar type</li>
1977                  
1978     </ul>
1979    The next four fields are deduced from the first four:<br>
1980                  
1981     <ul>
1982          <li>the <code>day</code> is just the numeric representation of the 
1983          <code>day_str</code> (starting from 1), -1 if the <code>day_str</code>
1984    is empty</li>
1985          <li>the <code>month</code> is the month number of <code>month_str</code>
1986     in the given calendar type (also starting from 1), -1 if the <code>month_str</code>
1987    is empty</li>
1988          <li>the <code>year</code> is the numeric representation of the <code>
1989    year_str</code></li>
1990                  
1991     </ul>
1992    It is possible that the <code>year_str</code> is given as e.g. "1677/78". 
1993  &nbsp;This is coming from a date in a so called "annunciation style", where 
1994  the year began on 25 March: "20 March 1677/78" is 20 March 1677 in "annunciation
1995  style" and 20 March 1678 in "circumcision style" (the current style). &nbsp;See
1996  calendar overview (<i>LINK TBD</i>).<br>
1997        <br>
1998    In this case, the <code>year</code> will contain the "circumcision style" 
1999  year (1678 in the example), and <code>year_type</code> will be <code>YEAR_DOUBLE.</code>
2000     &nbsp;Normal dates will have a <code>year_type</code> equal to <code>
2001 YEAR_SINGLE</code>   .<br>
2002        <br>
2003    Finally, the last three fields are probably the most interesting values
2004  for applications that want to process dates. &nbsp;Basically, the date is
2005  converted to a serial day number (aka Julian day), which is the unique day
2006  number since November 25, 4714 BC in the Gregorian calendar. &nbsp;The advantage
2007  of these day numbers is that they are unique and independent of the calendar
2008  system. &nbsp;Furthermore, date differences can just be computed by subtracting
2009  the serial day numbers.<br>
2010        <br>
2011    However, since dates in GEDCOM are not necessarily exact (e.g. "MAR 1990"), 
2012  it is not possible to represent all GEDCOM dates with 1 serial day number. 
2013  &nbsp;Two cases can be distinguished:<br>
2014                  
2015     <ul>
2016          <li>Exact dates (e.g. "25 MAR 1990"):</li>
2017                  
2018     </ul>
2019                  
2020     <blockquote>                     
2021       <blockquote>These are represented by a serial day number in <code>sdn1</code>
2022     and a <code>Date_type</code> equal to <code>DATE_EXACT</code>.<br>
2023            </blockquote>
2024            </blockquote>
2025                              
2026         <ul>
2027              <li>Incomplete dates (e.g. "MAR 1990"):</li>
2028                              
2029         </ul>
2030                              
2031         <blockquote>                                 
2032           <blockquote>These are represented by 2 serial day numbers (<code>
2033   sdn1</code> and <code>sdn2</code>) and a <code>Date_type</code> equal to
2034              <code>DATE_BOUNDED</code>.<br>
2035                <br>
2036    For example, the Gregorian date "MAR 1990" is represented by the serial
2037  day numbers for "1 MAR 1990" and "31 MAR 1990", and the Gregorian date "1990" 
2038  is represented by the serial day numbers for "1 JAN 1990" and "31 DEC 1990". 
2039  &nbsp;Similarly for the other calendar types.<br>
2040                </blockquote>
2041                </blockquote>
2042                <br>
2043                                          
2044             <hr width="100%" size="2">
2045             <pre>$Id$<br>$Name$<br></pre>
2046     <br>
2047                                            
2048             </body>
2049             </html>