【誤訳訂正書】
【提出日】平成18年2月16日(2006.2.16)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【書類名】      明細書
【発明の名称】
アプリケーションの実施を教示するための、ウェブ・ベースのコンピュータ・システム
【特許請求の範囲】
【請求項１】
ユーザにアプリケーションの実施を教示するための、ウェブ・ベースのコンピュータ・システムであって、
１つまたは複数の事前定義された対話型アプリケーションであって、事前定義された対話型アプリケーションが、前記ウェブ・ベースのコンピュータ・システムのユーザによって選択的に実行可能である、前記対話型アプリケーションと、
１つまたは複数の注釈を含む注釈ページであって、前記注釈ページが事前定義された対話型アプリケーションを注釈内で説明する、前記注釈ページと
を含み、
前記注釈ページが、
１つまたは複数のリンクと、
前記アプリケーションの実施の詳細と、
前記アプリケーションにおいて使用されるコードの説明と
を含み、
事前定義された対話型アプリケーションの選択的実行に応答して、前記注釈ページ内に異なる注釈が自動的に提供される、
システム。
【請求項２】
前記ユーザが、事前定義された対話型アプリケーションに関連付けられたソース・コードにアクセスすることができるユーティリティをさらに含む、請求項１に記載のシステム。
【請求項３】
前記ユーティリティが、事前定義された対話型アプリケーションのソース・コードを前記ユーザに表示またはコピーすることを可能にする、請求項２に記載のシステム。
【請求項４】
前記アプリケーションの実施の詳細が、前記アプリケーションを説明するテキスト、前記アプリケーションに関連付けられたソース・コードのフラグメント、またはこれらの両方を含む、請求項１に記載のシステム。
【請求項５】
リンクが、前記ユーザに参考文書の本文へのアクセスを提供するキーワード・リンク又は前記ユーザに前記注釈ページと別の注釈ページへのアクセスを提供する注釈リンクを含む、請求項１に記載のシステム。
【請求項６】
前記注釈を表示する内容フレームと、
ナビゲーション・バーを表示するフレームワーク・アプレットと、
リンクの目次階層を表示する目次フレームと
を有するフレームワークを含むウェブ・ブラウザ・ウィンドウをさらに含む、請求項１に記載のシステム。
【請求項７】
前記フレームワーク・アプレットがJava（商標）アプレットを含む、請求項６に記載のシステム。
【請求項８】
JavaScriptが、
前記ウェブ・ブラウザ・ウィンドウにフレームワークが提示されているかどうかを自動的に判断し、前記フレームワークが提示されている場合、前記フレームワーク・アプレットに前記フレームワーク内の内容に関して通知する、請求項６に記載のシステム。
【請求項９】
前記目次が、前記フレームワーク内の内容に基づいて前記階層内のリンクを自動的に強調表示する、請求項８に記載のシステム。
【請求項１０】
前記ユーザが、前記目次階層のリンクを選択することによって、注釈ページにアクセスする、請求項９に記載のシステム。
【請求項１１】
前記ユーザが、前記ナビゲーション・バーと対話することによって、注釈ページにアクセスする、請求項９に記載のシステム。
【請求項１２】
前記目次が、内容フレームに表示された注釈ページに基づいて前記階層を強調表示する、請求項９に記載のシステム。
【請求項１３】
前記目次が除去可能またはサイズ変更可能である、請求項６に記載のシステム。
【請求項１４】
ユーザにアプリケーションの実施を教示するための、ウェブ・ベースのコンピュータ・システムであって、
注釈を表示する内容フレーム、ナビゲーション・バーを表示するフレームワーク・アプレット及び前記内容フレーム内の内容に関するリンクのグローバル目次階層を表示する目次フレームを含むウェブ・ブラウザ・ウィンドウと、
前記内容フレームに表示される１つまたは複数の注釈であって、前記注釈の夫々が、事前定義された対話型アプリケーションを説明し且つ他の内容へのリンクを含む、前記１つまたは複数の注釈と、
前記表示された注釈のローカル内容に関するリンクのローカル目次階層を表示する目次のウィンドウと
を含む、請求項１に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本願は、ウェブ(Web)・ベースの文書化および説明に関する。
【０００２】
本願は、米国仮特許第60/172,134号明細書および米国特許第08/888,925号明細書の特典を請求するものであり、これらの開示の全体を参照により本明細書に組み込む。
【従来の技術】
【０００３】
図１に示すような典型的なコンピュータ・システムは、中央演算処理装置１０５と、入出力装置１１０と、例えばオペレーティング・システム１２０および１つまたは複数のアプリケーション・プログラム１２５などの、コンピュータ１００によって使用される様々なプログラムを含んでいるメモリ１１５とを有するコンピュータ１００を含む。コンピュータ・システムのエンド・ユーザは、情報を入出力装置１１０を介してコンピュータ１００に転送する様々な入力装置（キーボード１３０、マウス１３５）によってコンピュータ１００と対話する。コンピュータ１００は、この入力されたデータに対して、特に、例えば表示モニター１４０の画面上に適切なテキストおよび画像を表示することによるなどのエンド・ユーザへの応答出力を提供する方法によって応答する。
【０００４】
オペレーティング・システム１２０は、グラフィカル・ユーザ・インターフェース（GUI）を含むことができる。このGUIによって、オペレーティング・システムおよび実行中の可能性を有するいかなるアプリケーション（例えば、ワードプロセッシング・プログラム）でも、そのコンピュータ・システムのユーザと対話することができる。一般に使用されるGUI実施態様は、モニター画面を仮想デスクトップに見立てたデスクトップ・メタフォーを使用する。デスクトップは、基本的に、１つまたは複数の表示領域を含む、様々なグラフィック・オブジェクトをサポートする２次元作業テンプレート領域である。図２に示すように、アプリケーション・プログラムまたはオペレーティング・システムによって生成された情報は、表示領域２０５（例えば、ウィンドウ、ダイアログ・ボックス、ポップアップ・メニュー、プルダウン・メニュー、ドロップダウン・リスト、アイコン）の範囲内でデスクトップ２００上に表示することができる。ユーザは、表示領域内で適切にカーソル２１０を操作することによって、また、キーボードまたは他の入力装置を用いて情報を入力することによって、オペレーティング・システム、および実行中の可能性のあるいかなるアプリケーションとでも対話することができる。
【０００５】
コンピュータ１００は、通信リンク１５５（例えば、電話回線）を介してネットワーク１５０とデータを交換するためのある種の通信カードまたは装置１４５（例えば、モデムまたはネットワーク・アダプタ）も含む。ネットワーク１５０は、例えば、ローカル・エリア・ネットワーク（LAN）、イントラネット、またはインターネットであってよい。サービス・プロバイダはネットワークへのアクセスを提供するが、さらに、ネットワークに関連付けられた様々なユーティリティまたはサービス（電子メールなど）を提供することもできる。サービス・プロバイダの例には、AT&T WorldNetなどのインターネット・サービス・プロバイダ(ISP)またはアメリカ・オンライン（America Online）およびコンピュサーブ（CompuServe）などのオンライン・サービス・プロバイダ(OSP)が含まれる。
【０００６】
開発者は、アプリケーション・プログラムを実施するために、プログラミングの概念を知る必要がある。したがって、アプリケーションの実施態様の説明（アプリケーションの操作の説明だけでなく）が役立つだろう。
【０００７】
多くのコンピュータ・アプリケーションは、アプリケーションの使用を支援するオンライン・ヘルプ／文書化機能を提供する。図３に示すような典型的なオンライン・ヘルプ・システムはGUIによってアクセスされるが、ここでは、ヘルプ・ウィンドウ３００内でユーザに対してテキスト情報およびグラフィック情報の画面が表示される。次いでユーザは、アプリケーションとその様々な機能のより良い理解を得るためにヘルプ・テキストの画面を読むことができる。
【０００８】
ユーザは、キー・シーケンスによって（例えば、キーボードのＦ１キーを押し下げること）、または適切なグラフィック・アイコンまたはメニュー項目上でマウスをクリックすることによって、ヘルプ・システムを呼び出す。それに応答して、ヘルプ・システムは、ユーザが要望通りにアクセスし表示することができる使用可能なヘルプ・トピックスおよびサブトピックスを列挙する目次３０５を表示することができる。ユーザは、目次３０５全体を参照し、関心のあるヘルプ・トピックをクリックして、対応する情報の本文をヘルプ・ウィンドウの中に表示させることができる。図３に示すヘルプ・ウィンドウ３００で、ユーザは、対応するヘルプ画面３１５を図４に示すウィンドウ３００に表示させるように既に「マイクロソフト・ワードでプログラムする（Programming with Microsoft Word）」を選択済みである。
【０００９】
図４に示す「マイクロソフト・ワードでプログラムする（Programming with Microsoft Word）」トピック３１０は、別個の「リンク」によって示される複数のサブトピック３２０を含む。ユーザがそれらのリンクの１つ、例えば「エラー・メッセージ（Error Messages）」リンク３２５の上でマウスをクリックすると、図５に示すように、対応するヘルプ・トピックのテキストがヘルプ・ウィンドウ３００に自動的に表示される。この実施例では、「エラー・メッセージ（Error Messages）」トピック３３０は、特定種類のエラー・メッセージに関するさらなるサブトピックへの複数のリンクを含む。図６に示すように、ユーザがそれらリンクのうちの１つ、例えば「メモリ不足（スタックスペース）（Out of memory（stack space））」リンク３３５をクリックすると、その選択されたトピックに関する対応するヘルプ情報（「メモリを解放する（Freeing up memory）」）を表示するために新しいヘルプ・ウィンドウ３４０が作成される。ウィンドウ３４０に表示されたヘルプ情報は、別のサブトピック「アクティブ・ウィンドウ（active window）」へのさらに別のリンク３４５を含むが、これは、ユーザがそれをクリックすると、対応するヘルプ・テキストをポップアップ・ダイアログ・ボックス３５０内に表示させる。ほぼすべてのレベルのそのようなネストされたヘルプ表示が可能である。ヘルプ情報を表示するために使用される表示領域（ウィンドウ、ダイアログ・ボックスなど）の量および種類は、主としてヘルプ・システム開発者の好みに基づく設計上の選択の問題である。
【００１０】
ヘルプ・システムは「文脈に依存した」ヘルプ情報を提供することができる。すなわち、そのヘルプ・システムが、すべての入手可能なヘルプ・トピックスを単純に表示して、適切なヘルプ・トピックをユーザが手動で識別して読み出すように強いるのではなく、アプリケーションの現行タスクに特に関係したヘルプ情報を自動的に表示するということである。文脈に依存したヘルプ・システムは、アプリケーションの現行状況（例えば、ユーザによって呼び出された特定の関数）および現在のカーソル位置などの要因に基づいて、どのヘルプ情報を表示するかを決定する。
【００１１】
大部分のオンライン・ヘルプ・システムによって提供される情報は、アプリケーションの使用機能の機構に関する。図７では、例えば、選択されたヘルプ・トピック４０５「印刷をキャンセル（Cancel printing）」に対応するテキスト４００は、アプリケーション４１０（マイクロソフト（商標）ワード(Microsoft（商標）Word)）によって提供される印刷機能をどのように制御するかを説明している。
【００１２】
ヘルプ・システムは、所望の目的を達成するためにアプリケーションをどのように活用するかに関する価値ある情報を提供することもできる。図８では、例えば、オンライン・ヘルプ・システムは、ワードベーシック(WordBasic）プログラミング言語用の参考資料５００と、ワードベーシック(WordBasic）を使用して有用なプログラムを作成するための方法に関する実践的な説明５０５の二種類の価値ある情報を提供する。参考資料５００は、AddAddlnステートメントなどの様々なワードベーシック(WordBasic）ステートメントの構文規則および意味を説明するテキスト注釈を含むが、それに関するヘルプ・テキストを図９に示す。実践的な説明５０５は、ワードベーシック(WordBasic）プログラミング言語をより良く理解するためにユーザが学ぶことのできるプログラム・コードの静的な例を含むことができる。図１０に、GetCurValuesWordBasicステートメントを使用するプログラム・コードの一例を示す。
【００１３】
【発明が解決しようとする課題】
オンライン・ヘルプ・システムは、通常、テクニカル・ライターによって既に作成済みのヘルプ情報を含んでいる複数の異なるヘルプ・ソース・コード・ファイルをコンパイルすることによって「構築」される（すなわち、ランタイム操作を容易にする形式で処理される）。一般に、これらのヘルプ・ソース・コード・ファイルは、ヘルプ・システムが対応するアプリケーションとは別の情報の別個の本文として保存される。したがって、アプリケーション開発者がアプリケーションの機能性を変更または更新するとき、テクニカル・ライターは、オンライン・ヘルプ・システムがそのアプリケーションの動作を正確に説明することを保障するために、ヘルプ・ソース・コード・ファイルに対して対応する変更または更新を行う必要がある。しかし、一般に、オンライン・ヘルプ・システムは、アプリケーションの実施を説明できていない。
【００１４】
ヘルプ・システムは「ブラウザ」を使用してネットワーク環境で実施することができ、このブラウザは、ユーザがネットワーク環境で保管されている電子内容にアクセスし、これを表示させることを可能にする。ブラウザは、通常、ハイパーテキスト・マークアップ言語（HTML）で記述された文書を表示するために使用され、インターネットなどのネットワークに接続されたサーバ上に保管される。図１１は、典型的なHTML文書またはウェブ・ページ６０５を表示するブラウザ・アプリケーション６００（この場合はインターネット・エクスプローラ）の画面の一場面である。ユーザは、所望の文書が常駐するネットワーク・アドレス６１０、すなわちユニフォーム・リソース・ロケータ（ＵＲＬ）を指定することによってウェブ・ページ６０５にアクセスするようブラウザ６００に指示する。それに応答して、ブラウザ６００は、要求されたウェブ・ページをホストする対応するサーバに接触し、そのウェブ・ページを構成する１つまたは複数のファイルを取り出し、次いでコンピュータのディスプレイ１４０にそのウェブ・ページを表示する。
【００１５】
１つのウェブ・ページは、潜在的にデータ・タイプの異なる複数の異なるファイル（例えば、テキスト６１５、イメージ６２０、仮想世界、音声、またはムービー）から構成されることができる。さらに、ウェブ・ページは、ネットワーク上で使用可能な別の資源（例えば、ウェブ・ページ、個別ファイル、またはダウンロード可能なファイル）へのリンク６２５またはポインタを含むことができる。各リンクは、ネットワーク上の位置を指す、関連付けられたＵＲＬを有している。表示されたリンクをユーザがクリックするか、または別の手段で選択すると、ブラウザは、そのリンクの関連付けられたＵＲＬに対応するウェブ・ページまたは他の資源を取り出し、それをユーザに対して表示または実行する。
【００１６】
【課題を解決するための手段】
図１２を参照すると、ウェブ・ページ６０５は、内容７００の他に、そのウェブ・ページに関連付けられたすべてのリンクを通してユーザがナビゲートするのに役だつサイト・ガイド７０５を提供することができる。サイト・ガイド７０５は目次に類似したもので、通常はツリー構造に似ている。同様に、ウェブ・ページ６０５は、そのウェブ・ページに関連付けられたリンク内にある特定のキーワードをユーザが検索することを可能にする検索機能７１０を含むことができる。このウェブ・ページは、すべての内容およびリンクにそこからアクセスすることができるメインウェブ・ページにユーザを引き戻す「ホーム」リンク７１５を提供することができる。このウェブ・ページは、アクセスされたときに別のウェブ・ページまたはコンピュータからユーザのコンピュータにファイルを送信するダウンロード・リンク７２０を提供することができる。
【００１７】
【発明の実施の形態】
本発明の一態様によれば、コンピュータ・システムのウェブ・ベース環境で実行される方法は、ユーザにアプリケーションの実施の仕方を教示する。この方法は、所定のアプリケーションを提供することと、所定のアプリケーションのソース・コード・ファイルを説明する１つまたは複数の注釈を含む注釈ページを提示することを含む。各注釈は、そのアプリケーションのキーワード・リンク、注釈リンク、および実施の詳細を含む。方法は、ユーザが注釈内のリンクを選択できるようにする。ユーザがキーワード・リンクを選択した場合、そのキーワードに関連付けられた参考文書が提示される。ユーザが注釈リンクを選択した場合、所定アプリケーションの別のソース・コード・ファイルを説明する別の注釈が提示される。
【００１８】
実施形態は、１つまたは複数の以下の機能を含むことができる。例えば、所定アプリケーションを実行することができ、実行されたアプリケーションを説明する１つまたは複数の注釈を所定アプリケーションの実行と連携して提示することができる。所定アプリケーションを実行することは、ユーザからの入力を受け取ることを含むことができる。ユーザからの入力に基づいて、所定アプリケーションの実行と連携して別の注釈ページを提示することができる。
【００１９】
別の注釈ページを提示することは、詳細が表示されるべきプログラム・ユニットのアプリケーション、ファイル、クラスおよび関数の名称を含む注釈要求モジュールを自動的かつ同時に呼び出すことを含むことができる。別の注釈ページを提示することは、その要求を注釈にマッピングすること、ウェブ・ベース環境のブラウザ・ウィンドウに別の注釈ページを表示するよう伝達することも含む。
【００２０】
所定アプリケーションの実行と連携して別の注釈ページを提示することができる。注釈ページを含むウェブ・ページの構造化リンクを構文解析することによって、注釈へのリンクを含むグローバル目次が自動的に生成される。グローバル目次内のリンクの生成は、現行の注釈ページに対応するリンクを強調表示することによって注釈の提示と同期することができる。グローバル目次は第１のブラウザ・ウィンドウの第１のフレーム内に提示することができ、注釈ページは第１のブラウザ・ウィンドウの第２のフレーム内に提示することができ、所定アプリケーションは第２のブラウザ・ウィンドウ内で実行することができる。
【００２１】
所定アプリケーションを実行することは、Java（商標）アプレットまたはアプリケーションを起動することを含むことができ、これは、ウェブ・ブラウザに注釈ページを表示するよう要求するためにJava（商標）アプリケーション・プログラム・インターフェースを呼び出すことを含むことができる。所定アプリケーションを実行することは、Java（商標）アプレットを含んでいるハイパーテキスト・マークアップ言語のページをダウンロードすることを含むことができる。
【００２２】
所定アプリケーションを実行することは、共通ゲートウェイ・インターフェース要求をウェブ・サーバに送信することを含むことができる。このウェブ・サーバは、ウェブ・ベース環境のウィンドウでアプリケーションを起動する。アプリケーションは、ウェブ・ブラウザに１つまたは複数の注釈を表示するよう要求するJavaScriptを含むハイパーテキスト・マークアップ言語のページを戻すことができる。
【００２３】
注釈ページを第１のブラウザ・ウィンドウに提示することができ、所定アプリケーションを第２のブラウザ・ウィンドウで実行することができる。アプリケーションの実施の詳細は、そのアプリケーションを記述しているテキスト、そのアプリケーションからのソース・コードのフラグメント、またはこれらの両方を含むことができる。ソース・コードのフラグメントは、提示されたアプリケーションのソース・コード・ファイルから直接的にインポートされることができる。
【００２４】
注釈ページを自動的に生成することができる。この生成には、説明がマークアップされたテキストを既に埋め込んであるソース・コード・ファイルを受け取ることが含まれる。さらに、所定アプリケーションの構造を決定するためにソース・コードを構文解析することができ、所定アプリケーションの構造および説明に基づいて１つまたは複数の注釈を生成することができる。注釈ページの生成は、所定アプリケーションの注釈をナビゲートするための１つまたは複数の注釈リンクを生成することを含むことができる。さらに、埋め込まれた情報に基づいてアプリケーションの実施の詳細を生成することができ、参考文書に対して１つまたは複数のキーワード・リンクを生成することができる。注釈ページを生成することは、注釈ページのキーワード・リンクおよび注釈リンクを強調表示することを含むことができる。更新されたソース・コード・ファイルを受け取ったときに、注釈ページを自動的に更新することができる。
【００２５】
注釈リンクに対する１つまたは複数の注釈を構文解析することによって、グローバル目次を自動的に生成することができる。このグローバル目次は、提供されることができ、注釈へのリンクを含むことができる。別法として、グローバル目次は、生成されることができ、アプリケーションに対する注釈ページを含めてウェブ・ページへのリンクを含むことができる。グローバル目次内のローカル・リンクが選択されたときは、ローカル目次を提供することができる。
【００２６】
提示された注釈ページは実行されるアプリケーションを記述することができ、その注釈ページは、所定アプリケーションの実行と連携して提示されることができる。
【００２７】
注釈マークアップを除去し、アプリケーションのソース・コードは含むが注釈からのテキストは含まないソース・コード・ファイルを生成することができる。除去済みのソース・コード・ファイルを提示することができ、その除去済みのソース・コード・ファイルをユーザが編集することを可能にすることができる。
【００２８】
本発明の別の態様によれば、コンピュータ・システムのウェブ・ベース環境で実行される、ユーザにアプリケーションを実施することを教示する方法は、所定の複数アプリケーションを提供することを含む。所定アプリケーションが実行され、その実行されたアプリケーションを記述する注釈ページを、所定アプリケーションの実行と連携して提示することができる。注釈ページは、アプリケーションの実施の詳細と、注釈および参考文書へのリンクを含む。
【００２９】
本発明の別の態様によれば、コンピュータ・システムのウェブ・ベース環境で実行される、ユーザにアプリケーションを実施することを教示する方法は、その環境内における内容に基づいてグローバル目次を自動的にアセンブルし、提供することを含む。グローバル目次は、環境内の内容への複数のリンクを含む。ローカル・トピック内でユーザを方向付ける内容へのリンクを含むローカル目次が生成される。ユーザは、ローカル・トピックスにアクセスするために、ローカル目次からリンクを選択することが許可される。
【００３０】
本発明のさらなる態様によれば、コンピュータ・システムのウェブ・ベース環境で実行される、ユーザにアプリケーションを実施することを教示する方法は、複数の事前定義された対話型の例示を提供することを含む。１つまたは複数の事前定義された対話型の例示は、ユーザ選択に応答して実行され、その実行されている対話型の例示を記述する１つまたは複数の注釈は、事前定義された対話型の例示の実施と連携して提示される。ユーザは、実行されている対話型の例示、注釈、またはその両方の異なる態様を選択的に探索することができる。
【００３１】
本発明の別の態様によれば、ユーザにアプリケーションを実施することを教示するウェブ・ベースのコンピュータ・システムは、１つまたは複数の事前定義された対話型アプリケーションと、１つまたは複数の注釈を含む注釈ページとを含む。事前定義された対話型アプリケーションは、ウェブ・ベースのコンピュータ・システムのユーザによって選択的に実行可能である。注釈ページは、事前定義された対話型アプリケーションを説明する。注釈ページは、１つまたは複数のリンクと、アプリケーションの実施の詳細とも含む。事前定義された対話型アプリケーションの選択的な実行に応答して、異なる注釈が注釈ページに自動的に提供される。
【００３２】
本発明のさらなる態様によれば、ユーザにアプリケーションを実施することを教示するウェブ・ベースのコンピュータ・システムは、内容フレーム、フレームワーク・アプレット、および内容フレームの内容に関するリンクのグローバル目次の階層を表示する目次フレームを含むウェブ・ブラウザ・ウィンドウを含む。システムは、内容フレーム内に表示された１つまたは複数の注釈も含み、そこで、各注釈は、事前定義された対話型アプリケーションを説明し、別の内容へのリンクを含む。このシステムは、表示された注釈においてローカル内容に関するリンクのローカル目次の階層を表示する目次ウィンドウを含む。
【００３３】
１つまたは複数の実施形態の詳細を、添付の図面と以下の説明で述べる。この他の機能、目的、および利点は、説明、図面、および特許請求の範囲から明らかになろう。
【００３４】
従来のオンライン・ヘルプ・システムによって提供されるヘルプ情報は、ユーザがアプリケーション・プログラムを効果的に活用することを支援する上で有用であることは既に証明済みである。しかし、これらの従来のオンライン・ヘルプ・システムは、基本的に静的テキストまたはグラフィック情報を提供することに限定されているので、それらの有効性は大幅に低下する。従来のオンライン・ヘルプ・システムのユーザは、ヘルプ・システムによって提供されるテキスト情報およびグラフィック情報を読み、注意深くこれを検討し、次いでその教示を解決すべき問題点に適用することによって解決を得る。その結果、少しでも複雑なアプリケーションを使用することを学ぶことは、しばしば面倒で時間のかかるプロセスである。
【００３５】
NewEra（商標）byExampleとして知られているInformix（商標）Software社によって開発されたオンライン・ヘルプおよび指示システムは、ユーザが情報を吸収し、新しいアプリケーションの使用法を学習することのできる容易さを劇的に強化する。NewEra（商標）byExampleは、Windows（商標）95/NTオペレーティング・システム下で実行するNewEra（商標）に関するオンライン文書化機能であり、Informix（商標）Software社製のオブジェクト指向アプリケーション開発環境である。NewEra（商標）byExampleのそれ自体の使用法および操作に関するオンライン説明を付録Ａとして添付する。
【００３６】
NewEra（商標）byExample（またはより一般的には、NewEra（商標）、VisualBasic（商標）およびJava（商標）開発環境に提供されている例示ベースの説明システムをカバーするInformix（商標）byExample）は、所要のタスクをどのように達成するかを実例で示す、動的で対話型の例示がユーザに提供される「例示によるドキュメンテーション」と称されるより一般的な概念の特定の実施である。例示の様々な態様を説明する注釈は、実行中の例示に付随する。例示によるドキュメンテーションは、一部には、ユーザが、単にトピックに関して読むことによるだけでなく、何かを実行する（例えば、ある活動に参加して、その結果を監視したり、その結果に影響を与えたりする）ことによって最もよく学ぶという前提に基づいている。
【００３７】
図１３の流れ図に示すように、Informix（商標）byExampleのユーザは、様々な異なるトピックから選択すること（ステップ８００）、それに対するヘルプが探索されるアプリケーションがアクティブに維持されている間に例示を実行すること（ステップ８０５）、例示を実行中に同時に、またはその例示とは関係なく、例示に関して読むこと（ステップ８１０）、異なるエディタ・ユーティリティで例示のソース・コードを検査すること（ステップ８１５）、およびユーザが例示を理解するのに役立つオンライン・バックグラウンド参考資料にアクセスすること（ステップ８２０）を含む情報を獲得するためのいくつかの異なるオプションを有し、これらはすべてヘルプ環境を離れずに行われる。ステップ８１５では、例示のためのソース・コードを、新しいアプリケーションを作成する際にNewEra（商標）開発環境でテンプレートとして使用するために、カット・アンド・ペーストすることができるサンプル・プログラムとして使用することができる。さらに、Informix（商標）byExampleは、試行、例えば、例示またはそれらのパラメータを選択的に変更し、かつその変更が例示の結果にどのように影響を与えるかを監視することによってユーザが学ぶことを可能にする。
【００３８】
Informix（商標）byExampleの特定の機能を、Informix（商標）byExampleアプリケーションからとられた例示的画面の一場面である図１４〜２９を参照して詳述する。
【００３９】
ユーザが最初にInformix（商標）byExampleを起動するとき、図１４に示すデフォルト画面構成が表示される。この初期画面には、現行トピック９０２下でユーザに対して現在使用可能なサブトピックを示すリスト（または「目次」）ウィンドウ９００と、リスト・ウィンドウ９００から選択されたトピックまたはサブトピックに対応するヘルプ情報を表示するテキスト・ウィンドウ９０４との２つの別個の表示ウィンドウが含まれる。リスト・ウィンドウ９００に表示された８個のサブトピック９０６の様々なサブトピックをユーザがクリックするとき、テキスト・ウィンドウ９０４内の情報は、選択されたサブトピック９０６に対応するように自動的に更新される。ユーザは、必要に応じて、前進（「＞＞」）ボタン９０８または後退（「＜＜」）ボタン９１０をクリックすることによって現行トピック内の異なるページに移動することができる。
【００４０】
図１４の例示では、リスト・ウィンドウ９００に示されるサブトピックは、トピック「NewEra（商標）byExample導入トピック(Introductory Topics)」に関係する。別のヘルプ・トピックに切替え、それによって、オンライン・ヘルプ資料の異なるサブセットを使用可能にするために、ユーザは、図１５に示すように、９つの異なるヘルプ・トピックのリスト９１６を含む「ヘルプ・トピック(Help Topics)」メニュー９１４を含んでいるウィンドウを提示する「ヘルプ・トピック」ボタン９１２をクリックする。Informix（商標）byExampleアプリケーションのどのポイントにおいても、ユーザは、「ヘルプ・トピック」メニュー９１４を提示させ、所望のトピックをクリックすることによって、オンライン・ヘルプ・システムの別の任意の部分にジャンプすることができる。ユーザは、適切な回数だけ「戻る（Back）」ボタン９１６を押し下げることによって前のトピックに戻ることができる。
【００４１】
図１５のリスト９１６内のヘルプ・トピックのそれぞれは、複数レベルのサブトピックの階層を開示するために拡張することができる。ユーザが例えばトピック９１８（「NewEra（商標）byExample」）をクリックすると、そのトピックは、図１６に示すサブトピックの２つの付加的なレベルを開示するために拡張する。２つの付加的なレベルとはすなわち、サブトピック「導入（Introduction）」「一般的なNewEra（商標）プログラミング技術（Common NewEraProgramming Techniques）」および「例（The Examples）」を含む第１のレベル９２０と、４３個の対話型の例示を含む「例（The Examples）」サブトピック下の第２のレベル９２２である。
【００４２】
ユーザが例示、例えば「許可及び不許可ボタン（Enablingand Disabling Buttons）」の例示９２４をクリックすると、選択された例示に関連付けられた注釈セグメント９２６（「ボタン２の概観  例（Overview of Buttons2 Example）」「図解的オブジェクト要約（Graphical Object Summary）」「イベント・ハンドラ要約（Event Handler Summary）」「重要なイベント・ハンドラ（Important Event Handlers）」および「追加の機能及びバリエーション（Enhancement and Variations）」）を表示するためにリスト・ウィンドウ９００が図１７に示すように更新される。注釈セグメント９２６は、対応する例示を一括して説明し、例示のウィンドウ、そのグラフィック・オブジェクト、およびそのイベント・ハンドラの説明を含む。例示の散文説明に加え、注釈セグメントは、通常、検討中の例示のソース・コードから直接的にインポートされた特定の対象のソース・コード・フラグメントも含む。
【００４３】
図１７に示すように、注釈セグメントの１つ（「重要なイベント・ハンドラ（Important Evenet Handlers）」）は１３個のトピック９２８を含むが、これはボタン２（BUTTONS2）の例示で使用される主イベント・ハンドラのリストである。各イベント・ハンドラのトピック９２８は、ソース・コード・フラグメントと、トピックが対応するイベント・ハンドラを説明する散文説明を含む。例えば、ユーザがイベント・ハンドラ・トピック９３０をクリックすると、テキスト・ウィンドウ９０４は、図１８に示すように、対応するイベント・ハンドラ（nextBT::activate()）に関するソース・コード・フラグメント９３２をコードの操作を説明する注釈９３４と共に表示する。
【００４４】
テキスト・ウィンドウは、関係する情報への１つまたは複数のリンク、例えばバックグラウンド参考資料を含むことができ、このバックグラウンド参考資料は、付加的なバックグラウンド情報へのさらなるリンクを含むことができ、階層方式によってこれはさらに累々と続く。階層における各連続的なレベルは、例示に関する情報をさらに詳細に、かつさらに低レベルの抽象性で提供する。この方法でさらに詳細な文書に対するリンクの階層を提供することによって、Informix（商標）byExampleは、ユーザの経験と知識のレベルが様々であることに関係なく、すべてのユーザに対して文脈に合った情報を有用かつ有効な方法で提供する。ユーザは、ユーザのニーズとバックグラウンドに相応の理解のレベルに到達するまで、説明的情報の階層リンクを選択的に横断して降下することができる。この構成は、新人ユーザに対しては、詳細な説明情報への容易なアクセスを提供し、同時に、特定の点に関するヘルプを探している経験豊富なユーザを多量の不要な情報の中をナビゲートしなければならないことから保護する。
【００４５】
図１７に階層リンクの一例を示す。ここでは、テキスト・ウィンドウ９０４は、１つの関数はボタン２（BUTTONS2）の例示の関数のうちの１つであるMAIN()関数へのリンク９３６（緑色の下線を引いたテキストによって表示される）を含む。ユーザがMAIN()関数リンク９３６をクリックすると、図１９に示すようにテキスト・ウィンドウ９０４はその関数に対するソース・コード９４０を表示する。ソース・コード９４０は、キーワードおよびオブジェクトのクラスの説明を含むオンライン言語解説書などの関連情報へのさらなるリンクを含む。ユーザがそれらのリンクの１つ、例えばLETステートメントへのキーワード・リンク９４２をクリックすると、テキスト・ウィンドウ９０４は、図２０に示すように対応するオンライン言語解説項目を表示するように変わる。同様に、ユーザがオブジェクト・クラス・リンク９４４をクリックした場合、テキスト・ウィンドウ９０４はixSQLConnectクラスに関する情報を既に表示しているはずである。図２０では、ユーザは、例えば、テキスト・ウィンドウ９０４を図２１のように表示させるようにオブジェクト表現（Object Expression）ボックス９４６をクリックすることによって、さらなるバックグラウンド情報へのリンクに従うことができる。その後、または別法として、ユーザは、図２２に示すように、用語集目次ウィンドウ９５０および用語集テキスト・ウィンドウ９５２の一対のウィンドウ中にオンライン用語集を提示するために用語解説（Glossary）ボタン９４８をクリックすることができる。用語集目次ウィンドウ９５０の用語をクリックすることによって、その用語の定義が用語集テキスト・ウィンドウ９５２に表示される。
【００４６】
例示の注釈、そのソース・コード・フラグメント、対応する言語解説項目、用語集、またはそれらの組み合わせを検討した後、ユーザは、図１５に示すようにヘルプ・トピック（Help Topic）メニュー９１４を提示させる内容（Contents）ボタン９５４（または検索可能な索引形式の使用可能なヘルプ・トピックを提示する索引（Index）ボタン９５６）をクリックし、次いで図１５および１６に関連して説明した方法で所望のトピックをユーザが選択することによって、ヘルプ・システム内の任意の別の位置に選択的にジャンプすることができる。
【００４７】
図１９のLETステートメント・リンク９４２およびixSQLConnectクラス・リンク９４４などのキーワード・リンクおよびクラス名リンクは、それぞれに、可視的な固有の方法（例えば、キーワードには青色の上付きテキスト、クラス名には青色の下付きテキスト）で示され、その結果、容易に相互から区別することができ、また、図１７に示すようにMAIN()関数リンク９３６（緑色の下付きテキスト）などの他の種類のリンクからも容易に区別することができる。異なる種類のリンクに対して異なるスタイルを用いることによって、Informix（商標）byExampleは、使用可能なオンライン情報の性質および例示の異なる構成要素（注釈、ソース・コード・フラグメント、言語解説など）間の相互関係に関して直感的で有用な情報をユーザに提供する。ほぼ任意の数の異なるリンクの種類は、システム設計者の好みに応じて異なるスタイルで表示される場合がある。
【００４８】
例示の注釈に含まれるソース・コード・フラグメントのそれぞれに関して、ユーザは、例示のソース・コードを検査し、編集し、またはコピーするために、Informix（商標）byExampleから適切な編集ユーティリティを呼び出すことができる。これによって、ユーザは、ソース・コード・フラグメントが取り出されるさらに大きなプログラムに照らしてソース・コード・フラグメントを表示させることができる。
【００４９】
Informix（商標）byExampleは、２つの異なる種類のソース・コードに由来するソース・コード・フラグメントを含む。それらは、NewEra（商標）プログラミング言語のテキスト・プログラム・コード（4GLまたは4GHファイル接尾辞によって示される）と、開発中のアプリケーションのエンド・ユーザに対してGUIをどのように表示し、そのエンド・ユーザとどのようにインターフェースするかを定義するウィンドウ・インターフェース定義ファイル（接尾辞WIFを有するファイル）である。どちらか一方の種類のソース・コード・フラグメントを表示するために、ユーザは、コード・フラグメントの隣にあるショートカットの矢印、例えば図１７〜１９に示すショートカット矢印９５８および９６０のうちの１つをクリックする。Informix（商標）byExampleはこれに応答して、検討中のソース・コードの種類に対応するエディタを起動する。ユーザが、図１７および１９のショートカット矢印９５８などの4GHまたは4GLファイルの隣のショートカット矢印をクリックすると、Informix（商標）byExampleは、図２３に示すように、コード・フラグメントがそこから取り出されたソース・コード・ファイルを表示させるために、適切なエディタであるNewEra（商標）Codewrightを自動的に起動する。同様に、ユーザが、図１７および１８のショートカット矢印９６０などのWIFファイルの隣のショートカット矢印をクリックすると、Informix（商標）byExampleは、図２４に示すように、コード・フラグメントがそこから取り出されたWIFファイルを表示させるために、適切なエディタであるNewEra（商標）Window Painter3.0を自動的に起動する。
【００５０】
この方法で複数のエディタのうちから適切なエディタを選択的に起動することは、NewEra（商標）開発環境の標準的な編集動作を反映する。NewEra（商標）開発環境と、Informix（商標）byExample資料システムの両方とも、同じ方法で同じエディタを利用する。その結果、ユーザは、オンライン・ヘルプ・システム（すなわち、Informix（商標）byExample）との通常の対話によって、ヘルプを捜すアプリケーション（すなわち、NewEra（商標）開発環境）に精通する。
【００５１】
ユーザが例示に対するソース・コードの開発を完了すると、WIFファイルのビジュアル・オブジェクトまたは4GHまたは4GLファイル内のプログラム・ステートメントがユーザ自身のソース・コード・ファイルに入っているかどうかに関わらず、ユーザは、簡単にそのコードを検討したり、そのコードの一部をカット・アンド・ペーストしたりすることができる。別法として、ユーザは、「...として保存する（Save  As...）」操作を実行することができ、それによって、新しいファイル名でその例示に対するソース・コードを保存することができる。次いでユーザは、必要に応じて新しいファイルを編集し、または他の方法で操作することができる。この方法で、Informix（商標）byExampleによって提供された例示は、NewEra（商標）開発環境で新しいアプリケーションを開発する際に使用するためのテンプレートとしての機能を果たすことができる。
【００５２】
ユーザは、それらの動作方法を直接的に監視するためにInformix（商標）byExampleに提供された４３個の対話型の例示のどれかまたはすべてを実行することができる。例示は事前に構築されており、それらの対応するInformix（商標）byExample注釈から直接的に起動されることができる。これを実行するためには、ユーザは、まず図１６に示すヘルプ・トピック（Help Topics）ウィンドウ９１４から関心のある例示を選択し、対応する注釈がテキスト・ウィンドウに表示されると、そのテキスト・ウィンドウ上部付近に表示されている実行（Run）ボタンをクリックする。それに応答して、例示が実行され、また、ユーザから受け取った入力に基づいて、その例示がスタンドアロン・アプリケーションの場合は様々な画面をユーザに対して表示する。同時に、テキスト・ウィンドウは、ユーザによって現時点で実行中の例示の一部に関連する説明情報を表示させるために自動的に更新する。ユーザが実行中の例示で実行している各連続的な操作によって、ユーザに対して現在例示に何が起こっているかを説明する注釈の対応するセクションを表示することによって、対話型の例示の状況との同期を維持するために、テキスト・ウィンドウが同時に（またはほぼ同時に）更新される。ヘルプ表示を例示の現在の状態と調整することによって、ユーザの関心のある現行トピックに直接的に関連するタイムリーかつ有用な情報（例えば、その例示によって実行中の特定のソース・コード）が一貫してユーザに提供される。その結果、情報を理解し吸収するユーザの能力は劇的に高められる。Informix（商標）byExampleの例示の自動的に調整されたヘルプ表示を図２５〜２９に示す。
【００５３】
図２５は、ユーザがヘルプ・トピック（HelpTopics）メニューから「編集メニューを表示（Displaying an EditMenu）」の例示を選択したときに、表示される初期リスト・ウィンドウ９００およびテキスト・ウィンドウ９０４を示す。この例示を実行するために、ユーザは実行（Run）ボタン９６２をクリックする。この実行（Run）ボタン９６２は、図２６に示すように、編集ウィンドウの基礎を示す例示ウィンドウ９６４を生成する。同時に、テキスト・ウィンドウ９０４は、「編集ウィンドウを表示（Displaying an Edit Window）」の例示に対するMAIN（）関数に関する情報を表示するために更新される。
【００５４】
ユーザが例示ウィンドウ９６４内でGUI制御を選択的に操作すると、対応する方法でテキスト・ウィンドウ９０４に表示される情報が自動的に更新される。図２７では、ユーザは、テキスト・ウィンドウ９０４にedit1TB::focusln（）に関する情報を表示させるテキスト・ボックス９６６内を既にクリックしている。同様に、ユーザがテキスト・ボックス９６８をクリックすると、テキスト・ウィンドウ９０４は、図２８に示すようなedit2TB::focusln（）に関する情報を表示する。ユーザがチェックボックス（CheckBox）９７０をクリックすると、テキスト・ウィンドウ９０４は、図２９に示すようにnoneditCB::focusln（）に関する情報を表示する。
【００５５】
ユーザは、例示のソース・コードを変更するか、またはそのパラメータを修正し、それらの変更が例示にどのような影響を与えるかを監視することによって、例示を試行することができる。これを実行するために、ユーザは、所望のソース・コード・ファイルを編集し、事前定義された例示を乱さないように、編集したそのソース・コード・ファイルを別個の作業ディレクトリとして保存し、次いでNewEra（商標）開発環境に提供される機構を使用してその例示を再構築する。作成され、実行されることのできるそのような試行の数と種類は、ユーザの想像力によってのみ限定されるものである。
【００５６】
例示を実行する際の別のオプションも可能である。例えば、ユーザは、同時に注釈を表示させずに例示を実行することができる。さらに、NewEra（商標）に提供されたデバッガ（Debugger）は、例示を実行する前に例示のソース・コードに区切り点を設定するために使用することができ、それによって、ユーザには例示がどのように機能するかに関するさらなる洞察が与えられる。
【００５７】
Informix（商標）byExampleアーキテクチャの説明と、NewEra（商標）開発環境およびInformix（商標）byExampleアプリケーションが構築される方法を、図３０〜３２を参照して提供する。
【００５８】
Informix（商標）byExampleは、Windows（商標）95／NTオペレーティング・システムに提供されたオンライン・ヘルプ（OLH）機能を基礎としている。図３０に示すように、Informix（商標）byExampleアプリケーション１０００は、Informix（商標）byExampleに対して特に作成された資源、ならびにNewEra（商標）開発環境１００５に固有の資源を示す。Informix（商標）byExampleアプリケーション１０００に特有の構成要素は、対話型例示１００７、その例示に対するソース・コード１０１０、およびその例示を説明する注釈１０１５を含む。注釈１０１５は、例示のソース・コードの代表フラグメント１０２０、例示のソース・コードを表示させるための適切なエディタ（例えば、NewEra（商標）CodewrightまたはNewEra（商標）Window Painter）を起動するショートカット１０２５、対話型例示へのジャンプ１０３０、NewEra（商標）オンライン解説１０４０内に含まれる指定されたキーワードおよびクラス名の説明へのリンク１０３５を含む複数の異なる副構成要素を有する。
【００５９】
図３０に示すように、オンライン解説１０４０、コードライト・エディタ１０５０およびウィンドウ・ペインタ・エディタ１０５５は、アプリケーション・ビルダ１０６０、デバッガ１０６５およびＩＰＣ（Inter Process Communication）ライブラリ１０７０と共に、開発環境１００５の一部として存在し、したがってInformix（商標）byExampleアプリケーション１０００とは論理的に分離される。その結果、Informix（商標）byExampleアプリケーション１０００のユーザが、キーワードまたはクラス名へのリンク１０３５をクリックすることによって、またはソース・コードを表示させるためのショートカット１０２５をクリックすることによって、NewEra（商標）開発環境内に常駐する資源を要求すると、Informix（商標）byExample１０００は、要求された資源にアクセスするために、まずインターフェース・ダイナミック・リンク・ライブラリ（DLL）１０８０を介してNewEra（商標）開発環境１００５と対話する必要がある。インターフェースDLL１０８０は、Informix（商標）byExampleアプリケーション１０００に、開発環境の構成要素などの他のアプリケーションと対話することを可能にするルーチンのコンパイルされたライブラリである。Informix（商標）byExample１０００は、要求されたオンライン解説情報を表示するため、または適切なソース・コード・エディタを起動するために、ユーザによって行われた要求の性質に応じて適切なDLLルーチンを呼び出す。
【００６０】
より具体的には、Informix（商標）byExampleのユーザが、例示のソース・コード１０１０の位置へのショートカット１０２５をクリックすると、Informix（商標）byExampleアプリケーション１０００はDLL内の関数を呼び出すが、そのDLL内の関数は、IPCライブラリ１０７０内の関数を呼び出し、そのIPCライブラリ１０７０内の関数は適切なエディタを起動する。この関数呼び出し（後述する、Informix（商標）byExampleの構築中にソース・コード・フラグメントを処理することによって自動的に生成される）の一部として、Informix（商標）byExampleアプリケーション１０００は、起動されるべきエディタ（コードライト１０５０またはウィンドウ・ペインタ１０５５）を指定し、かつ例示のソース・コード１０１０が指定されたエディタによって開かれるべき行数を識別するパラメータを渡す。Informix（商標）byExampleのユーザがキーワードまたはクラス名へのリンク１０２５をクリックすると、Informix（商標）byExampleアプリケーション１０００はDLL内の関数を呼び出し、その関数は、Windows（商標） OLH機能を使用してオンライン解説１０４０内の対応する定義を表示させる。
【００６１】
インターフェースDLL１０８０によって提供される他の関数は、対話型例示１００７の実行を制御し、リスト・ウィンドウおよびテキスト・ウィンドウの表示が確実に対応を維持するように調整する。インターフェースDLL１０８０と、Informix（商標）byExampleアプリケーション１０００のランタイム動作に関するさらなる詳細を付録Ｂに記載する。
【００６２】
Informix（商標）byExample１０００とその構成要素（例えば、例示１００７、その例示のソース・コード１０１０および注釈１０１５）が生成される方法は、高度のコードの「保全性」を実現する。この保全性とは、アプリケーションを修正することができる効率および容易性の尺度である。高度のコード保全性は、対話型例示と、Informix（商標）byExampleの対応する注釈構成要素を生成するために使用されるすべての情報を、統合された論理エンティティ、すなわち対話型例示自体に対するソース・コードに埋め込むことによって達成される。その結果、情報の唯一の中央ソースだけを維持すればよい。その中央情報に対してなされたいかなる変更または更新も、例示と、その例示に関する資料／説明／ヘルプ機能（Informix（商標）byExample）の両方に自動的に埋め込まれることになる。この自動化された構築手順により、例示と、対応するInformix（商標）byExampleの注釈は、基礎をなすソース・コードに行われた修正の数および回数に関わらず同期して維持されることが保証される。
【００６３】
図３１に示すように、NewEra（商標）byExampleのソース・コード１１００は、物理的には相互依存ファイルの集合で形成されているが、単一の論理エンティティとみなすことができる。ソース・コード１１００は、ソース・コード全体で混合されているプログラム説明１１０５、プログラム・コメント１１１０、および注釈１１１５の３つの基本的な種類のテキストを含んでいる。異なるテキストの種類は、プログラミングの慣例により、また、ソース・コード全体を通して様々な異なるマークアップ・シンボル１１２０を戦略的に配置することによって、相互に区別される。
【００６４】
ソース・コード１１００内のいくつかのテキストは、複数の目的に役立つことができる。例えば、ソース・コード１１００内のプログラム説明１１０５は、例示の２進数の実行可能ファイル１１２５内にコンパイルされる。これらのプログラム説明は、例示の実行中の適切なポイントで対応する注釈を表示するためのOLH機能を呼び出すことを含む。エンド・ユーザが例示を実行するとき、これらのOLH呼び出しは、その例示に現時点で何が起こっているかを自動的に説明するためにテキスト・ウィンドウに適切な注釈を表示させる。
【００６５】
それらの同じプログラム説明１１０５の部分は、また、その例示のソース・コードのクリーン・コピーとしての機能を果たすために抽出され、それは編集環境でユーザに対して表示することができる。同様に、プログラム・コメント１１１０としての機能を果たす説明テキスト（Informix（商標）byExampleプロジェクト開発者に方向付けた未処理のプログラミング説明）は、また、注釈１１１５（実行時にInformix（商標）byExampleのエンド・ユーザに表示されるプログラミング説明）としての機能を果たすことができる。
【００６６】
マークアップ・シンボル１１２０は、ソース・コード内の様々な種類のテキストを図で示し、対話型例示およびInformix（商標）byExample注釈が構築されるときにそれらがどのように扱われるべきかを指定する。図３２に、「通常の」シンボル１２００および１２０５の２つのインスタンス、「edit」シンボル１２１０および「file」シンボル１２１５を含むいくつかのマークアップ・シンボルを含むNewEra（商標）ソース・コードのサンプルを示す。これらのマークアップ・シンボルのそれぞれは、それぞれの引数と共に、それらがコメント・フィールド内に常駐しており、NewEra（商標）プログラム説明として扱われないことを示す一対の括弧（「｛...｝」）によってバインドされる。NewEra（商標）以外のプログラミング言語は、コメント・フィールドを図で示すために異なる規則を使用することができる。例えば、Java（商標）プログラミング言語では、コメント・フィールドの開始は「/*」シンボルによって示され、「*/」シンボルによって終了する。いずれにせよ、対応するプログラミング言語のコンパイラは、コメント・フィールドに常駐するよう示されたすべてのテキストを無視することになる。
【００６７】
「.normal」マークアップ・シンボルは、そのシンボル（例えば、シンボル１２００に続く「Since objects、...,」）に続くテキストは説明コメントとして扱われるべきであり、したがって、対応する対話型例示を実行中の適切なポイントで注釈テキストの一部としてテキスト・ウィンドウ内でエンド・ユーザに対して表示されるべきであることを示す。他のマークアップ・シンボルは、出力ファイル名、例示のソース・コードの代表フラグメントとしての機能を果たすべきソース・コードの一部、ジャンプおよびリンクのホットスポットおよび宛先、または表示特性およびオブジェクト（ウィンドウ、ポップアップ、ボタンなど）に関するGUI関連情報を指定する。マークアップ言語の詳細な説明を付録Ｃに記載する。
【００６８】
一旦ソース・コード１１００が所望通りに修正されると、このコードは、いくつかの異なるステップを通してInformix（商標）byExampleアプリケーションの対話型例示および説明的な内容を構築するために使用される。第１に、ソース・コード１１００は、PERLスクリプト（テキストを構文解析するためにしばしば使用される汎用インタープリタ型言語であるPractical Extraction and Report Language）およびWordBasicスクリプトの２つの異なるスクリプトによって処理される。スクリプト１１３０は、２つの基本的なタイプの出力を生成する。２つの基本的なタイプの出力とは、すなわち対話型例示に対するソース・コード・ファイル１１３５と、Informix（商標）byExampleアプリケーションの説明的かつ視覚的な内容（例えば、注釈、ソース・コード・フラグメント、ソース・コード・エディタへのショートカット、オンライン解説へのリンク、実行可能な例示へのジャンプ）を表現するRTFファイル１１４０（OLHコンパイラが要求するリッチ・テキスト・フォーマット）である。
【００６９】
PERLスクリプトは、マークアップ・シンボルを検索中のソース・コード１１００を構文解析し、遭遇した特定のマークアップ・シンボルに基づいていくつかのRTFファイル・フラグメントといくつかのソース・コード・ファイル１１３５とを作成するが、これらは、ソース・コード１１００全体の様々なサブセットを表現する。次いでWordBasic Scriptは、RTFファイル・フラグメントを完全なRTFファイル１１４０にマージし、これはInformix（商標）byExampleアプリケーションに対する説明的かつ視覚的な内容を含んでいるOLHファイル１１５０を作成するためにWindows（商標） OLHコンパイラ１１４５によって処理される。同時に、例示のソース・コード１１３５は、対話型例示１１２５に対応する実行可能な２進数を生成するために、NewEra（商標）コンパイラ１１５５によってコンパイルされる。
【００７０】
PERLスクリプトによって生成されたRTFファイル・フラグメントは、ソース・コード１１００内に表示される注釈１１１５の他にいくつかの異なる構成要素を含む。PERLスクリプトは、例示のために抽出されたソース・コードに表示されるキーワードまたはクラス名の各インスタンスを識別する。検出された各キーワードおよびクラス名に関して、PERLスクリプトは、オンライン参考資料内の対応する項目へのリンクをRTFファイル内に作成する。
【００７１】
PERLスクリプトは、また、説明的なコメントと共に表示されるテキストとしてRTFファイルに含むために、ソース・コードを表現するフラグメントも抽出する。ソース・コード・フラグメントは、先導し、また後に続く空白行によって図で示されるモノスペースのラップされていないテキストとしてフォーマットされ、説明的なコメントは比例的にスペースの与えられたラップ・テキスト（wrapped text）としてフォーマットされる。RTFファイルに含まれるソース・コード・フラグメントごとに、PERLスクリプトは、また、RTFファイル内に、対応するショートカット・ボタンを挿入する。このショートカット・ボタンによって、エンド・ユーザは、ソース・コード・エディタを起動し、フラグメントが開始する行でソース・コードを表示させることができる。PERLスクリプトは、また、その例示のために抽出されたソース・コードからすべてのマークアップ・シンボル１１２０を除去する。これにより、関連付けられたエディタで表示させるためのソース・コードのクリーン・バージョンがエンド・ユーザに提供される。
【００７２】
PERLスクリプトによって実行される他の関数は、注釈トピックに対する識別子が、対話型例示においてもWindows（商標） OLH機能に含まれるのと同じであることを自動的に保証することを含む。すなわち、PERLスクリプトは、Windows（商標） OLH機能のためのヘルプ・トピック識別子を読み込み、対応するNewEra（商標）定数を生成する。PERLスクリプトは、また、例示を構築するために使用されるNewEra（商標）メークファイル（アプリケーションを構築するためのコンピュータ可読命令を含むファイル）の修正されたバージョンも生成する。PERLスクリプトとその操作のさらなる詳細を付録Ｂに記載する。
【００７３】
上述のPERLおよびWordBasicスクリプトはNewEra（商標）プログラミング言語で書かれたソース・コードで動作するが、他の種類のソース・コード、例えばJava（商標）またはVisualBasic（商標）などを構文解析するために異なるスクリプトを使用することも可能である。一般に、提供されるほぼいかなる種類のプログラミング言語でも処理するために、適切なPERLおよびWordBasicスクリプトを書くことでき、そのプログラミング言語は、ASCIIソース・コード（PERLによって要求される）を使用し、ある種のソース・コードのコメント機構を提供する。Informix（商標）byExample技術の使用を容易にする他のプログラミング言語の属性は、トピック識別子を有するWindows（商標） OLH機能を呼び出すための機構（例示がその注釈を表示することができるための）、開発環境の編集関数を呼び出すための機構（検討中のプログラミング言語が開発環境を提供または要求すると仮定して、注釈がソース・コード・ファイルを開くことができるための）、Windows（商標） OLHフォーマットでのオンライン解説（ソース・コードのキーワードがオンライン解説へのジャンプを有することができるための）を含む。基礎をなすプログラミング言語に１つまたは複数のそれらの他の属性が欠如しても、上述のInformix（商標）byExample機能の多くは実施可能である。
【００７４】
PERLスクリプトは、RTF以外のフォーマットでファイルを出力するために修正されることができる。例えば、修正されたPERLスクリプトは、いかなる使用可能なウェブ・ブラウザ（例えば、Netscape Navigator）を使用して表示させることができるハイパーテキスト・マークアップ言語（HTML）を出力することができる。
【００７５】
例示によるドキュメンテーションの他の変形形態も可能である。例えば、対話型例示を説明する注釈は、テキスト以外の方法で提示することもできる。必要に応じて、音声、グラフィック・シンボル、ピクチャー、ムービー、または他のいかなる伝達手段をも使用することができる。さらに、実行すべき対話型例示の選択は、ユーザによる指定以外の要因に基づくか、またはユーザによる指定に付加的な要因に基づくことができる。例えば、対話型例示は、基礎となるアプリケーショの実行中のあるポイントで、またはヘルプ・システムのある実行ポイントで自動的に起動することができる。ユーザがキーワード、クラス名、または他のリンクをクリックすると、リンクによって指し示されたテキスト解説情報を表示することに加え、またはこれの代わりに例示を自動的に起動することができる。
【００７６】
上述の例示によるドキュメンテーションの方法および技術は、ソフトウェア開発システムのユーザを支援することにのみ限定されるものではなく、アプリケーションを任意のコンピュータ・ベースのアプリケーションまたはユーティリティのための一般的なトレーニングおよび教育ツールとみなすことができる。さらに、本明細書に記載の技術は、ハードウェアまたはソフトウェアでも、またはこれらの組み合わせによって実施することができる。この技術は、それぞれがプロセッサ、（揮発性および不揮発性メモリ、または記憶素子、あるいはその両方を含めて）そのプロセッサによって可読の記憶媒体、および適切な入出力装置を含むプログラミング可能なコンピュータ上で実行中のコンピュータ・プログラムによって実施されることが好ましい。プログラム・コードは、記述された関数を実行し、出力情報を生成するために、入力装置を使用して入力されたデータに適用される。この出力情報は、１つまたは複数の出力装置に適用される。
【００７７】
各プログラムは、好適には、コンピュータ・システムと対話するために、高レベル手続き型のまたはオブジェクト指向プログラミング言語によって実施される。しかし、プログラムは所望ならばアセンブリまたは機械言語でも実施することができる。いずれにせよ、言語はコンパイル型言語またはインタープリタ型言語のどちらかであってよい。
【００７８】
そのような各コンピュータ・プログラムは、記憶媒体または記憶装置（例えば、CD-ROM、ハードディスクまたは磁気ディスケット）に記憶することが好ましい。尚、これら記憶媒体または記憶装置は、これらが上述の手続きを実行するためにコンピュータによって読み込まれたときに、コンピュータを構成し、また、操作するために、汎用または専用のプログラム可能コンピュータによって可読である。このシステムは、コンピュータ・プログラムによって構成されたコンピュータ可読記憶媒体としても実施することができるが、この場合、そのように構成された記憶媒体はコンピュータを特定の事前定義した方法で動作させる。
【００７９】
他の実施形態は頭記の特許請求の範囲に含まれる。
【００８０】
例えば、例示によるドキュメンテーションの方法および技術は、ローカル・エリア・ネットワーク（LAN）、イントラネット、またはインターネットなどのネットワークまたはウェブ・ベース環境に適用することができる。Informix（商標）byExampleとして知られているInformix（商標）Software社製のウェブ・ベースの説明システムは、開発者が有効かつ効率的にデータベース・アプリケーションを実施することができる容易性を劇的に高める。このウェブ・ベースの説明システムは、ユーザにアプリケーションの実施方法を教示するウェブ・ページ形式の例示および説明を提供する。アプリケーション自体は、ウェブ・ベースのアプリケーションであっても、そうでなくてもよい。このウェブ・ベースの説明システムによって、ユーザは、アプリケーション・プログラムの実施の詳細にアクセスするために、フォーマットされたソース・コードを読み、プログラム構造（例えば、ファイル、クラス、関数の階層）をナビゲートすることができる。このウェブ・ベース・システムは、ユーザが言語キーワード（コード・フラグメント形式として示すことができる）から、そのキーワードに関係する完全な参考文書にジャンプすることも可能にする。ユーザは、エディタでソース・コードを開き、ツールバーの実行ボタンのクリックでウェブ・ブラウザから直接的にプログラムを実行することができる。例示が実行されると、現行方法またはプログラム内の関数に関する注釈ページが表示される。したがって、ユーザは、そのようなアプリケーション・プログラムを実施する方法をより迅速に理解するために方法または関数が実行されるときに、注釈を表示させることができる。
【００８１】
これは、単純にユーザにアプリケーションの使用方法を示す従来のオンライン・ヘルプ・システムとは対照的である。一部の実施はアプリケーションの動作を変更しないが、すべての実施態様の変更は、定義により、実施を左右するので、これは実施資料の維持をより重要なものにする。ウェブ・ベースの説明とヘルプ・システムは、従来のオンライン・ヘルプ・システムのこの問題点を、ソース・コードに埋め込まれたコメントとして注釈を維持し、ソース・コード・ファイルが変更するときはいつでも注釈ページを自動的に生成することによって解決する。
【００８２】
ウェブ・ベースのシステムは、また、ユーザに対して特定タスクを達成するためのハウツー資料を提供する。このハウツー資料は、明瞭なステップ・バイ・ステップの説明を提供し、エキスパートおよび「初心者」に対して柔軟なインターフェースを提供する。このハウツー資料は有用なグラフィックを含み、必須のソフトウェアおよび関連するデモおよび他の技術情報へのリンクを提供する。さらに、このハウツー資料は、目的を達成するためにどの製品を使用すべきかをユーザが決定するために役立つ。
【００８３】
図３３に示すように、ユーザが最初に、ウェブ・ベースの説明システムを提供するウェブ・ブラウザにアクセスしたとき、ディフォルト・ブラウザ構成１３００が表示される。初期ブラウザは、３つの別個の表示フレームのフレームワークを含む。そのフレームワークとは、すなわち、典型的にはウェブ・ページを表示するが、注釈ページ（特定タイプのウェブ・ページ）などの他の関連ページも表示する内容フレーム１３０５と、他のサービスを提供することに加えてツールバーまたはナビゲーション・バーを表示するフレームワーク・アプレット（例えばJava（商標）アプレット）を含むトップ・フレーム１３１０と、例えばJava（商標）アプレットを使用して実施することができる目次（TOC）フレーム１３１５である。
【００８４】
ブラウザがbyExample（商標）HTMLページを表示するとき、そのページはJavaScriptを使用して自動的にフレームワークの存在をチェックする。フレームワークが存在する場合、JavaScriptは、トップ・フレーム１３１０のフレームワーク・アプレットに対して、新しいページの名称およびそれが提供する内容の種類に関して通知する。ページにフレームワークが無い場合、JavaScriptは、そのページに、初期ページ（すなわち、通知が行われるページ）としてフレームワークを開く。
【００８５】
図３４および３５を参照すると、ページ１４００の名称に基づいて、目次１３１５は対応するタイトル１４０５を自動的に選択する。目次１３１５は、クライアントで使用可能なJava（商標）ライブラリをテストし、使用可能ならばツリー制御を有する目次階層を自動的に表示する。目次フレーム１３１５は、トップ・フレーム１３１０の内容ボタン１４１０を使用してユーザによってサイズ変更可能かつ除去可能である。例えば、図３４では、目次フレーム１３１５は、ブラウザの約４０％を占有しているが、図３５では、目次フレーム１３１５は除去されており、したがって不可視である。内容ボタン１４１０は、除去されたアイコン（例えば、図３５）または開かれたアイコン（例えば、図３４）を表示することによってTOCの状況を自動的に示す。
【００８６】
ユーザは、TOCツリーの対応するサブトピック、例えばサブトピック「データベース・サーバを拡張する（Extending Database Servers）」１４１５をクリックすることによって、TOCフレーム１３１５から内容フレーム１３０５内の他のリンクにアクセスすることができる。それに応答して、図３６に示すように、内容フレーム１３０５は、そのサブトピックに対応する内容を表示し、TOCフレーム１３１５はその選択されたサブトピック１４１５を強調表示する。トップ・フレーム１３１０が、ブラウザがホームページを表示しているかどうかによってその外観（内容ボタンのように）を自動的に変更するホーム・ボタン１４２０を含むということは、この特定の実施例でも明らかである。
【００８７】
別法として、ユーザは、その内容フレーム内の対応するリンク上、例えば、図３５に示すサブトピック・リンク「Java Database Connectivity（JDBC）」１４２５をクリックすることによって、内容フレーム１３０５内のリンクにアクセスすることができる。これに応答して、図３７に示すように、内容フレーム１３０５は、そのサブトピックを表現するタイトル１４３０を含めてそのサブトピックに対応する内容を表示する。さらに、TOCフレーム１３１５は、ユーザに対して内容フレーム１３０５内にどの内容が表示されるかを示すために、TOCツリー内の選択されたサブトピック１４３５を自動的に強調表示する。TOCと内容の間のこのような同期は、ユーザがアプリケーションの多くのサブトピックおよびトピックを効果的にナビゲートするために役立つ。
【００８８】
再び図３６を参照して、ユーザが内容フレーム１３０５に例示アイコンまたはリンク１４４０、またはTOCフレーム１３１５内のサブトピック・アイコンまたはリンク１４４５のどちらかを使用して例示を選択するとき、ブラウザは、内容フレーム１３０５内に、図３８に示す対応する例示を説明する注釈ページ１５００を表示する。さらに図３９を参照すると、注釈ページ１５００は、例示（散文とも呼ばれる）を説明する注釈１５０５と、別の注釈ページ１５１０への少なくとも１つのリンクとを含む。
【００８９】
例えば、ユーザがソース・コード・ファイル「querydb.html」へのリンクをクリックするとき、内容フレーム１３０５は、図４０のブラウザに示すようにソース・コード・ファル注釈ページ「querydb.html」１５２５を表示する。内容フレームは、図４１に示すように、対応するソース・コード・ファイルquerydb.htmlに関するソース・コード・フラグメント１５３０を表示する。ソース・コード・フラグメント１５３０は、検討中の例示のソース・コード・ファイルから直接的にインポートされたものである。内容フレーム内のソース・コード・ファイル注釈ページは、トピックが対応するソース・コード・ファイルを説明する注釈１５３５も表示するが、このような注釈１５３５は散文と称される場合がある。
【００９０】
ソース・コードは、標準HTMLでマークアップされている。注釈コメントがソース・コード・ファイルのソース・コード・コメント内に埋め込まれているので、注釈１５３５は維持することが容易である。例えば、図４２を参照すると、ソース・コード・ファイル１５６０は、quewrydb.htmlソース・コード１５２５に関して示される。ソース・コード・フラグメントを含んでいる注釈ページは、マークアップされたソース・コード・ファイルから自動的に生成される。
【００９１】
図４３の流れ図１６００を参照すると、例示の作者は、ソース・コード・コメントに注釈を埋め込むことによってソース・コード・ファイルを注釈する（ステップ１６０５）。この作者は、また、HTMLタグおよびウェブ・ベース・システムの１つまたは複数の特別な説明タグ付きの埋め込まれた注釈もマークアップする（ステップ１６１０）。図４４の流れ図１６２０に示すように、一旦、ソース・コード・ファイルがマークアップされると、PERLなどのスクリプト・プログラミング言語は、プログラミング言語からプログラム構造を判定するためにソース・コード・ファイルを構文解析し、注釈と特別な説明タグとを読み込む（ステップ１６２５）。PERLスクリプトは、ソース・コード・ファイルのプログラム構造を反映する注釈ページを生成する（ステップ１６３０）。さらに、PERLスクリプトは、プログラム構造をナビゲートするための注釈ページ間にリンクを提供し（ステップ１６３５）、フレームワークを通知するためにJavaScriptを使用する（ステップ１６４５）一方で、注釈コメントを組み込み（ステップ１６４０）、関連情報へのリンクとしてソース・コード内の言語キーワードを強調表示する（ステップ１６５０）。したがって、注釈は容易に維持される。図４３を再度参照すると、例示の作者は、ソース・コードと注釈を同時に同じ場所で調整または編集することができる（ステップ１６１５）。したがって、注釈は自動的に再生成される。
【００９２】
内容フレーム内の注釈ページは、また、関連情報へのリンク、またはある注釈ページから別の注釈ページへの１つまたは複数のリンクを含むことができる。このような柔軟性は、PERLスクリプトがプログラム構造を決定し、プログラムの別の部分への参照をリンクとしてフォーマットするので、上記の注釈ページの自動生成によるものである。例えば、ユーザがquerydb.htmlファイル１５２５内の「sportsHeader.tag」リンクを選択するとき、内容フレーム１３０５は、図４６に示すように、sportsHeader.tagソース・コード注釈ページ１５４０を表示し、TOCフレーム１３１５は対応するサブトピック・リンク１７００を自動的に強調表示する。
【００９３】
内容フレーム注釈ページの選択可能なリンクは、バックグラウンド参考資料に対応する。例えば、「MIVAR」リンクが選択されるとき、図４７に示すように、MIVARタグに関する情報を表示する別個のブラウザ１７０５が作成される。この場合、PERLスクリプトは、ソース・コード内のキーワードを発見し、それらを参考文書へのリンクとしてフォーマットする。ユーザが内容ウィンドウ内の「ウェブ・ホーム（WEB HOME）」リンクを選択すると、図４８に示すように、用語集を含むブラウザ１７１０が作成される。
【００９４】
再度図４０を参照すると、ユーザは、図４９に示すように、内容フレーム１３０５内の注釈ページに対応するソース・ファイルをブラウザ・ウィンドウ１７１５内の平文テキストとして開くために、トップ・フレーム１３１０内の編集ボタン１５６２を選択することができる。この場合、PERLスクリプトはソース・コード・ファイルから注釈コメントを自動的に除去し、その結果、ユーザは長文説明が挿入されていないソース・コード・ファイルを編集することができる。次いでユーザは、このウィンドウと、ユーザ固有のプログラムを表示する別のテキスト・ウィンドウとの間でテキストをカット・アンド・ペーストすることができる。
【００９５】
再度図３８を参照すると、Java（商標）例示アプレットまたはアプリケーションを起動したり、Java（商標）アプレットまたは他の埋め込まれたプログラム・オブジェクトを含んでいるHTMLページをダウンロードしたり、出力をブラウザ・ウィンドウに宛先変更して非対話型プログラムを実行するように、ウェブ・サーバに共通ゲートウェイ・インターフェース（CGI）要求を送信するために、ユーザはフレームワーク・アプレットを使用して例示を実行することができる。Java（商標）例示の場合、ウェブ・ブラウザに注釈ページを表示するよう要求するために、実行中の例示はJava（商標）アプリケーション・プログラミング・インターフェース（API）を呼び出す。CGIプログラムの場合、ウェブ・ブラウザに注釈ページを表示するよう要求するために、例示プログラムは、JavaScriptを含んでいるHTMLページを戻す。したがって、例示は、サーバ上、またはウェブ・ブラウザの制限付きサンドボックス内で実行される。ユーザが例示をローカルに実行する許可を要求するためにフレームワークがブラウザのセキュリティ機能を使用する場合、例示は、ローカル・クライアント上で実行することができる。
【００９６】
図３８において、ユーザは実行（Run）ボタン１５７０を選択することによって例示を実行することができる。図４５の流れ図１６５５を参照すると、実行（Run）ボタン１５７０を選択すると、図５０に示すように、上記の任意の方法を使用して、ブラウザ・ウィンドウ１８００内で例示が起動する（ステップ１６６０）。TOCフレーム１３１５は、例示を実施するソース・コードに対する現行注釈ページを強調表示することによって、同時かつ自動的に実行中の例示と同期する。PERLスクリプトは、注釈ページの自動生成によく似たように、階層構造を示すリンクに関してHTMLページを構文解析することによってTOCを自動的に生成する。
【００９７】
さらに、例示は、現行注釈ページ、この例では上記のquerydb.htmlファイル１５２５を表示することによって、内容フレーム１３０５を実行中の例示と同時かつ自動的に同期する。次いでユーザは、例示が実行されている間に、注釈付きのソース・コードを表示させるか、それともそのソース・コード・ファイルを編集することができ、上記のようにキーワードからそのキーワードに対する参考文書にジャンプすることができる。
【００９８】
ユーザがブラウザ・ウィンドウ１８００内の例示と対話するとき（ステップ１６６５）、（例えば、顧客番号を入力し、ブラウザ・ウィンドウ１８００内の「サブミット（Submit）」ボタンを選択することによって）、ユーザ・インターフェースは、図５１に示すようにブラウザ・ウィンドウ１８００内で変化する（例えば、入力された顧客番号に対応するカスタマー・レポート）（ステップ１６７０）。ユーザ・インターフェースは、実行中の例示で使用される次の注釈ページcust_db.htmlファイル１５８６に対応して変化する。実行中の例示は、注釈を表示すべきプログラム・ユニットの例示、ファイル、クラスおよび関数の名称を有する注釈要求モジュールを自動的かつ同時に呼び出す（ステップ１６７５）。注釈要求モジュールは、その要求を注釈ページにマップし、内容フレーム内に注釈ページを表示するようブラウザに伝える（ステップ１６８０）。例えば、図５１では、次の注釈ページはcust_db.html１５８６である。Cust_db.htmlサブトピック１５８５は、TOCフレーム１３１５で強調表示され、図５１に示すように、内容フレーム１３０５はcust_db.html注釈ページ１５８６を表示する。埋め込まれた注釈マークアップ１８１０は、図５２に表示されるcut_db.htmlソース・コード・ファイル内に示される。埋め込まれたマークアップ１８１０は、ソース・コード・ファイルから注釈ページを生成するときに使用される。
【００９９】
再度図３６を参照すると、例示を選択することに加え、ユーザは、アイコンまたはリンク１４５０を内容フレーム１３０５内に文書化する方法、またはサブトピック・リンク１４５５をTOCフレーム１３１５内に文書化する方法を選択することもできる。この場合、図５３に示すように、文書化する方法１９００が内容フレーム１３０５に表示される。図を見やすくするために、完全な文書１９００は図５４に示す。同期において、TOCフレーム１３１５は、文書化する方法１９００に対応する表示されたサブトピック１９０２を強調表示する。
【０１００】
さらに同期において、選択された文書化する方法１９００を反映するために、トップ・フレーム１３１０は動的に変化する。例えば、トップ・フレームには、現時点でアップ・ボタン１９０５、第１のページ・ボタン１９１０、前ページ・ボタン１９１５、次ページ・ボタン１９２０、最終ページ・ボタン１９２５、およびリスト・ボタン１９３０が表示されている。アップ・ボタン１９０５は、選択されると、文書化する方法１９００を列挙するカテゴリまたはサブトピックにジャンプする。例えば、サブトピック「データベース・サーバを拡張する（Extending a Database Server）」は、「ウェブアプリケーションを生成する（Create Web application）」の文書化する方法１９００を列挙し、アップ・ボタン１９０５を選択すると、図３６に示すように、ブラウザは「Extending a Database Server」サブトピックに関するすべての情報を表示する。一般に、トップ・フレームは、新しい内容のページが表示された旨をフレームワークに通知するJavaScript呼び出しで指定される内容の種類と一致するように変化する。
【０１０１】
文書１９００は他の文書またはページへのポインタを含んでおり、このポインタは複数の方法の１つによってアクセスされる。ポインタは、例えば異なる色、フォント、またはスタイルによって示される内容フレーム内のリンク上をクリックすることによって、内容フレーム１３０５から直接的に選択することができる。例えば、ユーザは図５４に示すように内容フレーム１３０５内のアプリケーション・ページ（Application Page）リンク１９３０またはデータベースを準備する（Prepare Database）リンク１９３５上をクリックすることができる。ウェブアプリケーションを生成する（Create Web application）文書１９０２のサブトピックを選択することによって、TOCフレーム１３１５からポインタを選択することができる。例えば、サブトピックデータベースを用意する（Prepare Database）１９４０はリンクデータベースを用意する（Prepare Database）１９３５に対応し、それらのポインタのどちらを選択してもユーザは同じ文書に移動される。ポインタを選択する際、そのポインタに対応する文書またはページが次いでユーザに表示される。
【０１０２】
さらに図５５を参照すると、ユーザがトップ・フレーム内のリスト・ボタン１９３０を選択すると、ローカル目次ウィンドウ１３２０が表示される。例えば、ユーザが図５３のリスト・ボタン１９３０を選択すると、図５５に示すようにウィンドウ１３２０が作成される。文書をナビゲートする従来型モデルは階層型目次付きである。TOCモデルは、常時ユーザを方向付けるが、内容を制限する。これは階層には適合しない場合がある。文書をナビゲートするより新しいモデルがハイパーテキスト・ウェブである。このウェブ・モデルは文書内のいかなるトピックでも、同じトピック上で拡張する、より詳細な文書にリンクする。このウェブ・モデルは人為的な制限を除去するが、あっという間にユーザを混乱させる。
【０１０３】
これとは対照的に、Example（商標）のウェブ・バージョンは、リンクの非構造化ウェブ・ページのローカル・コーナーで構造化された階層図を提供するローカル目次モデルを使用する。このモデルでは、文書内のいくつかのページは、ローカルTOCへのルート・ページである。例えば、ウェブアプリケーションを生成する（Create Web application）文書１９００に対応するページは、ローカルTOCへのルート・ページである。ユーザが、ルート・ページ（固有である）などのローカルTOC固有の任意のページにナビゲートするとき、フレームワーク・アプレットはそのルート・ページに対するローカルTOCを読み込む。図５６に示すように、ユーザがローカルTOC１３２０の紹介（Introduction）ページにナビゲートするとき、フレームワーク・アプレットはそのルート・ページに対するローカルTOCを読み込み、対応する情報をTOCフレーム１３１５および内容フレーム１３０５に表示する。ローカルTOCの各ページはローカルTOC内では固有である。ユーザはローカルTOC内のページを連続的に一歩ずつ進むことができ、ローカルTOCの順番で複数のページを参照したり、選択した現行ページでローカルTOC階層を表示させたりすることができる。したがって、ユーザは、ローカル・トピック内で方向付けられる。
【０１０４】
ローカルTOCは、ローカルTOC内のページのリンクを制約しない。すなわち、ローカルTOC内のページは、ローカルTOC１３２０には存在しないページへのリンクを有することができる。例えば、ユーザが紹介（Introduction）文書内のInformixウェブ統合オプション（Informix Web Integration Option）リンク１９４２を選択するとき、ブラウザは、図５７に示すように、ローカルTOC１３２０には存在しないInformixウェブ統合オプション（Informix Web Integration Option）ページ１９４５を開く。
【０１０５】
さらに、ページは複数のローカルTOC内に表示させることができる。例えば、図５６のローカルTOC内にある「サブスペースを作成する（Create subspace）」という題名のページ１９５０は、別の文書に関する別のローカルTOC内に表示することができる。ルート・ページ（この例では、「ウェブアプリケーションを作成する（Create WEB application）」ページ１９００）は単一ローカルTOCに制約される。
【０１０６】
ユーザは、ローカルTOC内の関心のあるトピックを選択することによって、ローカルTOCウィンドウから直接的にローカルTOC全体をナビゲートすることができる。さらに、ユーザは、第１のページ・ボタン１９１０、前ページ・ボタン１９１５、次ページ・ボタン１９２０、または最終ページ・ボタン１９２５を使用して、トップ・フレーム１３１０を介してローカルTOC全体をナビゲートすることができる。これらのボタンは、基本的に、ローカルTOC中を移動することによって、ユーザのために文書内のページをめくる。例えば、ウェブアプリケーションを作成する（Create Web application）文書１９００内にあるときにユーザが次ページ・ボタン１９２０を選択するとき、ブラウザは、ウェブアプリケーションを作成する（Create Web application）文書内の次の文書を表示する。これは、図５８に示すように「目次（Table of Contents）」文書１９５５である。
【０１０７】
図５９を参照すると、ローカルTOC２００５が構築される方法のモデル２０００が示される。ローカルTOCの構築は、ページ２０１０の非構築（またはランダムな）ウェブ・上に順序付き表示を強制し、このようにして、ウェブ・のページ２０１０を表示することを容易にする。
【０１０８】
他の実施形態は、頭記の特許請求の範囲に含まれる。
【０１０９】
ウェブ・ベースの説明システムは、Java（商標），VisualBasic（商標）、C、C++、HTML、Perl、JavaScript、SQL、Informix Stored Procedure Language（SPL）、ESQL/C（Embedded SQL for C）、SQLJ、JSP、ASP、およびInformix Web Data Blade Module言語をサポートすることができる。
【図面の簡単な説明】
【図１】
従来技術のコンピュータ・システムのブロック図である。
【図２】
図１のコンピュータ・システムで使用されるグラフィカル・ユーザ・インターフェース内の表示領域を示す。
【図３】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図４】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図５】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図６】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図７】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図８】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図９】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図１０】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図１１】
ブラウザ・アプリケーションの画面の一場面である。
【図１２】
ブラウザ・アプリケーションの表示領域を示す。
【図１３】
Informix（商標）byExampleアプリケーションのユーザに使用可能なオプションを示す流れ図である。
【図１４】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図１５】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図１６】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図１７】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図１８】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図１９】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図２０】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図２１】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図２２】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図２３】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図２４】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図２５】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図２６】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図２７】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図２８】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図２９】
Informix（商標）byExampleアプリケーションおよびNewEra（商標）開発環境からの画面の一場面である。
【図３０】
NewEra（商標）アーキテクチャのブロック図である。
【図３１】
Informix（商標）byExampleアプリケーションがどのように構築されるかを示すブロック図である。
【図３２】
NewEra（商標）ソース・コードのサンプルである。
【図３３】
ウェブ・ベースの指示システムにおける表示領域である。
【図３４】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図３５】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図３６】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図３７】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図３８】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図３９】
Informix（商標）byExampleのウェブ・ベースのアプリケーションの表示領域内の内容を示す図である。
【図４０】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図４１】
Informix（商標）byExampleのウェブ・ベースのアプリケーションの表示領域内の内容を示す図である。
【図４２】
注釈を埋め込んだソース・コード・ファイルである。
【図４３】
注釈ページの作成者がとるステップを示す流れ図である。
【図４４】
注釈ページでリンクを自動的に生成するためのスクリプト・プログラムがとるステップを示す流れ図である。
【図４５】
例示的プログラムがとるステップを示す流れ図である。
【図４６】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図４７】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図４８】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図４９】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図５０】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図５１】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図５２】
注釈を埋め込んだソース・コード・ファイルである。
【図５３】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図５４】
Informix（商標）byExampleのウェブ・ベースのアプリケーションの表示領域内の内容を示す図である。
【図５５】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図５６】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図５７】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図５８】
Informix（商標）byExampleのウェブ・ベースのアプリケーションからの画面の一場面である。
【図５９】
ウェブ・ベースのアプリケーションで使用されるローカル目次モデルを示すブロック図である。 
【誤訳訂正２】
【訂正対象書類名】図面
【訂正対象項目名】図３
【訂正方法】変更
【訂正の内容】
【図３】
2004523013.tif 000001
【誤訳訂正３】
【訂正対象書類名】図面
【訂正対象項目名】図４
【訂正方法】変更
【訂正の内容】
【図４】
2004523013.tif 000002
【誤訳訂正４】
【訂正対象書類名】図面
【訂正対象項目名】図５
【訂正方法】変更
【訂正の内容】
【図５】
2004523013.tif 000003
【誤訳訂正５】
【訂正対象書類名】図面
【訂正対象項目名】図６
【訂正方法】変更
【訂正の内容】
【図６】
2004523013.tif 000004
【誤訳訂正６】
【訂正対象書類名】図面
【訂正対象項目名】図７
【訂正方法】変更
【訂正の内容】
【図７】
2004523013.tif 000005
【誤訳訂正７】
【訂正対象書類名】図面
【訂正対象項目名】図８
【訂正方法】変更
【訂正の内容】
【図８】
2004523013.tif 000006
【誤訳訂正８】
【訂正対象書類名】図面
【訂正対象項目名】図９
【訂正方法】変更
【訂正の内容】
【図９】
2004523013.tif 000007
【誤訳訂正９】
【訂正対象書類名】図面
【訂正対象項目名】図１０
【訂正方法】変更
【訂正の内容】
【図１０】
2004523013.tif 000008
【誤訳訂正１０】
【訂正対象書類名】図面
【訂正対象項目名】図１１
【訂正方法】変更
【訂正の内容】
【図１１】
2004523013.tif 000009
【誤訳訂正１１】
【訂正対象書類名】図面
【訂正対象項目名】図１２
【訂正方法】変更
【訂正の内容】
【図１２】
2004523013.tif 000010
【誤訳訂正１２】
【訂正対象書類名】図面
【訂正対象項目名】図１４
【訂正方法】変更
【訂正の内容】
【図１４】
2004523013.tif 000011
【誤訳訂正１３】
【訂正対象書類名】図面
【訂正対象項目名】図１５
【訂正方法】変更
【訂正の内容】
【図１５】
2004523013.tif 000012
【誤訳訂正１４】
【訂正対象書類名】図面
【訂正対象項目名】図１６
【訂正方法】変更
【訂正の内容】
【図１６】
2004523013.tif 000013
【誤訳訂正１５】
【訂正対象書類名】図面
【訂正対象項目名】図１７
【訂正方法】変更
【訂正の内容】
【図１７】
2004523013.tif 000014
【誤訳訂正１６】
【訂正対象書類名】図面
【訂正対象項目名】図１８
【訂正方法】変更
【訂正の内容】
【図１８】
2004523013.tif 000015
【誤訳訂正１７】
【訂正対象書類名】図面
【訂正対象項目名】図１９
【訂正方法】変更
【訂正の内容】
【図１９】
2004523013.tif 000016
【誤訳訂正１８】
【訂正対象書類名】図面
【訂正対象項目名】図２０
【訂正方法】変更
【訂正の内容】
【図２０】
2004523013.tif 000017
【誤訳訂正１９】
【訂正対象書類名】図面
【訂正対象項目名】図２１
【訂正方法】変更
【訂正の内容】
【図２１】
2004523013.tif 000018
【誤訳訂正２０】
【訂正対象書類名】図面
【訂正対象項目名】図２２
【訂正方法】変更
【訂正の内容】
【図２２】
2004523013.tif 000019
【誤訳訂正２１】
【訂正対象書類名】図面
【訂正対象項目名】図２３
【訂正方法】変更
【訂正の内容】
【図２３】
2004523013.tif 000020
【誤訳訂正２２】
【訂正対象書類名】図面
【訂正対象項目名】図２４
【訂正方法】変更
【訂正の内容】
【図２４】
2004523013.tif 000021
【誤訳訂正２３】
【訂正対象書類名】図面
【訂正対象項目名】図２５
【訂正方法】変更
【訂正の内容】
【図２５】
2004523013.tif 000022
【誤訳訂正２４】
【訂正対象書類名】図面
【訂正対象項目名】図２６
【訂正方法】変更
【訂正の内容】
【図２６】
2004523013.tif 000023
【誤訳訂正２５】
【訂正対象書類名】図面
【訂正対象項目名】図２７
【訂正方法】変更
【訂正の内容】
【図２７】
2004523013.tif 000024
【誤訳訂正２６】
【訂正対象書類名】図面
【訂正対象項目名】図２８
【訂正方法】変更
【訂正の内容】
【図２８】
2004523013.tif 000025
【誤訳訂正２７】
【訂正対象書類名】図面
【訂正対象項目名】図２９
【訂正方法】変更
【訂正の内容】
【図２９】
2004523013.tif 000026
【誤訳訂正２８】
【訂正対象書類名】図面
【訂正対象項目名】図３２
【訂正方法】変更
【訂正の内容】
【図３２】
2004523013.tif 000027
【誤訳訂正２９】
【訂正対象書類名】図面
【訂正対象項目名】図３３
【訂正方法】変更
【訂正の内容】
【図３３】
2004523013.tif 000028
【誤訳訂正３０】
【訂正対象書類名】図面
【訂正対象項目名】図３４
【訂正方法】変更
【訂正の内容】
【図３４】
2004523013.tif 000029
【誤訳訂正３１】
【訂正対象書類名】図面
【訂正対象項目名】図３５
【訂正方法】変更
【訂正の内容】
【図３５】
2004523013.tif 000030
【誤訳訂正３２】
【訂正対象書類名】図面
【訂正対象項目名】図３６
【訂正方法】変更
【訂正の内容】
【図３６】
2004523013.tif 000031
【誤訳訂正３３】
【訂正対象書類名】図面
【訂正対象項目名】図３７
【訂正方法】変更
【訂正の内容】
【図３７】
2004523013.tif 000032
【誤訳訂正３４】
【訂正対象書類名】図面
【訂正対象項目名】図３８
【訂正方法】変更
【訂正の内容】
【図３８】
2004523013.tif 000033
【誤訳訂正３５】
【訂正対象書類名】図面
【訂正対象項目名】図３９
【訂正方法】変更
【訂正の内容】
【図３９】
2004523013.tif 000034
【誤訳訂正３６】
【訂正対象書類名】図面
【訂正対象項目名】図４０
【訂正方法】変更
【訂正の内容】
【図４０】
2004523013.tif 000035
【誤訳訂正３７】
【訂正対象書類名】図面
【訂正対象項目名】図４１
【訂正方法】変更
【訂正の内容】
【図４１】
2004523013.tif 000036
【誤訳訂正３８】
【訂正対象書類名】図面
【訂正対象項目名】図４２
【訂正方法】変更
【訂正の内容】
【図４２】
2004523013.tif 000037
【誤訳訂正３９】
【訂正対象書類名】図面
【訂正対象項目名】図４６
【訂正方法】変更
【訂正の内容】
【図４６】
2004523013.tif 000038
【誤訳訂正４０】
【訂正対象書類名】図面
【訂正対象項目名】図４７
【訂正方法】変更
【訂正の内容】
【図４７】
2004523013.tif 000039
【誤訳訂正４１】
【訂正対象書類名】図面
【訂正対象項目名】図４８
【訂正方法】変更
【訂正の内容】
【図４８】
2004523013.tif 000040
【誤訳訂正４２】
【訂正対象書類名】図面
【訂正対象項目名】図４９
【訂正方法】変更
【訂正の内容】
【図４９】
2004523013.tif 000041
【誤訳訂正４３】
【訂正対象書類名】図面
【訂正対象項目名】図５０
【訂正方法】変更
【訂正の内容】
【図５０】
2004523013.tif 000042
【誤訳訂正４４】
【訂正対象書類名】図面
【訂正対象項目名】図５１
【訂正方法】変更
【訂正の内容】
【図５１】
2004523013.tif 000043
【誤訳訂正４５】
【訂正対象書類名】図面
【訂正対象項目名】図５２
【訂正方法】変更
【訂正の内容】
【図５２】
2004523013.tif 000044
【誤訳訂正４６】
【訂正対象書類名】図面
【訂正対象項目名】図５３
【訂正方法】変更
【訂正の内容】
【図５３】
2004523013.tif 000045
【誤訳訂正４７】
【訂正対象書類名】図面
【訂正対象項目名】図５４
【訂正方法】変更
【訂正の内容】
【図５４】
2004523013.tif 000046
【誤訳訂正４８】
【訂正対象書類名】図面
【訂正対象項目名】図５５
【訂正方法】変更
【訂正の内容】
【図５５】
2004523013.tif 000047
【誤訳訂正４９】
【訂正対象書類名】図面
【訂正対象項目名】図５６
【訂正方法】変更
【訂正の内容】
【図５６】
2004523013.tif 000048
【誤訳訂正５０】
【訂正対象書類名】図面
【訂正対象項目名】図５７
【訂正方法】変更
【訂正の内容】
【図５７】
2004523013.tif 000049
【誤訳訂正５１】
【訂正対象書類名】図面
【訂正対象項目名】図５８
【訂正方法】変更
【訂正の内容】
【図５８】
2004523013.tif 000050