XML-Mapping

XMLデータを変換する。

  • コンポーネント間のドラッグ&ドロップによるマッピング機能。
  • XMLスキーマおよびDTDのコンテンツモデルをサポートします。
  • インスタンス文書からXMLスキーマを生成します。
  • XSLT 1.0、2.0、3.0のライブラリと、データ処理機能。
  • XMLデジタル署名機能のサポート。
  • XMLにおけるワイルドカード機能(xs:anyおよびxs:anyAttribute)のサポート。
  • コメントと処理指示のサポート。
  • XMLファイルをXSLTを使って変換する。

XMLマッピングの作成

MapForceは、XMLスキーマまたはDTDのコンテンツモデルに基づいてXMLマッピングをサポートしています。XMLマッピングを開発するには、MapForceに2つ以上のスキーマを読み込み、ソースとターゲットのノード間で接続線をドラッグするだけです。さらに、混合コンテンツのサポートにより、XMLデータの中に埋め込まれたテキストデータもマッピングできます。

XMLインスタンスドキュメントに関連付けられたスキーマがない場合、MapForceは自動的にそのXMLインスタンスドキュメントからXMLスキーマを生成します。

MapForce XML マッピング機能。

MapForceは、以下の機能を提供します。 高度なXML変換処理。 複数の入力スキーマと複数の出力スキーマ、複数のソースファイルと/またはターゲットファイル、または高度な多段階データ変換(スキーマからスキーマへ、そしてさらに別のスキーマへ、といった処理)に対応しています。

XMLマッピングとデータ処理ルールを定義し終えたら、ソースファイルを読み込むことができます。MapForceに組み込まれた実行エンジンが、その場でデータを新しい形式に変換します。

MapForceは、ソーススキーマに基づいて、複数のXMLドキュメント内のデータを変換するために使用できる、XSLT 1.0、XSLT 2.0、またはXSLT 3.0のスタイルシートを自動的に生成します。これにより、データをターゲットのXMLスキーマに準拠させることができます。

MapForceを使って、XMLファイルをXML形式やその他の形式に変換する方法を学びましょう。

XMLマッピングに加えて、MapForceは以下の機能もサポートしています。 あらゆる組み合わせを対応付ける。 XML、JSON、PDF、データベース、EDI、XBRL、単純テキストファイル、Excel、Protobuf、および/またはWebサービスデータなどを活用し、データ統合やWebサービスアプリケーションを構築します。

XMLマッピングの出力結果の確認

XMLマッピングプロジェクトを設計する際、組み込みのMapForceエンジンを使用することで、自動生成されたXSLT 1.0、XSLT 2.0、XSLT 3.0、またはXQueryコードをワンクリックで表示および保存できます。また、「出力」タブをクリックすると、XMLマッピングによって実際に生成された結果を確認できます。

以下に示されたスクリーンショットは、上記のXMLマッピングで使用されるXML出力と、それに対応するXSLT 2.0スタイルシートの例を示しています。

MapForce XML マッピングの出力結果。

デジタル署名を用いたXMLマッピング。

デジタル署名は、W3Cが定める仕様で、XML文書を暗号化されたコードでデジタル署名することで、そのXML文書が改ざんされていないことを検証できるようにするものです。MapForceのXML署名機能は、RSA-SHA1およびDSA-SHA1タイプの証明書のみをサポートしています。

MapForceは、XMLおよびXBRL形式の出力ファイルに対して、XMLデジタル署名を作成することができます。出力ボタンを押すと、生成された結果ファイルに署名が作成され、署名付きの結果ファイルを保存することができます。

デジタル署名は、出力ドキュメントの最後の要素として埋め込むことも、別の署名ファイルに保存することもできます。

  • 「エンベロープ(Enveloped)」が選択された場合、署名はXMLファイルのルート要素の下にある最後の要素となります。
  • 「分離」を選択した場合、署名ファイルが別のドキュメントとして生成されます。

右側の画像は、結果ファイルに付与されたデジタル署名を示しており、これは「エンベロープ」オプションを使用して生成されたものです。

MapForceによるXMLマッピング機能と、デジタル署名機能。

XMLドキュメントの妥当性。

XMLドキュメントにXML署名が埋め込まれている場合、http://www.w3.org/2000/09/xmldsig# という名前空間の "Signature" 要素がXMLドキュメントに追加されます。ドキュメントがスキーマに準拠したまま存在するためには、スキーマに適切な要素定義が含まれている必要があります。XMLドキュメントのスキーマを変更したくない場合は、"Detached" オプションを使用して、XML署名を別のファイルに作成することができます。

XMLにおけるワイルドカード機能のサポート。

XMLスキーマの設計において、`<xs:any>`要素と`<xs:anyAttribute>`を使用することで、XMLスキーマに定義されていない新しい要素や属性を、対応する場所にXMLインスタンスドキュメントに追加することができます。これは「XMLワイルドカード」と呼ばれ、多くのXMLスキーマで採用されている一般的な仕組みであり、様々な業界標準をサポートし、幅広いビジネスにおけるカスタマイズを可能にします。

MapForceは、XMLまたはその他の出力形式へのマッピングにおいて、`<xs:any>`および`<xs:anyAttribute>`をサポートしています。XMLマッピング入力コンポーネント内の`<xs:any>`または`<xs:anyAttribute>`の横にある選択ボタンをクリックすると、ワイルドカード選択ダイアログが開きます。

`<xs:any>`要素および`<xs:anyAttribute>`要素は、XMLスキーマの設計において一般的に使用されており、MapForceにおけるこれらの要素のサポートは、ユーザーからの要望が頻繁に寄せられていました。

データベースとのXMLマッピング。

MapForceは、以下の機能において強力なサポートを提供します。 データベースのマッピング。データベースのデータと、XML、プレーンテキストファイル、EDI、Excel (OOXML)、XBRL、Webサービス、さらには他のデータベース形式との間の対応関係を確立することができます。

デザインウィンドウにデータベース構造を読み込むと、MapForceは自動的にデータベースのスキーマを解釈し、利用可能なデータベースのテーブルやビューを選択できるようにし、テーブル間の関係を認識します。

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

データベースのマッピングに必要なすべてのXMLやその他のコンテンツモデルを読み込んだら、ソースとターゲットの構造を結ぶ線を引き、マッピングを完了させるだけです。

サポートされています。 リレーショナルデータベース:

  • Firebird
  • IBM DB2 for iSeries®
  • IBM DB2®
  • Informix®
  • MariaDB
  • Microsoft Access™
  • Microsoft® Azure SQL
  • Microsoft® SQL Server®
  • MySQL®
  • Oracle®
  • PostgreSQL
  • Progress OpenEdge
  • SQLite
  • Sybase® ASE
  • Teradata

サポートされています。 NoSQLデータベース:

  • MongoDB
  • CouchDB

MapForceは、主要なリレーショナルデータベースだけでなく、一般的なNoSQLデータベースもサポートしており、データベースのソースデータ、データ処理機能やフィルター、そして様々な種類のデータ構造間のグラフィカルなデータマッピング設計を可能にします。

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

  • 主要なデータベースシステムに対するクエリ機能。
  • あらゆる種類のデータベースから取得したデータを、サポートされている他のデータベース形式に変換することができます。
  • データベースのキー設定を指定します。
  • データベーステーブルに対する操作を定義する。
  • データベースに直接問い合わせる。
  • データベースのフィールドとXMLファイルを連携させ、対応関係を定義します。
  • データベースの入力要素を分類する。

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

多くのデータベースのマッピングでは、ソースとターゲットのデータ間で、ブール条件やSQL、SQL/XMLステートメントに基づいてデータの操作が必要になります。論理的な比較、数学的な計算、文字列操作、特定の値を備えたデータベースデータの確認など、さまざまな処理が必要になる場合があります。上記のスクリーンショットでは、データ処理機能が、ソースデータモデルとターゲットデータモデルを結ぶ線の中にあるボックスとして表示されています。

データ処理機能を使用することで、様々な実用的なデータ変換ニーズに対応し、データベースのマッピングをリアルタイムで高度に実行できます。例えば、XMLやEDIメッセージを使用して、XMLまたはEDIの要素に含まれるフィルタ条件に基づいて、データベースのレコードを抽出するようなマッピングを構築することができます。

データベースとXMLのマッピング処理は、XML形式の出力ドキュメントを生成します。データベースとプレーンテキストファイルのマッピングは、CSV形式または固定長テキストファイルで出力されます。データベースとEDIのマッピングは、EDIFACT、X12、またはHL7形式のメッセージを生成できます。データベースとExcelのマッピングは、Office Open XML (OOXML) 形式のマークアップを生成し、データベースとXBRLのマッピングは、XBRL形式の財務報告書を生成します。

XMLマッピングをデータベースに適用すると、SQLスクリプト(例えば、SELECT、INSERT、UPDATE、およびDELETE文)が出力され、これらのスクリプトがMapForce内で直接、対象のデータベースに対して実行されます。

XBRLデータマッピング。

Extensible Business Reporting Language (XBRL)は、企業および財務データを電子的に伝送するための、XMLをベースとしたマークアップ言語です。

MapForceは、XBRLの分類体系を、マッピングのソースまたはターゲットとして利用できます。これにより、バックエンドの会計データを、セマンティックや構造的な整合性を損なうことなく、コンプライアンスに準拠した形式にグラフィカルに変換したり、財務分析のためのレポートデータを統合したりすることが可能です。

MapForce XBRL マッピング機能。

Java、C#、またはC++における実行ファイルのマッピングとコード生成機能により、グラフィカルなマッピング設計に基づいて、財務データの変換を自動化することも可能です。これにより、公開する財務データの提出プロセスを繰り返し可能で、効率的に管理できるようになります。会計システム内の可変データに基づいて、必要なXBRLレポートを正確に作成できます。

XBRLマッピングの開発

既存の分類体系に基づいてXBRLマッピングを作成するには、MapForceのデザイン領域に分類体系の構造を挿入するだけです。MapForceは、ファイル構造を視覚的に表示し、分類体系の概念、ハイパーキューブ、抽象要素、期間、識別子などを、直感的なアイコンで表現します。

XBRLコンポーネントは、関連するリンクベースから構造的な情報と意味的な情報を取得し、必要に応じて容易に解釈したり、拡張したり、縮小したりできる階層構造で表現されます。

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

MapForceは、ブール条件に基づく高度な処理機能や、ソース形式からターゲット形式への変換時にデータを操作することで、データのフィルタリングと処理に柔軟に対応します。

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

多様なデータ間のマッピングと、連携されたデータマッピング。

MapForceは、複雑なデータ統合および変換プロジェクトに最適な、非常に柔軟なXMLマッピングツールです。データマッピングの入力と出力は、XML、データベース、フラットファイル、EDI、Excel、XBRL、Shopify/GraphQL、Webサービスなど、様々な形式を組み合わせることができます。データマッピングは、1つの入力に対して1つの出力、1つの入力に対して複数の出力、複数のデータソースから1つの宛先、または複数のデータソースから複数の宛先など、様々な構成が可能です。これらの構成は、すべて異なるデータ形式で実現できます。

MapForce の連鎖マッピング機能。

MapForceを使用すると、複数のファイルやデータソースからデータを統合したり、単一のデータソースから得られたデータを複数の出力形式に分割したりすることができます。複数のファイルを扱う際には、ファイル名にワイルドカード文字(例えば、? や *)を使用したり、データベースのテーブル、自動連番、またはその他の方法で指定することができます。この機能は、さまざまなデータ統合のシナリオで非常に役立ちます。例えば、ファイル群からデータを統合したり、大規模なデータベース内の各主要テーブルのレコードに対して個別のXMLファイルを生成したりする場合に利用できます。

MapForceでは、データ統合プロジェクトにおいて、ファイル名をパラメータとして使用することも可能です。これにより、実行時に特定のファイル名を指定することで、動的なマッピングを作成できます。

連鎖的なデータマッピング。

連鎖変換機能を使用することで、ある変換の出力を別の変換の入力として利用する、複雑なデータ変換処理を構築できます。この強力な機能は、MapForceが完全に自動化された変換を実行する能力をさらに高めます。各連鎖された要素は、相互依存的な変換シーケンスにおけるモジュール化された構成要素となり、その場で変換を行うことが可能になります。

一連の変換処理は、最終的なターゲットコンポーネントに接続された複数のマッピングコンポーネントを使用して作成できます。 中間コンポーネントだけでなく、最終的なマッピング結果についても、プレビュー表示やコード生成機能を利用できます。

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

Altova MapForce Server この製品には、MapForce用に開発された組み込みデータ変換エンジンが含まれており、サーバー環境での動作を大幅に強化しています。MapForce Serverは、以下の機能を提供します。 データ変換処理 XML、データベース、EDI、XBRL、テキストファイル、Excel、JSON、Protocol Buffers、および/またはWebサービスなど、あらゆる組み合わせのデータ形式に対応し、実行ファイルに格納された、事前に処理・最適化されたデータマッピングを活用します。 MapForceで定義されたデータマッピング。MapForce Serverは、サーバー機能(並列処理、マルチスレッド、大量のSQL挿入、クロスプラットフォーム対応など)を備え、データ変換をさらに高度なレベルに引き上げます。

前処理を行うことで、ほとんどのデータ変換処理において、処理速度の向上とメモリ使用量の削減を実現できます。MapForce Serverは、FlowForce Serverによって管理され、スタンドアロン環境でコマンドラインから実行することも、APIを通じてプログラム的に実行することも可能です。

MapForceでXMLマッピングを設計し、テストが完了した後、MapForce Serverによって実行することで、繰り返し行われるデータ変換を必要とする業務プロセスを自動化することができます。

マップフォースサーバー実行ファイルの作成

MapForceは、XMLデータのマッピングを事前に処理し、最適化します。そして、それらのマッピング情報をMapForce Serverの実行ファイルとして保存し、MapForce Serverがコマンドラインから実行できるようにします。また、これらの情報をFlowForce Serverのジョブで使用できるようにアップロードすることも可能です。

MapForce ServerがFlowForce Serverによって管理されている場合、データマッピングは、FlowForce Serverのジョブの一部として定義されたトリガーに基づいて、FlowForce Serverのジョブステップとして実行されます。例えば、新しいXMLインスタンスファイルが特定のディレクトリに配置されると、それがトリガーとなり、FlowForce Serverの多段階ジョブが開始されます。このジョブはまず、RaptorXML+XBRL Serverを使用してファイルを検証し、次にMapForce Serverを実行してXMLから特定のデータを抽出し、データベースに挿入します。