XML マッピング

XML データの変換

  • ドラッグ アンド ドロップによるコンポーネント間のマッピング
  • XML スキーマと DTD コンテンツモデルへのサポート
  • インスタンスドキュメントからの XML スキーマの生成
  • XSLT 1.0/2.0 ライブラリとデータ処理関数
  • XML 電子署名へのサポート
  • XML ワイルドカードへのサポート (xs:any と xs:anyAttribute)
  • コメントと処理命令へのサポート
  • XML を XSLT を変換する

XML マッピングの作成

MapForce では、 XML スキーマ、または、 DTD コンテンツモデルをベースにした XML マッピングがサポートされています。XML マッピングを行うには、2つ以上のスキーマを MapForce にロードし、ソースとターゲットにあるノード間において接続線をドラッグすることで結びつけます。混合コンテンツのサポートにより XML に組み込まれているテキスト データのマッピングも行うことができます。

XML インスタンスドキュメントに関連付けられているスキーマが無い場合、XML インスタンスドキュメントから XML スキーマを MapForce により自動的に生成することができます。

MapForce XML マッピング

MapForce では、複数の入力と複数の出力スキーマ、複数のソースやターゲットファイル、または高度なマルチパスデータ変換 (スキーマからスキーマへのマッピングを行い、更に別のスキーマへマッピングを行うなど) といった、高度な XML 変換機能がサポートされています。

XML マッピングとデータ処理のルール定義を終えた後には、ソースファイルを読み込み、MapForce に内蔵された実行エンジンによりデータを新たなフォーマットへと直ちに変換することができます。

MapForce では XSLT 1.0 または 2.0 スタイルシートを自動生成することもでき、ターゲット XML スキーマに準拠したソーススキーマをベースにして、複数の XML ドキュメントへデータを変換することができます。

XML マッピングに加えて、MapForce では XML、データベース、EDI、XBRL、フラットファイル、Excel 、JSON、プロトコルバッファー、およびまたは Web サービス間の任意の組み合わせのデータ マッピングをサポートし、データ統合や Web サービスアプリケーションの構築を行うことができます。

XML マッピング出力を閲覧

XML マッピング プロジェクトを作成すると、クリック 1 つで内蔵の MapForce エンジンにより自動生成された XSLT 1.0/2.0 や XQuery コードを閲覧することができます。出力タブをクリックすることで XML マッピングにより実際に生成された出力を閲覧することもできます。

上で説明されている XML マッピングのための XML 出力と生成済みの XSLT 2.0 スタイルシートを表示しています。

XML マッピング出力

電子署名を使用した XML マッピング

電子署名は、変更されていない XML ドキュメントを検証するために使用することのできる暗号化されたコードを持つ XML ドキュメントを電子的に署名するためのW3C 仕様です。MapForce 内の XML 署名機能は、RSA-SHA1 と DSA-SHA1 の証明書のみをサポートします。

MapForce は、 XML と XBRL 出力ファイルのために XML 電子署名の作成をサポートします。出力ボタンが押され、結果ファイルが保存されると、署名を持つ結果ファイルが保存されます。

XML デジタル署名はドキュメント最後の要素内部へ、または独立した署名ファイル内部に保管することができます。

  • エンベロープが選択されると、署名は XML ファイルのルート要素の下の最後の子要素となります。
  • 「デタッチ済み」が選択されている場合、署名ファイルが個別のドキュメントととして生成されます。

右のイメージは、エンベロープオプションを使用して生成された結果ファイルの最後のデジタル署名を表示しています。

MapForce XML mapping with digital signatures

XML ドキュメントの有効性

XML 署名が XML ドキュメント内に埋め込まれている場合、名前空間 http://www.w3.org/2000/09/xmldsig# 内の署名要素が XML ドキュメントに追加されます。スキーマに基づきドキュメントが有効であり続けるためには、スキーマに適切な要素宣言が含まれている必要があります。XML ドキュメントのスキーマの変更を希望しない場合、XML 署名はデタッチオプションを用いて、外部ファイル内に作成することができます。

XML ワイルドカードのサポート

新しい要素または属性が XML スキーマで定義されていない場合でも、XML スキーマデザイン内の <xs:any> 要素と <xs:anyAttribute> により新しい要素または属性が XML インスタンスドキュメント内の対応する場所に置くことができます。この機能は XML ワイルドカードとして知られており、広範囲のビジネスの業界基準をサポートし、多種の XML スキーマをカスタマイズできるため人気のあるメカニズムです。

MapForce は XML または他の出力フォーマットでの出力のマッピングでの <xs:any> と <xs:anyAttribute> をサポートします。XML マッピング入力コンポーネント内の <xs:any> または <xs:anyAttribute> はワイルドカード選択ダイアログを開きます。

<xs:any> 要素および <xs:anyAttribute>は XML スキーマデザインによく使用されていて、 MapForce でのサポートはユーザーからの頻繁なリクエストを受けてきました。

データベースへの XML マッピングとデータベースからの XML マッピング

MapForce には、あらゆるデータベースのデータ、XML、フラット ファイル、EDI、Excel (OOXML)、XBRL、Web サービス、そしてその他のデータベースフォーマット間のデータベースマッピングに対するパワフルなサポートが含まれます。

デザイン ウィンドウ内でデータベース構造をロードした際、MapForce は自動的にデータベース スキーマを読み取り、利用可能なデータベース テーブルやビューを選択後、テーブル間のリレーションシップを認識することができます。

MapForce データベース マッピング

データベース マッピングのために必要な XML と他のコンテンツ モデルすべてをロードしたら、ソースとターゲット構造間に接続線をドラッグすることでマッピングを完成させます。

サポートされるデータベース:

  • Firebird 2.5, 3
  • IBM DB2 for iSeries® v6.1, 7.1, 7.2, 7.3
  • IBM DB2® 8, 9.1, 9.5, 9.7, 10.1, 10.5
  • Informix® 11.70, 12.10
  • MariaDB 10, 10.3
  • Microsoft Access™ 2003, 2007, 2010, 2013, 2019
  • Microsoft® Azure SQL
  • Microsoft® SQL Server® 2005, 2008, 2012, 2014, 2016, 2017, 2019
  • MySQL® 5, 5.1, 5.5, 5.6, 5.7, 8
  • Oracle® 9i, 10g, 11g, 12c, 18, 19
  • PostgreSQL 8, 9.0.10, 9.1.6, 9.2.1, 9.4, 9.6, 10, 11
  • Progress OpenEdge 11.6
  • SQLite 3.x
  • Sybase® ASE 15, 16
  • Teradata 16

MapForce では、すべてのメジャーなリレーショナル データベースがサポートされており、データベースソース データ、データ処理関数とフィルター、その他の各種データ構造間に対して、グラフィカルなデータベース マッピング デザインを作成することが可能になります。

データベース マッピング機能:

  • メジャーなすべてのデータベースに対応したデータベース クエリ
  • サポートされているデータベース間における任意のデータ マッピング
  • データベース キーの設定
  • データベース テーブル アクションの設定
  • データベースへ直接問い合わせ
  • データベース フィールドにある XML へ接続し、マッピング
  • データベース入力コンポーネントの並び替え

データベースデータの処理とフィルタリング

多くのデータベース マッピングでは、Boolean 条件や SQL、SQL/XML ステートメントをベースにしたソースとターゲット間のデータ操作が要求されます。更に論理的な比較や数学的な計算、文字列処理、データベース内にある特定の値をチェックしたり、データに対して何らかの処理を加える必要が生じることもあります。上のスクリーンショットでは、データ処理関数がソースとターゲット データモデル間を繋ぐライン上にあるボックスとして表示されています。

データ処理関数を使うことで、現実社会で必要とされる変換処理に対応した高度なデータベース マッピングを簡単に行うことができます。例えば、XML または EDI 要素から与えられた条件に従って、データベースの行を抽出するデータベース マッピングを作成することができます。

データベースから XML へのマッピングでは XML 出力ドキュメントが生成され、データベースからフラット ファイルへのマッピングでは CSV や固定長テキスト ファイルが、データベースから EDI へのマッピングでは EDIFACT、X12、または HL7 メッセージが、そしてデータベースから Excel へのマッピングでは Office Open XML (OOXML) マークアップが生成され、XBRL に対するマッピングでは、XBRL 会計報告が生成されます。

データベースへのマッピングでは、(SELECT、INSERT、UPDATE、DELETE ステートメントなどを使用した) SQL スクリプト形式の出力により、MapForce 内部にてターゲット データベースに対するスクリプトを実行する前に編集を行うこともできます。

XBRL データ マッピング

Extensible Business Reporting Language (XBRL) はビジネスと金融データの電子転送のための XML ベースのマークアップ言語 です。

文法的、または、構造の一貫性を害することなく、MapForce はマッピングのソースまたはターゲットとしての XBRL タクソノミの使用をサポートし、バックエンド会計データを視覚的に標準の書式に変換し、金融の分析のために報告データを統合することができます。

MapForce の XBRL マッピング

実行ファイルのマッピングと Java, C#, or C++ でのコード生成へのサポートは、視覚的なマッピングデザインに基づく金融データの変換を自動化が可能なことを意味します。会計システムフィールド内で保管する変数データを基にして必要とされる、公的な記入データの提出を再帰的にし、管理しやすいプロセスにし、有効な XBRL レポートを生成することができます。

XBRL マッピングの開発

XBRL マッピングを既存のタクソノミをベースに開発するには、 MapForce デザインペイン内にタクソノミ構造を挿入するだけです。MapForce はタクソノミ概念、ハイパーキューブ、抽象的な要素、期間、識別子などを直観的なアイコンで示し、ファイル構造の視覚的な表示を表します。

XBRL コンポーネントは構造的な文法の情報を関連するリンクベースから取られ、 解釈が簡単で、かつ、必要に応じて展開、または、退縮することのできるように階層的に表示されています。

XBRL データのフィルタリングと処理

MapForce は、ブール条件、または、データをソースとターゲット書式から変換されたデータを操作することにより、高度な処理関数柔軟性に富んだサポートを提供します。

例えば、XBRL データは基本的にはフラットで、ソースデータをグループに結合するグループ化関数を適用することが必要な場合が多く、これらのグループをデータを階層的に変換するためにさらに処理します。この操作は MapForce 関数ライブラリ内にあるグループ化関数により行うことができます。

任意の型および複数のデータマッピングとチェーンデータマッピング

MapForce は高度なデータ統合と変換プロジェクトのための非常に柔軟性に富んだ XML マッピングツールです。データマッピングの入力と保存先は、 XML、データベース、フラットファイル、 EDI、Excel、XBRL、および Web サービスを含む複合型の書式であることができます。データマッピングは異なるフォーマットの一つの入力を一つの出力、多数のソースを多数のターゲットにマップすることができます。

MapForce チェーンマッピング

MapForce により複数のファイルとデータソースからのデータを統合し、1つのソースからのデータを多数の出力に分割することができます。ファイル名、データベーステーブル、自動番号シーケンス、または他のメソッド内のワイルドカード (例えば ? または *) のためのサポートを使用して複数のファイルと指定することができます。この機能はデータ統合の多種のシナリオで役に立ちます。例えば、ファイルコレクションからデータを統合、または、大きなデータベース内で各メインテーブルレコードのために個別の XML ファイルを生成するなどの場合が挙げられます。

MapForce により、データ統合プロジェクト内のパラメータとしてファイル名を使用することができます。特定のファイル名がランタイムで定義されている動的なマッピングを作成することができます。

チェーン済みデータマッピング

チェーン済みの変換により、マッピングの出力が他のマッピングの入力として使用することのできる複雑なマッピングを作成することができます。これは MapForce の自動変換の実行機能を強化します。チェーン済みの各コンポーネントは個別の変換シーケンス内のモジュールエントリとなり、変換をすぐに行うことができます。

最終ターゲットコンポーネントに接続されている無制限の数のマッピングコンポーネントを使用してチェーン済みの変換を作成することができ舞う。プレビューとコード生成機能を中間コンポーネント、および、最終マッピングの結果のために表示、または、生成することができます。

MapForce Server を使用して XML マッピングの実行を自動化

MapForce Serverr には、 MapForce のために開発された内蔵のデータ変換エンジンが含まれます。このエンジンはサーバー環境で作動するために大幅に拡張されています。MapForce Server は 以下のすべての組み合わせのデータ変換を MapForce 内で定義されたデータマッピングをベースに実行します 。(XML、データベース、EDI、 XBRL、フラットファイル、Excel、JSON、プロトコルバッファー、およびまたは MapForce Server 実行ファイルに保存された前処理済みかつ最適化された データマッピングを使用した Web サービス)。MapForce Server の並列処理、マルチスレッド、バルク SQL マージ、クロスプラットフォームへのサポートなどの機能によりデータ変換を次のレベルに押し上げます。

早いパフォーマンスと大半のデータベースマッピングのメモリの占有領域の制限を可能にします。MapForce Server は FlowForce Server の管理下、またはコマンドラインまたは、プログラム面で API からの実行によるスタンドアロン構成により作動します。

MapForce XML マッピングのデザインとテストが完了した後、MapForce Server により繰り返し行われるデータ変換処理を自動化することができるようになります。

Creating a MapForce Server Execution File

MapForce は XML データマッピングを前処理、最適化した後 MapForce Server のコマンドライン実行によりMapForce Server 実行ファイルに保存され FlowForce Server ジョブとしてアップロードされます。

MapForce Server が FlowForce Server の管理下で作動すると、データマッピングは、ジョブの一部として定義されたトリガーとして FlowForce Server のジョブステップとして実行されます。。例えば、新規 XML インスタンスドキュメントがディレクトリに追加されると、 RaptorXML+XBRL Server を使用して最初に検証し、 XML から特定のデータを抽出し、データベースに挿入するなどの複数のステップの FlowForce Server ジョブがトリガーされます。