1
0
mirror of https://github.com/php/doc-ja.git synced 2026-03-27 08:32:09 +01:00
Files
archived-doc-ja/features/xforms.xml
2010-03-29 00:47:47 +00:00

120 lines
4.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: hirokawa Status: ready -->
<chapter xml:id="features.xforms" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>XFormsの処理</title>
<para>
<link xlink:href="&url.xforms;">XForms</link> は、従来のWebフォームから
派生したもので、広範なプラットフォームやブラウザそしてPDFドキュメントのような
従来のメディア以外のものにすら使用することができます。
</para>
<para>
xformsのまず第一の違いは、クライアントへフォームを送信する方法です。
<link xlink:href="&url.xforms.htmlauthors;"><literal>HTML作成者のためのXForms</literal></link>
には、XFormsの作成方法の詳細な解説がありますが、この手引きの趣旨に沿って、
ここでは簡単な例のみ示すことにします。
</para>
<example>
<title>簡単なXForms検索フォーム</title>
<programlisting role="html">
<![CDATA[
<h:html xmlns:h="http://www.w3.org/1999/xhtml"
xmlns="http://www.w3.org/2002/xforms">
<h:head>
<h:title>Search</h:title>
<model>
<submission action="http://example.com/search"
method="post" id="s"/>
</model>
</h:head>
<h:body>
<h:p>
<input ref="q"><label>Find</label></input>
<submit submission="s"><label>Go</label></submit>
</h:p>
</h:body>
</h:html>
]]>
</programlisting>
</example>
<para>
上のフォームは、(<parameter>q</parameter>という名前の),テキスト入力ボックス
と投稿ボタンを表示します。投稿ボタンがクリックされた時、このフォームは
<literal>action</literal>が参照するページに送信されます。
</para>
<para>
ここからが、Webアプリケーションの視点から異なって見え始めるところです。
通常のHTMLフォームでは、データは、
<literal>application/x-www-form-urlencoded</literal>
で送信されますが、XFormsでは、この情報は <acronym>XML</acronym> 形式のデータで送信されます。
</para>
<para>
XFormsで処理することを選択した場合には、おそらくデータを <acronym>XML</acronym>
形式で取得したいはずで、この場合、<varname>$HTTP_RAW_POST_DATA</varname> により、
ブラウザが生成した <acronym>XML</acronym>
ドキュメントにアクセスすることができます。このデータは、使用する <acronym>XSLT</acronym>
エンジンやドキュメントパーサに渡すことができます。
</para>
<para>
データ形式には関心がなく、データを従来の
データ形式には関心がなく、データを従来の <varname>$_POST</varname>変数に
ロードしたいだけの場合、
<parameter>method</parameter> 属性を
<emphasis>urlencoded-post</emphasis> に変更することにより、
クライアントブラウザに
<literal>application/x-www-form-urlencoded</literal>
としてデータを送信するよう指示することができます。
</para>
<example>
<title>XFormにより<varname>$_POST</varname>を送信する</title>
<programlisting role="html">
<![CDATA[
<h:html xmlns:h="http://www.w3.org/1999/xhtml"
xmlns="http://www.w3.org/2002/xforms">
<h:head>
<h:title>Search</h:title>
<model>
<submission action="http://example.com/search"
method="urlencoded-post" id="s"/>
</model>
</h:head>
<h:body>
<h:p>
<input ref="q"><label>Find</label></input>
<submit submission="s"><label>Go</label></submit>
</h:p>
</h:body>
</h:html>
]]>
</programlisting>
</example>
<note>
<simpara>
本稿執筆時点で、多くのブラウザはXFormsをサポートしていません。
上の例が失敗する場合、ブラウザのバージョンを確認してください。
</simpara>
</note>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->