[ADOS] ADOS Developer's Site - XML Stadium
ADOS Company slogan - XML Total Solution

 //CENTER:&size(24){&color(red){編集中};};
 
 RIGHT:(2004/10/14 溝口@アドス)
 
 目次
 
 #contents
 
 #br
 
 *概要
 
 本チュートリアルでは、サンプルXMLデータから簡単にスタイルシートを作成する方法について解説します。ビジネスユーザによるスタイルシートのパラメータ設定や、大量高頻度のスタイルシート作成を実現します。
 
 背景として、購買情報などB2Bで交換されるXMLデータのインターフェイス開発があります。このようなXMLデータには、ビジネスに不要なデータも多く含まれており、目的のデータを見つけにくいことがあります。また、ツリー形式による表示には、データを比較しにくい性質があります。そのため、ビジネスでの使用では、XMLデータをHTML形式などに変換して表示する必要があります。
 
 しかし、運用するXMLフォーマットの種類が多い場合や、XMLの項目の使用方法の変更が多い場合には、それに比例してインターフェイス開発のコストが膨れ上がる恐れがあります。したがって、1フォーマットあたりの開発コストはできるだけ低くする必要があります。
 
 そこで、XSLTにより簡単にインターフェイスを生成する方法について検討します。これは、サンプルXMLデータを変換してインターフェイス出力用XSLTを自動的に作成する方法です。サンプルXMLデータを利用することでビジネスユーザにより作成できるメリットがあります。
 
 本チュートリアルでは、簡単なサンプルにより、開発から運用までの流れを解説します。なお、サンプルXMLデータとして、RosettaNetのPIP4A4を使用します。
 
 #br
 
 *XSLTによるB2BメッセージのHTML表示
 
 導入として、実運用のXMLデータをHTMLに変換するスタイルシートの例を見ます。B2Bの運用時には、図のような構成で使用されます。あらかじめXSLTを作成してシステムに配置し、運用時に生成されるXMLデータをXSLT変換して表示します。
 
 #ref(m4ddabf33.png,center)
 
 CENTER:サンプルファイル
 
 |実XMLデータ(サンプルXMLデータ)|&ref(ServiceContent.xml);|
 |XSLT(2次XSLTのサンプル)|&ref(ServiceContentToHtml.xsl);|
 
 これは手書きで記述したXSLTファイルです。XSLTのコードにはPIP4A4のパスが組み込みで記述されており、PIP4A4固有のXSLTであることが確認されます。さらに、テーブル表示する繰り返し項目も組み込みで指定されており、PIP4A4のXML構造の特定の使い方に限定したXSLTであることが確認されます。したがって、このXSLTによって他のPIPのXMLデータを変換して表示させることはできません。
 
 #ref(4dd67ab5.png,center)
 
 このXSLTにより下図のようにXMLデータがHTMLへ変換されます。繰り返し項目の階層を、複数のテーブルにより表示しています。テーブル間はキー項目のハイパーリンクにより関連付けされており、ナビゲーションの利便性に配慮しています。素のXMLデータと比較して、表示項目の抽出や一覧表示により見やすくなっています。
 
 #ref(4c2e9615.png,center)
 
 本チュートリアルでは、このようなXSLTを簡単かつ大量に作成することが目標となります。
 
 #br
 
 *1次XSLTの開発手順
 
 XSLTをXSLTで作成することにより前述の目標を達成したいと考えます。下図は開発フェーズと運用フェーズ含めてのファイル生成の流れです。緑枠内の1次XSLTの開発は、XSLT技術者によりXSLTコードを記述する作業となります。一方、青枠内の2次XSLTの開発は、ビジネスユーザ(情報システム部門等)によりマーク付きサンプルXMLデータを作成して2次XSLTに変換する作業となります。
 
 
 #ref(m4831938f.png,center)
 
 CENTER:サンプルファイル
 
 |マーク付きサンプルXMLデータ|&ref(ServiceContentMK.xml);|
 |1次XSLT|&ref(ServiceContentToHtml2.xsl);|
 |2次XSLT|&ref(ServiceContentMK.xsl);|
 
 1次XSLTの開発手順は次のようになります。
 
 +「2次XSLT」のサンプルの作成
 +「マーク付きサンプルXMLデータ」のサンプルの作成
 +「1次XSLT」の作成
 
 次節以降、この順に作成します。なお、「2次XSLT」のサンプルの作成は前節に差し替えます。
 
 #br
 
 *マーク付きサンプルXMLデータの作成
 
 ユーザ企業においてB2Bを実装する際には、大抵サンプルXMLデータが用意されます。ビジネスユーザも、このサンプルXMLデータを確認して、どのようなビジネスデータを送受信するか理解することになります。したがって、サンプルXMLデータはビジネスユーザにも比較的馴染みがあると言えます。
 
 そこで、サンプルXMLデータを基に2次XSLTのパラメータを設定することにより、ビジネスユーザによる2次XSLT作成が可能になります。
 
 本チュートリアルでは、下記のルールでマーク付きサンプルXMLデータを作成します。これらのマークはHTMLに出力する項目にのみ記述します。実際の1次XSLTの開発では、1次XSLTや2次XSLTに必要なパラメータに従って、このようなマーク付けルールを定義します。
 
 -繰り返し要素にrow属性を設定し、その属性値にテーブルのタイトルを記述する
  <PartnerProductForecast
 	 row="GlobalBusinessIdentifier - GlobalProductIdentifier">
 -ルート要素には必ずrow属性を設定する
  <Pip4A4PlanningReleaseForecastNotification
 	 row="Pip4A4PlanningReleaseForecastNotification">
 -末端の繰り返し要素で、詳細テーブルを出力しない場合は、row属性の値に「#end」と記述する
  <ProductSchedule row="#end">
 -任意回数の繰り返し要素は1つを残して他を削除する
 -固定回数の繰り返し要素は、その回数分の要素を記述する
 -テーブルを関連付けするキー要素にkey属性を設定し、その属性値にテーブルにおける項目名を記述する
  <GlobalBusinessIdentifier key="DUNS">111111111</GlobalBusinessIdentifier> 
 -概要テーブルと詳細テーブルに出力する要素にindex属性を設定し、その属性値にテーブルにおける項目名を記述する
  <FreeFormText xml:lang="ja" index="コンタクト名">A</FreeFormText>
 -詳細テーブルにのみ出力する要素にfield属性を設定し、その属性値にテーブルにおける項目名を記述する
  <GlobalProductUnitOfMeasureCode field="単位">
 	10 Kilogram Drum</GlobalProductUnitOfMeasureCode>
 -その他、処理に影響のない要素は編集しなくてよい
 
 #ref(42256ade.png,center)
 
 #br
 
 *1次XSLTの作成
 
 サンプルの2次XSLTとマーク付けサンプルXMLデータを基に、1次XSLTを作成します。具体的には、サンプルの2次XSLTからXSLTコードのパターンを抽出し、1次XSLTのtempleteを記述していきます。サンプルの2次XSLTに3階層分くらいのコードがあれば、パターンを見つけやすくなります。
 
 参考:[[XSLTを出力するXSLTの記述]]
 
 
 #br
 
 *2次XSLTの開発手順
 
 1次XSLTの開発後は、B2BのXMLフォーマットごとに下記の手順で2次XSLTを作成します。青枠の作業となります。
 
 +マーク付きサンプルXMLデータの作成
 +1次XSLTによりマーク付けサンプルXMLデータを変換して2次XSLTを作成
 +2次XSLTをシステムに配置
 
 #ref(m4831938f.png,center)
 
 2次XSLTをシステムに配置したら、図の赤枠のように運用します。
 
 マーク付きサンプルXMLデータ&ref(ServiceContentMK.xml);をさまざまに編集し、1次XSLT&ref(ServiceContentToHtml2.xsl);により変換して結果の2次XSLTを確認してみてください。
 
 #br
 
 *応用事例
 
 本チュートリアルのポイントは、ビジネスユーザも編集可能なサンプルXMLデータから、スタイルシート(XSLT)を自動的に作成可能なことです。同様にして、スタイルシートでなく他のファイルを出力することも可能です。
 本チュートリアルのポイントは、ビジネスユーザにも編集可能なサンプルXMLデータから、スタイルシート(XSLT)を自動的に作成可能なことです。同様にして、スタイルシートでなく他のファイルを出力することも可能です。
 
 例えば、データ入出力に関しては下記のような利用が考えられます。
 
 -XMLデータをCSVやDBに入出力するXSLTファイルやSQL文の出力
 -XMLデータを入出力するDBを構築するSQL文の出力
 
 一般的には、B2Bメッセージの変換に関する処理スクリプトへの利用に適用可能です。
 
 #br
 
 ----
 #comment

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Copyright 2005-2008. ADOS Co., Ltd. All Rights Reserved.