特集
2004/03/17 16:55 更新
特集:第1回 プログラミングレスを実現するexteNd Composer (4/5)
サーブレットのレイアウトを実施するXSLTの作成
ここまでで郵便番号検索サーブレットは完成していますが、このままアプリケーションサーバへデプロイしても、ブラウザに表示される結果は、単なるXMLデータでしかありません。今回のサンプルでは、ブラウザに表示して人の目で確認しますので、XSLTを使ってきれいなレイアウトで表示されるようにします。
XSLTファイルを作成するには、Composer Designerのカテゴリペインに表示されている「XSL」カテゴリを右クリックすると表示されるポップアップメニューから「New」を選択します。画面上にXSLリソース作成ウィザードが表示されます(画面19)。
ウィザードで最初の画面の「Create using Composer Editor」チェックボックスをオンにすると、名前を入力するためのテキストボックスが表示されます。ここでは「MyZipCodesStyle」と入力して、「Finish」ボタンをクリックします。するとComposer Designerの作業ペインに「MyZipCodesStyle」XSLファイルが表示されます。郵便番号検索Webサービスから取得した郵便番号と、距離がテーブル形式で表示できるように、XSLファイルを編集します。
作業ペインの右クリックで表示されるポップアップメニューから「View」→「As Text」を選択すると、XSLファイルがテキスト形式で見られます。ここには、<body>タグの中をリスト1と同じになるように書き換えます。
リスト1■ZipCodesStyle記述<body> <h2>GetNearbyZipCodesResult</h2> <table border="1" cellspacing="0"> <tr> <th>ZIP_CODE</th> <th>RADIUS_MILES</th> </tr> <xsl:apply-templates select="//Locations"/> </table> </body> |
続いて、上記bodyタグの中で呼び出しているテンプレート(リスト2)を最初のテンプレートの終了タグ</xsl:templeate>と、スタールシートの終了タグ</xsl:stylesheet>の間に挿入します。
リスト2■bodyタグで呼び出すテンプレート<xsl:template match="Locations"> <tr> <td> <xsl:value-of select="ZIP_CODE"/> </td> <td> <xsl:value-of select="RADIUS_MILES"/> </td> </tr> </xsl:template> |
「File」メニュー→「Save」でXSLファイルを保存します。これでXSLファイルの作成が完了です。郵便番号検索Webサービスの検索結果XMLをWebブラウザに表示する時に、この「MyZipCodesStyle」XSLファイルを適用することで、WebブラウザにはXMLファイルではなく、郵便番号検索結果がテーブル形式で表示されるXHTMLファイルとして出力されます。
[磯田義雄,ITmedia]
Copyright © ITmedia, Inc. All Rights Reserved.