Atavi works by using XSLT stylesheets to transform XML data into interactive Scable Vector Graphics (SVG) images. The tool can be deployed in a Java servlet engine and the visualizations explored from a web browser that supports SVG.
SVG is generated using a pipeline of XSLT stylesheets. Visualizations can be generated from changing or user-selected data, i.e. by changing the input to an XSLT pipeline. Currently the initial data set is specified in a configuration file. A future extension will be to support the import of GEDCOM files, via an HTML form post. The data imported will have a unique URI entry point to the visualizations for that data set.
Different aspects of the data can be revealed by changing the XSLT pipeline. Currently two SVG views are supported, a circle of an individual's ancestors and a tree of an individual's descendants.
Future extensions to available views are only limited by the imagination, possibilities include:
- a horizontal event timeline of individuals' lives;
- a bar chart of average lifespan in years of all ancestors of an individual;
- a way to find the name of a relationship between two individuals.
Atavi is designed with a Representational State Transfer (REST) architecture in mind: URIs to represent data resources or visualizations of the data, HTTP as a transport protocol. Linking between resources or representations are achieved with XLink hrefs in SVG.