レベル: 中級 Yasmary Hernandez (yasmary@us.ibm.com), Advisory IT Specialist,
IBM
2008年 1月 15日 Orangevolt XSLT プラグインは Swing ベースの ROXES XmlWrite の後継であり、Eclipse で XSLT を編集するための環境として ROXES XmlWrite を強化したものです。このプラグインは既存の Eclipse WTP (Web Tools Platform) の上に構築されており、XSL と XML のための新しいフィーチャーを導入しています。この記事では、XSLT がどのように役立つのか、また Orangevolt XSLT プラグインによって XSLT の利用がいかに容易になるかを学びます。
皆さんが、経験豊富な XSLT プログラマーではあっても Eclipse に慣れていないのであれば、この記事では Eclipse の使い方が非常に容易なことを学ぶことができます。皆さんが経験豊富な Eclipse ユーザーであっても XSLT とは何かを知らないのであれば、この記事では XSLT の素晴らしさを知ることができます。
この記事ではまず、XSLT の簡単な概要から始めます。次に Eclipse プラグインを使うための詳細に入り、プラグインのインストール方法や、プラグインの機能を最大限に活用するための方法を説明します。
XSLT とは何か
まず、基本である XML から始めましょう。最近では、Web で XML について聞かないことの方が難しいほどになっています。XML は、無数のシステムにまたがるデータを仲介するという重要な役割を果たしています。XML は非常に柔軟なためカスタマイズしたボキャブラリーを作成できる、という事実そのものによって、1 つのボキャブラリーから別のボキャブラリーへの変換というニーズが生まれてきます。
そこに XSLT が登場します。XSLT (Extensible Stylesheet Language Transformations) は相互運用性を実現します。つまり XSLT の主な目標は、XML ベースのマークアップ言語を入力として、それを別のマークアップ言語、あるいはプレーン・テキストに変換することです。
例えば、映画をレンタルする簡単な Web サイトを作成したいとします。好きな映画のジャンルなど、ユーザーの好みは、すべて XML ファイルに保存されます (図 1)。ではこの情報を、クエリーを実行する際にどう利用すればよいでしょう。XSLT スタイルシートを使うと、ユーザーの好みをデータベースに対する一連の命令に変換することができます (図 2)。そうすると、こうしたデータベースに対する命令によって、特定のユーザーの好みの映画ジャンルに何本の在庫があるか、といった情報を取得することができます。さらに、データベース・クエリーから取得した情報を別の XSLT スタイルシートを使って処理し、それを HTML ページに変換して特定のユーザーに表示することもできます。
この記事ではプラグインの機能を説明するために下記のコード・サンプルを使います。このコード・サンプルは「ダウンロード」セクションからダウンロードすることができます。
図 1. 架空の映画レンタル Web サイトのための、ユーザーの嗜好を含んだ XML ファイルの例 (data.xml)
図 2. XML ファイルをデータベース・クエリーに変換する XSLT スタイルシートの例 (transformer.xsl)
Orangevolt EclipseXSLT プラグインの概要
Orangevolt XSLT プラグインは Java™ Swing ベースの ROXES XmlWrite の後継であり、Eclipse で XSLT を編集するための環境として ROXES XmlWrite を強化したものです。このプラグインは既存の Eclipse WTP (Web Tools Platform) の上に構築されており、XSL と XML のための新しいフィーチャーを導入しています (これについては、後ほど説明します)。これらのフィーチャーには、使いやすいエディター拡張機能や、XSLT 専用の起動構成、構文を色分けした XSLT 処理出力、XPath ナビゲーター・ビューなどがあります。さらに、このプラグインの最も興味深いフィーチャーの 1 つとして、XSLT プロセッサーを追加でき、構成できるフィーチャーがあります。このプラグインには Xalan や Saxon などの XLST プロセッサーが含まれています。また、このプラグインに関してもう 1 つ非常に興味が引かれる側面としては、このプラグインが WTP の次期メジャー・リリースに組み込まれることが検討されているということがあります。
要件
このプラグインを利用するためには、以下のものがインストールされている必要があります (「参考文献」を参照)。
- Eclipse IDE V3.3 またはそれ以降
- Java 2 Platform Standard Edition V1.5 またはそれ以降
- Eclipse Web Tools Platform (WTP) V2.0.1 またはそれ以降。オールインワン・パッケージをダウンロードするか、あるいは以下の必須となるソフトウェアをダウンロードします。
- Eclipse Modeling Framework SDK V2.3.1 またはそれ以降
- Java EMF Model SDK V1.2.4 またはそれ以降
- Graphical Editing Framework V3.3.1 またはそれ以降
バージョンを更新するためには、http://download.eclipse.org/releases/europa/site.xml にある Eclipse Europa の更新サイトを使います。この更新サイトのリンクの使い方がわからない場合には、以下のステップに従います。
インストール
手動でインストールするためには、まずこのプラグインをダウンロードします。ダウンロードしたら、フォルダーを Eclipse ディレクトリーの中に解凍します。更新サイトからプラグインをインストールするためには、以下の簡単なステップに従います。
- Eclipse 環境を起動し、任意のワークスペースを選択します。
図 3. Eclipse の起動画面
-
Help > Software Updates > Find and Install ... の順にナビゲートします。
図 4. Help > Software Updates > Find and Install
- 以下の画面が表示されます。
図 5. Find and Install のポップアップ画面
- ラジオ・ボタン Search for new features to install (インストールする新規フィーチャーを検索) を選択し、Next をクリックします。
図 6. 「Search for new features to install」を選択する
-
New Remote Site... ボタンをクリックします。
図 7. New Remote Site ボタン
- Name フィールドに Orangevolt EclipseXSLT と入力し、URL フィールドに http://eclipsexslt.sourceforge.net/update-site と入力します。
図 8. New Remote Site の詳細
-
OK をクリックします。
-
Orangevolt EclipseXSLT にチェック・マークを付け、Finish をクリックします。
図 9. Orangevolt EclipseXSLT を選択する
- Orangevolt EclipseXSLT にチェック・マークを付け、Next をクリックします。
図 10. Orangevolt EclipseXSLT を選択する
- 使用許諾条件に同意し、Next をクリックします。
図 11. 使用許諾条件
-
Finish をクリックします。
図 12. EclipseXSLT をインストールする
- インストールが開始されます。
図 13. EclipseXSLT をインストールする
- 下記の画面が表示されたら、Install All をクリックします。
図 14. EclipseXSLT をインストールする
- インストールが終了すると、下記の画面が表示されます。Eclipse の再起動を選択します。
図 15. Eclipse を再起動する
- インストールが適切に完了したかどうかを確認するには、Help > Software Updates > Manage Configuration の順にナビゲートします。
図 16. インストールを確認する
- リストの中に Orangevolt EclipseXSLT のエントリーがあることを確認します。
図 17. インストールを確認する

 |
Orangevolt EclipseXSLT プラグインの基本機能
これで Orangevolt EclipseXSLT プラグインをインストールできたので、その機能を詳しく調べてみましょう。
新しいプロジェクトを作成し、「ダウンロード」セクションにある data.xml を追加します。このファイルを開くと、このプラグインには Design と Source という 2 つのビューがあることに気付くはずです。
図 18. XML ファイルのビュー
Design ビューの中ですべての要素を展開します。すべての XML 要素のツリー構造のビューと、各要素の値が表示されるはずです。
図 19. XML の Design ビュー
Source ビューを選択します。この XML の構文に色が付いていることがわかります。
図 20. XML のSource ビュー
エディター拡張機能
この XML エディターは既存の Eclipse WTP エディターの上に構築されており、新しいフィーチャーが追加されています。これらの追加フィーチャーを見るためには、data.xml ファイルの Source ビューまでナビゲートします。任意の空白で右クリックすると、コンテキスト・メニューが表示されます。下記では新しいフィーチャーが赤で強調表示されています。
図 21. XML ソースのコンテキスト・ビュー
以下に示すのは、各フィーチャーの説明です。
-
Insert Date
- 必要な位置に現在の日付を挿入します。フォーマットは YYYY-MM-DD です。
-
Chars to HTML Entities
- 強調表示されたテキストを HTML エンティティーに変換します。例えば下記を変換すると、
図 22. Chars to HTML Entities
結果は下記のようになります。
図 23. Chars to HTML Entities
- HTML Entities to Chars
- これは「Chars to HTML Entities」の逆です。
- CDATA Section
- 選択された値を CDATA としてカプセル化します。例えば下記のような場合では、
図 24. CDATA Section
結果は下記のようになります。
図 25. CDATA Section
Insert Element
強調表示されたテキストが、追加される要素によってカプセル化されます。例えば、data.xml のすべてのテキストを選択して右クリックし、Insert Element を選択し、その画面で root と入力します。
図 26. Insert Element
すると下記が表示されるはずです。
図 27. Insert Element
- Show in Navigation
- ファイルの中の任意の領域を右クリックし、Show in Navigation を選択します。Package Explorer ビューの中に、参照されているファイルが強調表示されます。
XSLT 変換を起動する
XSLT 変換を呼び出すためには、Eclipse 起動構成を作成します。Eclipse 起動構成は構成を行うための単なる機構であり、名前、プロジェクト、ソース XML ファイル、スタイルシート、XSLT スタイルシート・パラメーター、XSLT 後処理プリファレンス、そして VM 引数を指定することができます。
このプラグイン専用に Eclipse 起動構成を作成するためには、Run > Run... または Run > Open Run Dialog... の順にナビゲートします。
図 28. XSLT 変換を起動する
あるいは下記のようにします。
図 29. XSLT 変換を起動するための別の方法
Orangevolt XSLT という構成タイプをダブル・クリックし、新しい起動構成を作成します。
図 30. XSLT 変換を起動する
図 31 は XSLT 変換の構成画面を示しています。
図 31. XSLT 変換を起動する
各フィールドに入力します。Name フィールドには TransformerLaunch と入力し、Project には Test、Source には data.xml、Stylesheet には transformer.xsl と入力し、最後に Apply をクリックします。
図 32. XSLT 変換を起動する
Run をクリックします。コンソール・ウィンドウに下記が表示されるはずです。
図 33. XSLT 変換を起動する
コンソール・ウィンドウの右端までスクロールすると、テキスト・ファイルが作成されていることがわかります。
図 34. XSLT 変換を起動する
プロジェクト・ビューを更新すると、新しいテキスト・ファイルが追加されていることがわかります。
図 35. XSLT 変換を起動する
このファイルを開くと、変換の結果が表示されます。
図 36. XSLT 変換を起動する
このデータベース・クエリーに Comedy という値が含まれていることに注目してください。この変換を実行するための別の方法として、Run アイコンをクリックして、TransformerLaunch を選択する方法もあります。
図 37. XSLT 変換を起動する、TransformerLaunch を選択する方法
次のセクションで説明するように、スタイルシート・パラメーターや後処理オプションなど、他のプロパティーも構成することができます。
XSLT スタイルシート・パラメーター
変換の際に必要なスタイルシート・パラメーターを追加することができます。
図 38. XSLT 変換を起動する
DocBook XSL HTML スタイルシートの中でユーザーが構成できるすべてのパラメーターについて解説したリファレンス・マニュアルが、「参考文献」セクションからリンクされています。
後処理
一般的な習慣として、変換が完了したら Apache Ant ビルド・ファイルを実行します。これは、例えば変換結果を PDF に変換したい場合などに便利です (コード・サンプルを下記に挙げます)。
図 39. XML-FO ファイル を PDF に変換する Apache Ant ビルド・ファイルの例
Apache Ant ビルド・ファイルを呼び出すためには、TransformerLaunch 構成ウィンドウを開きます。XSLT Post Processing をクリックします。ドロップダウン・ボックス から Ant ファイルを選択します。
図 40. XML-FO ファイル を PDF に変換する Apache Ant ビルド・ファイルの例
Orangevolt EclipseXSLT プラグインのコンソール・ウィンドウ
Orangevolt EclipseXSLT のコンソール・ウィンドウは、Eclipse に付属しているデフォルトのコンソール・ビューを拡張し、処理出力への色付け機能を追加しています。例えば、エラーや警告は赤で表示されます。
図 41. XLST 変換を起動する: エラーは赤で表示される
また、このプラグインの出力はハイパーリンク機能も持っており、エラーをクリックするだけで、そのエラーが発生した特定の行にジャンプすることができます。
XSLT プロセッサー
XSLT プロセッサーは単なるソフトウェア・コンポーネントにすぎず、ある XML 文書に対して XLST スタイルシートを呼び出し、出力を生成します (出力の形式は XML、HTML またはテキスト)。
入手可能な XSLT プロセッサーは豊富にあります。現在主なプロセッサーとしては、以下の 3 つがあります。
- MSXML (Microsoft® 製)
- Saxon (Michael Kay が作成したもの)
- Xalan (Apache Project が作成したもの)
Orangevolt EclipseXSLT では、どのプロセッサーを使うかを選択することができ、また独自のプロセッサーを追加することもできます。
新しい XSLT プロセッサーを選択する
Window > Preferences の順にナビゲートします。
図 42. Preferences ウィンドウ
このプラグインには、プリファレンスをカスタマイズできる領域があります。Orangevolt XSLT を展開します。
図 43. Preferences ウィンドウ
Transformer をクリックします。デフォルトで Saxon が選択されていることがわかります。
図 44. Preferences ウィンドウ: Saxon が選択されている
このオプションを変更するためには、XSLT Processor Configuration というドロップダウン・ボックスを使います。
図 45. Preferences ウィンドウ: プロセッサーを選択する
このプラグインには下記の 3 つの XSLT プロセッサーが付属しています。
- Default Transformer (これは Eclipse に付属しているものです)
- Saxon
- Xalan
新しい XSLT プロセッサーを追加する
このプラグインには、独自の XSLT プロセッサーを追加するための Eclipse 拡張ポイントが用意されています。SourceForge に、そのための簡単なチュートリアルがあります。
XPath Navigator を使う
XPath Navigator ビューは便利なフィーチャーです。このビューは特定のソース XML ファイルから XPath 式を作成する際に役立ちます。このプラグインは、XML ファイルの DOM 表現に対して XPath クエリーを実行します。
Window > Show View > Other... の順にナビゲートします。
図 46. Preferences ウィンドウ
Orangevolt を展開し、XPath Navigator が表示されたら OK をクリックします。
図 47. Preferences ウィンドウ
すると XPath Navigator ビューのタブが表示されているはずです。
図 48. Preferences ウィンドウ
XML Source Document ドロップダウン・ボックスから data.xml を選択します。XPath Expression テキスト・ボックスで //customer と入力します。Navigator の中の Run アイコンをクリックすると、結果が表示されます。
図 49. Preferences ウィンドウ
XPath Expression をさまざまに変更してみると、異なる結果が表示されます。
図 50. Preferences ウィンドウ
まとめ
ここまで説明してきた内容によって、(今まで知らなかった人にとっては) Eclipse がいくらでもカスタマイズできることが理解できると思います。注意して探すと、皆さんが取り組んでいる技術のための Eclipse プラグインがあるかもしれません。XSLT 技術の場合には、Orangevolt EclipseXSLT が、すべての開発者のツールボックスに追加する価値のある強力なツールであることが実証されています。さらに詳しく学ぶための資料として、必ず「参考文献」を見てください。
ダウンロード | 内容 | ファイル名 | サイズ | ダウンロード形式 |
|---|
| Sample XML files | os-eclipse-orangevolt.code-samples.zip | 754B | HTTP |
|---|
参考文献 学ぶために
製品や技術を入手するために
議論するために
著者について  | 
|  | Yasmary Hernandez は IBM Software Services for WebSphere の IT スペシャリストであり、Datapower を中心とした業務に従事しています。彼女は IBM の Extreme Blue インターンシップ・プログラムの卒業生です。 |
記事の評価
|