プライマリ・コンテンツに移動
Oracle® Application Expressアプリケーション移行ガイド
リリース5.1
E89951-01
目次へ移動
目次
索引へ移動
索引

前
次

3.2 Formモジュール、オブジェクト・ライブラリまたはMenuモジュールのXMLへの変換

Oracle FormsのFormモジュール、 Menuモジュールおよびオブジェクト・ライブラリ・ファイルを、Oracle FormsからXMLへの変換ツールForms2XMLを使用してXML(Extensible Markup Language)に変換できます。

注意:

Forms2XMLユーティリティでは、英語でのみXMLファイルを生成する必要があります。生成されるXMLタグが英語以外のときは、そのファイルのロードが失敗します。シノニムベースのデータ・ブロックの変換はサポートされていません。変換プロセスでは、表またはビューに基づくデータ・ブロックのみサポートされています。変換するアプリケーションが表およびビューのみに基づくものであることを確認してください。

3.2.1 Forms2XML変換ツールについて

Oracle FormsからXMLへの変換ツールであるForms2XMLは、Oracle9i Oracle Developer Suiteで導入され、Oracle Developer Suite 10gでも使用できます。このツールでは、以前のリリースのOracle Formsのファイルも処理できます。Oracle FormsからXMLへの変換ツールが以前のバージョンのOracle Formsの特定のファイルに対して機能しない場合は、そのファイルをOracle Developer Suite 9iまたは10gにアップグレードしてからXMLに変換する必要があります。

Forms2XMLでは、Formsファイルと同じベース名で拡張子が.xml のXMLファイルが生成されます。また、元のファイルがFormモジュール、Menuモジュールまたはオブジェクト・ライブラリのどれであったかを示すために、元のファイルのベース名に_fmb_mmbまたは _olbが付加されます。次の表は、変換するファイルの名前がどのように変更されるかを示す例です。

変換前のファイル名 変換後のファイル名

myForm.fmb

myForm_fmb.xml

myMenu.mmb

myMenu_mmb.xml

myLibrary.olb

myLibrary_olb.xml

3.2.2 コマンドラインからのForms2XML変換ツールの使用

Forms2XMLコマンドは、引数として1つ以上のFormsモジュール・ファイルを取ります。指定できるファイルは、Formsモジュール・ファイル(.fmb)、オブジェクト・ライブラリ・ファイル(.olb)またはMenuモジュール・ファイル(.mmb)です。出力は、現行のフォルダに作成されます。コマンドの構文は次のとおりです。

frmf2xml [options] file1 [file2...]
java oracle.forms.util.xmltools.Forms2XML [options] file1 [file2...]

次の表に、使用可能なオプションを示します。

オプション 説明

USE_PROPERTY_IDS=YES/NO

USE_PROPERTY_IDSYESに設定すると、FormsからXMLへの変換ツールで、実数または文字の内部IDがXMLファイルに書き込まれます。

デフォルト値(NO)では、プロパティ値の名前が前述のとおり生成されます。

注意: Forms2XMLユーティリティは、USE_PROPERTY_IDS=NOで実行する必要があります。

OVERWRITE=YES/NO

有効な値はYESまたはNOです。

OVERWRITE=YESの場合、出力ディレクトリに同じ名前のXMLファイルが存在すると、そのファイルが上書きされます。

OVERWRITE=NO(デフォルト)の場合、出力ディレクトリに同じ名前のXMLファイルが存在しても上書きされません。ツールは処理を停止し、次のメッセージを返します。

ファイルfile 1が存在する場合は、引数OVERWRITE=YESを使用して置き換えます。

DUMP=ALL/OVERRIDEN

DUMP=ALLのときは、すべてのプロパティがダンプされます。

DUMP=OVERRIDENのときは、上書きされたプロパティのみがダンプされます。

3.2.3 JavaプログラムでのForms2XML変換ツールの使用

Forms2XMLツールにJdapiModule Javaオブジェクト(クラスoracle.forms.jdapi.JdapiModule)を渡して、そのオブジェクトおよびプロパティをXMLDocument(クラスoracle.xml.parser.v2.XMLDocument)にダンプすることができます。次に例を示します。

...
 // get the modules in the session
 JdapiIterator mods = Jdapi.getModules(); 
    // ... and iterate round them 
    while(mods.hasNext())
      {
        JdapiModule mod = (JdapiModule)mods.next();
        Forms2XML converter = new Forms2XML(
        XMLDocument doc = converter.dumpModule(false);
              ... 
       }

dumpModule()メソッドで指定したBOOLEAN型引数により、converterに対して、上書きされたプロパティのみではなくすべてのプロパティをXMLDocument docへダンプするよう指示しています。

XMLDocumentオブジェクトとしてモジュールが作成されると、XDKクラスを使用してプログラムから操作できます。たとえば、モジュールの走査、オブジェクトの追加と削除、プロパティの変更、XMLDocumentオブジェクトとして保存されている他のモジュールへのオブジェクトのコピーなどの各種操作を実行できます。