Home About Products Technical Interest

Products

CalMaker

Genealogy
Specification
Download
Tutorial
FTML

JavaVM

opl2java

Cycle
oaktree Family Tree Markup Language (FTML)
FTML is an XML grammar for defining Family Trees. It consists of a set of HTML-like tags and attributes which define people, marriages etc. Like all XML grammars, it is a simple, but powerful description language. FTML is a much more modern data format than Gedcom and in FamilyTree utilises the Xerces XML parser to read it.

Header
The header for an FTML document always reads:

<?xml version="1.0" ?>
<!DOCTYPE ftml SYSTEM "ftml.dtd">

The header is always followed by an <ftml> tag.


<ftml> tag
The <ftml> tag encompasses the entire document and is simply:

<ftml>
  people
  [ marriages ]
</ftml>

Inside the <ftml> tag goes the <people> tag and optionally the <marriages> tag.


<people> tag
The <people> tag groups a collection of people and is simply:

<people>
  person +
</people>

Inside the <people> tag goes one or more <person> tags.


<marriages> tag
The <marriages> tag groups a collection of marriages and is simply:

<marriages>
  marriage +
</marriages>

Inside the <marriages> tag goes one or more <marriage> tags.


<person> tag
The <person> tag represents an individual person and is either:

<person attributes />

or

<person attributes>
  [ born ]
  [ christened ]
  [ died ]
  [ mother ]
  [ father ]
  [ page ]
  [ census ]
</person>

The attributes of the <person> tag are:

id="id"
sex="male|female"
[ root="true|false" ]
surname="surname"
forenames="forenames"

Where id is a unique identifier for this person. root is used in the browser to add this person as a "normal" root of the tree - if no roots are given, a list will be built automatically.
Inside the <person> tag goes any of the <born>, <christened>, <died>, <mother>, <father>, <page> and <census> tags.


<born>, <christened> and <died> tags
These tags represent the significant points in a person's life. They all have the same format:

<born date="date" [place="place"] [href="page"] />
<christened date="date" [place="place"] [href="page"] />
<died date="date" [place="place"] [href="page"] />

The href attribute is new in version 1.1 of FamilyTree. It allows pages to be specified that appear on the pull-right menu of the tree-view. It is useful for referencing documents like Birth Certificates.


<mother> and <father> tags
These tags represent the parents of a person. They both have the same format:

<mother id="id" />
<father id="id" />

Where id is the unique identifier of another person.


<page> tag
The <page> tag represents the HTML page associated with this person. It is simply:

<page href="page" />

Where page is the name of the HTML page to associate.


<census> tag
The <census> tag represents the inclusion of the person in a particular census. It is has the following format:

<census year="year" [place="place"] [condition="condition"]
  [age="age"] [placeofbirth="birthplace"] />


<marriage> tag
The <marriage> tag represents the marriage between two people. It is has the following format:

<marriage husband="id" wife="id" [date="date"] [place="place"] [href="page"] />

Where the id's are the unique identifiers of two people.
The href attribute is new in version 1.1 of FamilyTree. It allows a page to be specified that will appear on the pull-right menu of the tree-view. It is useful for referencing documents Marriage Certificates.


[home]  [Genealogy] 
Last updated Sunday 24 October 2004
Comments webmaster at tsac.co.uk

This page hosted by     Get your own Free Home Page
1