XML ツールキットの使用

次のトピックについて説明します。


前提条件

ストレージの要件

XML ツールキットでは、処理された XML DTD のサイズ、複雑さ、または再帰の深さに応じて、DATSIZE バッファ内に最大数百 KB の容量が必要になる場合があります。

生成されたコールバックルーチンを使用して XML ドキュメントを解析するには、ドキュメント全体がダイナミック変数に含まれている必要があります。

スキーマのサポート

メインフレームコンピュータの XML ツールキットでは、スキーマはサポートされておらず、DTD のみを処理できます。

ワークファイルの処理

デフォルトでは、Natural ワークファイル 12 およびワークファイル 13 が XML ツールキットによって内部的に使用されます。

ワークファイルのサポート

Entire Connection を使用中の PC の場合には、PC ワークファイルを使用して、Natural ワークファイルをサポートしていない TP モニタで XML ツールキットを実行できます。

生成されたコールバックルーチンを使用して解析される XML ドキュメント、または生成されたシリアライゼーションコードを使用して生成される XML ドキュメントは、ワークファイル経由でもアクセスできます。 データは、タイプ ALPHA DYNAMIC の変数を使用してアクセスする必要があります。 ワークファイルのタイプは UNFORMATTED である必要があります。

PC ファイルには、SYSXTK ライブラリで提供されるサブプログラム XML2PCWR を使用してアクセスできます。 XML2PCWR は、PC ワークファイルの ALPHA DYNAMIC 変数の書き込みまたは読み込みを行います。

XML2PCWR の呼び出し規則:

CALLNAT 'XML2PCWR' XML-PAGE FILENUMBER OPERATION RETCODE

パラメータの定義:

DEFINE DATA LOCAL
  1 XML-PAGE            (A)     DYNAMIC         /* XML page
  1 FILENUMBER          (I2)                    /* work file number: 1 - 31
  1 OPERATION           (A2)                    /* W/R: write/read
  1 RETCODE             (I4)                    /* must be 0!
END-DEFINE

例:

次の例では、生成されたドキュメントを Standard Work File 10 および PC Work File 15 に書き込みます。

* ----------------------------------------------------------------------
* CLASS NATURAL XML TOOLKIT - UTILITIES
* 
* SDEMO_P1 
* 
* DESCRIPTION 
* Serialize a given Data structure. 
* 
* 
* AUTHOR SAG 01.2005 
* 
* VERSION 4.12. 
* 
* (c) Copyright Software AG 2001-2005. All rights reserved. 
* 
* ----------------------------------------------------------------------
* 
DEFINE DATA 
LOCAL USING EMPL /* add generated data structure 
LOCAL 
1 XML (A) DYNAMIC 
* 
1 OUT (A72) 
1 II (I4) 
* 
1 #CX (I4) 
1 #CY (I4) 
1 #CZ (I4) 
1 FILENUMBER (I2) 
1 OPERATION (A2) 
1 RETCODE (I4) 
END-DEFINE 
/*[ initialize 
EMPLOYEE.PERSONNEL-ID := 4711 
* 
EMPLOYEE.FIRST-NAME := "ADKINSON" 
EMPLOYEE.NAME := "MARTHA" 
* 
EMPLOYEE.C§ADDRESS-LINE := 2 
EMPLOYEE.ADDRESS-LINE(1) := "8603 GARLAND COURT" 
EMPLOYEE.ADDRESS-LINE(2) := "FRAMINGHAM" 
EMPLOYEE.ADDRESS-LINE(2) := "MA" 
EMPLOYEE.CITY := "FRAMINGHAM" 
EMPLOYEE.ZIP := "17010" 
EMPLOYEE.COUNTRY := "USA" 
* 
EMPLOYEE.AREA-CODE := "617" 
EMPLOYEE.PHONE := "210-4703" 
* 
EMPLOYEE.JOB-TITLE := "MANAGER" 
EMPLOYEE.C§INCOME := 2 
EMPLOYEE.SALARY(1) := 47000 
EMPLOYEE.C§BONUS(1) := 2 
EMPLOYEE.BONUS(1,1) := 10500 
EMPLOYEE.BONUS(1,2) := 7875 
* 
EMPLOYEE.SALARY(2) := 47000 
EMPLOYEE.C§BONUS(2) := 1 
EMPLOYEE.BONUS(2,1) := 35700 
*
INCLUDE EMPL-C "XML" "#CX" "#CY" "#CZ" 
/* add generated Serialize 
/*] 
* 
ASSIGN FILENUMBER = 15 /* PC FILE 
ASSIGN OPERATION = 'W' 
CALLNAT 'XML2PCWR' XML FILENUMBER OPERATION RETCODE 
PRINT XML 
DEFINE WORK FILE 10 TYPE 'UNFORMATTED' /* STD WORK FILE
WRITE WORK FILE 10 VARIABLE XML 
CLOSE WORK FILE 10 
* 
END

出力ファイル

XML ツールキットは Report 2 に書き込みます。

アプリケーションの起動

XML ツールキットはライブラリ SYSXTK に含まれています。

Start of instruction set XML ツールキットを使用するには

  • Natural コマンド行で、「LOGON SYSXTK」と入力します。

    「Menu」と入力します。

    メインメニューが表示されます。

     15:03:24        ***** NATURAL XML Toolkit - Page 1 of 7 *****       2007-01-16 
                                     - Main Menu -               Library SYSXTK     
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                 Code  Function                                                     
                   L   Generate from Natural Data Structure                         
                   X   Generate from XML Schema or Document Type Definiton          
                   O   Set up Specific Generation Options                           
                                                                                    
      Function Code X                                                              
                                                                                    
                                                                                    
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- 
          Help        Exit  LDA   XSD                           Optio       Canc
    

    次の機能を使用できます。

    詳細については、対応するセクションを参照してください。

PF キーの割り当て

次のファンクションキーをナビゲーションおよび処理に使用できます。

PF1 Help コンテキスト関連ヘルプ。 詳細については、オンラインドキュメントを参照してください。
PF3 Exit

オプションマップ上:変更を保存して機能を終了します。
生成マップ上:生成を完了してから機能を終了します。
メインメニューマップ上:アプリケーションを終了します。

PF7 Prev 前の手順(前のマップ)。
PF8 Next 次の手順(次のマップ)。
PF9 Finis(h) 生成を完了してから機能を終了します。
PF12 Cancel

変更を保存せずに機能を終了します。
まだ生成が行われていない場合は、機能を終了します。