请教个动态报表设计的问题

一些描述:
1、录入端用户使用浏览器通过internet登录系统填写报表申报数据,分析端用户登录系统对填报的数据进行分析;
2、填报的报表样式每年都会变化,分析会用到固定样式的分析表(相对固定而已,如果本年某个分析指标在申报表上已经删掉,那么分析表上自然也没有对应的指标)以及自定义样式的分析表;
3、申报表类型包括定长表和变长表;
4、根据登录用户的信息需要选择不同的申报表(比如工业企业需要填写产品表,而其他企业不需要填写);
5、不同的报表也有不同的申报期(月报、季报、年报);
6、申报表存在不同的审核规则,审核规则类型有表内审核、表间审核(比如说a表a2项>b表b7项,或者是用户基本信息表中的用户是xx类型的话就不需要填写a表中的某些项目)、同报表不同期之间的审核(比如说上期期末数=本期起初数);
我希望:
1、能做到每年申报表样式变化时,能够让程序自动解析预定义的模板来适应报表变化,而不需要改写程序,我现在是写了两个个类,a类描述了一个申报表的属性,包括表的代码、单元格属性(比如是否填报字段、字段类型、公式、审核规则、在网页上的展现样式、触发公式的方式等等),然后动态生成html和js,b类通过预定义的模板用正则表达式在网页上抓取需要记录的字段存入数据库对应的字段(这里我就是表达了一个思路,数据存储和业务逻辑、展现我就不分开说了),这种方式只对于申报来说倒是能解决问题,但这种通过class生成html的方式让我感觉怪怪的,希望能看到更好的思路;
2、我上面那种方法虽然能初步解决申报表样式变化的问题,但存在这么几个问题:a)无法解决表间、不同期的勾稽关系,对于描述中的4、5也无法有效涵盖;b)分析表无法自动适应申报表的变化;
以上问题困扰我许久,望各位老师不吝赐教,谢谢

》能够让程序自动解析预定义的模板来适应报表变化
就是通过XML来定义,XML可以通过可视化工具设计生成。