XY Family Tree
easy family history

XYFT Family Tree Data Structure

XYFT is based on sound database principles of "normalised" data, which means it is structurally strong and the parts are held together properly. Below is the structure of XYFT, given as tables and fields, and explanations of each.

The 5 simple tables for a complete family tree


contains primary fields, those essential or common to all needs, display option fields, and custom fields to accommodate anything else.

The primary fields are:


Display Options

The display option fields are a subset of the DisplayOptions tag:

Not all software will use these fields, maybe considering them unnecessary, but I have found them very useful in controlling what information is displayed in different views. For instance, sometimes you don’t want to show a particular person at all in one place, with limited information in another place and unrestricted elsewhere. Sometimes it’s useful to add a brief note to a display. Sometimes you may wish to share private notes – or maybe not.

Custom Fields

By using custom fields XYFT has no obligation to any particular standard. Each culture will have its own terms and there will never be agreement on anything beyond the basic facts. However, as XML is here to stay, all custom fields will have the same meaning to the reader as they do to the writer. For instance, if you want to create a custom field for education you can do it like this:






If children are known to be siblings they must share at least one parent. An unknown person will be created as this parent if necessary. Details can follow if discovered.

Data Relationships

In the views below MetaData is data that tells more about the basic data. The basic data might be that a person with ID=99 is the son of people whose IDs are 66 and 77. The MetaData could show that person with ID=99 was named John Smith, born in 1901 and died in 1999, was an army Major who served WW2 and later went on to do good things for the community. Marriages, Associations and Sources can also have MetaData.

XYFT data connections for people

XYFT data connections for marriages

XYFT data connections for associations

People and Sources
XYFT data connections for sources
This means that a source that is, for example, a photo of a marriage group, can link all the people in the photo to the same event, using the SourceMetaData to say "this is a photo of Aunt Lil's wedding in 1929" and using the LinkMetaData to explain "Uncle John is third from the left".

Editing XML using Microsoft XML Notepad

XML Notepad is a free and simple download from Microsoft. XML Notepad will present your data in its elementary form and you can edit it directly.
editing tables with XML Notepad