mirror of
https://github.com/php/doc-ja.git
synced 2026-03-27 08:32:09 +01:00
git-svn-id: https://svn.php.net/repository/phpdoc/ja/trunk@297032 c90b9560-bf6c-de11-be94-00142212c4b1
120 lines
4.4 KiB
XML
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
|
|
-->
|