次のトピックについて説明します。
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 変数の書き込みまたは読み込みを行います。
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 に含まれています。
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 |
次の機能を使用できます。
Natural データ構造からの生成:Natural データエリアをデータソースとして使用します。
DTD(文書型定義)から生成:文書型定義(.dtd)をデータソースとして使用します。
詳細については、対応するセクションを参照してください。
次のファンクションキーをナビゲーションおよび処理に使用できます。
PF1 | Help | コンテキスト関連ヘルプ。 詳細については、オンラインドキュメントを参照してください。 |
---|---|---|
PF3 | Exit |
オプションマップ上:変更を保存して機能を終了します。 |
PF7 | Prev | 前の手順(前のマップ)。 |
PF8 | Next | 次の手順(次のマップ)。 |
PF9 | Finis(h) | 生成を完了してから機能を終了します。 |
PF12 | Cancel |
変更を保存せずに機能を終了します。 |