第 37章XFormsの処理
XForms は、従来のWebフォームから 派生したもので、広範なプラットフォームやブラウザそしてPDFドキュメントのような 従来のメディア以外のものにすら使用することができます。
xformsのまず第一の違いは、クライアントへフォームを送信する方法です。 HTML作成者のためのXForms には、XFormsの作成方法の詳細な解説がありますが、この手引きの趣旨に沿って、 ここでは簡単な例のみ示すことにします。
上のフォームは、(
q
という名前の),テキスト入力ボックス と投稿ボタンを表示します。投稿ボタンがクリックされた時、このフォームは
action
が参照するページに送信されます。
ここからが、Webアプリケーションの視点から異なって見え始めるところです。 通常のHTMLフォームでは、データは、 application/x-www-form-urlencoded で送信されますが、XFormsでは、この情報はXML形式のデータで送信されます。
XFormsで処理することを選択した場合には、おそらくデータをXML形式で取得したい はずで、この場合、
$HTTP_RAW_POST_DATA
により、 ブラウザが生成したXML ドキュメントにアクセスすることができます。このデータは、使用するXSLTエンジン やドキュメントパーサに渡すことができます。
データ形式には関心がなく、データを従来の データ形式には関心がなく、データを従来の
$_POST
変数に ロードしたいだけの場合、
method
属性を
urlencoded-post
に変更することにより、 クライアントブラウザに
application/x-www-form-urlencoded
としてデータを送信するよう指示することができます。
|
例 37-2. XFormにより
|
注意: 本稿執筆時点で、多くのブラウザはXFormsをサポートしていません。 上の例が失敗する場合、ブラウザのバージョンを確認してください。