The Academic Genealogy Markup Language (AGML) is the interchange format for the Genealogy Graph Generator.
Real genealogists use more complicated formats that are too complicated, unnecessary, and not quite appropriate for GGG.
AGML looks like this:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<agml>
<people>
<person id="PFAFF">
<advisor>KAESTNER</advisor>
<institution>Georg-August-Universität Göttingen</institution>
<name>Johann Pfaff</name>
<name>Johann Friedrich Pfaff</name>
<url label="MGP">http://genealogy.ams.org/html/id.phtml?id=18230</url>
<url label="Wikipedia">http://en.wikipedia.org/wiki/Johann_Friedrich_Pfaff</url>
<year>1786</year>
</person>
<person id="GAUSS">
<advisor>PFAFF</advisor>
<institution>Universität Helmstedt</institution>
<name>Carl Gauß</name>
<name>Carl Gauss</name>
<name>Carl Friedrich Gauß</name>
<url label="MGP">http://genealogy.ams.org/html/id.phtml?id=18231</url>
<url label="Wikipedia">http://en.wikipedia.org/wiki/Carl_Friedrich_Gauss</url>
<year>1799</year>
</person>
<person id="DIRICHLET">
<advisor>POISSON</advisor>
<advisor>FOURIER</advisor>
<institution>Rheinische Friedrich-Wilhelms-Universität Bonn</institution>
<name>Gustav Dirichlet</name>
<name>Gustav Peter Lejeune Dirichlet</name>
<url label="MGP">http://genealogy.ams.org/html/id.phtml?id=17946</url>
<url label="Wikipedia">http://en.wikipedia.org/wiki/Johann_Peter_Gustav_Lejeune_Dirichlet</url>
<year>1827</year>
</person>
</people>
</agml>
Each person in the database must have a unique ID. Advisor relationships are specified by ID. (By convention they are uppercase.)
Multiple names can be given. The first name listed is the one that's used when generating output; others are aliases for matching against other data.