可能无法实现全自动化解决方案.您可以按如下方式部分自动化转换过程:
>将RDF文件转换为XML.
>提取报告查询.
>使用XSLT将XML转换为BIRT(或JRXML).
XML转换
使用Cygwin,第一步非常简单:
cd /path/to/reports/ mkdir xml for i in *.rdf; do rwconverter.exe batch=yes source="$i" dest=xml/"$i".xml dtype=xmlfile \ userid=scott/tiger@xe done
萃取
第二步也相对简单,使用starlet(将xml.exe重命名为starlet.exe以避免与Oracle的xml.exe冲突):
starlet.exe sel -t -v "/report/data/dataSource/select" filename.rdf.xml
您也可以使用xmllint,但它包含select和CDATA元素,您必须单独解析它们:
xmllint --xpath /report/data/dataSource/select filename.rdf.xml
格式转换
第三步是挑战.创建读取RDF布局的XSL模板(例如,< displayInfo x =“0.74377”y =“0.97913”width =“1.29626”height =“1.62695”/>).然后将这些布局转换为目标报表引擎使用的相应格式(例如BIRT或JasperReports).