IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  Open source  >

Orangevolt Eclipse XSLT プラグイン入門

ホットな 2 つの技術、Eclipse と XSLT とを組み合わせる

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません

サンプルコード

原文はこちら

原文はこちら


レベル: 中級

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 ディレクトリーの中に解凍します。更新サイトからプラグインをインストールするためには、以下の簡単なステップに従います。

  1. Eclipse 環境を起動し、任意のワークスペースを選択します。

    図 3. Eclipse の起動画面



  2. Help > Software Updates > Find and Install ... の順にナビゲートします。

    図 4. Help > Software Updates > Find and Install



  3. 以下の画面が表示されます。

    図 5. Find and Install のポップアップ画面



  4. ラジオ・ボタン Search for new features to install (インストールする新規フィーチャーを検索) を選択し、Next をクリックします。

    図 6. 「Search for new features to install」を選択する



  5. New Remote Site... ボタンをクリックします。

    図 7. New Remote Site ボタン



  6. Name フィールドに Orangevolt EclipseXSLT と入力し、URL フィールドに http://eclipsexslt.sourceforge.net/update-site と入力します。

    図 8. New Remote Site の詳細



  7. OK をクリックします。
  8. Orangevolt EclipseXSLT にチェック・マークを付け、Finish をクリックします。

    図 9. Orangevolt EclipseXSLT を選択する



  9. Orangevolt EclipseXSLT にチェック・マークを付け、Next をクリックします。

    図 10. Orangevolt EclipseXSLT を選択する



  10. 使用許諾条件に同意し、Next をクリックします。

    図 11. 使用許諾条件



  11. Finish をクリックします。

    図 12. EclipseXSLT をインストールする



  12. インストールが開始されます。

    図 13. EclipseXSLT をインストールする



  13. 下記の画面が表示されたら、Install All をクリックします。

    図 14. EclipseXSLT をインストールする



  14. インストールが終了すると、下記の画面が表示されます。Eclipse の再起動を選択します。

    図 15. Eclipse を再起動する



  15. インストールが適切に完了したかどうかを確認するには、Help > Software Updates > Manage Configuration の順にナビゲートします。

    図 16. インストールを確認する



  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 ウィンドウ




上に戻る


まとめ

この記事を共有する

digg Digg へ投稿
del.icio.us del.icio.us へ投稿
Slashdot Slashdot へ投稿

ここまで説明してきた内容によって、(今まで知らなかった人にとっては) Eclipse がいくらでもカスタマイズできることが理解できると思います。注意して探すと、皆さんが取り組んでいる技術のための Eclipse プラグインがあるかもしれません。XSLT 技術の場合には、Orangevolt EclipseXSLT が、すべての開発者のツールボックスに追加する価値のある強力なツールであることが実証されています。さらに詳しく学ぶための資料として、必ず「参考文献」を見てください。





上に戻る


ダウンロード

内容ファイル名サイズダウンロード形式
Sample XML filesos-eclipse-orangevolt.code-samples.zip754BHTTP
ダウンロード形式について


参考文献

学ぶために
  • XSLTはどのような言語か」は、XSLT を理解し、学ぶためのガイドです。

  • Why I teach Eclipse」は Eclipse 技術を解説しています。

  • XSLT 言語の構文仕様に関する W3C の勧告 XSL Transformations (XSLT) Version 1.0 と、XPath 式の構文仕様に関する W3C の勧告 XML Path Language (XPath) Version 1.0 を調べてください。

  • DocBook XSL HTML stylesheets の中でユーザーが構成できるすべてのパラメーターを解説した資料を見てください。

  • SaxonXalan、そして Apache Ant について学んでください。

  • Eclipse の推奨読み物リスト」を調べてみてください。

  • developerWorks には他にも Eclipse に関する資料が豊富に用意されています。

  • Eclipse が初めての人は、developerWorks の記事「Eclipse Platform 入門」を読んでください。Eclipse の起源やアーキテクチャー、またプラグインを使って Eclipse を拡張する方法などを学ぶことができます。

  • IBM developerWorks の Eclipse project resources を利用して Eclipse のスキルを磨いてください。

  • developerWorks podcasts では、ソフトウェア開発者のための興味深いインタビューや議論を聞くことができます。

  • Eclipse プラットフォームへの入門として、「Eclipse Platform 入門」を読んでください。

  • developerWorks の Technical events and webcasts で最新情報を入手してください。

  • IBM とオープン・ソース技術、そして製品機能を調べ、学ぶために、無料の developerWorks On demand demos をご覧ください。

  • IBM オープン・ソース開発者にとって関心のある、世界中で今後開催される会議や業界展示会、ウェブキャスト、その他のイベントについて調べてみてください。

  • developerWorks の Open source ゾーンをご覧ください。オープン・ソース技術を使った開発や、IBM 製品でオープン・ソース技術を使用するためのハウ・ツー情報やツール、プロジェクトの更新情報など、豊富な情報が用意されています。


製品や技術を入手するために

議論するために
  • Orangevolt EclipseXSLT forum を調べてみてください。

  • Eclipse に関する質問を議論するための最初の場所として、Eclipse Platform newsgroups があります (このリンクをクリックすると、デフォルトの Usenet ニュース・リーダー・アプリケーションが起動し、eclipse.platform が開きます)。

  • Eclipse newsgroupsには、Eclipse を利用し、拡張することに関心を持つ人達のために、さまざまなリソースが用意されています。

  • developerWorks blogs から developerWorks のコミュニティーに加わってください。


著者について

Yasmary Hernandez

Yasmary Hernandez は IBM Software Services for WebSphere の IT スペシャリストであり、Datapower を中心とした業務に従事しています。彼女は IBM の Extreme Blue インターンシップ・プログラムの卒業生です。




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



はいいいえわからない
 


 


12345
不充分・不完全である大変素晴らしい
 


上に戻る


    日本IBMについて プライバシー お問い合わせ