From the samples I've looked at nested UDTs might not cut it. The beast appears to be something closer to a redundantly serialized relational database. Even XML has no clean way to implement this since there are multiple possible hierarchies of entities. Different types of entities should have foreign-key links to other entity tables.

An INDI may be a FAMC (child) of a given unique FAM, as well as being a FAMS (spouse) listed in his WIFE's FAM. He can also be a CHIL of another FAM, and a HUSB in his own FAM. Many INDIs could have been at the same EVEN, etc.

So you have a number of one-to-one, one-to-many, many-to-one, and many-to-many relationships and the same INDI can be referenced within many other INDIs, etc. Then add in SOURs, PLACs, etc. etc.


Like the nested UDT case, you can do a SHAPE query using the Data Shaping Service to return a hierarchical Recordset: a "Recordset of Recordsets." These are usually best displayed using a TreeView or a Hierarchical Grid. But those are only views of the data, you can't store all of the data in a simple tree structure.

It appears that you can't even use a simple field for Birth Date, since there might be multiple reported dates of varying "quality" (and differing dates) just as with other attributes of an entity.