2011-01-14 11 views

答えて

1

これを行うツールはありませんでしたか?これはビジネスチャンスと呼ばれることがあります。

RDF私の知る限り、ファイルはいくつかのファンキーなバイナリ形式です。この場合でも、私はおそらく最初にREXファイルに変換するでしょう。携帯 xmlです。そして、REX構造体からBIRT構造体への変換の問題です。正直なところ、私はREXファイルがどのように文書化されているのか分かりませんが、視覚的にどのように見えているか分かっているので、あなたはそれを理解することができます。

幸運を祈る!

+1

これは「解決策」に最も近いです - http://ora-apps.blogspot.com/2008/03/conerting-rdf-reports-to-xm-publisher.html – shikarishambu

+0

私はその記事を見ましたが、didn XML Publisherの出力がBIRTに役立つかどうかは分かりません。 –

2

私はかつて* .rdfファイルをJasperレポートに変換する仕事を持っていました。私はBIRTを知らないので、このアプローチがBIRTでも使えるかどうかはわかりません。

とにかく、* .rdfファイルをxmlとしてエクスポートし、Perlで出力を解析し、Jasperの定義をxmlとして書きました。ほとんどのレポートでは、これはかなりうまくいきました。私は自動的に翻訳することができないことを覚えていますが、それはの結果セットが2つのクエリの横に並んだレポートでした。

+0

私はそのショットを与えるでしょう。助けてくれてありがとう – shikarishambu

+0

@ルネ:私はrdfをjrxmlに変換しようとしているので、ジャスパー定義をxmlに書き込む方法を教えてくれますか?それで、私が選択していたアプローチはrdfをxmlに変換してからxmlをJrxmlに変換し、もしあなたが何らかのアプローチをしているなら、私のアプローチはちょっと面倒なので、助けてください。 –

4

完全に自動化された解決策はおそらく不可能です。次のように変換プロセスを部分的に自動化することができます。

  1. RDFファイルをXMLに変換します。
  2. レポートクエリを抽出します。
  3. 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/[email protected] 
done 

抽出

第二のステップは、starletxml.exeからstarlet.exeに名前を変更を使用して、比較的容易ですOracleのxml.exeとの競合を避ける):

starlet.exe sel -t -v "/report/data/dataSource/select" filename.rdf.xml 

また、xmllintを使用することができ、それはあなたが個別に解析する必要があるだろうselectCDATA要素、含まれています:フォーマット変換

第三段階は困難である

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など)が使用する対応する形式に変換します。

100%の解決策は得られませんが、80%の解決策では、レポートの変換に必要な、単調でエラーが発生しやすい作業量を大幅に削減できます。

関連する問題