OrgXML

OrgML is an XML language for representing the members of an organization and their dependants. For example:

<org>
   <member id="p1" gender="male">
      <lastName>Simpson</lastName>
      <firstName>Homer</firstName>
      <dob>...</dob>
      <spouse id="p2"/>
      <child id="p3"/>
      <child id="p4"/>
      <child id="p5"/>
   </member>
   <dependant id="p2" gender="female">
      <lastName>Simpson</lastName>
      <firstName>Marge</firstName>
      <dob>...</dob>
      <sponsor id="p1"/>
   </dependant>
   <!-- etc. -->
</org>

Some ideas:

Create a framework for walking OrgML DOM trees.

Create an implementation of a DAO interface that reads and writes Person objects from and to an OrgML file.

Using SAX to search large OrgML files.