![]() |
ADOS Developer's Site - XML Stadium |
![]() |
![]() |
|
![]() |
【XSLTによるB2Bメッセージインターフェイスの開発】(2004/10/14 溝口@アドス)
目次 概要本チュートリアルでは、サンプルXMLデータから簡単にスタイルシートを作成する方法について解説します。ビジネスユーザによるスタイルシートのパラメータ設定や、大量高頻度のスタイルシート作成を実現します。 背景として、購買情報などB2Bで交換されるXMLデータのインターフェイス開発があります。このようなXMLデータには、ビジネスに不要なデータも多く含まれており、目的のデータを見つけにくいことがあります。また、ツリー形式による表示には、データを比較しにくい性質があります。そのため、ビジネスでの使用では、XMLデータをHTML形式などに変換して表示する必要があります。 しかし、運用するXMLフォーマットの種類が多い場合や、XMLの項目の使用方法の変更が多い場合には、それに比例してインターフェイス開発のコストが膨れ上がる恐れがあります。したがって、1フォーマットあたりの開発コストはできるだけ低くする必要があります。 そこで、XSLTにより簡単にインターフェイスを生成する方法について検討します。これは、サンプルXMLデータを変換してインターフェイス出力用XSLTを自動的に作成する方法です。サンプルXMLデータを利用することでビジネスユーザにより作成できるメリットがあります。 本チュートリアルでは、簡単なサンプルにより、開発から運用までの流れを解説します。なお、サンプルXMLデータとして、RosettaNetのPIP4A4を使用します。 XSLTによるB2BメッセージのHTML表示導入として、実運用のXMLデータをHTMLに変換するスタイルシートの例を見ます。B2Bの運用時には、図のような構成で使用されます。あらかじめXSLTを作成してシステムに配置し、運用時に生成されるXMLデータをXSLT変換して表示します。 サンプルファイル
これは手書きで記述したXSLTファイルです。XSLTのコードにはPIP4A4のパスが組み込みで記述されており、PIP4A4固有のXSLTであることが確認されます。さらに、テーブル表示する繰り返し項目も組み込みで指定されており、PIP4A4のXML構造の特定の使い方に限定したXSLTであることが確認されます。したがって、このXSLTによって他のPIPのXMLデータを変換して表示させることはできません。 このXSLTにより下図のようにXMLデータがHTMLへ変換されます。繰り返し項目の階層を、複数のテーブルにより表示しています。テーブル間はキー項目のハイパーリンクにより関連付けされており、ナビゲーションの利便性に配慮しています。素のXMLデータと比較して、表示項目の抽出や一覧表示により見やすくなっています。 本チュートリアルでは、このようなXSLTを簡単かつ大量に作成することが目標となります。 1次XSLTの開発手順XSLTをXSLTで作成することにより前述の目標を達成したいと考えます。下図は開発フェーズと運用フェーズ含めてのファイル生成の流れです。緑枠内の1次XSLTの開発は、XSLT技術者によりXSLTコードを記述する作業となります。一方、青枠内の2次XSLTの開発は、ビジネスユーザ(情報システム部門等)によりマーク付きサンプルXMLデータを作成して2次XSLTに変換する作業となります。 サンプルファイル
1次XSLTの開発手順は次のようになります。
次節以降、この順に作成します。なお、「2次XSLT」のサンプルの作成は前節に差し替えます。 マーク付きサンプルXMLデータの作成ユーザ企業においてB2Bを実装する際には、大抵サンプルXMLデータが用意されます。ビジネスユーザも、このサンプルXMLデータを確認して、どのようなビジネスデータを送受信するか理解することになります。したがって、サンプルXMLデータはビジネスユーザにも比較的馴染みがあると言えます。 そこで、サンプルXMLデータを基に2次XSLTのパラメータを設定することにより、ビジネスユーザによる2次XSLT作成が可能になります。 本チュートリアルでは、下記のルールでマーク付きサンプルXMLデータを作成します。これらのマークはHTMLに出力する項目にのみ記述します。実際の1次XSLTの開発では、1次XSLTや2次XSLTに必要なパラメータに従って、このようなマーク付けルールを定義します。
1次XSLTの作成サンプルの2次XSLTとマーク付けサンプルXMLデータを基に、1次XSLTを作成します。具体的には、サンプルの2次XSLTからXSLTコードのパターンを抽出し、1次XSLTのtempleteを記述していきます。サンプルの2次XSLTに3階層分くらいのコードがあれば、パターンを見つけやすくなります。 2次XSLTの開発手順1次XSLTの開発後は、B2BのXMLフォーマットごとに下記の手順で2次XSLTを作成します。青枠の作業となります。
2次XSLTをシステムに配置したら、図の赤枠のように運用します。 マーク付きサンプルXMLデータ 応用事例本チュートリアルのポイントは、ビジネスユーザにも編集可能なサンプルXMLデータから、スタイルシート(XSLT)を自動的に作成可能なことです。同様にして、スタイルシートでなく他のファイルを出力することも可能です。 例えば、データ入出力に関しては下記のような利用が考えられます。
一般的には、B2Bメッセージの変換に関する処理スクリプトへの利用に適用可能です。 |
Copyright 2005-2008. ADOS Co., Ltd. All Rights Reserved. |