(57)【要約】  本発明は、機械により実行可能な目標コードをソースコードから生成する方法に関する。ここではマークアップ言語が提供され、このマークアップ言語は、テンプレートを生成するための第１の命令セットを有し、データセットを取り入れるための第２の命令セットをオプションとして有する。さらにソースコードがマークアップ言語で入力される。ここでは、生成すべきテンプレートが第１の命令セットからの命令によってソースコードに取り入れられ、生成すべきテンプレートに対するデータセットが第２の命令セットからの命令によってソースコードに取り入れられる。さらに少なくとも１つのテーブルがソースコードから開発コンピュータによって生成される。この少なくとも１つのテーブルはサーバにより、クライアントが実行可能な目標コードに変換される。次にこの目標コードはクライアントに通知され、クライアントはこの目標コードを、ブラウザを介して表示することができる。本発明によりプログラマは、自分が命令を介してテンプレートを取り入れることのできるソースコードを書くことができる。その際にプログラマはテンプレート用のプログラミングパラダイムに取り組む必要がない。
2010514021.tif 000002
【特許請求の範囲】
【請求項１】
機械により実行可能な目標コード（１２０）をソースコード（１１８）から生成する方法であって、以下のステップを有する：
・マークアップ言語（１１４）を提供するステップ、
該マークアップ言語は第１の命令セット（１４０）を有しており、
該第１の命令セットからの命令はテンプレート（１２６，１２８）を生成するために設けられており、
・ソースコードをマークアップ言語で入力するステップ、
ここで生成すべきテンプレート（１２６）が第１の命令セットからの命令（１２２）によってソースコードに取り入れられ、
生成すべきテンプレートに対するデータセット（１４８）がソースコードに取り入れられ、
・少なくとも１つのテーブル（１３０）をソースコードから生成するステップ、
該少なくとも１つのテーブルは、第１の命令セットからの命令により特定されたテンプレートと、第２の命令セットからの命令によりソースコードに取り入れられたデータセットを記述し、
・目標コード（１２０）をプログラミング言語で、前記少なくとも１つのテーブルから生成するステップ、
ことを特徴とする生成方法。
【請求項２】
請求項１記載の方法であって、
前記マークアップ言語は第２の命令セット（１４２）を有しており、
該第２の命令セットからの命令はデータセット（１４８，１５０）を取り入れるために設けられている方法。
【請求項３】
請求項１または２記載の方法であって、
前記目標コード（１２０）は、サーバ（１０３）上で少なくとも１つのテーブル（１３０）から生成され、
前記目標コードはクライアント（１０４）に伝送され、
プログラミング言語は、クライアントが実行可能なプログラミング言語である方法。
【請求項４】
請求項１から３までのいずれか一項記載の方法であって、
前記少なくとも１つのテーブル（１３０）は、開発コンピュータ（１０２）上でソースコード（１１８）から生成され、
前記少なくとも１つのテーブルはサーバ（１０３）に伝送される方法。
【請求項５】
請求項１から４までのいずれか一項記載の方法であって、
前記少なくとも１つのテーブル（１３０）は、クライアント（１０４）の問い合せによりサーバからクライアントに通知され、
前記少なくとも１つのテーブルは、前記問い合せを受け取って初めて生成される方法。
【請求項６】
請求項１から５までのいずれか一項記載の方法であって、
第１の命令セットからの命令を介して、生成すべきテンプレートがソースコードに取り入れられ、
該テンプレートに対してデータセットが、第２の命令セットからの命令によりソースコードに取り入れられ、
前記データセットは可変構造のリストを有し、テンプレートはそれに相応する値のリストを有する方法。
【請求項７】
請求項１から５までのいずれか一項記載の方法であって、
第１の命令セットからの命令を介して、生成すべきテンプレートがソースコードに取り入れられ、
該テンプレートに対してデータセットが、第２の命令セットからの命令によりソースコードに取り入れられ、
前記データセットは変数または定数に対するアドレスおよび／または名称を有し、
前記テンプレートは可変構造を有し、
前記可変構造は前記アドレスおよび／または名称とデータセット内で置換される方法。
【請求項８】
請求項１から７までのいずれか一項記載の方法であって、
前記マ―クアップ言語は、HTML、SGMLまたはXMLまたはそれらから派生したプログラミング言語である方法。
【請求項９】
請求項１から８までのいずれか一項記載の方法であって、
第１の命令セットの命令はマークアップ命令（３０２，３０４，３０６，３０８）である方法。
【請求項１０】
請求項９記載の方法であって、
前記マークアップ命令は開始マークアップ命令（３０２，３０６）と終了マークアップ命令（３０４．３０６）からなり、
前記開始マークアップ命令と終了マークアップ命令では、当該マークアップ命令により生成すべきテンプレートの形式および／または名称が特定される方法。
【請求項１１】
請求項９または１０記載の方法であって、
前記マークアップ命令は開始マークアップ命令と終了マークアップ命令からなり、
前記開始マークアップ命令と終了マークアップ命令はコンテンツを囲い、
該コンテンツにより、マークアップ命令により生成すべきテンプレートが詳細に特定される方法。
【請求項１２】
コンピュータのメモリに直接ロードすることができ、コンピュータが実行可能な命令を備えるコンピュータプログラム製品（１１２）であって、
請求項１から１１までのいずれか一項記載の方法を実行させる命令を備えるコンピュータプログラム製品。
【請求項１３】
コンピュータシステム（１００）であって、
・マークアップ言語（１１４）を提供する手段を有し、
該マークアップ言語は第１の命令セットを有しており、
該第１の命令セットからの命令（１２２，１２４）はテンプレート（１２６，１２８）を生成するために設けられており、
・ソースコード（１１８）をマークアップ言語で入力する手段を有し、
生成すべきテンプレートが第１の命令セットからの命令によってソースコードに取り入れられ、
生成すべきテンプレートに対するデータセットがソースコードに取り入れられ、
・少なくとも１つのテーブル（１３０）をソースコードから生成する手段を有し、
該少なくとも１つのテーブルは、第１の命令セットからの命令により特定されたテンプレートと、第２の命令セットからの命令によりソースコードに取り入れられたデータセットを記述し、
・目標コード（１２０）を少なくとも１つのテーブルから、該少なくとも１つのテーブルからのプログラミング言語で生成する手段を有するコンピュータシステム。
【請求項１４】
請求項１３記載のコンピュータシステムであって、
前記マークアップ言語は第２の命令セット（１４２）を有しており、
該第２の命令セットからの命令はデータセット（１４８，１５０）を取り入れるために設けられているコンピュータシステム。
【請求項１５】
請求項１３または１４記載のコンピュータシステムであって、
前記目標コード（１２０）は、サーバ（１０３）上で少なくとも１つのテーブル（１３０）から生成され、
前記目標コードはサーバからクライアント（１０４）に伝送され、
プログラミング言語は、クライアントが実行可能なプログラミング言語であるコンピュータシステム。
【請求項１６】
請求項１３から１５までのいずれか一項記載のコンピュータシステムであって、
前記少なくとも１つのテーブル（１３０）は、開発コンピュータ（１０２）上でソースコード（１１８）から生成され、
前記少なくとも１つのテーブルは開発コンピュータからサーバ（１０３）に伝送されるコンピュータシステム。
【請求項１７】
請求項１５または１６記載のコンピュータシステムであって、
目標コードはクライアントの問い合せによりサーバからクライアントに通知され、
該目標コードは前記少なくとも１つのテーブルから、前記問い合せを受け取って初めて生成されるコンピュータシステム。
【請求項１８】
請求項１３から１７までのいずれか一項記載のコンピュータシステムであって、
第１の命令セットからの命令によりテンプレートが生成され、
該テンプレートに対してデータセットが、第２の命令セットからの命令によりソースコードに取り入れられ、
前記データセットは可変構造のリストを有し、テンプレートはそれに相応する値のリストを有するコンピュータシステム。
【請求項１９】
請求項１３から１８までのいずれか一項記載のコンピュータシステムであって、
第１の命令セットからの命令によりテンプレートが生成され、
該テンプレートに対してデータセットが、第２の命令セットからの命令によりソースコードに取り入れられ、
前記データセットは変数または定数に対するアドレスおよび／または名称を有し、
前記テンプレートは可変構造を有し、
可変構造は前記アドレスおよび／または名称とデータセット内で置換されるコンピュータシステム。
【請求項２０】
請求項１３から１９までのいずれか一項記載のコンピュータシステムであって、
前記マ―クアップ言語は、HTML、SGMLまたはXMLまたはそれらから派生したプログラミング言語であるコンピュータシステム。
【請求項２１】
請求項１３から２０までのいずれか一項記載のコンピュータシステムであって、
第１の命令セットの命令はマークアップ命令（３０２，３０４，３０６，３０８）であるコンピュータシステム。
【請求項２２】
請求項２１記載のコンピュータシステムであって、
前記マークアップ命令は開始マークアップ命令（３０２，３０６）と終了マークアップ命令（３０４．３０６）からなり、
前記開始マークアップ命令と終了マークアップ命令では、当該マークアップ命令により生成すべきテンプレートの形式および／または名称が特定されるコンピュータシステム。
【請求項２３】
請求項２１または２２記載のコンピュータシステムであって、
前記マークアップ命令は開始マークアップ命令と終了マークアップ命令からなり、
前記開始マークアップ命令と終了マークアップ命令はコンテンツを囲い、
該コンテンツにより、マークアップ命令により生成すべきテンプレートが詳細に特定されるコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械で実行可能な目標コードをソースコードから生成する方法、この方法を実行するためのコンピュータプログラム製品、およびこの方法を実現するコンピュータシステムに関する。本発明はとりわけ埋込型システムで使用される。
【背景技術】
【０００２】
テキストベースのマークアップ言語、例えばハイパーテキストマークアップランゲージ（ＨＴＭＬ）または拡張可能なマーク付け言語（ＸＭＬ）はインターネットページないしイントラネットページの作成に使用される。その中ではテキスト、画像およびハイパーリンクのようなコンテンツがウェブブラウザによって表示される。マークアップ言語に記述されるソースコードは、公開タグおよび秘密タグを備えるコード部分のマークアップによって構造が失われる。さらにソースコードは静的部分と動的部分に分けられる。静的部分は、ソースコードによって実現されるインターネットサイトのレイアウトを規定することができる。またはそのカラー構成により企業のコーポレートアイデンティティを反映することができる。これとは反対にコードの動的部分は静的部分よりも頻繁に変更され、例えばインターネットサイトに顧客固有の情報またはその日の情報を提供するために使用される。動的コードに対する別の例は、インターネットサイトで頻繁にヒットすべきウェブバナーである。
【０００３】
静的部分は、上記のタグを利用する直接的なプログラミングによって実現される。動的部分は、テンプレートのプログラミングによってコードに取り入れられる。ここでテンプレートは、種々の（コンテンツ）データにより満たすことのできるモデルを形成する。
【０００４】
さらにインターネットサイトは例えばＡＳＰ／ＡＳＰネット（アクティブサービスページ）またはＰＨＰ（ハイパーテキストプリプロセッサ）のようなスクリプト言語を使用して作成される。したがってインターネットサイトはスクリプトの実行により作成される。プログラミング環境を通常のスクリプト言語により提供することは面倒であり、ハードウエアの面で高いリソースを必要とする。しかし例えばマイクロプロセッサの能力が低いために既存のリソースが貧弱であれば、インターネットサイトを発生するサーバにわずかなワークメモリしか装備されていなかったり、ハードディスクメモリが少なかったりなかったりし、そのためこの種のスクリプト言語を使用できなくなる。このような状況はとりわけ埋込型システムで発生し、例えばオートメーション技術の分野で頻繁に発生する。埋込型システムはコストの最小化に関して最適化されており、通常は緩慢なプロセッサを備える簡単なハードウエア構造を有している。したがってスクリプト言語に対して必要なリソースを用意することができない。
【０００５】
DE 10 2004 036 976 A1には、インターネットサイトを動的に作成するための方法が記載されている。このインターネットサイトではハードウエアリソースの必要性が小さく、したがって組込型システムと関連して使用される。DE 10 2004 036 976 A1によれば、クライアントに対して静的なインターネットサイトが提供される。この静的なインターネットサイトのために可変のコンテンツコンポーネントが補充される。補充部分は、標準パーサ、データファイル、およびテンプレートにより作成される。ここで静的インターネットサイトはデータファイルを参照し、これ自体をテンプレートに指示する。択一的にインターネットサイトはデータファイルとテンプレートの両方を参照指示する。しかしこの方法の欠点は、クライアントが静的なインターネットサイトならびにテンプレートとデータファイルを構文解析しなければならないことである。これはそこから目標コードを発生し、この目標コードによりクライアントが相応のインターネットサイトを表示できるようにするためである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】DE 10 2004 036 976 A1
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって本発明の課題は、マークアップ言語のソースコードから目標コードを生成するための改善した方法を提供することである。さらに本発明の課題は、本発明の方法を実施するための改善されたコンピュータプログラム製品、ならびに相応のコンピュータシステムを提供することである。
【課題を解決するための手段】
【０００８】
この本発明の基礎とする課題は、独立請求項に記載の特徴的構成によりそれぞれ解決される。本発明の有利な実施形態および改善例はそれぞれ従属請求項に記載されている。
【発明の効果】
【０００９】
本発明によれば、機械により実行可能な目標コードをソースコードから生成する方法が得られる。１つの方法ステップで、マークアップ言語が提供される。マークアップ言語は第１の命令セットを有し、第１の命令セットからの命令はテンプレートの生成のために設けられている。さらなる方法ステップでは、ソースコードがマークアップ言語に入力される。ここでは生成すべきテンプレートが第１の命令セットからの命令によってソースコードに取り入れられ、さらに生成すべきテンプレート用のデータセットがソースコードに取り入れられる。さらなるステップで、少なくとも１つのテーブルがソースコードから生成される。この少なくとも１つのテーブルは、第１の命令セットからの命令によりソースコード中に特定されたテンプレートと、ソースコードに取り入れられたデータセットを記述する。さらに目標コードがプログラミング言語で、少なくとも１つのテーブルから生成される。
【００１０】
第１の命令セットからの命令は、テンプレートのための生成規則に相当する。ここで命令は有利には、マークアップ言語の標準命令と同じプログラミングパラダイムを基礎とする。これにより開発者はソースコードを自分が慣れ親しんだマークアップ言語で書くことができ、命令を介してテンプレートの生成をコントロールすることができ、テンプレートを直接プログラミングする必要はない。これによりプログラマは、テンプレート用の新たなプログラミングパラダイムに習熟する必要がなく、かつテンプレートの利点をあきらめる必要もない。
【００１１】
さらにプログラミング言語は、機械により直接実行可能なプログラミング言語である。これにより目標コードを性能の低い機械でも使用することができ、この機械によりウェブブラウザを用いて表示することができる。その際に機械自体は目標コードを解釈する必要がない。
【００１２】
本発明の実施形態によれば、マークアップ言語は第２の命令セットを有する。この第２の命令セットの命令はデータセットを取り入れるために設けられている。第２の命令セットからの命令は、それらのデータセットによりソースコードに取り入れることのできる言語要素とすることができる。
【００１３】
本発明の実施形態によれば、目標コードはサーバで少なくとも１つのテーブルから生成され、クライアントに伝送される。このプログラミング言語は、クライアントのために実行可能なプログラミング言語である。サーバは例えば組込型システム、またはクライアントと関連するオートメーションシステムのための制御部とすることができる。
【００１４】
本発明の実施形態によれば、少なくとも１つのテーブルが開発コンピュータ上でソースコードから生成され、サーバに伝送される。開発コンピュータは典型的にはオ―トメーションシステム用の開発コンピュータであり、サーバはオートメーションシステム用の制御システムないし組込みシステムである。
【００１５】
組込みシステムはコストが最小になるように最適化されており、通常は緩慢なプロセッサと少量のメモリを備える簡単なハードウエア構造が使用される。このハードウエアはできるだけ確実に動作すべきである。この種の組込型システムは、マークアップ言語を解釈するのに必要なリソースを提供することはできない。それでも組込型システムがソースコードの内容を表示できるようにするため、本発明ではソースコードから生成されたテーブルがサーバに伝送される。したがってサーバはこのテーブルからクライアントの問い合せに関する目標コードだけを生成すれば良く、そのために必要なリソースは格段に小さい。なぜならサーバはソースコードを構文解析する必要がないからである。
【００１６】
有利にはソースコードは、クライアントの問い合せがあって初めてサーバにより少なくとも１つのテーブルから生成される。このことの利点は、データセットを介してソースコードに取り入れられる現在のデータが常に目標コードに入り込むことである。
【００１７】
本発明の実施形態によれば、マークアップ言語はＨＴＭＬ、ＳＧＭＬまたはＸＭＬ、またはそれらから派生したプログラミング言語であり、第１の命令セットと第２の命令セットだけ拡張されている。
【００１８】
本発明の実施形態によれば、第１の命令セットからの命令を介して、生成すべきテンプレートがソースコードに取り入れられる。このテンプレートのためにデータセットが、第２の命令セットからの命令によりソースコードに取り入れられる。ここでこのデータセットは可変構造のリストを有し、テンプレートはそれに相応する値のリストを有する。
【００１９】
本発明の実施形態によれば、第１の命令セットからの命令を介して、生成すべきテンプレートがソースコードに取り入れられる。このテンプレートに対してデータセットが、第２の命令セットからの命令によりソースコードに取り入れられる。このデータセットは変数または定数に対するアドレスおよび／または名称を有し、テンプレートは可変構造を有し、可変構造は前記アドレスおよび／または名称とデータセット内で置換される。
【００２０】
データセットは例えばデータを直接含むことができ、これらのデータは相応のテンプレートを使用してインターネットサイトにより表示される。このインターネットサイトは目標コードによって作成される。択一的にデ―タセットは、サーバに記憶されているデータの名称ないし（メモリ）アドレスだけを含むことができる。目標コードを少なくとも１つのテーブルから生成する場合には、データがアドレスまたは名称によってサーバから目標コードに取り入れられ、クライアントにより表示される。
【００２１】
本発明の実施形態によれば、第１の命令セットからの命令はマークアップ命令である。テンプレートを取り入れるための命令は、マークアップ言語に標準で設定されているタグと同じようにしてプログラマにより使用される。これにより、プログラマは新たなプログラミングパラダイムを学習する必要がなくなる。
【００２２】
本発明の実施形態によれば、マークアップ命令は開始マークアップ命令と終了マークアップ命令からなる。さらに開始マークアップ命令と終了マークアップ命令では、この命令により生成すべきテンプレートの形式および／または名称が特定される。開始マークアップ命令と終了マークアップ命令はさらにコンテンツを含み、このコンテンツによりテンプレートはさらに詳細に特定される。または可変構造をテンプレート中で置換するデータがさらに詳細に特定される。
【００２３】
別の側面で本発明は、コンピュータにより実行可能な命令を備えるコンピュータプログラム製品に関する。この命令は、本発明の方法をコンピュータシステムにより実行されるように構成されている。
【００２４】
別の側面で本発明は、本発明の方法を実行するためのコンピュータシステムに関する。
【００２５】
本発明の実施形態によれば、コンピュータシステムはオートメーションシステムの構成部分であり、制御部およびクライアント、ならびにオートメーションシステム用の開発コンピュータを含む。
【００２６】
本発明の有利な実施形態を以下、添付図面に基づいて詳細に説明する。
【図面の簡単な説明】
【００２７】
【図１】コンピュータシステムのブロック回路図である。
【図２】本発明による方法のステップを示すフローチャートである。
【図３】ソースコードを示す。
【図４】ソースコードから生成された目標コードのテキスト表示である。
【図５】ソースコードに取り入れられたテンプレートに対する値を含むデータファイルを示す。
【図６】ブラウザによる目標コードの出力を示す。
【発明を実施するための形態】
【００２８】
図１はコンピュータシステム１００のブロック回路図を示す。このコンピュータシステムは、開発コンピュータ１０２、制御部１０３およびクライアント１０４を有する。開発コンピュータ１０２と制御部１０３は通信接続１３６を介して接続されている。クライアント１０４と制御部１０３は通信接続１３８を介して接続されている。開発コンピュータ１０２はマイクロプロセッサ１０６、メモリ１０８および画面１１０を有する。マイクロプロセッサ１０６はコンピュータプログラム１１２を実行する。このコンピュータプログラムはメモリ１０８に恒久的に記憶されており、実行のためにマイクロプロセッサ１０６にロードされる。
【００２９】
コンピュータプログラム１１２によりマークアップ言語１１４が提供される。マークアップ言語１１４で書かれたソースコード１１８はプログラミング言語の目標コード１２０に変換することができる。マークアップ言語１１４にはさらに第１の命令セット１４０が設定されており、命令セットからの命令によりテンプレート１２６，１２８を作成することができる。さらに命令１４４，１４６を含む第２の命令セット１４２によって、データセットをソースコードに取り入れることができる。例えば命令１４４によってデータセット１４８がソースコードに取り入れられ、命令１４６によりデータセット１５０が取り入れられる。
【００３０】
画面１１０にはエディタ１３２が表示される。このエディタでプログラマはマークアップ言語１１４のソースコード１１８を、図示しないキーボードを使用して入力する。テンプレート１２６をソースコード１１８を介して作成するために、プログラマはテンプレート１２６を直接プログラミングするのではなく、ソースコード１１８中の命令１２２を使用する。この命令１２２は、テンプレート１２６に対する生成規則に相当する。ここで命令１２２は、マークアップ言語１１４に設定された標準命令と同じプログラミングパラダイムを基礎とする。このことの利点は、プログラマがテンプレートの基礎となるプログラミングパラダイムに没頭する必要のないことである。プログラマは命令１２２を、マークアップ言語１１４から自分に慣れ親しんだやり方で使用し、テンプレート１２６をソースコードに取り入れることができる。
【００３１】
さらにテンプレート１２６に対するデータセット１４８が命令１４４を介してソースコード１１８に取り入れられる。
【００３２】
ソースコード１１８が入力されると、プログラマにより初期化され、ソースコード１１８がコンピュータプログラム１１２により構文解析され、テーブル１３０が生成される。このテーブルは、命令１２２により特定されたテンプレート１２８を、命令１４４により取り込まれたデータセット１４８とともに記述する。テーブル１３０は次に通信接続１３６を介して制御部１０３に通知される。ここでテーブル１３０から制御部により目標コード１２０がプログラミング言語で生成される。ここでは場合によりデ―タセット内で、そのアドレスまたは名称により特定される変数または定数が、相応の値により置換される。これらの変数または定数は制御部１０３のデータファイル１１６に保持されている。
【００３３】
プログラミング言語は例えば、クライアント１０４が（ここに図示しないクライアントのマイクロプロセッサ上で）直接実行可能な言語である。したがって目標コード１２０を通信接続１３８を介してクライアント１０４は要求することができ、クライアント１０４により例えば図示しない画面を介して表示することができる。
【００３４】
図２は、機械で実行可能な目標コードをソースコードから生成するための本発明の方法のステップをフローチャートに示す。ステップ２００で、マークアップ言語が提供される。このマークアップ言語は第１の命令セットを有しており、第１の命令セットからの命令はテンプレートを生成するために設けられており、このマークアップ言語は第２の命令セットを有しており、第２の命令セットからの命令はデータセットを取り入れるために設けられている。ステップ２０２でマークアップ言語のソースコードが入力される。ここで生成すべきテンプレートが第１の命令セットからの命令によってソースコードに取り入れられ、生成すべきテンプレートに対するデータセットが第２の命令セットからの命令によってソースコードに取り入れられる。ステップ２０４で少なくとも１つのテーブルがソースコードから生成される。この少なくとも１つのテーブルは、第１の命令セットからの命令により特定されたテンプレートと、第２の命令セットからの命令によりソースコードに取り入れられたデータセットを記述する。さらにステップ２０６で、目標コードがプログラミング言語で少なくとも１つのテーブルから生成される。
【００３５】
図３は、ＨＴＭＬで書かれたソースコード３００を示す。ソースコード３００では、開始マークアップ命令３０２（<START__ARRAY ...>）と終了マークアップ命令３０４を含むマークアップ命令が、名称「Array」のテンプレートを生成するために使用される。さらに開始マークアップ命令３０６と終了マークアップ命令３０８を含む命令は、名称「StructArray」のテンプレートに対する生成規則である。
【００３６】
どの値を生成すべきテンプレートに引き渡すべきかを、プログラマはコードで、開始マークアップ命令３０２と終了マークアップ命令３０４との間のコンテンツにより詳細に特定することができる。
【００３７】
プログラマは例えばＨＴＭＬから既知のタグ<LI>、</LI>を使用することができる。指示Array Element=:= valueに関してはさらに、変数構造に対する値、すなわち変数「value」をテンプレート「Array」に特定することができる。ここで変数「value」に対する値は、図５に示された別個のデータファイルに記憶される。狭義で、命令":="は上記の第２の命令セットからの命令であり、これらの命令を介してArry Elementとvalueとの割り当てが実現される。広義で、命令"Array Elemente=:=value"は第２の命令セットからの命令である。
【００３８】
開始マークアップ命令３０６と終了マークアップ命令３０８との間のコンテンツによって、プログラマはさらに、別個のデータファイル（図５参照）に規定されたどの値を、命令３０６と３０８にしたがい生成すべきテンプレートに取り入れるべきかを設定することができる。ここでプログラマは自分が熟知するタグ、例えば<TR>または<TD>を使用することができる。したがってプログラマは、テンプレートプログラミングの基礎となるパラダイムに習熟する必要はなく、命令を介して定義されたテンプレートをソースコード３００に取り入れることができる。
【００３９】
図４は、ソースコード３００から生成された目標コード４００のテキスト表示である。ここでは中間ステップでテーブルが生成される。本来の目標コード４００は表示することができない。なぜなら目標コードは、機械で直接実行可能であるのでバイナリーの形態で存在するからである。目標コード４００では、実質的に開始マークアップ命令３０２、３０６と終了マークアップ命令３０４、３０８（図３参照）が、これらにより囲まれたコンテンツも含めてテンプレート４０２と４０４により置換される。ここで開始マークアップ命令３０２、３０６と終了マークアップ命令３０４と３０８は、相応のテンプレートを生成するためのソースコード３００を構文解析する際に命令<TEMPLATE ..>ないし</TEMPLATE>により置換され、マークアップ命令間のコンテンツは実質的に命令<TEMPLATE ..>と</TEMPLATE>の間にコピーされる。
【００４０】
図５はデータファイルをテキスト形式で示す。データファイルにはテンプレートの変数構造に対する値５０２、５０４が規定されている。値５０２は、上記の名称「Array」のテンプレートに記載された変数「value」に関するものであり、１０，２０，３０，４０，５０により特定されている。値５０４は、上記のテンプレート「StructArray」で使用される変数"X"と"Y"に関するものであり、それぞれ(X=0, Y=0) , (X=1, Y=1), (X=2, Y=4), (X=3, Y=9), (X=4, Y=16)により特定されている。
【００４１】
図６は、ブラウザによる目標コード４００の出力６００を示す（図４参照）。ここでは、開始マークアップ命令３０２と終了マークアップ命令３０４（図３参照）を介して生成されたテンプレートが出力６００の領域６０２に、データファイル５００に特定された変数"value"とともに表示されている。相応にして、開始マークアップ命令３０６と終了マークアップ命令３０８を介して生成されたテーブルが出力６００の領域６０４に、変数"X"と"Y"に対してデータファイル５００に規定された値とともに表示されている。したがって結果的に、ソースコード３００によってテンプレートに、ソースコード３００の基礎となるマークアップ言語で書かれた命令だけを介してブラウザにより表示可能な目標コードを生成することができ、テンプレートを直接プログラミングする必要はない。
【図１】
2010514021.tif 000003
【図２】
2010514021.tif 000004
【図３】
2010514021.tif 000005
【図４】
2010514021.tif 000006
【図４Ａ】
2010514021.tif 000007
【図４Ｂ】
2010514021.tif 000008
【図５】
2010514021.tif 000009
【図６】
2010514021.tif 000010
【国際調査報告】
2010514021.tif 000011
2010514021.tif 000012
2010514021.tif 000013
2010514021.tif 000014
2010514021.tif 000015
2010514021.tif 000016