Una solución totalmente automatizada probablemente no sea posible. Puede automatizar parcialmente el proceso de conversión de la siguiente manera:
- Convierta los archivos RDF a XML.
- Extraiga la consulta del informe.
- Convierta el XML a BIRT (o JRXML) usando XSLT.
Conversión XML
El primer paso es bastante simple, usando 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/[email protected]
done
Extracción
El segundo paso también es relativamente fácil, usando starlet
(renombrar xml.exe
a starlet.exe
para evitar conflictos con xml.exe
de Oracle ):
starlet.exe sel -t -v "/report/data/dataSource/select" filename.rdf.xml
También puede usar xmllint, pero incluye el select
y CDATA
elementos, que tendrías que analizar por separado:
xmllint --xpath /report/data/dataSource/select filename.rdf.xml
Conversión de formato
El tercer paso es desafiante. Cree una plantilla XSL que lea los diseños RDF (por ejemplo, <displayInfo x="0.74377" y="0.97913" width="1.29626" height="1.62695" />
). Luego, convierta esos diseños al formato correspondiente utilizado por el motor de informes de destino (como BIRT o JasperReports).
No obtendría una solución al 100 %, pero una solución al 80 % podría reducir significativamente la cantidad de trabajo monótono y propenso a errores necesario para convertir los informes.