(57)【要約】      （修正有）【課題】ＨＴＭＬファイルの文中にＣＧＩプログラムを記述することなく、動的コンテンツを表示できるようにするCGI生成装置を提供する。【解決手段】CGI生成装置(CGGEN)は、CGI変換識別子、CGI変換識別子に対応する埋め込みテキストおよびこれの処理手順が規定された埋め込みルールが関連付けられたCGI変換識別子テーブル15を格納する記憶部、HTMLファイルを読み取るファイル読取部１１、CGI変換識別子テーブルを参照して、HTMLファイルをタグ解析し、class属性を検出するHTMLタグ解析部12およびCGI変換識別子テーブルを参照して、検出したclass属性に埋め込まれたCGI変換識別子に対応する埋め込みルールを取得し、埋め込みルールの処理手順に応じてHTMLファイルに埋め込みテキストを埋め込んだCGIプログラムを生成するCGIプログラム生成部13を有する。【選択図】図１
2017204128.tif 000002
【特許請求の範囲】
【請求項１】
ＣＧＩ生成装置であって、
ＣＧＩ変換識別子と、該ＣＧＩ変換識別子に対応する、埋め込みテキストおよび埋め込みテキストの処理手順が規定された埋め込みルールとが関連付けられＣＧＩ変換識別子テーブルを記憶部に格納する記憶部と、
ｃｌａｓｓ属性にＣＧＩ変換識別子が埋め込まれたＨＴＭＬファイルを読み取るファイル読取部と、
前記ＣＧＩ変換識別子テーブルを参照して、前記読み取ったＨＴＭＬファイルをタグ解析し、ＣＧＩ変換識別子が埋め込まれたｃｌａｓｓ属性を検出するＨＴＭＬタグ解析部と、
前記ＣＧＩ変換識別子テーブルを参照して、検出したｃｌａｓｓ属性に埋め込まれたＣＧＩ変換識別子に対応する埋め込みルールを取得し、取得した埋め込みルールの処理手順に応じて前記ＨＴＭＬファイルに、前記埋め込みテキストを埋め込んだＣＧＩプログラムを生成するＣＧＩプログラム生成部と、
を有するＣＧＩ生成装置。
【請求項２】
ＣＧＩ生成装置とＨＴＭＬ生成装置とを含むウェブコンテンツ生成システムであって、
前記ＣＧＩ生成装置が、
ＣＧＩ変換識別子と、該ＣＧＩ変換識別子に対応する、埋め込みテキストおよび埋め込みテキストの処理手順が規定された埋め込みルールとが関連付けられＣＧＩ変換識別子テーブルを記憶部に格納する記憶部と、
ｃｌａｓｓ属性にＣＧＩ変換識別子が埋め込まれたＨＴＭＬファイルを読み取るファイル読取部と、
前記ＣＧＩ変換識別子テーブルを参照して、前記読み取ったＨＴＭＬファイルをタグ解析し、ＣＧＩ変換識別子が埋め込まれたｃｌａｓｓ属性を検出するＨＴＭＬタグ解析部と、
前記ＣＧＩ変換識別子テーブルを参照して、検出したｃｌａｓｓ属性に埋め込まれたＣＧＩ変換識別子に対応する埋め込みルールを取得し、取得した埋め込みルールの処理手順に応じて前記ＨＴＭＬファイルに、前記埋め込みテキストを埋め込んだＣＧＩプログラムを生成するＣＧＩプログラム生成部と、
を有し、
前記ＨＴＭＬ生成装置が、
動的コンテンツデータを読み取るデータ読取部と、
ネットワークを介したクライアント端末から、前記ＣＧＩプログラムを含むページに対するページ要求に応じてウェブページを提供する際に、動的コンテンツデータから選択的に抽出された動的コンテンツデータと、前記ＣＧＩプログラムを用い、動的コンテンツが埋め込まれたＨＴＭＬ文章を生成するＨＴＭＬ生成部と、
生成したＨＴＭＬ文章を前記クライアント端末に送出するＨＴＭＬ送出部と、
を有する、
ウェブコンテンツ生成システム。
【請求項３】
ＣＧＩプログラムを生成し、ＨＴＭＬ文章を送出する方法を、コンピュータに実行させるプログラムであって、
ＣＧＩ変換識別子と、該ＣＧＩ変換識別子に対応する、埋め込みテキストおよび埋め込みテキストの処理手順が規定された埋め込みルールとが関連付けられＣＧＩ変換識別子テーブルを記憶部に格納させる格納ステップと、
ｃｌａｓｓ属性にＣＧＩ変換識別子が埋め込まれたＨＴＭＬファイルを読み取る読み取りステップと、
前記読み取ったＨＴＭＬファイルをタグ解析し、ＣＧＩ変換識別子が埋め込まれたｃｌａｓｓ属性を検出し、前記ＣＧＩ変換識別子テーブルを参照して、検出したｃｌａｓｓ属性に埋め込まれたＣＧＩ変換識別子に対応する埋め込みルールを取得し、取得した埋め込みルールに応じて前記ＨＴＭＬファイルに前記埋め込みテキストを埋め込んだＣＧＩプログラムを生成する生成ステップと、
動的コンテンツデータを読み取るデータ読取ステップと、
ネットワークを介したクライアント端末から、前記ＣＧＩプログラムを含むページに対するページ要求に応じてウェブページを提供する際に、動的コンテンツデータから選択的に抽出された動的コンテンツデータと、前記ＣＧＩプログラムを用い、動的コンテンツが埋め込まれたＨＴＭＬ文章を生成するＨＴＭＬ生成ステップと、
生成したＨＴＭＬ文章を前記クライアント端末に送出するＨＴＭＬ送出ステップと、
を有するプログラム。
【請求項４】
請求項３または４に記載のプログラムを格納したコンピュータ可読な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＧＩ生成装置、ウェブコンテンツ生成システム、プログラムおよび記録媒体に関するものである。
【背景技術】
【０００２】
サーバがインターネットを介してウェブサイトのデータを提供する場合、最も多く使用されるのがテキスト情報や画像情報である。しかし、単なるテキスト情報や画像では、一覧性に欠けるため、閲覧者に見易く情報を提供するものとしてテーブル形式のデータが多く利用される。例えば、通販サイトにおける、商品名、写真、仕様、および、値段などの項目を表示するようなものが典型例である。
【０００３】
初期のＨＴＭＬから、テーブル形式のデータを記述するタグはサポートされており、現在でも、多数のウェブサイトでも実際に使用されている。これは、ＨＴＭＬのソースコードのテーブルの要素や属性を規定するタグを使う技法である。そして、タグによって、データ（即ち、テーブルの項目／要素）を直接記述する形式であり、静的コンテンツ情報と呼ばれることが多い。
【０００４】
図２３は、従来技術のウェブサーバの典型的な処理ステップを示すフローチャートである。図２３の上に示した従来技術は、静的コンテンツ情報を処理するフローである。フローチャートＡに示すように、クライアントからページ要求を受けたウェブサーバは、ステップＸ１１にて、ページ要求を受け付ける。そして、ステップＸ１２にて、ウェブサーバは、要求された箇所を要求元のクライアントにそのまま返す。
【０００５】
上記のような静的コンテンツ情報は、ＨＴＭＬのソースコードのタグ（項目）にデータを直接記述する形式であるため、データの管理（変更、修正、追加など）が面倒であり、項目の抽出や、ある項目を昇順や降順（発売日や値段でのソート）での並び替えなどができないなどといったデメリットがある。それを解決するのがＣＧＩ等のデータベースを使用する動的コンテンツ情報の利用である。以下に示す従来技術でそれを説明する。
【０００６】
図２３の下に示した従来技術は、動的コンテンツ情報を処理するフローである。フローチャートＢに示すように、クライアントからページ要求を受けたウェブサーバは、ステップＸ２１にて、ページ要求を受け付ける。そして、ステップＸ２２にて、要求された箇所に記述されたプログラム（ＣＧＩなど）に制御を渡し、所定のデータベースからデータを取得する。次に、ステップＸ２３にて、取得したデータベースのデータを埋め込んだＨＴＭＬを生成する。サーバは、ステップＸ２４にて、生成したＨＴＭＬを含むものを要求元のクライアントに返す。
【０００７】
上述したのが従来技術の動的コンテンツ情報であり、データベースからデータを取得し、値を表示させるウェブページである。以下、ＨＴＭＬ文章中に埋め込まれたＣＧＩ等のプログラムからデータベースにアクセスし、そこから取得したデータを、動的コンテンツ情報と称するものとする。
【０００８】
ウェブサイトは、上述したような静的コンテンツと動的コンテンツとが混在したものが多く、このようなウェブサイトにおける応答性を向上させる技法が幾つか提案されている。例えば、「情報提供システム及び情報提供プログラム」（特許文献１を参照されたい。）が提案されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−１３３４５号公報
【００１０】
上述した従来技術（特許文献１）は、ウェブページの表示処理の高速化による応答時間の削減を目的とした技法であり、以下のようなものである。ウェブサーバは、キャッシュデータ格納領域内のコンテンツデータの取得，変換並びに格納処理を行うキャッシュデータ処理部と、コンテンツＤＢ内のコンテンツデータの検索処理を行うコンテンツ検索処理部と、提供するウェブページに第一動的コンテンツ表示領域並びに第二動的コンテンツ表示領域が存在するか否かを判断すると共に、その判断結果に基づいて、前記キャッシュデータ処理部並びに前記コンテンツ検索処理部により該当データを取得してウェブページの生成処理を行うウェブページ生成処理部とを有する。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述した従来技術は、サーバからクライアントへの応答性を向上するには役に立つが、現在では、ネットワークの帯域および通信速度は飛躍的に増大している。よって、ウェブサーバからの応答性は、ウェブにおける喫緊の課題とは言えなくなりつつある。応答性よりも問題になっているのは、ウェブサイトの普及によるサイト構築とメンテナンスを行う技術者不足である。従来、ウェブサイトの構築には、ＳＥやプログラマーが主体となっていたが、現在では、ウェブデザイナーと呼ばれるプロフェッショナルが主体となり、ＳＥやプログラマーは、ウェブサイトのインフラ部分やサイトの基本設計部分にのみかかわることが多くなりつつある。ウェブデザイナーは、簡単なＨＴＭＬの知識はあるが、プログラムの詳細な知識はないのが一般的である。
【００１２】
このとき困るのが、ウェブサイトの保守・管理の問題である。ウェブサイトの情報は、常に最新のものに更新したり、レイアウトを変更したりすることが要請される。しかし、ウェブデザイナーは、プログラムの詳細な知識がないため、テーブル形式のデータの更新、変更、追加であっても、技術的に対応できないことが多い。特に、動的コンテンツなどでは、通常のスキルレベルのウェブデザイナーでは対応が困難になる。
【００１３】
従来、動的コンテンツ情報を利用するためには、ＨＴＭＬなどのウェブサイト記述言語において、ＣＧＩ等のサーバプログラムで、データベースから取得された値をＨＴＭＬ文章の中に挿入、またデータベースから取得した値が一覧形式の場合は、ＨＴＭＬタグを複製し一覧形式で表示されるようＨＴＭＬ文章を編集しプログラムの埋め込み処理を実装しているのが現状である。
【００１４】
このような従来形式の動的コンテンツ情報のウェブページを作成する場合、プログラムの知識が必要となり、ＨＴＭＬ、ＣＳＳなどのＷｅｂデザインの技術だけでは構築出来ない、またＣＧＩ等のサーバプログラムで、ＨＴＭＬ文章にプログラムの埋め込み作業を行うと、ＨＴＭＬのレイアウト修正作業がしにくい、などのデメリットがあった。
【００１５】
さらに、ＨＴＭＬとは異なる言語ルールでＨＴＭＬを拡張したＭＴＭＬという拡張言語を使用するmovable typeと称する従来技術がある。これは、ＨＴＭＬとは異なる言語ルールであるため、プログラムの知識が必要となり、ＨＴＭＬ、ＣＳＳなどのＷｅｂデザインの技術だけでは構築出来ないことに変わりはない。
【００１６】
そこで、本発明の目的は、デザイナーが作成したＨＴＭＬファイルに対し、プログラマーが動的コンテンツをＨＴＭＬの特定箇所に表示するために、ＨＴＭＬファイルの文中にＣＧＩプログラムを記述することなく、ウェブコンテンツを容易に提供できるようにすることを目的とする。さらには、画面レイアウトのメンテナンスによるＨＴＭＬファイルの変更、または動的コンテンツの内容の変更の作業負担を軽減し,容易にできるようにすることを目的とする。
【課題を解決するための手段】
【００１７】
上述した諸課題を解決すべく、第１の発明によるＣＧＩ生成装置は、
ＣＧＩ変換識別子と、該ＣＧＩ変換識別子に対応する、埋め込みテキストおよび埋め込みテキストの処理手順が規定された埋め込みルール（ＣＧＩ埋め込みプログラム（操作対象テキストである埋め込みテキストと、当該テキストがHTMLファイルのどのタグに挿入、置換などの操作がされるかの処理手順が規定されたルール））とが関連付けられＣＧＩ変換識別子テーブルを記憶部に格納する記憶部と、
ｃｌａｓｓ属性にＣＧＩ変換識別子が埋め込まれたＨＴＭＬファイルを読み取るファイル読取部と、
前記ＣＧＩ変換識別子テーブルを参照して、前記読み取ったＨＴＭＬファイルをタグ解析し、ＣＧＩ変換識別子が埋め込まれたｃｌａｓｓ属性を検出するＨＴＭＬタグ解析部と、
前記ＣＧＩ変換識別子テーブルを参照して、検出したｃｌａｓｓ属性に埋め込まれたＣＧＩ変換識別子に対応する埋め込みルールを取得し、取得した埋め込みルールの処理手順に応じて前記ＨＴＭＬファイルに、前記埋め込みテキストを埋め込んだＣＧＩプログラムを生成するＣＧＩプログラム生成部と、
を有する。
【００１８】
第２の発明によるウェブコンテンツ生成システム（装置）は、
ＣＧＩ生成装置とＨＴＭＬ生成装置とを含むウェブコンテンツ生成システムであって、
前記ＣＧＩ生成装置が、
ＣＧＩ変換識別子と、該ＣＧＩ変換識別子に対応する、埋め込みテキストおよび埋め込みテキストの処理手順が規定された埋め込みルール（ＣＧＩ埋め込みプログラム（操作対象テキストである埋め込みテキストと、当該テキストがHTMLファイルのどのタグに挿入、置換などの操作がされるかの処理手順が規定されたルール））とが関連付けられＣＧＩ変換識別子テーブルを記憶部に格納する記憶部と、
ｃｌａｓｓ属性にＣＧＩ変換識別子が埋め込まれたＨＴＭＬファイルを読み取るファイル読取部と、
前記ＣＧＩ変換識別子テーブルを参照して、前記読み取ったＨＴＭＬファイルをタグ解析し、ＣＧＩ変換識別子が埋め込まれたｃｌａｓｓ属性を検出するＨＴＭＬタグ解析部と、
前記ＣＧＩ変換識別子テーブルを参照して、検出したｃｌａｓｓ属性に埋め込まれたＣＧＩ変換識別子に対応する埋め込みルールを取得し、取得した埋め込みルールの処理手順に応じて前記ＨＴＭＬファイルに、前記埋め込みテキストを埋め込んだＣＧＩプログラムを生成するＣＧＩプログラム生成部と、
を有し、
前記ＨＴＭＬ生成装置が、
動的コンテンツデータを読み取るデータ読取部と、
ネットワークを介したクライアント端末から、前記ＣＧＩプログラムを含むページに対するページ要求に応じてウェブページを提供する際に、動的コンテンツデータから選択的に抽出された動的コンテンツデータと、前記ＣＧＩプログラムを用い、動的コンテンツが埋め込まれたＨＴＭＬ文章を生成するＨＴＭＬ生成部と、
生成したＨＴＭＬ文章を前記クライアント端末に送出するＨＴＭＬ送出部と、
を有する、
ウェブコンテンツ生成システムである。
【００１９】
上述したように本発明の解決手段を装置として説明してきたが、本発明はこれらに実質的に相当する方法、プログラム、プログラムを記録した記憶媒体としても実現し得るものであり、本発明の範囲にはこれらも包含されるものと理解されたい。なお、下記の方法やプログラムの各ステップは、データの処理においては必要に応じて、CPU、DSPなどの演算処理装置を使用するものであり、入力したデータや加工・生成したデータなどを磁気媒体、HDD、メモリなどの記憶装置に格納するものである。
【００２０】
例えば、本発明をプログラムとして実現させた第２の発明によるプログラムは、
演算処理装置を第１の発明に記載のＣＧＩ生成装置として機能させるプログラムである。
【００２１】
また、第３の発明によるプログラムは、
ＣＧＩプログラムを生成する方法を、コンピュータに実行させるプログラムであって、
ＣＧＩ変換識別子と、該ＣＧＩ変換識別子に対応する、埋め込みテキストおよび埋め込みテキストの処理手順が規定された埋め込みルール（ＣＧＩ埋め込みプログラム（操作対象テキストである埋め込みテキストと、当該テキストがHTMLファイルのどのタグに挿入、置換などの操作がされるかの処理手順が規定されたルール））とが関連付けられＣＧＩ変換識別子テーブルを記憶部に格納させる格納ステップと、
ｃｌａｓｓ属性にＣＧＩ変換識別子が埋め込まれたＨＴＭＬファイルを読み取る読み取りステップと、
前記読み取ったＨＴＭＬファイルをタグ解析し、ＣＧＩ変換識別子が埋め込まれたｃｌａｓｓ属性を検出し、前記ＣＧＩ変換識別子テーブルを参照して、検出したｃｌａｓｓ属性に埋め込まれたＣＧＩ変換識別子に対応する埋め込みルールを取得し、取得した埋め込みルールに応じて前記ＨＴＭＬファイルに前記埋め込みテキストを埋め込んだＣＧＩプログラムを生成する生成ステップと、
を有する。
【００２２】
また、第４の発明によるプログラムは、
ＣＧＩプログラムを生成し、ＨＴＭＬ文章を送出する方法を、コンピュータに実行させるプログラムであって、
ＣＧＩ変換識別子と、該ＣＧＩ変換識別子に対応する、埋め込みテキストおよび埋め込みテキストの処理手順が規定された埋め込みルール（ＣＧＩ埋め込みプログラム（操作対象テキストである埋め込みテキストと、当該テキストがHTMLファイルのどのタグに挿入、置換などの操作がされるかの処理手順が規定されたルール））とが関連付けられＣＧＩ変換識別子テーブルを記憶部に格納させる格納ステップと、
ｃｌａｓｓ属性にＣＧＩ変換識別子が埋め込まれたＨＴＭＬファイルを読み取る読み取りステップと、
前記読み取ったＨＴＭＬファイルをタグ解析し、ＣＧＩ変換識別子が埋め込まれたｃｌａｓｓ属性を検出し、前記ＣＧＩ変換識別子テーブルを参照して、検出したｃｌａｓｓ属性に埋め込まれたＣＧＩ変換識別子に対応する埋め込みルールを取得し、取得した埋め込みルールに応じて前記ＨＴＭＬファイルに前記埋め込みテキストを埋め込んだＣＧＩプログラムを生成する生成ステップと、
動的コンテンツデータを読み取るデータ読取ステップと、
ネットワークを介したクライアント端末から、前記ＣＧＩプログラムを含むページに対するページ要求に応じてウェブページを提供する際に、動的コンテンツデータから選択的に抽出された動的コンテンツデータと、前記ＣＧＩプログラムを用い、動的コンテンツが埋め込まれたＨＴＭＬ文章を生成するＨＴＭＬ生成ステップと、
生成したＨＴＭＬ文章を前記クライアント端末に送出するＨＴＭＬ送出ステップと、
を有する。
【００２３】
また、第５の発明によるコンピュータ可読な記憶媒体は、
第３または第４の発明に記載のプログラムを格納したコンピュータ可読な記憶媒体である。
【発明の効果】
【００２４】
本発明によれば、従来よりもメンテナンスし易く記述されたＨＴＭＬファイルを用いて、動的コンテンツを提供することが可能となる。
【図面の簡単な説明】
【００２５】
【図１】図１は、本発明の一実施態様によるウェブページ生成システムの全体構成を概略的に示す図である。
【図２】図２は、図１に示したＣＧＩ生成装置で実行される処理の一例を示すフローチャートである。
【図３】図３は、ＣＧＩ変換識別子テーブル１５の一例を示す図である。
【図４】図４は、ＨＴＭＬファイル１６の一例を示す図である。
【図５】図５は、動的コンテンツデータ１７の一例を示す図である。
【図６】図６は、図３に示すＣＧＩ変換識別子テーブル１５と、図４に示すＨＴＭＬファイル１６を用い、ＣＧＩプログラム出力部１４より出力されるＣＧＩプログラムファイル１８の一例を示す図である。
【図７】図７は、クライアント端末からの要求時に出力されるＨＴＭＬの例を示す図である。
【図８】図８は、本サーバで処理可能なテーブルデータの一例を示す図である。
【図９】図９は、同様の内容をＸＭＬ形式のテーブルデータＸＭＬとして記述したものである。
【図１０】図１０は、図１に示した装置で実行される処理（事前登録処理）の一例を示すフローチャートである。
【図１１】図１１は、図１０の処理であるステップＳ４１で取得される(読み取られる)ＨＴＭＬの一例を示す図である。
【図１２】図１２は、図１０の処理であるステップＳ４３で参照されるルール定義の一例を示す図である。
【図１３】図１３は、図１０の処理により生成されたファイルの一例を示す図である。
【図１４】図１４は、図１に示した装置で実行される処理（表示データの登録処理）の一例を示すフローチャートである。
【図１５】図１５は、図１に示した装置で実行される処理（事前登録処理２、アクセスＵＲＬ、ＨＴＭＬ，表示データのマッピング処理）の一例を示すフローチャートである。
【図１６】図１６は、図１に示した装置で実行される処理（ウェブアクセス時の閲覧処理）の一例を示すフローチャートである。図に示すように、各ステップで処理を行う。
【図１７】図１７は、図１６の処理により生成されたファイルの一例を示す図である。
【図１８】図１８は、図１に示した装置で実行される処理（ウェブアクセス時の閲覧処理その２）の一例を示すフローチャートである。図に示すように、各ステップで処理を行う。
【図１９】図１９は、図１８の処理で送信されるＰＯＳＴデータの一例を示す図である。
【図２０】図２０は、図１８の処理で送信されるＨＴＭＬデータ（出力ＨＴＭＬ）の一例を示す図である。
【図２１】図２１は、本実施態様においてウェブアクセスしたときのＨＴＭＬの変換処理の関係を示す模式図である。
【図２２】図２２は、図２１の処理により変換されたＨＴＭＬデータを示す図である。
【図２３】図２３は、従来技術のウェブサーバの典型的な処理ステップを示すフローチャートである。
【発明を実施するための形態】
【００２６】
以降、諸図面を参照しながら、本発明の実施態様を詳細に説明する。
【００２７】
図１は、本発明の一実施態様によるウェブページ生成システムの全体構成を概略的に示す図である。図に示すように、ウェブページ生成システム１０は、ＣＧＩ生成装置ＣＧＧＥＮと、ＨＴＭＬ生成装置ＨＴＧＥＮとから構成される。なお、この２つの装置は１つの装置として構成させてもよい。
【００２８】
図１に示すように、本実施形態のＣＧＩ生成装置ＣＧＧＥＮは、ファイル読取部１１と、ＨＴＭＬタグ解析部１２と、ＣＧＩプログラム生成部１３と、ＣＧＩプログラム出力部とを備えている。もちろん、ＣＧＩ生成装置ＣＧＧＥＮは、図示しない、読み取った情報や処理・生成した情報を格納する記憶部、演算処理するプロセッサ、通信を行う通信部なども有する。
【００２９】
ファイル読取部１１は、デザイナーが作成したＨＴＭＬファイル１６と、動的コンテンツデータ１７と、ＣＧＩ変換識別子テーブル１５を読み取り、取得する取得手段を構成する。また、ＨＴＭＬファイル１６と、動的コンテンツデータ１７と、ＣＧＩ変換識別子テーブル１５とは、装置内の記憶部に格納してもよいし、外部の記憶装置やサーバなどから取得してもよい。ＨＴＭＬタグ解析部１２と、ＣＧＩプログラム生成部１３、ＣＧＩプログラム出力部１４によって、ＣＧＩプログラムの生成手段が構成される。
【００３０】
ＨＴＭＬ生成装置ＨＴＧＥＮ（ウェブサーバ内に設けることが好適である）は、ページ要求受付部２０、ＨＴＭＬ生成部２１、ＨＴＭＬ送出部２２、データ読取部２３から構成される。ページ要求受付部２０は、ネットワークを介して接続されるクライアント端末ＰＣからのウェブページの要求を受け付ける。ＨＴＭＬ生成部２１は、動的コンテンツデータから選択的に抽出された動的コンテンツデータと、ＣＧＩ生成部より生成されたＣＧＩプログラムを用い、動的コンテンツが埋め込まれたＨＴＭＬ文章を生成する。ＨＴＭＬ送出部２２は、クライアント端末にＨＴＭＬ文章を返却する。
【００３１】
上述したように、ＣＧＩ生成装置ＣＧＧＥＮと、ＨＴＭＬ生成装置ＨＴＧＥＮとでウェブコンテンツ生成システムを構成する。ウェブコンテンツ生成システムは、  ＨＴＭＬファイルのｃｌａｓｓ属性に埋め込むＣＧＩ変換識別子と、これに対応するＣＧＩ埋め込みプログラムとを関連付けて記憶したＣＧＩ変換識別子テーブルが記憶されており、ＨＴＭＬファイル内で内容を変えて表示させる動的コンテンツデータと、ＣＧＩ変換識別子をｃｌａｓｓ属性に記述したＨＴＭＬファイルを別個で用意し、ＨＴＭＬファイルをタグ解析し、ｃｌａｓｓ属性にＣＧＩ変換識別子が記述されたｃｌａｓｓ属性を検出し、ＣＧＩ変換識別子に対応するＣＧＩ埋め込みプログラムをＣＧＩ変換識別子テーブルから取得し、検出したｃｌａｓｓ属性を有するＨＴＭＬタグに対し、ＣＧＩ埋め込みプログラムに従って、ＣＧＩプログラムを埋め込むことでＣＧＩプログラムを生成し、ネットワーク上に接続されたクライアント端末からの要求に応じてウェブサーバがウェブページを提供する際に、動的コンテンツデータから選択的に抽出された動的コンテンツデータと、ＣＧＩ生成部より生成されたＣＧＩプログラムを用い、動的コンテンツが埋め込まれたＨＴＭＬ文章を生成し、クライアント端末にＨＴＭＬ文章を返却することを特徴とする。
【００３２】
＜ＣＧＩ変換識別子について＞
ＣＧＩ変換識別子が、ハイフン「−」区切りの複数要素で構成されるものであって、前記ＣＧＩ変換識別子が記載されたｃｌａｓｓ属性を有するＨＴＭＬタグで囲まれたテキスト部、または、ＨＴＭＬタグの任意の属性値に、動的コンテンツデータの１つの項目を挿入する指定、または
前記ＣＧＩ変換識別子が記載されたｃｌａｓｓ属性を有するＨＴＭＬタグを、複数行で構成された動的コンテンツデータ件数で複製する指定である。
【００３３】
３つの要素で構成されるＣＧＩ変換識別子は、
第１要素は他のｃｌａｓｓ属性と区別するためのプレフィックス情報であって、
第２要素は、該変換識別子が記述されたｃｌａｓｓ属性を有するタグを動的コンテンツデータの件数分複製させるための情報であって、
第３要素は、動的コンテンツデータを特定する表形式の表名称、またはデータベースのテーブル名を示す情報で構成される。
【００３４】
４つの要素で構成されるＣＧＩ変換識別子は、
第１要素は他のｃｌａｓｓ属性と区別するためのプレフィックス情報であって、
第２要素は、該変換識別子が記述されたｃｌａｓｓ属性を有するタグの所定の位置に動的コンテンツデータを挿入する情報であって、
第３要素は、動的コンテンツデータを特定する表形式の表名称、またはデータベースのテーブル名を示す情報であって、
第４要素は、第３識別子で指定された動的コンテンツデータの項目名を示す情報で構成される。
【００３５】
＜ＣＧＩ変換識別子テーブル＞
ＣＧＩ変換識別子テーブルは、前記ＣＧＩ変換識別子の第１要素、第２要素で記憶され、これに対するＣＧＩ埋め込みプログラムを関連付けて記憶される。記憶されるＣＧＩ埋め込みプログラムは、言語依存はなく、ＰＨＰ、ＪＳＰなど異なる言語でのＣＧＩプログラムを定義できることを特徴とする。
【００３６】
＜動的コンテンツデータについて＞
動的コンテンツデータは、１以上の表名称と、表形式のデータとを格納することができ、データベースに格納されたデータの場合は、テーブル名を表名称、テーブル内のデータは表形式のデータとして扱え、または、Ｅｘｃｅｌ形式、ＣＳＶ形式、ＪＳＯＮ形式、ＸＭＬ形式などファイルは、表名称と、表形式のデータとして扱えることを特徴とする。
【００３７】
ファイル読取部１１は、ＣＧＩ変換識別子テーブル１５、ＨＴＭＬファイル１６、及び、動的コンテンツデータ１７をＣＧＩ装置ＣＧＧＥＮ内に読み込むものである。
【００３８】
本実施形態のＨＴＭＬファイル１６は、ウェブデザイナーが作成されたＨＴＭＬファイルである。また、このＨＴＭＬファイル１６には、ウェブ画面のレイアウトの中で、動的コンテンツの内容で動的に変えて表示したい部分、および、動的コンテンツの内容をｔａｂｌｅタグ、ｌｉタグなどの一覧形式で表示したい部分に、そのことを表す所定のｃｌａｓｓ属性にＣＧＩ変換識別子が記述されている。
【００３９】
このＣＧＩ変換識別子は、区切り識別子、例えば、ハイフン「−」区切りで３つ、または４つなどの複数の要素で構成されている。３つの要素で構成されたＣＧＩ変換識別子は、動的コンテンツデータ１７が一覧形式の場合に、ＨＴＭＬの該当タグを一覧の件数分複数するための情報であり、第１要素には、スタイルシートで利用されるｃｌａｓｓ属性と区別されるようプレフィックス情報が記載され、第２要素には、ＨＴＭＬタグ解析部で検知したタグを、第３要素で指定される動的コンテンツ情報の件数複製させるための情報が記載され、第３要素には、動的コンテンツ情報の表名称、またはテーブル名称の情報で構成されている。
【００４０】
また、４つの要素で構成されたＣＧＩ変換識別子は、動的コンテンツデータ１７の表に含まれる項目名の値をＨＴＭＬの該当タグを所定箇所に埋め込むための情報であり、第１要素には、スタイルシートで利用されるｃｌａｓｓ属性と区別されるようプレフィックス情報が記載される。第２要素には、第３、第４要素により指定される動的コンテンツの項目名の値を、ＨＴＭＬタグの所定位置に埋め込む情報が記載され、第３要素には、動的コンテンツ情報の表名称、またはテーブル名称の情報が記載され、第４要素には、動的コンテンツ情報の項目名称の情報が記載されるように構成されている。
【００４１】
尚、ＣＧＩ変換識別子は、第１要素にプレフィックス情報を付けることにより、スタイルシートで利用する他のｃｌａｓｓ属性には影響しないため、画面のレイアウトが崩れることはない。ＣＧＩ変換識別子には、例えば以下のようなものが設定される。
【００４２】
（１）タグで囲まれたテキストの置き換え
ｃｌａｓｓ属性にＣＧＩ変換識別子「my-setinnertext-goods-name」が設定された場合、第１要素は「my」であって、第２要素に「setinnertext」であって、第３要素に「goods」であって、第４要素に「name」であると解釈される。この場合、該当ｃｌａｓｓ属性を有するタグに対し、タグで囲まれたテキスト部に動的コンテンツデータ１７の表名称「goods」の表から項目名が「name」の値を埋め込むことを示す。
【００４３】
（２）ａｌｔ属性の置き換え
ｃｌａｓｓ属性にＣＧＩ変換識別子「my-setalt-goods-name」が設定された場合、第１要素は「my」であって、第２要素に「setalt」であって、第３要素に「goods」であって、第４要素に「name」であると解釈される。この場合、該当ｃｌａｓｓ属性を有するタグに対し、タグのａｌｔ属性に動的コンテンツデータ１７の表名称「goods」の表から項目名が「name」の値を埋め込むことを示す。
【００４４】
（３）ｈｒｅｆ属性の置き換え
ｃｌａｓｓ属性にＣＧＩ変換識別子「my-sethref-goods-link」が設定された場合、第１要素は「my」であって、第２要素に「sethref」であって、第３要素に「goods」であって、第４要素に「link」であると解釈される。この場合、該当ｃｌａｓｓ属性を有するタグに対し、タグのｈｒｅｆ属性に動的コンテンツデータ１７の表名称「goods」の表から項目名が「link」の値を埋め込むことを示す。
【００４５】
（４）ＨＴＭＬタグの複製
ｃｌａｓｓ属性にＣＧＩ変換識別子「my-listrow-goods」が設定された場合、第１要素は「my」であって、第２要素に「listrow」であって、第３要素に「goods」であると解釈される。この場合、該当ｃｌａｓｓ属性を有するタグを動的コンテンツデータ１７の表名称「goods」の表から取得したデータ行数分、複製させることを示す。
【００４６】
図１に戻り、本実施形態の動的コンテンツデータ１７は、ＨＴＭＬ文章の中の記載されているタグの所定位置に埋め込む情報が記載され、外部ファイルとして定義され、動的コンテンツデータ１７は、表形式、またはデータベース形式の情報で構成されている。表形式のファイルとは、例えば、Ｅｘｃｅｌ形式、ＣＳＶ形式、ＪＳＯＮ形式、ＸＭＬ形式などで定義することが可能である。
【００４７】
本実施態様による利点を述べる。例えば、ＨＴＭＬ文章の中にＣＧＩ等のサーバプログラムを一切記述することがなく、動的コンテンツが埋め込まれたウェブページを作成することができる。また、ウェブページが画面レイアウトのメンテナンスの必要が発生した場合には、ＣＧＩ等のサーバプログラムにＨＴＭＬ文章を埋め込む従来方式では、画面レイアウトの変更が困難であったがＨＴＭＬファイルをテキストエディタ等で修正することによって容易にメンテナンスができる。また、動的コンテンツのメンテナンスの必要が発生した場合には、ＨＴＭＬファイルを修正する必要がなく、動的コンテンツデータのみ変更するだけで容易にメンテナンスすることができる。
【００４８】
図２は、図１に示したＣＧＩ生成装置で実行される処理の一例を示すフローチャートである。図に示すように、ステップＳ１１にて、記憶部が、ＣＧＩ変換識別子と、該ＣＧＩ変換識別子に対応する、埋め込みテキストおよび埋め込みテキストの処理手順が規定された埋め込みルール（ＣＧＩ埋め込みプログラム（操作対象テキストである埋め込みテキストと、当該テキストがHTMLファイルのどのタグに挿入、置換などの操作がされるかの処理手順が規定されたルール））とが関連付けられＣＧＩ変換識別子テーブルを記憶部に格納する。次に、ステップＳ１２にて、ファイル読取部が、ｃｌａｓｓ属性にＣＧＩ変換識別子が埋め込まれたＨＴＭＬファイルを読み取る（取得する）。そして、ステップＳ１３にて、ＨＴＭＬタグ解析部が、ＣＧＩ変換識別子テーブルを参照して、前記読み取ったＨＴＭＬファイルをタグ解析し、ＣＧＩ変換識別子が埋め込まれたｃｌａｓｓ属性を検出する。最後に、ステップＳ１４にて、ＣＧＩプログラム生成部が、ＣＧＩ変換識別子テーブルを参照して、検出したｃｌａｓｓ属性に埋め込まれたＣＧＩ変換識別子に対応する埋め込みルールを取得し、取得した埋め込みルールの処理手順に応じてＨＴＭＬファイルに、埋め込みテキストを埋め込んだＣＧＩプログラムを生成する。これは、基本的なフローである。以下、各部やテーブルの詳細を説明する。
【００４９】
本実施形態のＣＧＩ変換識別子テーブル１５は、ＣＧＩ変換識別子の第１要素が固定で１つ定義される。また、第２要素が複数定義され、それに対応するＣＧＩ埋め込みプログラムが関連付されて定義されるものである。ＣＧＩ埋め込みプログラムは、プラットフォーム毎に異なる言語で出力する。例えば、ＰＨＰ、ＪＳＰなどプラットフォームに合わせＨＴＭＬ文章に埋め込むことが可能となる。
【００５０】
本実施形態のＨＴＭＬタグ解析部１２は、ファイル読み込み部１１にて読み込んだＨＴＭＬファイル１６の文字列を解析し、ＣＧＩ変換識別子テーブル１５で定義されているＣＧＩ変換識別子が記述されているｃｌａｓｓ属性を有するタグを検知する。
【００５１】
本実施形態のＣＧＩプログラム生成部１３は、ＨＴＭＬタグ解析部１２で検知したタグのｃｌａｓｓ属性に記述されたＣＧＩ変換識別子を使用し、ＣＧＩ変換識別子が記述されたｃｌａｓｓ属性を有するタグの前後、タグの対しタグで囲まれたテキスト、タグの各種属性値にＣＧＩ変換識別子テーブル１５で定義されたＣＧＩ埋め込みプログラムに従って、ＨＴＭＬファイル１６の所定箇所にＣＧＩプログラム（取得した埋め込みルールに応じてＨＴＭＬファイルに埋め込まれる埋め込みテキスト）を埋め込む。
【００５２】
本実施形態のＣＧＩプログラム出力部１４は、ＣＧＩプログラム生成部１３でＣＧＩプログラムを埋め込んだファイルを、プラットフォーム毎に異なるＣＧＩプログラムファイル１８として出力することが可能である。例えば、ＰＨＰ、ＪＳＰファイルとして出力することが可能となる。
【００５３】
ＣＧＩプログラム出力部１４より出力されたＣＧＩプログラムファイル１８は、図示しないウェブサーバに登録して保存される。そして、ネットワーク上に接続されたクライアント端末から要求があったときに、ウェブサーバから当該要求元のクライアント端末にそのＣＧＩプログラムファイル１８と、動的コンテンツデータ１７を用い、クライアント端末に返却するＨＴＭＬ文章に変換され、ウェブページのＨＴＭＬ文章が提供され、これによってウェブページが表示される。
【００５４】
装置に含まれる各機能部は、演算装置や記憶装置などのメモリ空間に読み込まれたプログラムモジュールによって実現することが好適である。通常は、記憶部或いはウェブサイトから、プロセッサを本装置の各部として機能させるソフトウェアをダウンロードして、サーバにインストールして起動することで、サーバ（ＰＣ、コンピュータなど）が、本装置として動作する。なお、各機能部は、機能上一定のまとまりのあるステップを１つにまとめたものに過ぎず、複数の機能部を１つの機能部にしたり、その一部を他の機能部に組み入れたり、他の独立した機能部に分割したりすることが可能である。
【００５５】
このように、生成・抽出した情報や中間データおよび取得したデータは、ページ要求をした外部の端末に送信したり、表示部に表示したり、生成・抽出した情報や中間データおよび取得したデータなどを記憶部に格納したりすることは、後述する他の実態態様でも同様に可能であることに注意されたい。なお、本装置は、汎用コンピュータ、特定用途コンピュータ、サーバ、ＰＣ、スマートフォンなどの携帯端末などのコンピュータ、或いは、本装置の機能や処理手順（方法）をコンピュータ上で実現（実行）するプログラムモジュールをコンピュータが持つＣＰＵや記憶部に保持したり、外部のサーバやストレージから読み込んだりすることで、コンピュータ上に本装置を構築することが好適であり、後続の各実施態様においても同様である。また、各機能部は、ネットワークで接続された別個のコンピュータや装置に分散させてもよい。また、複数の機能部を１つにしたり、処理ステップの一部を他の機能部にさせたりするような形態でもよい。
【００５６】
次に、本実施形態によるウェブページ生成システム（ウェブコンテンツ生成システム）の動作を、具体的に沿って説明する。
【００５７】
図３は、ＣＧＩ変換識別子テーブル１５の一例を示す図である。この図２に示すＣＧＩ変換識別子テーブル１５は、ＣＧＩ変換識別子の第１要素、第２要素と、及びＨＴＭＬのタグの特定箇所に埋め込みＣＧＩプログラムの内容が記載されている。
【００５８】
図４は、ＨＴＭＬファイル１６の一例を示す図である。この図３に示すＨＴＭＬファイル１６の中には、図２で定義された第１要素、第２要素をハイフン「−」区切りで繋げたテキストをプレフィックスとしたＣＧＩ変換識別子が、ｃｌａｓｓ属性に記述されている。
【００５９】
図５は、動的コンテンツデータ１７の一例を示す図である。この図４に示す動的コンテンツデータ１７は、表形式で表現可能な形式であれば、データベースのテーブル、Ｅｘｃｅｌ形式、ＣＳＶ形式、ＪＳＯＮ形式、ＸＭＬ形式など形式は問わない。
【００６０】
図６は、図３に示すＣＧＩ変換識別子テーブル１５と、図４に示すＨＴＭＬファイル１６を用い、ＣＧＩプログラム出力部１４より出力されるＣＧＩプログラムファイル１８の一例を示す図である。この図６は、ＰＨＰをプラットフォームとした場合の一例である。
【００６１】
図７は、クライアント端末からの要求時に出力されるＨＴＭＬの例を示す図である。図６に示すＣＧＩプログラム１８と、図５に示す動的コンテンツデータ１７を用い、埋め込み処理を実行させると、図７に示すようなＨＴＭＬファイルが生成される。そして、ネットワーク上に接続されたクライアント端末から要求があったときに、ウェブサーバから当該要求元のクライアント端末にこのＨＴＭＬファイルが提供され、これによってウェブページがブラウザに表示される。
【００６２】
ＣＧＩ変換識別子テーブルの埋め込みテキストおよび埋め込みテキストの処理手順が規定された埋め込みルール（ＣＧＩ埋め込みプログラム（操作対象テキストである埋め込みテキストと、当該テキストがHTMLファイルのどのタグに挿入、置換などの操作がされるかの処理手順が規定されたルール））について、再度、説明する。これは、下記のようにクラスタグのフィールドの値（クラス属性に設定した値）で制御するルールである。
class="第１要素-第２要素-第３要素-第４要素"
第１要素：本クラス属性のルールで処理する旨の宣言である。例えばmyなど他のクラスと区別できる固有の値を設定する。
-(ハイフン)：区切り記号。要素の間を区切る。
第２要素：具体的な処理対象のタグや処理内容を規定した命令。例えば、setinnertextであれば、第３要素の値「XXXX」、第４識別子の値「YYYY」をHTMLタグのInnertextに{$XXXX.YYYY}と設定する。
第３要素：動的コンテンツデータの表名称の宣言である。例えば、goodsと規定したものは、動的コンテンツデータから表名称が「goods」であるデータを処理対象として扱う。
第４要素：動的コンテンツデータの項目名称の宣言である。例えば、第３要素に「goods」、第４要素に「name」が設定されている場合、動的コンテンツデータから表名称「goods」の「name」項目の値を取得する。
【００６３】
具体的には、以下のように設定する。
（例）  ＜h1 class="my-setinnertext-goods-name"＞＜/h1＞
これを本願発明で処理した場合は、以下のコードが出力される。
＜h1 class="my-setinnertext-goods-name"＞{$goods.name}＜/h1＞
クラスルールについては後で図１０などを参照して詳細に説明する。
【００６４】
図８は、本サーバで処理可能なテーブルデータの一例を示す図である。図に示すように、エクセル形式のテーブルデータＥＸＣＬ，ＣＳＶ形式のテーブルデータＣＳＶ，ＪＳＯＮ形式のテーブルデータＪＳＯＮなどがある。図９は、同様の内容をＸＭＬ形式のテーブルデータＸＭＬとして記述したものである。
【００６５】
＜HTML文章制作＞
HTML文章中に動的コンテンツ情報から埋め込みたいHTMLタグのclass属性の値に、以下のようなclass属性の記述ルールを取り決め、ルールに従ってHTML文章のclass属性に値を設定する。図３に示したものである。これが、ＣＧＩ変換識別子テーブルの内容の一部である。
【００６６】
class属性の値記述ルール
＜例＞
形式：value1-value2-value3-value4
＜class属性の各項目説明＞
value1：他のclass属性の値を重複しないようプレフィックスを付与
※class属性に設定されている値は、スタイルシートで使用されている場合があり、
画面レイアウトの崩れを防止するために、プレフィックスを使用
※下記例では、myを設定
value2：動的コンテンツ情報の埋め込み場所の指定、動的コンテンツ情報が一覧形式の場合、
HTMLタグの複製指示をする。
【００６７】
class属性を指定し動的コンテンツ情報の埋め込み後のHTML例を説明する。
＜値挿入制御＞
１．  上で登録した動的データの「name」の値を、HTMLタグのinnertextに埋め込む
(1)  HTMLテンプレート表現例
＜span class="my-setinnertext-goods-name"＞XXXXX＜/span＞
(2)  出力HTML
＜span class="my-setinnertext-goods-name"＞本１＜/span＞
【００６８】
２．  上で登録した動的データの「name」の値を、HTMLタグのalt属性に埋め込む
(1)  HTMLテンプレート表現例
＜img class="my-setalt-goods-name" alt="XXXXX"＞
(2)  出力HTML
＜img class="my-setalt-goods-name" alt="本１"＞
３．  上で登録した動的データの「image_path」の値を、HTMLタグのsrc属性に埋め込む
(1)  HTMLテンプレート表現例
＜img class="my-setsrc-goods-image_path" src="XXXXX"＞
(2)  出力HTML
＜img class="my-setsrc-goods-image_path" src="http://contents-server/1.jpg"＞
４．  上で登録した動的データの「link」の値を、HTMLタグのhref属性に埋め込む
(1)  HTMLテンプレート表現例
＜ａ class="my-sethref-goods-link" href="XXXXX"＞＜/ａ＞
(2)  出力HTML
＜ａclass="my-sethref-goods-link" href="/goods/?goods_id=1"＞＜/ａ＞
【００６９】
＜表示/非表示制御＞
６．  上で定義した動的データの「name」の値が設定されている場合、class属性を指定したHTMLタグ、及びHTMLタグ配下のタグを表示
(1)  HTMLテンプレート表現例
＜div class="my-show-goods-name"＞＜span＞本＜/span＞＜/div＞
(2)  出力HTML
＜div class="my-show-goods-name"＞＜span＞本＜/span＞＜/div＞
【００７０】
７．  上で定義した動的データの「name」の値が設定されている場合、class属性を指定したHTMLタグ、及びHTMLタグ配下のタグを非表示
(1)  HTMLテンプレート表現例
＜div class="my-hidden-goods-name"＞＜span＞本＜/span＞＜/div＞
(2)  出力HTML
※非表示
【００７１】
＜リスト表記制御＞
８．  上で定義した動的データのgoodsデータ一覧を、リスト形式のHTMLタグで表示
(1)  HTMLテンプレート表現例
＜ul class="my-listarea-goods"＞
＜li class="my-listrow-goods"＞
＜span class="my-setinnertext-goods-name"＞XXXXX＜/span＞
＜/li＞
＜/ul＞
(2)  出力HTML
＜ul class="my-listarea-goods"＞
＜li class="my-listrow-goods"＞
＜span class="my-setinnertext-goods-name"＞本１＜/span＞
＜/li＞
＜li class="my-listrow-none-goods"＞
＜span class="my-setinnertext-goods-name"＞本２＜/span＞
＜/li＞
＜li class="my-listrow-none-goods"＞
＜span class="my-setinnertext-goods-name"＞本３＜/span＞
＜/li＞
＜li class="my-listrow-none-goods"＞
＜span class="my-setinnertext-goods-name"＞本４＜/span＞
＜/li＞
＜/ul＞
【００７２】
上で定義した動的データのgoodsデータを元に、＜li＞タグ配下をgoodsデータ件数分複製しリスト表示する
(1)  HTMLテンプレート表現例
＜ul class="my-listarea-goods"＞
＜li class="my-listrow-goods"＞
＜div＞
＜a class="my-sethref-goods-link" href=""＞
＜img class="my-setsrc-goods-image_path my-setalt-goods-name"
src="" alt=""＞
＜/a＞
＜/div＞
＜div＞
＜a class="my-sethref-goods-link my-setinnertext-goods-name" href=""＞＜/a＞
＜/div＞
＜/li＞
＜/ul＞
(2)  出力HTML
＜ul class="my-listarea-goods"＞
＜li class="my-listrow-goods"＞
＜div＞
＜a class="my-sethref-goods-link" href="/goods/?goods_id=1"＞
＜img class="my-setsrc-goods-image_path my-setalt-goods-name"
src="http://contents-server/1.jpg" alt="本１"＞
＜/a＞
＜/div＞
＜div＞
＜a class="my-sethref-goods-link my-setinnertext-goods-name"
href="/goods/?goods_id=1"＞本１＜/a＞
＜/div＞
＜/li＞
＜li class="my-listrow-goods"＞
＜div＞
＜a class="my-sethref-goods-link" href="/goods/?goods_id=2"＞
＜img class="my-setsrc-goods-image_path my-setalt-goods-name"
src="http://contents-server/2.jpg" alt="本２"＞
＜/a＞
＜/div＞
＜div＞
＜a class="my-sethref-goods-link my-setinnertext-goods-name" 
href="/goods/?goods_id=2"＞本２＜/a＞
＜/div＞
＜/li＞
＜li class="my-listrow-goods"＞
＜div＞
＜a class="my-sethref-goods-link" href="/goods/?goods_id=3"＞
＜img class="my-setsrc-goods-image_path my-setalt-goods-name"
src="http://contents-server/3.jpg" alt="本３"＞
＜/a＞
＜/div＞
＜div＞
＜a class="my-sethref-goods-link my-setinnertext-goods-name"
href="/goods/?goods_id=3"＞本３＜/a＞
＜/div＞
＜/li＞
＜li class="my-listrow-goods"＞
＜div＞
＜a class="my-sethref-goods-link" href="/goods/?goods_id=4"＞
＜img class="my-setsrc-goods-image_path my-setalt-goods-name"
src="http://contents-server/4.jpg" alt="本４"＞
＜/a＞
＜/div＞
＜div＞
＜a class="my-sethref-goods-link my-setinnertext-goods-name"
href="/goods/?goods_id=4"＞本４＜/a＞
＜/div＞
＜/li＞
＜/ul＞
【００７３】
定義した動的データのgoodsデータを元に、＜tr＞、及び＜td＞タグ配下をgoodsデータ件数分複製しリスト表示する
(1)  HTMLテンプレート表現例
＜table＞
＜thead＞
＜/thead＞
＜tbody class="my-tablearea-goods"＞
＜tr id="t1" class="my-tablerow-goods"＞
＜td class="my-tablecol-goods"＞
＜div＞
＜a class="my-sethref-goods-link" href=""＞
＜img class="my-setsrc-goods-image_path my-setalt-goods-name"
src="" alt=""＞
＜/a＞
＜/div＞
＜/td＞
＜td class="my-tablecol-goods"＞
＜div＞
＜a class="my-sethref-goods-link" href=""＞
＜img class="my-setsrc-goods-image_path my-setalt-goods-name"
src="" alt=""＞
＜/a＞
＜/div＞
＜/td＞
＜/tr＞
＜/tbody＞
＜/table＞
(2)  出力HTML
＜table＞
＜thead＞
＜/thead＞
＜tbody class="my-tablearea-goods"＞
＜tr id="t1" class="my-tablerow-goods"＞
＜td class="my-tablecol-goods"＞
＜div＞
＜a class="my-sethref-goods-link" href="/goods/?goods_id=1"＞
＜img class="my-setsrc-goods-image_path my-setalt-goods-name"
src="http://contents-server/1.jpg" alt="本１"＞
＜/a＞
＜/div＞
＜/td＞
＜td class="my-tablecol-goods"＞
＜div＞
＜a class="my-sethref-goods-link" href="/goods/?goods_id=2"＞
＜img class="my-setsrc-goods-image_path my-setalt-goods-name"
src="http://contents-server/2.jpg" alt="本２"＞
＜/a＞
＜/div＞
＜/td＞
＜/tr＞
【００７４】
＜tr id="t1" class="my-tablerow-goods"＞
＜td class="my-tablecol-goods"＞
＜div＞
＜a class="my-sethref-goods-link" href="/goods/?goods_id=3"＞
＜img class="my-setsrc-goods-image_path my-setalt-goods-name"
src="http://contents-server/3.jpg" alt="本３"＞
＜/a＞
＜/div＞
＜/td＞
＜td class="my-tablecol-goods"＞
＜div＞
＜a class="my-sethref-goods-link" href="/goods/?goods_id=4"＞
＜img class="my-setsrc-goods-image_path my-setalt-goods-name"
src="http://contents-server/4.jpg" alt="本４"＞
＜/a＞
＜/div＞
＜/td＞
＜/tr＞
＜/tbody＞
＜/table＞
※本例は、２列、２行のテーブル構成でHTML出力される。
【００７５】
URL管理について説明する。
動的コンテンツ情報を埋め込まれたHTML文章を出力させるために、１つのアクセスURLに対し、HTML文章、動的コンテンツを紐付けておく。
＜例＞
URL：http://sample_domain/product_list/
HTML文章：main.html
動的コンテンツ情報：product_list_data.xls、goods.xls、category.xls
※動的コンテンツ情報は、複数指定可能。
※URLアクセス時のPOSTデータとして、XML、JSONでサーバに送信し、
利用することも可能。
【００７６】
＜動的コンテンツ情報が埋め込まれたHTML文章の出力＞
定義したURL：http://sample_domain/product_list/ のようにアクセスされた際、紐付けられたHTML文章と、動的コンテンツ情報をシステムで読み取り、HTMLタグのclass属性に設定された値の中で、上の２で記述されているclass属性記述ルールに合致したHTMLタグを動的コンテンツ情報の埋め込み対象とする。処理対象となったclass属性の値ごとに、記述ルールに従い、HTML文章の中に動的コンテンツ情報を埋め込み、WebサーバのレスポンスとしてHTML文章を出力する。
【００７７】
なお、上述のように本願発明の各実施態様を網羅的に説明してきたが、以下、実際に本願発明を実際に適用する場合の手法を段階的に説明する。
【００７８】
図１０は、図１に示した装置で実行される処理（事前登録処理）の一例を示すフローチャートである。図に示すように、ステップＳ４１では、HTMLファイルを本発明プログラムに読み込ませる。ステップＳ４２では、HTMLファイルを解析する。ステップＳ４３では、HTMLのタグのclass属性に設定可能なルールデータを読み取る。ステップＳ４４では、HTMLのclass属性の値が"my-"で始まる値が設定されているHTMLタグの一覧を検出する（※Webスクレイピング技術を利用）。ステップＳ４５では、上記で検知したHTMLタグをループ(第１ループ)処理をする。ステップＳ４６では、HTMLタグのclass属性の値ループ(第２ループ)処理をする。ステップＳ４７では、ルール定義の表に基づきCGIプログラム変換処理を実行し、CGIプログラムを生成する（変換処理の詳細は、図１２の表を参照）。ステップＳ４８では、第２ループ終了する。ステップＳ４９では、第１ループ終了する。最後にステップＳ５０では、生成したCGIプログラムを保存する。
【００７９】
図１１は、図１０の処理であるステップＳ４１で取得される(読み取られる)ＨＴＭＬの一例を示す図である。
【００８０】
図１２は、図１０の処理であるステップＳ４３で参照されるルール定義の一例を示す図である。
【００８１】
図１３は、図１０の処理により生成されたファイルの一例を示す図である。
【００８２】
図１４は、図１に示した装置で実行される処理（事前登録処理２、表示データの登録処理）の一例を示すフローチャートである。図に示すように、ステップＳ５１〜Ｓ５４で各処理を行う。
【００８３】
図１５は、図１に示した装置で実行される処理（事前登録処理２、アクセスＵＲＬ、ＨＴＭＬ，表示データのマッピング処理）の一例を示すフローチャートである。図に示すように、各ステップで処理を行う。
【００８４】
図１６は、図１に示した装置で実行される処理（ウェブアクセス時の閲覧処理）の一例を示すフローチャートである。図に示すように、各ステップで処理を行う。
【００８５】
図１７は、図１６の処理により生成されたファイルの一例を示す図である。図に示すように、ルールに応じた箇所に、適切なデータが鵜も込まれたＨＴＭＬが生成される。
【００８６】
図１８は、図１に示した装置で実行される処理（ウェブアクセス時の閲覧処理その２）の一例を示すフローチャートである。図に示すように、各ステップで処理を行う。
【００８７】
図１９は、図１８の処理で送信されるＰＯＳＴデータの一例を示す図である。また、図２０は、図１８の処理で送信されるＨＴＭＬデータ（出力ＨＴＭＬ）の一例を示す図である。
【００８８】
図２１は、本実施態様においてウェブアクセスしたときのＨＴＭＬの変換処理の関係を示す模式図である。
【００８９】
図２２は、図２１の処理により変換されたＨＴＭＬデータを示す図である。図に示すように、適切に変換処理されているのが理解できる。
【００９０】
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各部、各ステップなどに含まれる処理や機能などは論理的に矛盾しないように再配置可能であり、複数の手段／部やステップなどを１つに組み合わせたり、或いは分割したりすることが可能である。或いは、本発明による装置、方法、プログラムなどの一部の構成要素、機能、処理、ステップなどを遠隔地のサーバなどに配置することも可能であることに注意されたい。
【符号の説明】
【００９１】
１０  ウェブページ生成システム
１１  ファイル読取部
１２  ＨＴＭＬタグ解析部
１３  プログラム生成部
１４  プログラム出力部
１５  変換識別子テーブル
１６  ＨＴＭＬファイル
１７  動的コンテンツデータ
１８  ＣＧＩプログラム
２０  ページ要求受付部
２１  ＨＴＭＬ生成部
２２  ＨＴＭＬ送出部
２３  データ読取部
ＣＧＧＥＮ  ＣＧＩ生成装置
ＨＴＧＥＮ  ＨＴＭＬ生成装置
【図１】
2017204128.tif 000003
【図２】
2017204128.tif 000004
【図３】
2017204128.tif 000005
【図４】
2017204128.tif 000006
【図５】
2017204128.tif 000007
【図６】
2017204128.tif 000008
【図７】
2017204128.tif 000009
【図８】
2017204128.tif 000010
【図９】
2017204128.tif 000011
【図１０】
2017204128.tif 000012
【図１１】
2017204128.tif 000013
【図１２】
2017204128.tif 000014
【図１３】
2017204128.tif 000015
【図１４】
2017204128.tif 000016
【図１５】
2017204128.tif 000017
【図１６】
2017204128.tif 000018
【図１７】
2017204128.tif 000019
【図１８】
2017204128.tif 000020
【図１９】
2017204128.tif 000021
【図２０】
2017204128.tif 000022
【図２１】
2017204128.tif 000023
【図２２】
2017204128.tif 000024
【図２３】
2017204128.tif 000025