GEDCOM Worked example

From Microformats Wiki
Jump to navigation Jump to search

This document is not following the process. Before proposing a micro(or 'mini')format, please research examples in the wild and derive and implied schema. -- RyanKing

Actually this document is part of the genealogy exploration process. This is a work in progress. think of it as an extended public brainfart if it helps. It is simple exploring some ideas from that discussion. --

Example GEDCOM file


0 HEAD
1 SOUR TESTAPP
2 VERS V0.1
2 CORP Test Data
1 DEST REUNION
1 DATE 18 APR 2007
1 FILE Master Database
1 GEDC
2 VERS 5.01
1 CHAR ASCII
0 @I1@ INDI
1 NAME Edward Sean /Hayes/
1 SEX M
1 BIRT
2 DATE 1 DEC 1961
2 PLAC Royal Free Hospital London
1 OCCU Program Manager
1 EDUC Westfield College
1 FAMS @F1@
1 CHAN
2 DATE 18 APR 2007
0 @I2@ INDI
1 NAME Tamsin Clare /Hayes/
1 SEX F
1 BIRT
2 DATE 25 JUL 1963
2 PLAC London
1 OCCU Therapist
1 EDUC School
1 RELI None
1 FAMS @F1@
1 CHAN
2 DATE 18 APR 2007
0 @I3@ INDI
1 NAME Alice Rose /Hayes/
1 SEX F
1 BIRT
2 DATE 17 FEB 1986
2 PLAC Park Royal, London
1 RELI None
1 FAMC @F1@
1 CHAN
2 DATE 18 APR 2007
0 @I4@ INDI
1 NAME Megan Christine /Hayes/
1 SEX F
1 BIRT
2 DATE 21 NOV 1986
2 PLAC Bristol
1 RELI None
1 FAMC @F1@
1 CHAN
2 DATE 18 APR 2007
0 @F1@ FAM
1 HUSB @I1@
1 WIFE @I2@
1 CHIL @I3@
1 CHIL @I4@
1 MARR
2 DATE 25 SEP 1985
2 PLAC London
0 TRLR

Possible microformat

The below is a pretty literal translation of the above. GEDCOM uses a hierachical record structure, which maps to XML relatively easily, and also uses links which map reasonably well to id and <a> in HTML. I've done a simple styling here which positions the family grouping. I'll try and get this up on a webserver somewhere soon. This is not really a proposal at this stage, but an exploration to see if a GEDCOM microformat even makes sense.




<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>Enter the title of your XHTML document here</title>
		<style type="text/css">
		.CHAN { display:none }
		.HEAD { display:none }
		.INDI { font-family:'Arial'; font-size:7pt; position: absolute; width:20em; height:14; left: 0; text-align: Center; border: 1pt solid black;margin-top: 0pt; margin-bottom: 1pt }			      .MARR { font-family:'Arial'; font-size:7pt; position: absolute; left:21em; top:4.5em; width:9.7em; height:14;  text-align: Center; border: 1pt solid black;margin-top: 0pt; margin-bottom: 1pt }	
	      .FAM { font-family:'Arial'; font-size:7pt; position: absolute; text-align: Center; border: 1pt solid black;margin-top: 0pt; margin-bottom: 1pt }	
	      .FAMS { font-family:'Arial'; font-size:6pt; padding-left: 20em; }	
		</style>
	</head>
	<body>
		<div class="gedcom">
			<div class="HEAD">
				<a class="SOUR" href="www.seanhayes.tv/geneaology/testapp">TESTAPP</a>
				<span class="VERS"> V0.1</span>
				<a class="CORP" href="www.seanhayes.tv/geneaology">Test Data</a>
				<a class="DEST" href="www.seanhayes.tv/geneaology/reunion">REUNION</a>
				<div class="DATE">18 APR 2007</div>
				<div class="FILE">Master Database</div>
				<div class="GEDC">
					<span class="VERS">5.01 </span>
					<span class="CHAR">ASCII </span>
				</div>
			</div>
			<div id="I1" class="INDI" style="left:10em; top:10em">
				<div class="NAME">
					Edward Sean
					<span class="FAML">Hayes</span>
					<div class="SEX">M</div>
					<div class="BIRT">
						<div class="DATE"> 1 DEC 1961</div>
						<div class="PLAC"> Royal Free Hospital London</div>
					</div>
					<div class="OCCU"> Program Manager</div>
					<div class="EDUC"> Westfield College</div>
					<a class="FAMS" href="#F1">@F1@</a>
					<div class="CHAN">
						<div class="DATE"> 18 APR 2007</div>
					</div>
				</div>
			</div>
			<div id="I2" class="INDI" style="left:40em; top:10em">
				<div class="NAME">
					Tamsin Clare <span class="FAML">Hayes</span>
					<div class="SEX">F</div>
					<div class="BIRT">
						<div class="DATE">25 JUL 1963</div>
						<div class="PLAC">London</div>
					</div>
					<div class="OCCU">Therapist</div>
					<div class="EDUC">School</div>
					<a class="FAMS" href="#F1">@F1@</a>
					<div class="CHAN">
						<div class="DATE"> 18 APR 2007</div>
					</div>
				</div>
			</div>
			<div id="I3" class="INDI" style="left:10em; top:30em">
				<div class="NAME">
					Alice Rose <span class="FAML">Hayes</span>
					<div class="SEX">F</div>
					<div class="BIRT">
						<div class="DATE">17 FEB 1986</div>
						<div class="PLAC">Park Royal Hospital London</div>
					</div>
					<div class="OCCU">Student</div>
					<div class="EDUC">BristolCollege</div>
					<a class="FAMS" href="#F1">@F1@</a>
					<div class="CHAN">
						<div class="DATE"> 18 APR 2007</div>
					</div>
				</div>
			</div>
			<div id="I4" class="INDI" style="left:40em; top:30em">
				<div class="NAME">
					Megan Christine <span class="FAML">Hayes</span>
					<div class="SEX">F</div>
					<div class="BIRT">
						<div class="DATE">21 NOV 1988</div>
						<div class="PLAC">Southmead Hospital Bristol</div>
					</div>
					<div class="OCCU">Student</div>
					<div class="EDUC">Bristol College</div>
					<a class="FAMS" href="#F1">@F1@</a>
					<div class="CHAN">
						<div class="DATE"> 18 APR 2007</div>
					</div>
				</div>
			</div>
			<div class="FAM" id="F1" style="left:9em; top:8em; width:52em; height:32em; ">
				<a class="HUSB" href="#I1"> @I1@</a>
				<a class="WIFE" href="#I2"> @I2@</a>
				<a class="CHIL" href="#I3"> @I3@</a>
				<a class="CHIL" href="#I4"> @I4@</a>
				<div class="MARR">
					<div class="DATE"> 25 SEP 1985</div>
					<div class="PLAC"> London</div>
				</div>
			</div>
		</div>
	</body>
</html>



Notes

  • The INDI records could be replaced by hCard records. Need to look at a tag by tag mapping here.
  • This example doesnt use EVENt tags, which might map to hCalendar
  • The FAM records are the graph structure. This is really what is needed over and above an hCard, along with the more specialised SOURce records which record documentaiton (hCite?).
  • It's basically a linkage structure, made slightly more complicated by the fact that an INDIvidual can appear in more than one FAMily record. e.g. if they remarry. rather than a specific geneaology microformat, maybe a general hGraph structure might be appropriate?