SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

OpenOfficeでのXForms入門

OpenOfficeのXMLフォームの使い方・デザイン方法

ダウンロード サンプルソース (8.7 KB)

OpenOfficeでのXFormsの作成

 OpenOfficeで実装されているXFormsは、エンドユーザーが自分でデザインできる単純なフォームをターゲットにしています。以降では、OpenOfficeのデザインモードを使用してフォームを作成する方法を簡単な例で紹介しながら、XFormsの構文と、ユーザーが遭遇する一般的な問題について説明します。

 最初のステップはXFormsドキュメントを作成することです。それには、OpenOffice Writerの新しいインスタンスを開き、メニューから[File]-[New]-[Xml Form Document]を選択します(図1)。

図1 新しいXFormsドキュメントの作成
図1 新しいXFormsドキュメントの作成

 新たに作成されるXFormは通常のOpenOfficeドキュメントですが、標準では画面の左上隅に図2のようなフォームコントロール群がフロート状態で表示され、画面の右側に図3のようなパネルが表示されます。

図2 OpenOfficeフォームコントロール。このパネル上のコントロールをフォームに配置できる
図2 OpenOfficeフォームコントロール。このパネル上のコントロールをフォームに配置できる
図3 XFormsモデルパネル。このパネルにはインスタンスデータが表示される
図3 XFormsモデルパネル。このパネルにはインスタンスデータが表示される

 図2のようなフォームコントロールが表示されない場合は、メニューから[View]-[Toolbars]-[Form Controls]を選択すると、フォームコントロールを有効にすることができます。

 XFormを作成すると、ドキュメントはまずデザインモードになります。図2に示したフォームコントロールパネルの右上隅のアイコンをクリックすれば、デザインモードのオン/オフを切り替えることができます。

 この時点でXFormの内部にはXMLデータが入っています。このXFormsインスタンスのドキュメント要素は、デフォルトのinstanceData要素です(図3を参照)。

 モデルパネルでinstanceDataを右クリックし、[add element]を選択します。これにより、図4のようなフォームがポップアップします。

図4 [Add Element]ダイアログでは、フォームのインスタンスデータに要素を追加できる
図4 [Add Element]ダイアログでは、フォームのインスタンスデータに要素を追加できる

 要素AddressPostalを追加します。この要素に関連付けられている名前空間がないことに注意してください。対応する名前空間が存在しない名前空間プレフィックスの付いた名前を使用すると、不適切なインスタンスを作成してしまう危険が高くなります。例えば、nameフィールドに「xkom:AddressPostal」と入力しても、ダイアログでxkomプレフィックスのバインド先の名前空間を定義するように促されることはありません。

 XFormsモデルパネル(図3)には、[Instance 1]、[Submissions]、[Bindings]という3つのタブがあります。それぞれのタブのすぐ下にいくつかのアイコンがありますが、そのうちの中ほどにあるのが編集アイコンです。[Instance 1]タブでは、[Edit Element]アイコンを選択することで、選択した要素を編集できます。紛らわしいのですが、インスタンスに名前空間を追加するには、最初のタブで[Edit Element]アイコンを選択しないでください。代わりに[Submissions]タブまたは[Bindings]タブでバインディング式を編集することで名前空間を追加します。

 これを行うには、[Bindings]タブを選択して、中ほどにあるバインディング編集アイコンをクリックし、ポップアップするフォームで[Binding Expression]の右にある[...]ボタンをクリックします。それにより、また別のフォームがポップアップするので、そこで[Edit Namespaces]を選択します。これでようやく、名前空間を追加するための[Namespaces for Forms]ダイアログボックスが表示されます(図5)。このフォームのリストビューに名前空間を追加し、それらをプレフィックスに関連付けることができます。

図5 インスタンスに名前空間を追加するには、一連の操作を経て[Namespaces for Forms]ダイアログを表示する
図5 インスタンスに名前空間を追加するには、一連の操作を経て[Namespaces for Forms]ダイアログを表示する

 ご覧のように、名前空間を追加するためのUIは不便で直観的ではありません。本稿の例では、名前空間を追加する必要もありませんし、この部分のUIを使用する必要もありませんが、この機能に到達する方法は覚えておいた方が良いでしょう。

次のページ
コントロールの追加

この記事は参考になりましたか?

japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Bryan Rasmussen(Bryan Rasmussen)

デンマーク政府のデータ標準化プロジェクト「OIOXML」に参加し、コアXMLとWebテクノロジの概要ならびにUBLのデンマークサブセットを担当。現在はFESD Softwareのデンマーク政府公認ディストリビュータの1つであるSoftware Innovationに勤務。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/2802 2008/08/04 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー