機械翻訳について

XMLデータのテンプレート・レイアウトへの関連付け

この項の図は、買掛/未払金請求書台帳のサンプル・レイアウトを示しています。

次の点に注意してください。

  • テンプレートに定義されているデータ・フィールド。

    次に例を示します: サプライヤ、請求書番号および請求書日付

  • レポートの実行時に繰り返されるテンプレートの要素。

    たとえば、レポートされるサプライヤごとに、テンプレートのすべてのフィールドが繰り返されます。 請求書表の各行は、レポートされる請求書ごとに繰り返されます。

XML入力ファイルの使用

次に、買掛/未払金請求書台帳レポート・テンプレートへの入力として使用されるXMLファイルを示します。

例を簡略化するために、表示されているXML出力は、買掛/未払金レポートの実際の出力から変更されています。

<?xml version="1.0" encoding="WINDOWS-1252" ?>
 - <VENDOR_REPORT>
  - <LIST_G_VENDOR_NAME>
   - <G_VENDOR_NAME>
     <VENDOR_NAME>COMPANY A</VENDOR_NAME>
   -  <LIST_G_INVOICE_NUM>
    -  <G_INVOICE_NUM>
       <SET_OF_BOOKS_ID>124</SET_OF_BOOKS_ID>
       <GL_DATE>10-NOV-03</GL_DATE>
       <INV_TYPE>Standard</INV_TYPE>
       <INVOICE_NUM>031110</INVOICE_NUM>
       <INVOICE_DATE>10-NOV-03</INVOICE_DATE>
       <INVOICE_CURRENCY_CODE>EUR</INVOICE_CURRENCY_CODE>
       <ENT_AMT>122</ENT_AMT>
       <ACCTD_AMT>122</ACCTD_AMT>
       <VAT_CODE>VAT22%</VAT_CODE>
      </G_INVOICE_NUM>
     </LIST_G_INVOICE_NUM>
     <ENT_SUM_VENDOR>1000.00</ENT_SUM_VENDOR>
     <ACCTD_SUM_VENDOR>1000.00</ACCTD_SUM_VENDOR>  
    </G_VENDOR_NAME>
   </LIST_G_VENDOR_NAME>
  <ACCTD_SUM_REP>108763.68</ACCTD_SUM_REP>
  <ENT_SUM_REP>122039</ENT_SUM_REP>
 </VENDOR_REPORT> 

XMLファイルは要素で構成されます。 各タグ・セットは要素です。 たとえば、<INVOICE_DATE> </INVOICE_DATE>は請求書日付要素です。 "INVOICE_DATE"はタグ名です。 タグ間のデータは要素の値です。 たとえば、INVOICE_DATEの値は"10-NOV-03"です。

XMLファイルの要素には階層構造があります。 もう1つの方法は、要素に親子関係があることです。 XMLサンプルでは、一部の要素は別の要素のタグ内に含まれています。 含まれる要素は親であり、含まれる要素はその子です。

すべてのXMLファイルには、他のすべての要素を含むルート要素が1つのみ含まれます。 この例では、VENDOR_REPORTがルート要素です。 要素LIST_G_VENDOR_NAMEACCTD_SUM_REPおよびENT_SUM_REPは、VENDOR_REPORTタグの間に含まれ、VENDOR_REPORTの子です。 各子要素には独自の子要素を含めることができます。

プレースホルダーとグループの識別

テンプレートのコンテンツおよびレイアウトは、入力XMLファイルのコンテンツおよび階層に対応している必要があります。 テンプレートの各データ・フィールドは、XMLファイルのエレメントにマッピングする必要があります。 テンプレート内の繰返し要素の各グループは、XMLファイル内の親子関係に対応している必要があります。

データ・フィールドをマップするプレースホルダーを定義します。 繰返し要素を指定するグループを定義します。

ノート:

「パブリッシャ」では、受信XMLデータの階層に従わないグループ化がレポートに必要な場合、データの再グループ化がサポートされます。 この機能の使用方法については、「XMLデータの再グループ化」を参照してください。

プレースホルダーの使用

レポート・テンプレートの各データ・フィールドは、XMLファイルのエレメントに対応している必要があります。

テンプレート設計をマークアップするときに、XML要素のプレースホルダーを定義します。 プレースホルダーにより、テンプレート・レポート・フィールドがXML要素にマップされます。 実行時に、プレースホルダーはXMLデータ・ファイル内の同じ名前の要素の値に置き換えられます。

たとえば、サンプル・レポート・レイアウトの「サプライヤ」フィールドは、XML要素VENDOR_NAMEに対応します。 テンプレートをマークアップするときに、サプライヤ・フィールドの位置にVENDOR_NAMEのプレースホルダーを作成します。 実行時に、このプレースホルダーはXMLファイルの要素の値に置き換えられます(サンプル・ファイルの値はCOMPANY Aです)。

繰返し要素のグループの識別

サンプル・レポートには、サプライヤとその請求書がリストされます。 サプライヤおよび請求書ごとに繰り返されるフィールドがあります。

したがって、レポートは2つの繰返しフィールドのグループで構成されます:

  • 各サプライヤに対して繰り返されるフィールド

  • 請求書ごとに繰り返されるフィールド

請求書グループはサプライヤ・グループ内にネストされています。 これは、次のように表すことができます:

サプライヤ

  • サプライヤ名

  • 請求書

    • 請求書番号

    • 請求書日付

    • 元帳日付

    • 通貨

    • 入力金額

    • 計上済金額

  • 入力金額合計

  • 合計計上済金額

この構造をXML入力ファイルの階層と比較します。 前述のSuppliers(サプライヤ)グループに属するフィールドは、要素G_VENDOR_NAMEの子です。 請求書グループに属するフィールドは、要素G_INVOICE_NUMの子です。

グループを定義すると、「パブリッシャ」に要素(親)の「それぞれ」オカレンスが表示され、含まれるフィールド(子)が表示されることが通知されます。 実行時に、「パブリッシャ」は要素の出現をループし、毎回フィールドを表示します。