Solusi yang sepenuhnya otomatis mungkin tidak mungkin. Anda dapat mengotomatiskan sebagian proses konversi sebagai berikut:
- Konversi file RDF ke XML.
- Ekstrak kueri laporan.
- Konversi XML ke BIRT (atau JRXML) menggunakan XSLT.
Konversi XML
Langkah pertama cukup sederhana, menggunakan 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
Ekstraksi
Langkah kedua juga relatif mudah, menggunakan starlet
(ganti nama xml.exe
ke starlet.exe
untuk menghindari konflik dengan xml.exe
Oracle ):
starlet.exe sel -t -v "/report/data/dataSource/select" filename.rdf.xml
Anda juga dapat menggunakan xmllint, tetapi menyertakan select
dan CDATA
elemen, yang harus Anda urai secara terpisah:
xmllint --xpath /report/data/dataSource/select filename.rdf.xml
Konversi Format
Langkah ketiga menantang. Buat template XSL yang membaca tata letak RDF (mis., <displayInfo x="0.74377" y="0.97913" width="1.29626" height="1.62695" />
). Kemudian konversikan tata letak tersebut ke format yang sesuai yang digunakan oleh mesin laporan tujuan (seperti BIRT atau JasperReports).
Anda tidak akan mendapatkan solusi 100%, tetapi solusi 80% dapat secara signifikan mengurangi jumlah pekerjaan monoton dan rawan kesalahan yang diperlukan untuk mengonversi laporan.