(57)【要約】【課題】データ処理システムにおいて、フォームを処理するための方法、装置、およびコンピュータ実装命令を提供すること。【解決手段】ユーザによって入力された第１のデータを含み、隠しフィールドにデータがどのように処理されるべきかを識別する第２のデータを含む、マークアップ言語フォームを受け取る。第２のデータを使用して、第１のデータを処理するための処理を識別して、識別された処理を形成する。識別された処理を使用して第１のデータを処理する。【選択図】図４
2004529421.tif 000002
【特許請求の範囲】
【請求項１】
フォームを処理するためにデータ処理システムで使用する方法、装置、およびコンピュータ・プログラム製品であって、
ユーザによって入力された第１のデータと、隠しフィールドに前記データをどう処理すべきかを識別する第２のデータとを含むマークアップ言語フォームを受け取るステップと、
前記第２のデータを使用して前記第１のデータを処理する処理を識別して、識別された処理を形成するステップと、
前記識別された処理を使用して前記第１のデータを処理するステップと
を実施する方法、装置、およびコンピュータ・プログラム製品。
【請求項２】
前記識別された処理が、選択された場所に前記データを転送する、請求項１に記載の方法、装置、およびコンピュータ・プログラム製品。
【請求項３】
前記選択された場所が、データベース、ファイル、ウェブ・サーバ、遠隔コンピュータ、およびプログラムのうちの少なくとも１つである、請求項２に記載の方法、装置、およびコンピュータ・プログラム製品。
【請求項４】
前記マークアップ言語フォームが第２の隠しフィールドに第３のデータを含み、前記第３のデータが前記第１のデータ中に存在すべき部分情報を識別する、請求項１に記載の方法、装置、およびコンピュータ・プログラム製品。
【請求項５】
前記マークアップ言語フォームが第２の隠しフィールドに第３のデータを含み、前記第３のデータが前記第１のデータの妥当性を検査するのに使用される、請求項１に記載の方法、装置、およびコンピュータ・プログラム製品。
【請求項６】
前記マークアップ言語文書が、ハイパーテキスト・マークアップ言語文書である、請求項１に記載の方法、装置、およびコンピュータ・プログラム製品。
【請求項７】
前記マークアップ言語文書が、拡張マークアップ言語文書である、請求項１に記載の方法、装置、およびコンピュータ・プログラム製品。
【請求項８】
前記第１のデータが、１組のテキスト・ストリングである、請求項１に記載の方法、装置、およびコンピュータ・プログラム製品。
【請求項９】
フォームを処理するためにデータ処理システムで使用する方法、装置、およびコンピュータ・プログラム製品であって、
１組のデータを含む１組のフィールドと、前記データをどう処理すべきかを識別する隠しフィールドとを含むフォームを受け取るステップと、
前記隠しフィールドを使用して前記１組のデータを処理するための処理を識別するステップと
を実施する方法、装置、およびコンピュータ・プログラム製品。
【請求項１０】
前記隠しフィールドを使用して識別された前記処理によって、前記１組のデータを処理することをさらに含む、請求項９に記載の方法、装置、およびコンピュータ・プログラム製品。
【請求項１１】
前記識別された処理が、前記データを選択された場所に転送する、請求項９に記載の方法、装置、およびコンピュータ・プログラム製品。
【請求項１２】
前記選択された場所が、データベース、ファイル、ウェブ・サーバ、遠隔コンピュータ、およびプログラムのうちの少なくとも１つである、請求項１１に記載の方法、装置、およびコンピュータ・プログラム製品。
【請求項１３】
前記フォームが、マークアップ言語文書である、請求項９に記載の方法、装置、およびコンピュータ・プログラム製品。
【請求項１４】
前記マークアップ言語文書が、ハイパーテキスト・マークアップ言語文書である、請求項１３に記載の方法、装置、およびコンピュータ・プログラム製品。
【請求項１５】
前記マークアップ言語文書が、拡張マークアップ言語文書である、請求項１３に記載の方法、装置、およびコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的には、改良型のデータ処理システムに関し、詳細には、ネットワーク・データ処理システムにおいて、クライアントとサーバの間でデータを転送する方法および装置に関する。より詳細には、本発明は、インターネット・フォームを処理するための方法および装置を提供する。
【背景技術】
【０００２】
インターネットは、「インターネットワーク（internetwork）」とも呼ばれ、データ転送と、送信側ネットワークから、（必要であればパケットと共に）受信側ネットワークで使用されるプロトコルへのメッセージの変換とを扱うゲートウェイを使って組み合わせた、おそらくは異種の、１組のコンピュータ・ネットワークである。大文字で使用される場合、「インターネット」という用語は、ＴＣＰ／ＩＰプロトコル群を使用する、ネットワークおよびゲートウェイの集合体を指す。
【０００３】
インターネットは、情報および娯楽の両方のソースとして、文化的な設備（fixture）となっている。多くの企業が、マーケティング活動の必須部分としてインターネット・サイトを作成し、消費者に企業が提供する製品またはサービスを知らせ、ブランド信仰を引き起こすための他の情報を提供している。合衆国、州、および地方の多くの政府機関、特に、国税庁や州務長官など事実上すべての社会階層と交流しなければならない機関も、インターネット・サイトを情報交換のために使用している。オンラインの公的記録の情報ガイドまたは探索可能なデータベースあるいはその両方を提供することによって、営業コストを削減することができる。さらに、インターネットは、商取引の手段としてますます普及している。
【０００４】
現在、最も一般的に使用されている、インターネットを介したデータ転送の方法は、ワールド・ワイド・ウェブ環境を使用し、単に「ウェブ」とも呼ばれる。ファイル転送プロトコル（ＦＴＰ）やGopherなどの情報を転送するための他のインターネット・リソースも存在するが、ウェブほど普及していない。ウェブ環境では、サーバおよびクライアントは、様々なデータ・ファイル（たとえば、テキスト、静止グラフィック画像、音声、動作映像など）の転送を扱うためのプロトコルとして知られているハイパーテキスト転送プロトコル（ＨＴＴＰ）を使ってデータのやり取りを行う。様々なデータ・ファイル中の情報は、ユーザに提示するために標準のページ記述言語、すなわちハイパーテキスト・マークアップ言語（ＨＴＭＬ）によってフォーマットされる。基本表示フォーマッティングに加えて、ＨＴＭＬでは、開発者がユニフォーム・リソース・ロケータ（ＵＲＬ）によって識別された他のウェブ・リソースへの「リンク」を指定することができる。ＵＲＬは、特定の情報への通信経路を定義する特殊なシンタックス識別子である。クライアントがアクセス可能な情報の各論理ブロックは、「ページ」または「ウェブ・ページ」と呼ばれ、ＵＲＬで識別される。ＵＲＬは、必ずしもユーザが必要とは限らない、こうした情報を見つけてアクセスするための普遍的で整合のとれた方法を、主としてユーザのウェブ「ブラウザ」に提供する。ブラウザは、たとえばＵＲＬなどの識別子で識別された情報に対する要求をサブミットすることができるプログラムである。ユーザは、コンテンツのソースにアクセスするためのブラウザ用のグラフィカル・ユーザ・インターフェース（ＧＵＩ）を介して、ドメイン名を入力することができる。ドメイン名は、ドメイン・ネーム・システム（ＤＮＳ）によって自動的にインターネット・プロトコル（ＩＰ）アドレスに変換される。ＤＮＳは、ユーザが入力したシンボル名を、ドメイン名をデータベース中で探索して、ＩＰアドレスに変換するサービスである。
【０００５】
インターネットはまた、ブラウザを使ってユーザにアプリケーションを転送するのに広く使用される。ウェブ上の商取引に関しては、個々の消費者および企業が、様々な商品およびサービスを購入するのにウェブを使用する。商品およびサービスの提供において、ウェブ上でのみ商品およびサービスを提供する会社もあれば、地域を拡大するためにウェブを使用する会社もある。
【０００６】
電子またはｅ−ビジネスの成長に伴って、より多くのウェブ・ページが、ユーザに情報を入力するよう要求するフォームを含むようになっている。こうしたフォームはそれぞれ、情報を取得して処理するのに何らかの処理を必要とする。この処理は、たとえば、サーブレットまたはpractical extraction report language（ｐｅｒｌ）スクリプトでもよい。サーブレットは、ウェブ・サーバまたはアプリケーション・サーバで実行されるＪａｖａ（Ｒ）アプリケーションであり、通常はデータベースにアクセスするための、またはｅ−コマース処理を実施するための、サーバ側の処理を提供する。ｐｅｒｌは、ユーザ・アカウントおよびニュースグループへの投稿の自動更新、削除要求の処理、データベースの同期、レポートの作成などのタスクを実施するウェブ・サーバ・プログラムを作成するための言語である。様々なフォームが、フォーム・データの入力名および最終的な場所を様々な使い方で使用するため、通常は、どのフォームも、データの分析および有用な場所へのデータ転送のための処理方法を必要とする。様々な方法または処理を有することにより、様々なタイプのフォームを処理するために大量のコードが必要である。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、フォームを処理するための改良された方法、装置、およびコンピュータ実装命令があれば有利であろう。
【課題を解決するための手段】
【０００８】
本発明は、データ処理システムにおいてフォームを処理するための方法、装置、およびコンピュータ実装命令を提供する。ユーザによって入力された第１のデータと、隠しフィールドにデータをどのように処理するべきかを識別する第２のデータとを含む、マークアップ言語フォームを受け取る。第２のデータを使用して、第１のデータを処理するための処理を識別して、識別された処理を形成する。識別された処理を使用して第１のデータを処理する。
【０００９】
本発明の特徴と考えられる新規な特徴を、添付の特許請求の範囲に記す。ただし、本発明自体、ならびに好ましい使用方法、さらにその目的および利点も、以下の例示的な実施形態の詳細な説明を参照し、添付の図面を併せ読むことによって、最もよく理解されるであろう。
【発明を実施するための最良の形態】
【００１０】
ここで図面を参照すると、図１は、本発明を実施することができる、データ処理システムのネットワークを示す図である。ネットワーク・データ処理システム１００は、本発明を実施することができるコンピュータのネットワークである。ネットワーク・データ処理システム１００はネットワーク１０２を含み、このネットワークはネットワーク・データ処理システム１００内部で互いに接続された様々な装置およびコンピュータ間の通信リンクを提供するために使用される媒体である。ネットワーク１０２は、ワイヤ、無線通信リンク、光ファイバ・ケーブルなどの接続を含むことができる。
【００１１】
図示した例では、サーバ１０４が、記憶装置ユニット１０６と共にネットワーク１０２に接続される。さらに、クライアント１０８、１１０、および１１２もネットワーク１０２に接続される。クライアント１０８、１１０、および１１２は、たとえばパーソナル・コンピュータまたはネットワーク・コンピュータでよい。図示した例では、サーバ１０４は、ブート・ファイル、オペレーティング・システムのイメージ、およびアプリケーションなどのデータをクライアント１０８〜１１２に提供する。クライアント１０８、１１０、および１１２は、サーバ１０４に対するクライアントである。ネットワーク・データ処理システム１００は、図示していない追加のサーバ、クライアント、および他の装置を含むことができる。図示した例では、ネットワーク・データ処理システム１００は、ネットワーク１０２を有するインターネットであり、ネットワーク１０２は、ＴＣＰ／ＩＰプロトコル群を使用して互いに通信するネットワークおよびゲートウェイの世界的な集合体を表す。インターネットの中心部には、データおよびメッセージを中継する、数千もの商用、行政用、教育用、および他のコンピュータ・システムから構成される主ノードすなわちホスト・コンピュータ間の高速データ通信線のバックボーンがある。もちろん、ネットワーク・データ処理システム１００は、たとえば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、またはワイド・エリア・ネットワーク（ＷＡＮ）などのいくつかの異なるタイプのネットワークとして実装してもよい。図１は、例として示したものであり、本発明のアーキテクチャ上の限定を意図したものではない。
【００１２】
図２を参照すると、本発明の好ましい実施形態による、図１のサーバ１０４などのサーバとして実装することができるデータ処理システムのブロック図を示してある。データ処理システム２００は、システム・バス２０６に接続された複数のプロセッサ２０２および２０４を含む、対称型マルチプロセッサ（ＳＭＰ）システムでもよい。あるいは、単一プロセッサ・システムを使用してもよい。メモリ・コントローラ／キャッシュ２０８もシステム・バス２０６に接続され、ローカル・メモリ２０９へのインターフェースを提供する。Ｉ／Ｏバス・ブリッジ２１０はシステム・バス２０６に接続され、Ｉ／Ｏバス２１２へのインターフェースを提供する。メモリ・コントローラ／キャッシュ２０８およびＩ／Ｏバス・ブリッジ２１０を、図に示すように統合することができる。
【００１３】
Ｉ／Ｏバス２１２に接続された周辺装置相互接続（ＰＣＩ）バス・ブリッジ２１４は、ＰＣＩローカル・バス２１６へのインターフェースを提供する。いくつかのモデムをＰＣＩバス２１６に接続することができる。通常のＰＣＩバスの実装は、４つのＰＣＩ拡張スロットまたはアドイン・コネクタをサポートする。図１のネットワーク・コンピュータ１０８〜１１２への通信リンクは、アドイン・ボードを介してＰＣＩローカル・バス２１６に接続されたモデム２１８およびネットワーク・アダプタ２２０を介して提供することができる。
【００１４】
追加のＰＣＩバス・ブリッジ２２２および２２４は追加のＰＣＩバス２２６および２２８のためのインターフェースを提供し、この追加のＰＣＩバスから、追加のモデムまたはネットワーク・アダプタをサポートすることができる。このようにして、データ処理システム２００は、複数のネットワーク・コンピュータへの接続を可能にする。メモリ・マップ式のグラフィックス・アダプタ２３０およびハード・ディスク２３２も、図に示すように、直接または間接的にＩ／Ｏバス２１２に接続することができる。
【００１５】
当業者であれば、図２に示したハードウェアが様々な形をとり得ることを理解するであろう。たとえば、図示したハードウェアに加えて、またはその代わりに、光ディスク・ドライブなど他の周辺装置を使用してもよい。図示した例は、本発明に関するアーキテクチャ上の限定を意味するものではない。
【００１６】
図２に示したデータ処理システムは、たとえば、Advanced InteractiveExecutive（ＡＩＸ）オペレーティング・システムを実行する、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ・コーポレーションの製品であるＩＢＭ  ＲＩＳＣ／Ｓｙｓｔｅｍ  ６０００システムでもよい。
【００１７】
ここで図３を参照すると、本発明を実装することができるデータ処理システムを示すブロック図を示してある。データ処理システム３００は、たとえば、クライアント・コンピュータの例である。データ処理システム３００は、周辺装置相互接続（ＰＣＩ）ローカル・バス・アーキテクチャを使用する。図示した例ではＰＣＩバスを採用しているが、アクセラレイテッド・グラフィックス・ポート（ＡＧＰ）や業界標準アーキテクチャ（ＩＳＡ）などの他のバス・アーキテクチャを使用することもできる。プロセッサ３０２およびメイン・メモリ３０４は、ＰＣＩブリッジ３０８を介してＰＣＩローカル・バス３０６に接続される。ＰＣＩブリッジ３０８はまた、プロセッサ３０２用の統合メモリ・コントローラおよびキャッシュ・メモリを含むこともできる。ＰＣＩローカル・バス３０６への追加接続は、直接的な構成要素の相互接続を介して、またはアドイン・ボードを介して行われる。図示した例では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ３１０、ＳＣＳＩホスト・バス・アダプタ３１２、および拡張バス・インターフェース３１４が、直接的な構成要素接続によってＰＣＩローカル・バス３０６に接続される。対照的に、オーディオ・アダプタ３１６、グラフィックス・アダプタ３１８、およびオーディオ／ビデオ・アダプタ３１９は、拡張スロットに挿入されたアドイン・ボードによってＰＣＩローカル・バス３０６に接続される。拡張バス・インターフェース３１４は、キーボードおよびマウス・アダプタ３２０、モデム３２２、および追加メモリ３２４用の接続を提供する。小型コンピュータ・システム・インターフェース（ＳＣＳＩ）ホスト・バス・アダプタ３１２は、ハード・ディスク・ドライブ３２６、テープ・ドライブ３２８、およびＣＤ−ＲＯＭドライブ３３０用の接続を提供する。通常のＰＣＩローカル・バスの実装は、３つまたは４つのＰＣＩ拡張スロットまたはアドイン・コネクタをサポートする。
【００１８】
オペレーティング・システムがプロセッサ３０２上で実行され、図３のデータ処理システム３００内部の様々な構成要素の制御を調整しかつ提供するために使用される。オペレーティング・システムは、Microsoft Corporationから入手できるＷｉｎｄｏｗｓ（Ｒ）２０００などの市販のオペレーティング・システムでもよい。Ｊａｖａ（Ｒ）などのオブジェクト指向プログラミング・システムがオペレーティング・システムと共に実行することができ、データ処理システム３００上で実行中のＪａｖａ（Ｒ）プログラムまたはアプリケーションからオペレーティング・システムへの呼出しを提供することができる。「Ｊａｖａ（Ｒ）」は、SunMicrosystems, Inc.の商標である。オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムの命令はハード・ディスク・ドライブ３２６などの記憶装置上に配置され、プロセッサ３０２によって実行されるためにメイン・メモリ３０４にロードされることができる。
【００１９】
当業者であれば、図３のハードウェアが実装形態によって変わり得ることを理解するであろう。フラッシュＲＯＭ（または同等の不揮発性メモリ）や光ディスク・ドライブなどの他の内部ハードウェアまたは周辺装置を、図３に示したハードウェアに加えて、またはその代わりに使用することもできる。また、本発明の処理は、マルチプロセッサ・データ処理システムにも適用することができる。
【００２０】
別の例として、データ処理システム３００は、データ処理システム３００が何らかのタイプのネットワーク通信インターフェースを備えているかどうかにかかわらず、何らかのタイプのネットワーク通信インターフェースを利用せずにブート可能なように構成された、独立型システムでもよい。さらに別の例として、データ処理システム３００は、オペレーティング・システム・ファイルまたはユーザ生成データあるいはその両方を格納する不揮発性メモリを提供するためのＲＯＭまたはフラッシュＲＯＭあるいはその両方を備えた構成の、携帯情報端末（ＰＤＡ）装置でもよい。
【００２１】
図３に示した例および上で説明した例は、アーキテクチャ上の制限を意味するものではない。たとえば、データ処理システム３００は、ＰＤＡの形をとるだけでなく、ノート型コンピュータでも、ハンドヘルド・コンピュータでもよい。データ処理システム３００は、キオスクでも、ウェブ機器でもよい。
【００２２】
本発明は、ウェブ・サイト用に生成されたフォームなどの電子フォームを扱うための、改良された方法、装置、およびコンピュータ実装命令を提供する。本発明の機構は、汎用フォーム・ハンドラを提供し、このハンドラは、入力データの内容を見て潜在的な誤りの有無を調べ、このデータを使用または記憶する最終的な場所に転送する。こうしたデータ転送は、たとえば、ｅ−メール・メッセージの生成、記憶装置または他の潜在的な宛先へのデータの配置などの様々な形式をとり得る。本発明の機構を使用すると、フォームを処理するために追加コードが必要でない。本質的に、本発明の機構は、フォーム用の処理命令を文書自体の内部に組み込む。具体的には、情報をどう検査し、処理し、転送し、記憶するかなど、情報をどう処理すべきかを記述する情報がフォーム中に含まれる。図示した例では、命令は、<INPUT type="hidden">などの隠し入力を使用して、ＨＴＭＬ文書内部に組み込まれる。
【００２３】
次に図４に移ると、本発明の好ましい実施形態による、フォームの処理に使用されるデータの流れを示す図である。この例で、ＨＴＭＬフォーム４００は、ウェブ・サーバ４０４からクライアント・ブラウザ４０２に送られる。ユーザはクライアント・ブラウザ４０２でＨＴＭＬフォーム４００を完成させ、このフォームを汎用フォーム処理サーブレット４０６にサブミットする。図示した例では、サーブレットは、フォームと同じウェブ・サーバに配置される。もちろん、汎用フォーム処理サーブレット４０６は、別のウェブ・サーバに置くことも、全く別のコンピュータに置くこともできる。汎用フォーム処理サーブレット４０６は、フォームの検証、妥当性検査、および処理のためにＨＴＭＬフォーム４００内部の隠しフィールドを使用する。すべての動作がうまく完了すると、確認ページ４０８がクライアント・ブラウザ４０２のユーザに戻される。うまくいかない場合は、ＨＴＭＬフォーム４００内部の隠しフィールドに従って、エラー処理を開始することができる。
【００２４】
次に図５に移ると、本発明の好ましい実施形態による、ウェブ・ブラウザに表示されるＨＴＭＬフォームを示してある。ＨＴＭＬフォーム５００は、ウェブ・ブラウザ５０２で表示されるような図４のＨＴＭＬフォーム４００などのＨＴＭＬ文書の例である。図を見ればわかるように、名前５０４、姓５０６、ミドル・ネーム５０８、住所５１０、都市５１２、州５１４、郵便番号５１６、ｅ−メール５１８のフィールドが、ユーザが情報を入力するためのフィールドである。ユーザは、情報を入力すると、サブミット・ボタン５２０を選択して、フォームを図４の汎用フォーム処理サーブレット４０６などのサーブレットに返信することができる。リセット・ボタン５２２を選択することによって、ＨＴＭＬフォーム５００内のフィールドがすべてクリアされる。フォームはまた、ウェブ・ブラウザ５０２のユーザに表示されることがない、隠しフィールドを含む。これらのフィールドは、図４の汎用フォーム処理サーブレット４０６がフォームを受け取ったときに、フォームを処理するために使用される。
【００２５】
次に図６に移ると、本発明の好ましい実施形態による、ＨＴＭＬフォームをソース形式で示したコードを示してある。この例におけるコード６００は、図５のＨＴＭＬフォーム５００などのＨＴＭＬフォーム用のＨＴＭＬコードである。図を見ればわかるように、セクション６０２は、ウェブ・ブラウザでユーザに表示される情報を含む。セクション６０４は、フォームへのユーザ入力をどう扱うべきかに関する情報を含む。たとえば、セクション６０６は、フォーム内の必須フィールドを識別する。図示した例では、必須フィールドは、名前、姓、住所、都市、州、郵便番号である。次に、セクション６０８は、ｅ−メール・アドレス、州、郵便番号など、妥当性を検査すべき値を示す。
【００２６】
これらの入力はそれぞれ、図４の汎用フォーム処理サーブレット４０６がデータを処理するのに使用するキーワードを含む。次に図７に移ると、本発明の好ましい実施形態による、キーワードを示すテーブルを示してある。この例におけるテーブル７００は、本発明の機構によって認識されたキーワードを識別する、キーワード列７０２を含む。これらのキーワードは、列７０４に示す動作を識別するための、テーブル７００への索引として使用される。列７０６は、キーワードによって識別された動作を実施する処理に渡す必要のある追加のパラメータまたは情報を識別する。
【００２７】
たとえば、項目７０８のキーワード「requiredFields」は、必須の入力フィールドに入力が行われたことを確認する動作を実施するために使用される。項目７１０で、キーワード「onIncomplete」は、必須フィールドのすべてが入力を含むわけではない場合に行われる動作を識別する。これらの動作は、キーワードに関連するパラメータとして指定される。項目７１２のキーワード「errorCheck」は、このキーワードと共に含まれるパラメータの誤りを検査する動作を指定するために使用される。この例では、特定の動作をパラメータとして指定する。項目７１４で、キーワード「onError」は、エラー検査が行われる場合に生じる動作を識別する。項目７１６のキーワード「process」は、データを使って行われるべき動作を識別する。この場合も、特定の処理が、このキーワードへのパラメータとして指定される。図示の例ではテーブル形式で情報を示したが、この情報は関係データベースなどのテーブル以外の他のデータ構造で配置されることもできる。
【００２８】
次に図８に移ると、本発明の好ましい実施形態による、ＨＴＭＬフォームの処理に使用される処理のフロー図を示してある。図８に示す処理は、図４の汎用フォーム処理サーブレット４０６などのウェブ・サーバ上のサーブレットで実装することができる。
【００２９】
処理は、クライアントからフォームを含む要求を受け取ることにより開始する（ステップ８００）。図示した例では、フォームはＨＴＭＬフォームである。フォームを処理するための適正な隠しフィールドが存在するかどうかの判断が行われる（ステップ８０２）。適正な隠しフィールドは、隠しフィールドにキーワードが存在するかどうかを判断することによって、識別されることができる。キーワードは、これらのフィールド内の情報と１組の既知のまたは認定されたキーワードとを比較することによって、識別されることができる。
【００３０】
フォームを処理するための適正な隠しフィールドが存在する場合、すべての必須フィールドが正しく完成されたかどうかに関する判断が行われる（ステップ８０４）。すべての必須フィールドが正しく完成されている場合、完成されたフィールドが基準を満たすかどうかに関する判断が行われる（ステップ８０６）。この基準は、たとえば、郵便番号フィールドが有効な郵便番号を含むかどうか、注文フォームにおける量が有効な数を含むかどうかなどを調べる検査を含む。
【００３１】
完成されたフィールドが基準を満たす場合、データを扱うための処理が隠しフィールドを使って識別される（ステップ８０８）。この処理は、たとえば、ｅ−メール・メッセージの送信、データの格納、別の処理または方法のトリガとなることなどがある。次いで、識別された処理が、データを処理するために呼び出される（ステップ８１０）。
【００３２】
その後、処理が誤りなく完了したかどうかに関する判断が行われる（ステップ８１２）。処理が誤りなく完了した場合、確認がクライアントに戻され（ステップ８１４）、その後で処理が終了する。
【００３３】
再度ステップ８０２を参照すると、フォームを処理するための適正な隠しフィールドが存在しない場合、処理は終了する。ステップ８０４に戻り、すべての必須フィールドが正しく完成されているわけではない場合、フォームを戻すべきかどうかに関する判断が行われる（ステップ８１６）。フォームを戻すべきでない場合、処理はステップ８０６に戻る。フォームを戻すべきである場合、フォームはエラー・メッセージと共にクライアントに戻され（ステップ８１８）、その後で処理が終了する。エラー・メッセージは、ユーザに情報をフォームに再入力するように要求することができる。このエラー・メッセージは、どのフィールドに誤って入力されたかに関する指示を含むこともできる。
【００３４】
再度ステップ８０６を参照すると、完成されたフィールドが基準を満たさない場合、エラー処理が実施され（ステップ８２０）、その後で処理が終了する。エラー処理には、エラーまたはフィールドを正しく完成させるのに必要なことあるいはその両方をユーザに知らせるために、図７の項目７１４に示す「onError」隠しフィールドで指定するようにフォームをエラー・メッセージと共に戻すことが含まれるが、それだけに限定されない。別の可能な動作は、フォーム処理の継続やサーバ管理者にデータ中の誤りを知らせることを含む。
【００３５】
再度ステップ８１２を参照すると、エラーが起きて処理が完了した場合、エラー・ページが生成される（ステップ８２２）。次いで、エラー・ページがクライアントに戻され（ステップ８２４）、その後で処理が終了する。フォームの処理中にエラーが起きた場合、処理方法はユーザが入力したフィールドの内容および他のフォーム情報をファイルにダンプすることができる。あるいは、エラーを示すｅ−メールをシステム管理者に送ることもできる。次いで、ユーザに、エラー画面または確認画面を示すことができる。エラーを訂正してユーザ入力をうまく処理するためには、サーバ側での人の介入が必要になることがある。
【００３６】
したがって、本発明は、ＨＴＭＬフォームなどの電子フォームを扱うための改良された方法、装置、およびコンピュータ実装命令を提供する。特に、本発明の機構は、あらゆるタイプのフォームを扱うための汎用または共通の処理を可能にする。フォームを扱う特定の方法は、フォーム中にキーワード情報を配置することによって指定される。こうした例で、キーワードは、隠し入力フィールドに配置される。このようにして、本発明の機構は、データ処理システム上でフォーム・ハンドラ処理を実装するために必要なコードの量を削減させる。
【００３７】
本発明を、完全に機能するデータ処理システムの状況で説明したことに留意されたい。本発明の処理は、コンピュータ可読な命令媒体など様々な形で配布でき、本発明が配布の実行に実際に使用される信号担持媒体のタイプにかかわらず、等しく適用されることは、当業者には理解されよう。コンピュータ可読媒体の例として、フロッピー（Ｒ）・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの記録可能型の媒体や、ディジタルおよびアナログ通信リンク、無線周波数伝送や光波伝送といった伝送形体を使用した有線または無線通信リンクなど伝送型の媒体がある。コンピュータ可読媒体は、あるデータ処理システムで実際に使用する場合に復号化される、符号化されたフォーマットの形をとることができる。
【００３８】
本発明の説明は例示および説明の目的で提示したが、網羅的なものではなく、開示した形の発明に限定されることを意図したものではない。多くの変更形態および変形形態が当業者には明らかであろう。図示した実施形態ではＨＴＭＬ文書を使用するが、本発明の機構は他のタイプの文書にも適用されることができる。たとえば、この機構は拡張マークアップ言語（ＸＭＬ）文書など、他のマークアップ言語文書に適用されることができる。本実施形態は本発明の原理および実際的な適用例を最もよく説明するために、また、他の当業者が本発明を企図される特定の使用に適した様々な変更を伴う様々な実施形態について理解できるように選択し説明した。
【図面の簡単な説明】
【００３９】
【図１】本発明を実施することができる、データ処理システムのネットワークを示す図である。
【図２】本発明の好ましい実施形態による、サーバとして実装することができるデータ処理システムを示すブロック図である。
【図３】本発明を実施することができる、データ処理システムを示すブロック図である。
【図４】本発明の好ましい実施形態による、フォームの処理に使用されるデータの流れを示す図である。
【図５】本発明の好ましい実施形態による、ウェブ・ブラウザで表示されるＨＴＭＬフォームを示す図である。
【図６】本発明の好ましい実施形態による、ソース形式のＨＴＭＬフォームを示すコードである。
【図７】本発明の好ましい実施形態による、キーワードを示すテーブルである。
【図８】本発明の好ましい実施形態による、ＨＴＭＬフォームを処理するのに使用される処理を示すフロー図である。
【図１】
2004529421.tif 000003
【図２】
2004529421.tif 000004
【図３】
2004529421.tif 000005
【図４】
2004529421.tif 000006
【図５】
2004529421.tif 000007
【図６】
2004529421.tif 000008
【図７】
2004529421.tif 000009
【図８】
2004529421.tif 000010
【国際公開パンフレット】
2004529421.tif 000011
2004529421.tif 000012
2004529421.tif 000013
2004529421.tif 000014
2004529421.tif 000015
2004529421.tif 000016
2004529421.tif 000017
2004529421.tif 000018
2004529421.tif 000019
2004529421.tif 000020
2004529421.tif 000021
2004529421.tif 000022
2004529421.tif 000023
2004529421.tif 000024
2004529421.tif 000025
2004529421.tif 000026
2004529421.tif 000027
2004529421.tif 000028
2004529421.tif 000029
2004529421.tif 000030
2004529421.tif 000031
2004529421.tif 000032
2004529421.tif 000033
2004529421.tif 000034
2004529421.tif 000035
2004529421.tif 000036
【国際公開パンフレット（コレクトバージョン）】
2004529421.tif 000037
【国際調査報告】
2004529421.tif 000038
2004529421.tif 000039
2004529421.tif 000040