2010/02/22

XSLT を使用してフォームを XPages に変換する

今回は Paul Calhoun 氏による「Transforming Domino Forms into XPages via XSLT」の紹介です {Original Source}

作者自身は長く XML や XSLT に関わっていますが 既存のノーツフォームを XPages 化する際に気づいた点と自身が作成した XSLT を使ってフォーム設計を XPage に変換する方法を紹介しています。

基本的なコンセプトはフォーム設計も XML (正確には DXL) で表現できるので、もともと XML (JSP/JSF シンタックス) である XPage へは簡単に変換ができるのではないかということです。

この変換のために作者が作成した XSLT はこちらからダウンロードできます。

では作者が示した手順と同じように行って行きましょう。
まずは、ダウンロードした XSLT は <ノーツデータフォルダ>\xsl フォルダ内にコピーしてください。

そして簡単なフォーム設計を作成します。内容はどんなものでも構いませんが、今回私はいろんなフィールド種類のものを定義してみました。
では早速作者が提供している XSLT を使ってフォーム設計を XPages へ変換してみましょう。
先ほどのフォーム設計を選択した状態で Domino Designer のメニューより [ツール] - [DXLユーティリティ] - [トランスフォーマー] を選択します。

次のダイアログで変換するフォームを選択。そして XSL リソース を作者が提供する xsl ファイルを指定します。出力先は「表示」で OK ボタンを押します。
するとブラウザが立ち上がり、変換された設計が表示されます。ここからこのページのソースを表示します。
ソースはだいたい以下のような内容になっていると思います。
ソースコード全体をクリップボードにコピーします。

ここから新しい XPage を新規作成します。そしてソースタブに切り替えてください。

自動的に作成された箇所も含めて、先ほどクリップボードにコピーした内容に置き換えします。
設計タブに切り替えるとフォーム設計から変換された XPage を見ることができます。

変換された結果を見ると、データソース(フォーム設計)が設定されている事。作成された表はフォーム上のフィールドに大してラベルとフィールドと対応したコントロールが、フィールド名と同じ名前で自動作成されています。
省略値は編集可能フィールドに対して有効です。

選択肢として定義したキーワード(値と別名の両方)も有効です。

もちろん変換が完璧に出来上がったわけではなく、100% とは言わないまでも非常に近いレベルまで作成できることがお分かりいただけると思います。短縮できた時間をより開発の核心部分に集中させることができます。私の感覚では確かにスクラッチから XPage を作成する事を考えれば、30 分の 1 ぐらい効率化できそうです。作者の言葉を借りれば「Work smarter not harder」というところでしょうか。

0 件のコメント:

コメントを投稿