The following is the schema for a pair of tables to replace the existing project-info.xml system and other database and XML files associated with project data.
There is a master table (ProjectInfo) which stores all of the keys which link into the sub-table (ProjectInfoValues). The two tables are tied together by an auto-generated sequence ProjectInfoID which is created by inserting the record into the ProjectInfo table. Having a secondary table allows for multiple values to be associated with a single key. The values table can also contain SubKeys as necessary to further classify the value.
ProjectInfo can have multiple rows for each MainKey for each ProjectID, and ProjectInfoValues can have multiple rows for each row in ProjectInfo.