(57)【要約】【課題】コンピュータ・システムのＷｅｂベース環境で実行される、アプリケーションの実施の仕方をユーザに教示する方法を提供すること。【解決手段】この方法は、所定のアプリケーションを提供すること、および所定のアプリケーションを説明する１つまたは複数の注釈を含む注釈ページを提示することを含む。各注釈は、アプリケーションのキーワード・リンク、注釈リンク、および実施の詳細を含む。この方法は、ユーザに注釈内のリンクを選択することを許可する。ユーザがキーワード・リンクを選択した場合、そのキーワードに関連付けられた参考文書が提示される。ユーザが注釈リンクを選択した場合、所定アプリケーションの別のソース・ファイルを説明する別の注釈が提示される。【特許請求の範囲】
【請求項１】
コンピュータ・システムにおいてＷｅｂベース環境で実行される、ユーザがアプリケーションを実施することを学習するために役立つ方法であって、
複数の所定のアプリケーションを提供するステップと、
所定のアプリケーションのソース・ファイルを説明し、キーワード・リンク、注釈リンク、および前記アプリケーションの実施の詳細を有する１つまたは複数の注釈を含む注釈ページを提示するステップと、
前記ユーザが注釈内のリンクを選択することを許可するステップと、
前記ユーザがキーワード・リンクを選択した場合、キーワードに関連付けられた参考文書を提示するステップと、
前記ユーザが注釈リンクを選択した場合、所定のアプリケーションの別のソース・ファイルを説明する別の注釈を提示するステップと
を含む、方法。
【請求項２】
所定のアプリケーションを実行するステップと、
前記所定のアプリケーションの実行と連携して実行された該アプリケーションを説明する１つまたは複数の注釈を提示するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記所定のアプリケーションが前記ユーザからの入力を受け取るステップを含む、請求項２に記載の方法。
【請求項４】
前記ユーザからの入力に基づいて、前記所定のアプリケーションの実行と連携して別の注釈ページを提示するステップをさらに含む、請求項３に記載の方法。
【請求項５】
前記別の注釈ページを提示するステップが、
詳細が表示されるべきプログラム・ユニットのアプリケーション、ファイル、クラスおよび関数の名称を含む注釈要求モジュールを自動的かつ同時に呼び出すステップと、
要求を注釈にマップするステップと、
別の注釈ページを表示するようにＷｅｂベース環境のブラウザ・ウィンドウに通知するステップと
を含む、請求項４に記載の方法。
【請求項６】
前記所定のアプリケーションの実行と連携して別の注釈ページを提示する、請求項３に記載の方法。
【請求項７】
注釈ページを含むＷｅｂページ内の構造化されたリンクを構文解析することによって、注釈へのリンクを含むグローバル目次（ａ ｇｌｏｂａｌ ｔａｂｌｅ ｏｆ ｃｏｎｔｅｎｔｓ）を自動的に生成するステップをさらに含む、請求項６に記載の方法。
【請求項８】
現行の注釈ページに対応するリンクを強調表示することによって、前記グローバル目次内のリンクが提示された注釈と同期する、請求項７に記載の方法。
【請求項９】
前記グローバル目次が第１のブラウザ・ウィンドウの第１のフレームに提示され、前記注釈ページが前記第１のブラウザ・ウィンドウの第２のフレームに提示され、前記所定のアプリケーションが第２のブラウザ・ウィンドウで実行される、請求項８に記載の方法。
【請求項１０】
前記所定のアプリケーションが、Ｊａｖａ（Ｒ）アプレットまたはアプリケーションを起動するステップを含む、請求項２に記載の方法。
【請求項１１】
前記Ｊａｖａ（Ｒ）アプレットまたはアプリケーションを起動するステップが、前記注釈ページを表示するようＷｅｂブラウザに要求するために、Ｊａｖａ（Ｒ）アプリケーション・プログラミング・インターフェースを呼び出すステップを含む、請求項１０に記載の方法。
【請求項１２】
前記所定のアプリケーションを実行するステップが、Ｊａｖａ（Ｒ）アプレットを含むハイパーテキスト・マークアップ言語のページをダウンロードするステップを含む、請求項２に記載の方法。
【請求項１３】
前記所定のアプリケーションを実行するステップが、共通ゲートウェイ・インターフェース要求を、Ｗｅｂベース環境のウィンドウ内でアプリケーションを起動するＷｅｂサーバに送信するステップを含む、請求項２に記載の方法。
【請求項１４】
前記アプリケーションが、１つまたは複数の注釈を表示するようＷｅｂブラウザに要求するために、ＪａｖａＳｃｒｉｐｔを含むハイパーテキスト・マークアップ言語のページを戻す、請求項１３に記載の方法。
【請求項１５】
前記注釈ページが第１のブラウザ・ウィンドウに提示され、前記所定のアプリケーションが第２のブラウザ・ウィンドウで実行される、請求項２に記載の方法。
【請求項１６】
アプリケーションの実施の詳細が、該アプリケーションを説明するテキスト、該アプリケーションからのソース・コードのフラグメント、またはこれらの両方を含む、請求項１に記載の方法。
【請求項１７】
ソース・コードのフラグメントが、提示された前記アプリケーションのソース・コード・ファイルから直接的にインポートされる、請求項１６に記載の方法。
【請求項１８】
自動的に、所定のアプリケーションのソース・コード・ファイルを説明する注釈ページを生成するステップをさらに含む、請求項１に記載の方法。
【請求項１９】
前記注釈ページを生成するステップが、
説明でマークアップされたテキストを既に埋め込んであるソース・コード・ファイルを受け取るステップと、
前記所定のアプリケーションの構造を決定するためにソース・コードを構文解析するステップと、
前記所定のアプリケーションの構造および説明に基づいて、１つまたは複数の注釈を生成するステップと
を含む、請求項１８に記載の方法。
【請求項２０】
前記注釈ページを生成するステップが、
前記所定のアプリケーションの注釈をナビゲートする、１つまたは複数の注釈リンクを生成するステップと、
埋め込まれた情報に基づいて、アプリケーションの実施の詳細を生成するステップと、
参考文書に対する１つまたは複数のキーワード・リンクを生成するステップと
を含む、請求項１９に記載の方法。
【請求項２１】
前記注釈ページを生成するステップが、該注釈ページ内のキーワード・リンクおよび注釈リンクを強調表示するステップを含む、請求項２０に記載の方法。
【請求項２２】
更新されたソース・コード・ファイルを受け取ったときに、前記所定のアプリケーションのソース・コード・ファイルを説明する前記注釈ページを自動的に更新するステップをさらに含む、請求項１９に記載の方法。
【請求項２３】
注釈リンクのための前記複数の注釈を構文解析することによって、グローバル目次を自動的に生成するステップをさらに含む、請求項１に記載の方法。
【請求項２４】
注釈へのリンクを含む前記グローバル目次を提供するステップをさらに含む、請求項２３に記載の方法。
【請求項２５】
アプリケーションに関する注釈ページを有するＷｅｂページへのリンクを含むローカル目次を生成するステップをさらに含む、請求項２３に記載の方法。
【請求項２６】
前記グローバル目次のローカル・リンクが選択されるとき、前記ローカル目次を提供するステップをさらに含む、請求項２５に記載の方法。
【請求項２７】
提示された前記注釈ページが実行された前記アプリケーションを説明し、前記注釈ページは前記所定のアプリケーションの実行と連携して提示される、請求項１に記載の方法。
【請求項２８】
前記アプリケーションのソース・コードを含むが前記注釈からのテキストは含まない、注釈マークアップを除去したソース・コード・ファイルを生成するステップと、
注釈マークアップを除去した前記ソース・コード・ファイルを提示するステップと、
注釈マークアップを除去した前記ソース・コード・ファイルを前記ユーザが編集することを許可するステップと
をさらに含む、請求項１に記載の方法。
【請求項２９】
コンピュータ・システムのＷｅｂベース環境で実行される、ユーザにアプリケーションの実施を教示する方法であって、
複数の所定のアプリケーションを提供するステップと、
所定のアプリケーションを実行するステップと、
実行されたアプリケーションを説明し、アプリケーションの実施の詳細と、注釈および参考文書へのリンクとを含む注釈ページを前記所定のアプリケーションの実行と連携して提示するステップと
を含む、方法。
【請求項３０】
コンピュータ・システムのＷｅｂベース環境で実行される、ユーザにアプリケーションの実施を教示する方法であって、
前記環境内の内容に基づいて、前記環境内の内容への複数のリンクを含むグローバル目次を自動的にアセンブルするステップと、
前記グローバル目次を提供するステップと、
ローカル・トピック内に前記ユーザを方向付ける内容へのリンクを含むローカル目次を生成するステップと、
ローカル・トピックにアクセスするために前記ユーザが前記ローカル目次からリンクを選択することを許可するステップと
を含む、方法。
【請求項３１】
コンピュータ・システムのＷｅｂベース環境で実行される、ユーザにアプリケーションの実施を教示する方法であって、
複数の事前定義された対話型例示を提供するステップと、
ユーザの選択に応答して、１つまたは複数の前記事前定義された対話型例示を実行するステップと、
実行された前記対話型例示を説明する１つまたは複数の注釈を前記事前定義された対話型例示の実行と連携して提示するステップと、
実行された前記対話型例示、前記注釈、またはその両方の異なる態様を
前記ユーザが選択的に探索することを許可するステップと
を含む、方法。
【請求項３２】
ユーザにアプリケーションの実施を教示するＷｅｂベースのコンピュータ・システムであって、
前記Ｗｅｂベースのコンピュータ・システムのユーザによって、選択的に実行可能な１つまたは複数の事前定義された対話型アプリケーションと、
事前定義された対話型アプリケーションを説明する１つまたは複数の注釈を含む注釈ページとを含み、前記注釈ページが、
１つまたは複数のリンクと、
前記アプリケーションの実施の詳細とを含み、
事前定義された対話型アプリケーションの選択的実行に応答して、前記注釈ページに異なる注釈が自動的に提供される、
システム。
【請求項３３】
前記ユーザが、事前定義された対話型アプリケーションに関連付けられたソース・コードにアクセスすることができるユーティリティをさらに含む、請求項３２に記載のシステム。
【請求項３４】
前記ユーティリティが、事前定義された対話型アプリケーションのソース・コードを前記ユーザに表示またはコピーすることを可能にする、請求項３３に記載のシステム。
【請求項３５】
前記アプリケーションの実施の詳細が、前記アプリケーションを説明するテキスト、前記アプリケーションに関連付けられたソース・コードのフラグメント、またはこれらの両方を含む、請求項３２に記載のシステム。
【請求項３６】
リンクが、前記ユーザに参考文書の本文へのアクセスを提供するキーワード・リンク、または前記ユーザに別の注釈ページへのアクセスを提供する注釈リンクを含む、請求項３２に記載のシステム。
【請求項３７】
前記注釈を表示する内容フレームと、
ナビゲーション・バーを表示するフレームワーク・アプレットと、
リンクの目次階層を表示する目次フレームと
を有するフレームワークを含むＷｅｂブラウザ・ウィンドウをさらに含む、請求項３２に記載のシステム。
【請求項３８】
前記フレームワーク・アプレットがＪａｖａ（Ｒ）アプレットを含む、請求項３７に記載のシステム。
【請求項３９】
ＪａｖａＳｃｒｉｐｔが、
前記Ｗｅｂブラウザ・ウィンドウにフレームワークが提示されているかどうかを自動的に判断し、前記フレームワークが提示されている場合、前記フレームワーク・アプレットに前記フレームワーク内の内容に関して通知する、請求項３７に記載のシステム。
【請求項４０】
前記目次が、前記フレームワーク内の内容に基づいて前記階層内のリンクを自動的に強調表示する、請求項３９に記載のシステム。
【請求項４１】
前記ユーザが、前記目次階層のリンクを選択することによって、注釈ページにアクセスする、請求項４０に記載のシステム。
【請求項４２】
前記ユーザが、前記ナビゲーション・バーと対話することによって、注釈ページにアクセスする、請求項４０に記載のシステム。
【請求項４３】
前記目次が、内容フレームに表示された注釈ページに基づいて前記階層を強調表示する、請求項４０に記載のシステム。
【請求項４４】
前記目次が除去可能またはサイズ変更可能である、請求項３７に記載のシステム。
【請求項４５】
ユーザにアプリケーションの実施を教示するためのＷｅｂベースのコンピュータ・システムであって、
内容フレーム、フレームワーク・アプレット、および前記内容フレーム内の内容に関するリンクのグローバル目次階層を表示する目次フレームを含むＷｅｂブラウザ・ウィンドウと、
事前定義された対話型アプリケーションを説明し、別の内容へのリンクを含み、前記内容フレームに表示される１つまたは複数の注釈と、
前記表示された注釈のローカル内容に関するリンクのローカル目次階層を表示する目次のウィンドウと
を含む、システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本願は、Ｗｅｂベースの文書化および説明に関する。
【０００２】
【従来の技術】
本願は、米国仮特許第６０／１７２，１３４号明細書および米国特許第０８／８８８，９２５号明細書の特典を請求するものであり、これらの開示の全体を参照により本明細書に組み込む。
【０００３】
図１に示すような典型的なコンピュータ・システムは、中央演算処理装置１０５と、入出力装置１１０と、例えばオペレーティング・システム１２０および１つまたは複数のアプリケーション・プログラム１２５などの、コンピュータ１００によって使用される様々なプログラムを含んでいるメモリ１１５とを有するコンピュータ１００を含む。コンピュータ・システムのエンド・ユーザは、情報を入出力装置１１０を介してコンピュータ１００に転送する様々な入力装置（キーボード１３０、マウス１３５）によってコンピュータ１００と対話する。コンピュータ１００は、この入力されたデータに対して、特に、例えば表示モニター１４０の画面上に適切なテキストおよび画像を表示することによるなどのエンド・ユーザへの応答出力を提供する方法によって応答する。
【０００４】
オペレーティング・システム１２０は、グラフィカル・ユーザ・インターフェース（ＧＵＩ）を含むことができる。このＧＵＩによって、オペレーティング・システムおよび実行中の可能性を有するいかなるアプリケーション（例えば、ワードプロセッシング・プログラム）でも、そのコンピュータ・システムのユーザと対話することができる。一般に使用されるＧＵＩ実施態様は、モニター画面を仮想デスクトップに見立てたデスクトップ・メタフォーを使用する。デスクトップは、基本的に、１つまたは複数の表示領域を含む、様々なグラフィック・オブジェクトをサポートする２次元作業テンプレート領域である。図２に示すように、アプリケーション・プログラムまたはオペレーティング・システムによって生成された情報は、表示領域２０５（例えば、ウィンドウ、ダイアログ・ボックス、ポップアップ・メニュー、プルダウン・メニュー、ドロップダウン・リスト、アイコン）の範囲内でデスクトップ２００上に表示することができる。ユーザは、表示領域内で適切にカーソル２１０を操作することによって、また、キーボードまたは他の入力装置を用いて情報を入力することによって、オペレーティング・システム、および実行中の可能性のあるいかなるアプリケーションとでも対話することができる。
【０００５】
コンピュータ１００は、通信リンク１５５（例えば、電話回線）を介してネットワーク１５０とデータを交換するためのある種の通信カードまたは装置１４５（例えば、モデムまたはネットワーク・アダプタ）も含む。ネットワーク１５０は、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、イントラネット、またはインターネットであってよい。サービス・プロバイダはネットワークへのアクセスを提供するが、さらに、ネットワークに関連付けられた様々なユーティリティまたはサービス（電子メールなど）を提供することもできる。サービス・プロバイダの例には、ＡＴ＆Ｔ ＷｏｒｌｄＮｅｔなどのインターネット・サービス・プロバイダ（ＩＳＰ）またはＡｍｅｒｉｃａ ＯｎｌｉｎｅおよびＣｏｍｐｕＳｅｒｖｅなどのオンライン・サービス・プロバイダ（ＯＳＰ）が含まれる。
【０００６】
開発者は、アプリケーション・プログラムを実施するために、プログラミングの概念を知る必要がある。したがって、アプリケーションの実施態様の説明（アプリケーションの操作の説明だけでなく）が役立つだろう。
【０００７】
多くのコンピュータ・アプリケーションは、アプリケーションの使用を支援するオンライン・ヘルプ／文書化機能を提供する。図３に示すような典型的なオンライン・ヘルプ・システムはＧＵＩによってアクセスされるが、ここでは、ヘルプ・ウィンドウ３００内でユーザに対してテキスト情報およびグラフィック情報の画面が表示される。次いでユーザは、アプリケーションとその様々な機能のより良い理解を得るためにヘルプ・テキストの画面を読むことができる。
【０００８】
ユーザは、キー・シーケンスによって（例えば、キーボードのＦ１キーを押し下げること）、または適切なグラフィック・アイコンまたはメニュー項目上でマウスをクリックすることによって、ヘルプ・システムを呼び出す。それに応答して、ヘルプ・システムは、ユーザが要望通りにアクセスし表示することができる使用可能なヘルプ・トピックスおよびサブトピックスを列挙する目次３０５を表示することができる。ユーザは、目次３０５全体を参照し、関心のあるヘルプ・トピックをクリックして、対応する情報の本文をヘルプ・ウィンドウの中に表示させることができる。図３に示すヘルプ・ウィンドウ３００で、ユーザは、対応するヘルプ画面３１５を図４に示すウィンドウ３００に表示させるように既に「Ｐｒｏｇｒａｍｍｉｎｇ ｗｉｔｈ Ｍｉｃｒｏｓｏｆｔ Ｗｏｒｄ」を選択済みである。
【０００９】
図４に示す「Ｐｒｏｇｒａｍｍｉｎｇ ｗｉｔｈ Ｍｉｃｒｏｓｏｆｔ Ｗｏｒｄ」トピック３１０は、別個の「リンク」によって示される複数のサブトピック３２０を含む。ユーザがそれらのリンクの１つ、例えば「Ｅｒｒｏｒ Ｍｅｓｓａｇｅｓ」リンク３２５の上でマウスをクリックすると、図５に示すように、対応するヘルプ・トピックのテキストがヘルプ・ウィンドウ３００に自動的に表示される。この実施例では、「Ｅｒｒｏｒ Ｍｅｓｓａｇｅｓ」トピック３３０は、特定種類のエラー・メッセージに関するさらなるサブトピックへの複数のリンクを含む。図６に示すように、ユーザがそれらリンクのうちの１つ、例えば「Ｏｕｔ ｏｆ ｍｅｍｏｒｙ（ｓｔａｃｋ ｓｐａｃｅ）」リンク３３５をクリックすると、その選択されたトピックに関する対応するヘルプ情報（「Ｆｒｅｅｉｎｇ ｕｐ ｍｅｍｏｒｙ」）を表示するために新しいヘルプ・ウィンドウ３４０が作成される。ウィンドウ３４０に表示されたヘルプ情報は、別のサブトピック「ａｃｔｉｖｅ ｗｉｎｄｏｗ」へのさらに別のリンク３４５を含むが、これは、ユーザがそれをクリックすると、対応するヘルプ・テキストをポップアップ・ダイアログ・ボックス３５０内に表示させる。ほぼすべてのレベルのそのようなネストされたヘルプ表示が可能である。ヘルプ情報を表示するために使用される表示領域（ウィンドウ、ダイアログ・ボックスなど）の量および種類は、主としてヘルプ・システム開発者の好みに基づく設計上の選択の問題である。
【００１０】
ヘルプ・システムは「文脈に依存した」ヘルプ情報を提供することができる。すなわち、そのヘルプ・システムが、すべての入手可能なヘルプ・トピックスを単純に表示して、適切なヘルプ・トピックをユーザが手動で識別して読み出すように強いるのではなく、アプリケーションの現行タスクに特に関係したヘルプ情報を自動的に表示するということである。文脈に依存したヘルプ・システムは、アプリケーションの現行状況（例えば、ユーザによって呼び出された特定の関数）および現在のカーソル位置などの要因に基づいて、どのヘルプ情報を表示するかを決定する。
【００１１】
大部分のオンライン・ヘルプ・システムによって提供される情報は、アプリケーションの使用機能の機構に関する。図７では、例えば、選択されたヘルプ・トピック４０５「Ｃａｎｃｅｌ ｐｒｉｎｔｉｎｇ」に対応するテキスト４００は、アプリケーション４１０（Ｍｉｃｒｏｓｏｆｔ（Ｒ） Ｗｏｒｄ）によって提供される印刷機能をどのように制御するかを説明している。
【００１２】
ヘルプ・システムは、所望の目的を達成するためにアプリケーションをどのように活用するかに関する価値ある情報を提供することもできる。図８では、例えば、オンライン・ヘルプ・システムは、ＷｏｒｄＢａｓｉｃプログラミング言語用の参考資料５００と、ＷｏｒｄＢａｓｉｃを使用して有用なプログラムを作成するための方法に関する実践的な説明５０５の二種類の価値ある情報を提供する。参考資料５００は、ＡｄｄＡｄｄｌｎステートメントなどの様々なＷｏｒｄＢａｓｉｃステートメントの構文規則および意味を説明するテキスト注釈を含むが、それに関するヘルプ・テキストを図９に示す。実践的な説明５０５は、ＷｏｒｄＢａｓｉｃプログラミング言語をより良く理解するためにユーザが学ぶことのできるプログラム・コードの静的な例を含むことができる。図１０に、ＧｅｔＣｕｒＶａｌｕｅｓ ＷｏｒｄＢａｓｉｃステートメントを使用するプログラム・コードの一例を示す。
【００１３】
【発明が解決しようとする課題】
オンライン・ヘルプ・システムは、通常、テクニカル・ライターによって既に作成済みのヘルプ情報を含んでいる複数の異なるヘルプ・ソース・ファイルをコンパイルすることによって「構築」される（すなわち、ランタイム操作を容易にする形式で処理される）。一般に、これらのヘルプ・ソース・ファイルは、ヘルプ・システムが対応するアプリケーションとは別の情報の別個の本文として保存される。したがって、アプリケーション開発者がアプリケーションの機能性を変更または更新するとき、テクニカル・ライターは、オンライン・ヘルプ・システムがそのアプリケーションの動作を正確に説明することを保障するために、ヘルプ・ソース・ファイルに対して対応する変更または更新を行う必要がある。しかし、一般に、オンライン・ヘルプ・システムは、アプリケーションの実施を説明できていない。
【００１４】
ヘルプ・システムは「ブラウザ」を使用してネットワーク環境で実施することができ、このブラウザは、ユーザがネットワーク環境で保管されている電子内容にアクセスし、これを表示させることを可能にする。ブラウザは、通常、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）で記述された文書を表示するために使用され、インターネットなどのネットワークに接続されたサーバ上に保管される。図１１は、典型的なＨＴＭＬ文書またはＷｅｂページ６０５を表示するブラウザ・アプリケーション６００（この場合はインターネット・エクスプローラ）の画面の一場面である。ユーザは、所望の文書が常駐するネットワーク・アドレス６１０、すなわちユニフォーム・リソース・ロケータ（ＵＲＬ）を指定することによってＷｅｂページ６０５にアクセスするようブラウザ６００に指示する。それに応答して、ブラウザ６００は、要求されたＷｅｂページをホストする対応するサーバに接触し、そのＷｅｂページを構成する１つまたは複数のファイルを取り出し、次いでコンピュータのディスプレイ１４０にそのＷｅｂページを表示する。
【００１５】
１つのＷｅｂページは、潜在的にデータ・タイプの異なる複数の異なるファイル（例えば、テキスト６１５、イメージ６２０、仮想世界、音声、またはムービー）から構成されることができる。さらに、Ｗｅｂページは、ネットワーク上で使用可能な別の資源（例えば、Ｗｅｂページ、個別ファイル、またはダウンロード可能なファイル）へのリンク６２５またはポインタを含むことができる。各リンクは、ネットワーク上の位置を指す、関連付けられたＵＲＬを有している。表示されたリンクをユーザがクリックするか、または別の手段で選択すると、ブラウザは、そのリンクの関連付けられたＵＲＬに対応するＷｅｂページまたは他の資源を取り出し、それをユーザに対して表示または実行する。
【００１６】
【課題を解決するための手段】
図１２を参照すると、Ｗｅｂページ６０５は、内容７００の他に、そのＷｅｂページに関連付けられたすべてのリンクを通してユーザがナビゲートするのに役だつサイト・ガイド７０５を提供することができる。サイト・ガイド７０５は目次に類似したもので、通常はツリー構造に似ている。同様に、Ｗｅｂページ６０５は、そのＷｅｂページに関連付けられたリンク内にある特定のキーワードをユーザが検索することを可能にする検索機能７１０を含むことができる。このＷｅｂページは、すべての内容およびリンクにそこからアクセスすることができる主Ｗｅｂページにユーザを引き戻す「ホーム」リンク７１５を提供することができる。このＷｅｂページは、アクセスされたときに別のＷｅｂページまたはコンピュータからユーザのコンピュータにファイルを送信するダウンロード・リンク７２０を提供することができる。
【００１７】
【発明の実施の形態】
本発明の一態様によれば、コンピュータ・システムのＷｅｂベース環境で実行される方法は、ユーザにアプリケーションの実施の仕方を教示する。この方法は、所定のアプリケーションを提供することと、所定のアプリケーションのソース・ファイルを説明する１つまたは複数の注釈を含む注釈ページを提示することを含む。各注釈は、そのアプリケーションのキーワード・リンク、注釈リンク、および実施の詳細を含む。方法は、ユーザが注釈内のリンクを選択できるようにする。ユーザがキーワード・リンクを選択した場合、そのキーワードに関連付けられた参考文書が提示される。ユーザが注釈リンクを選択した場合、所定アプリケーションの別のソース・ファイルを説明する別の注釈が提示される。
【００１８】
実施形態は、１つまたは複数の以下の機能を含むことができる。例えば、所定アプリケーションを実行することができ、実行されたアプリケーションを説明する１つまたは複数の注釈を所定アプリケーションの実行と連携して提示することができる。所定アプリケーションを実行することは、ユーザからの入力を受け取ることを含むことができる。ユーザからの入力に基づいて、所定アプリケーションの実行と連携して別の注釈ページを提示することができる。
【００１９】
別の注釈ページを提示することは、詳細が表示されるべきプログラム・ユニットのアプリケーション、ファイル、クラスおよび関数の名称を含む注釈要求モジュールを自動的かつ同時に呼び出すことを含むことができる。別の注釈ページを提示することは、その要求を注釈にマッピングすること、Ｗｅｂベース環境のブラウザ・ウィンドウに別の注釈ページを表示するよう伝達することも含む。
【００２０】
所定アプリケーションの実行と連携して別の注釈ページを提示することができる。注釈ページを含むＷｅｂページの構造化リンクを構文解析することによって、注釈へのリンクを含むグローバル目次が自動的に生成される。グローバル目次内のリンクの生成は、現行の注釈ページに対応するリンクを強調表示することによって注釈の提示と同期することができる。グローバル目次は第１のブラウザ・ウィンドウの第１のフレーム内に提示することができ、注釈ページは第１のブラウザ・ウィンドウの第２のフレーム内に提示することができ、所定アプリケーションは第２のブラウザ・ウィンドウ内で実行することができる。
【００２１】
所定アプリケーションを実行することは、Ｊａｖａ（Ｒ）アプレットまたはアプリケーションを起動することを含むことができ、これは、Ｗｅｂブラウザに注釈ページを表示するよう要求するためにＪａｖａ（Ｒ）アプリケーション・プログラム・インターフェースを呼び出すことを含むことができる。所定アプリケーションを実行することは、Ｊａｖａ（Ｒ）アプレットを含んでいるハイパーテキスト・マークアップ言語のページをダウンロードすることを含むことができる。
【００２２】
所定アプリケーションを実行することは、共通ゲートウェイ・インターフェース要求をＷｅｂサーバに送信することを含むことができる。このＷｅｂサーバは、Ｗｅｂベース環境のウィンドウでアプリケーションを起動する。アプリケーションは、Ｗｅｂブラウザに１つまたは複数の注釈を表示するよう要求するＪａｖａＳｃｒｉｐｔを含むハイパーテキスト・マークアップ言語のページを戻すことができる。
【００２３】
注釈ページを第１のブラウザ・ウィンドウに提示することができ、所定アプリケーションを第２のブラウザ・ウィンドウで実行することができる。アプリケーションの実施の詳細は、そのアプリケーションを記述しているテキスト、そのアプリケーションからのソース・コードのフラグメント、またはこれらの両方を含むことができる。ソース・コードのフラグメントは、提示されたアプリケーションのソース・コード・ファイルから直接的にインポートされることができる。
【００２４】
注釈ページを自動的に生成することができる。この生成には、説明がマークアップされたテキストを既に埋め込んであるソース・コード・ファイルを受け取ることが含まれる。さらに、所定アプリケーションの構造を決定するためにソース・コードを構文解析することができ、所定アプリケーションの構造および説明に基づいて１つまたは複数の注釈を生成することができる。注釈ページの生成は、所定アプリケーションの注釈をナビゲートするための１つまたは複数の注釈リンクを生成することを含むことができる。さらに、埋め込まれた情報に基づいてアプリケーションの実施の詳細を生成することができ、参考文書に対して１つまたは複数のキーワード・リンクを生成することができる。注釈ページを生成することは、注釈ページのキーワード・リンクおよび注釈リンクを強調表示することを含むことができる。更新されたソース・コード・ファイルを受け取ったときに、注釈ページを自動的に更新することができる。
【００２５】
注釈リンクに対する１つまたは複数の注釈を構文解析することによって、グローバル目次を自動的に生成することができる。このグローバル目次は、提供されることができ、注釈へのリンクを含むことができる。別法として、グローバル目次は、生成されることができ、アプリケーションに対する注釈ページを含めてＷｅｂページへのリンクを含むことができる。グローバル目次内のローカル・リンクが選択されたときは、ローカル目次を提供することができる。
【００２６】
提示された注釈ページは実行されるアプリケーションを記述することができ、その注釈ページは、所定アプリケーションの実行と連携して提示されることができる。
【００２７】
注釈マークアップを除去し、アプリケーションのソース・コードは含むが注釈からのテキストは含まないソース・コード・ファイルを生成することができる。除去済みのソース・コード・ファイルを提示することができ、その除去済みのソース・コード・ファイルをユーザが編集することを可能にすることができる。
【００２８】
本発明の別の態様によれば、コンピュータ・システムのＷｅｂベース環境で実行される、ユーザにアプリケーションを実施することを教示する方法は、所定の複数アプリケーションを提供することを含む。所定アプリケーションが実行され、その実行されたアプリケーションを記述する注釈ページを、所定アプリケーションの実行と連携して提示することができる。注釈ページは、アプリケーションの実施の詳細と、注釈および参考文書へのリンクを含む。
【００２９】
本発明の別の態様によれば、コンピュータ・システムのＷｅｂベース環境で実行される、ユーザにアプリケーションを実施することを教示する方法は、その環境内における内容に基づいてグローバル目次を自動的にアセンブルし、提供することを含む。グローバル目次は、環境内の内容への複数のリンクを含む。ローカル・トピック内でユーザを方向付ける内容へのリンクを含むローカル目次が生成される。ユーザは、ローカル・トピックスにアクセスするために、ローカル目次からリンクを選択することが許可される。
【００３０】
本発明のさらなる態様によれば、コンピュータ・システムのＷｅｂベース環境で実行される、ユーザにアプリケーションを実施することを教示する方法は、複数の事前定義された対話型の例示を提供することを含む。１つまたは複数の事前定義された対話型の例示は、ユーザ選択に応答して実行され、その実行されている対話型の例示を記述する１つまたは複数の注釈は、事前定義された対話型の例示の実施と連携して提示される。ユーザは、実行されている対話型の例示、注釈、またはその両方の異なる態様を選択的に探索することができる。
【００３１】
本発明の別の態様によれば、ユーザにアプリケーションを実施することを教示するＷｅｂベースのコンピュータ・システムは、１つまたは複数の事前定義された対話型アプリケーションと、１つまたは複数の注釈を含む注釈ページとを含む。事前定義された対話型アプリケーションは、Ｗｅｂベースのコンピュータ・システムのユーザによって選択的に実行可能である。注釈ページは、事前定義された対話型アプリケーションを説明する。注釈ページは、１つまたは複数のリンクと、アプリケーションの実施の詳細とも含む。事前定義された対話型アプリケーションの選択的な実行に応答して、異なる注釈が注釈ページに自動的に提供される。
【００３２】
本発明のさらなる態様によれば、ユーザにアプリケーションを実施することを教示するＷｅｂベースのコンピュータ・システムは、内容フレーム、フレームワーク・アプレット、および内容フレームの内容に関するリンクのグローバル目次の階層を表示する目次フレームを含むＷｅｂブラウザ・ウィンドウを含む。システムは、内容フレーム内に表示された１つまたは複数の注釈も含み、そこで、各注釈は、事前定義された対話型アプリケーションを説明し、別の内容へのリンクを含む。このシステムは、表示された注釈においてローカル内容に関するリンクのローカル目次の階層を表示する目次ウィンドウを含む。
【００３３】
１つまたは複数の実施形態の詳細を、添付の図面と以下の説明で述べる。この他の機能、目的、および利点は、説明、図面、および特許請求の範囲から明らかになろう。
【００３４】
従来のオンライン・ヘルプ・システムによって提供されるヘルプ情報は、ユーザがアプリケーション・プログラムを効果的に活用することを支援する上で有用であることは既に証明済みである。しかし、これらの従来のオンライン・ヘルプ・システムは、基本的に静的テキストまたはグラフィック情報を提供することに限定されているので、それらの有効性は大幅に低下する。従来のオンライン・ヘルプ・システムのユーザは、ヘルプ・システムによって提供されるテキスト情報およびグラフィック情報を読み、注意深くこれを検討し、次いでその教示を解決すべき問題点に適用することによって解決を得る。その結果、少しでも複雑なアプリケーションを使用することを学ぶことは、しばしば面倒で時間のかかるプロセスである。
【００３５】
ＮｅｗＥｒａ（Ｒ）ｂｙＥｘａｍｐｌｅとして知られているＩｎｆｏｒｍｉｘ（Ｒ）Ｓｏｆｔｗａｒｅ社によって開発されたオンライン・ヘルプおよび指示システムは、ユーザが情報を吸収し、新しいアプリケーションの使用法を学習することのできる容易さを劇的に強化する。ＮｅｗＥｒａ（Ｒ）ｂｙＥｘａｍｐｌｅは、Ｗｉｎｄｏｗｓ（Ｒ）９５／ＮＴオペレーティング・システム下で実行するＮｅｗＥｒａ（Ｒ）に関するオンライン文書化機能であり、Ｉｎｆｏｒｍｉｘ（Ｒ）Ｓｏｆｔｗａｒｅ社製のオブジェクト指向アプリケーション開発環境である。ＮｅｗＥｒａ（Ｒ）ｂｙＥｘａｍｐｌｅのそれ自体の使用法および操作に関するオンライン説明を付録Ａとして添付する。
【００３６】
ＮｅｗＥｒａ（Ｒ）ｂｙＥｘａｍｐｌｅ（またはより一般的には、ＮｅｗＥｒａ（Ｒ）、ＶｉｓｕａｌＢａｓｉｃ（Ｒ）およびＪａｖａ（Ｒ）開発環境に提供されている例示ベースの説明システムをカバーするＩｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅ）は、所要のタスクをどのように達成するかを実例で示す、動的で対話型の例示がユーザに提供される「例示によるドキュメンテーション」と称されるより一般的な概念の特定の実施である。例示の様々な態様を説明する注釈は、実行中の例示に付随する。例示によるドキュメンテーションは、一部には、ユーザが、単にトピックに関して読むことによるだけでなく、何かを実行する（例えば、ある活動に参加して、その結果を監視したり、その結果に影響を与えたりする）ことによって最もよく学ぶという前提に基づいている。
【００３７】
図１３の流れ図に示すように、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのユーザは、様々な異なるトピックから選択すること（ステップ８００）、それに対するヘルプが探索されるアプリケーションがアクティブに維持されている間に例示を実行すること（ステップ８０５）、例示を実行中に同時に、またはその例示とは関係なく、例示に関して読むこと（ステップ８１０）、異なるエディタ・ユーティリティで例示のソース・コードを検査すること（ステップ８１５）、およびユーザが例示を理解するのに役立つオンライン・バックグラウンド参考資料にアクセスすること（ステップ８２０）を含む情報を獲得するためのいくつかの異なるオプションを有し、これらはすべてヘルプ環境を離れずに行われる。ステップ８１５では、例示のためのソース・コードを、新しいアプリケーションを作成する際にＮｅｗＥｒａ（Ｒ）開発環境でテンプレートとして使用するために、カット・アンド・ペーストすることができるサンプル・プログラムとして使用することができる。さらに、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅは、試行、例えば、例示またはそれらのパラメータを選択的に変更し、かつその変更が例示の結果にどのように影響を与えるかを監視することによってユーザが学ぶことを可能にする。
【００３８】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅの特定の機能を、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションからとられた例示的画面の一場面である図１４〜２９を参照して詳述する。
【００３９】
ユーザが最初にＩｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅを起動するとき、図１４に示すデフォルト画面構成が表示される。この初期画面には、現行トピック９０２下でユーザに対して現在使用可能なサブトピックを示すリスト（または「目次」）ウィンドウ９００と、リスト・ウィンドウ９００から選択されたトピックまたはサブトピックに対応するヘルプ情報を表示するテキスト・ウィンドウ９０４との２つの別個の表示ウィンドウが含まれる。リスト・ウィンドウ９００に表示された８個のサブトピック９０６の様々なサブトピックをユーザがクリックするとき、テキスト・ウィンドウ９０４内の情報は、選択されたサブトピック９０６に対応するように自動的に更新される。ユーザは、必要に応じて、前進（「＞＞」）ボタン９０８または後退（「＜＜」）ボタン９１０をクリックすることによって現行トピック内の異なるページに移動することができる。
【００４０】
図１４の例示では、リスト・ウィンドウ９０４に示されるサブトピックは、トピック「ＮｅｗＥｒａ（Ｒ）ｂｙＥｘａｍｐｌｅ Ｉｎｔｒｏｄｕｃｔｏｒｙ Ｔｏｐｉｃｓ」に関係する。別のヘルプ・トピックに切替え、それによって、オンライン・ヘルプ資料の異なるサブセットを使用可能にするために、ユーザは、図１５に示すように、９つの異なるヘルプ・トピックのリスト９１６を含むＨｅｌｐ Ｔｏｐｉｃメニュー９１４を含んでいるウィンドウを提示するＨｅｌｐ Ｔｏｐｉｃｓボタン９１２をクリックする。Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションのどのポイントにおいても、ユーザは、Ｈｅｌｐ Ｔｏｐｉｃｓメニュー９１４を提示させ、所望のトピックをクリックすることによって、オンライン・ヘルプ・システムの別の任意の部分にジャンプすることができる。ユーザは、適切な回数だけＢａｃｋボタン９１６を押し下げることによって前のトピックに戻ることができる。
【００４１】
図１５のリスト９１６内のヘルプ・トピックのそれぞれは、複数レベルのサブトピックの階層を開示するために拡張することができる。ユーザが例えばトピック９１８（「ＮｅｗＥｒａ（Ｒ）ｂｙＥｘａｍｐｌｅ」）をクリックすると、そのトピックは、図１６に示すサブトピックの２つの付加的なレベルを開示するために拡張する。２つの付加的なレベルとはすなわち、サブトピック「Ｉｎｔｒｏｄｕｃｔｉｏｎ」「Ｃｏｍｍｏｎ ＮｅｗＥｒａ（Ｒ）Ｐｒｏｇｒａｍｍｉｎｇ Ｔｅｃｈｎｉｑｕｅｓ」および「Ｔｈｅ  Ｅｘａｍｐｌｅｓ」を含む第１のレベル９２０と、４３個の対話型の例示を含む「Ｔｈｅ Ｅｘａｍｐｌｅｓ」サブトピック下の第２のレベル９２２である。
【００４２】
ユーザが例示、例えば「Ｅｎａｂｌｉｎｇ ａｎｄ Ｄｉｓａｂｌｉｎｇ Ｂｕｔｔｏｎｓ」の例示９２４をクリックすると、選択された例示に関連付けられた注釈セグメント９２６（「Ｏｖｅｒｖｉｅｗ ｏｆ Ｂｕｔｔｏｎｓ２ Ｅｘａｍｐｌｅ」「Ｇｒａｐｈｉｃａｌ Ｏｂｊｅｃｔ Ｓｕｍｍａｒｙ」「Ｅｖｅｎｔ Ｈａｎｄｌｅｒ Ｓｕｍｍａｒｙ」「Ｉｍｐｏｒｔａｎｔ Ｅｖｅｎｔ Ｈａｎｄｌｅｒｓ」および「Ｅｎｈａｎｃｅｍｅｎｔ ａｎｄ Ｖａｒｉａｔｉｏｎｓ」）を表示するためにリスト・ウィンドウ９００が図１７に示すように更新される。注釈セグメント９２６は、対応する例示を一括して説明し、例示のウィンドウ、そのグラフィック・オブジェクト、およびそのイベント・ハンドラの説明を含む。例示の散文説明に加え、注釈セグメントは、通常、検討中の例示のソース・コードから直接的にインポートされた特定の対象のソース・コード・フラグメントも含む。
【００４３】
図１７に示すように、注釈セグメントの１つ（「Ｉｍｐｏｒｔａｎｔ Ｅｖｅｎｅｔ Ｈａｎｄｌｅｒｓ」）は１３個のトピック９２８を含むが、これはＢＵＴＴＯＮＳ２の例示で使用される主イベント・ハンドラのリストである。各イベント・ハンドラのトピック９２８は、ソース・コード・フラグメントと、トピックが対応するイベント・ハンドラを説明する散文説明を含む。例えば、ユーザがイベント・ハンドラ・トピック９３０をクリックすると、テキスト・ウィンドウ９０４は、図１８に示すように、対応するイベント・ハンドラ（ｎｅｘｔＢＴ：：ａｃｔｉｖａｔｅ（））に関するソース・コード・フラグメント９３２をコードの操作を説明する注釈９３４と共に表示する。
【００４４】
テキスト・ウィンドウは、関係する情報への１つまたは複数のリンク、例えばバックグラウンド参考資料を含むことができ、このバックグラウンド参考資料は、付加的なバックグラウンド情報へのさらなるリンクを含むことができ、階層方式によってこれはさらに累々と続く。階層における各連続的なレベルは、例示に関する情報をさらに詳細に、かつさらに低レベルの抽象性で提供する。この方法でさらに詳細な文書に対するリンクの階層を提供することによって、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅは、ユーザの経験と知識のレベルが様々であることに関係なく、すべてのユーザに対して文脈に合った情報を有用かつ有効な方法で提供する。ユーザは、ユーザのニーズとバックグラウンドに相応の理解のレベルに到達するまで、説明的情報の階層リンクを選択的に横断して降下することができる。この構成は、新人ユーザに対しては、詳細な説明情報への容易なアクセスを提供し、同時に、特定の点に関するヘルプを探している経験豊富なユーザを多量の不要な情報の中をナビゲートしなければならないことから保護する。
【００４５】
図１７に階層リンクの一例を示す。ここでは、テキスト・ウィンドウ９０４は、１つの関数はＢＵＴＯＴＯＮ２の例示の関数のうちの１つであるＭＡＩＮ（）関数へのリンク９３６（緑色の下線を引いたテキストによって表示される）を含む。ユーザがＭＡＩＮ（）関数リンク９３６をクリックすると、図１９に示すようにテキスト・ウィンドウ９０４はその関数に対するソース・コード９４０を表示する。ソース・コード９４０は、キーワードおよびオブジェクトのクラスの説明を含むオンライン言語解説書などの関連情報へのさらなるリンクを含む。ユーザがそれらのリンクの１つ、例えばＬＥＴステートメントへのキーワード・リンク９４２をクリックすると、テキスト・ウィンドウ９０４は、図２０に示すように対応するオンライン言語解説項目を表示するように変わる。同様に、ユーザがオブジェクト・クラス・リンク９４４をクリックした場合、テキスト・ウィンドウ９０４はｉｘＳＱＬＣｏｎｎｅｃｔクラスに関する情報を既に表示しているはずである。図２０では、ユーザは、例えば、テキスト・ウィンドウ９０４を図２１のように表示させるようにＯｂｊｅｃｔ Ｅｘｐｒｅｓｓｉｏｎボックス９４６をクリックすることによって、さらなるバックグラウンド情報へのリンクに従うことができる。その後、または別法として、ユーザは、図２２に示すように、用語集目次ウィンドウ９５０および用語集テキスト・ウィンドウ９５２の一対のウィンドウ中にオンライン用語集を提示するためにＧｌｏｓｓａｒｙボタン９４８をクリックすることができる。用語集目次ウィンドウ９５０の用語をクリックすることによって、その用語の定義が用語集テキスト・ウィンドウ９５２に表示される。
【００４６】
例示の注釈、そのソース・コード・フラグメント、対応する言語解説項目、用語集、またはそれらの組み合わせを検討した後、ユーザは、図１５に示すようにＨｅｌｐ Ｔｏｐｉｃメニュー９１４を提示させるＣｏｎｔｅｎｔｓボタン９５４（または検索可能な索引形式の使用可能なヘルプ・トピックを提示するＩｎｄｅｘボタン９５６）をクリックし、次いで図１５および１６に関連して説明した方法で所望のトピックをユーザが選択することによって、ヘルプ・システム内の任意の別の位置に選択的にジャンプすることができる。
【００４７】
図１９のＬＥＴステートメント・リンク９４２およびｉｘＳＱＬＣｏｎｎｅｃｔクラス・リンク９４４などのキーワード・リンクおよびクラス名リンクは、それぞれに、可視的な固有の方法（例えば、キーワードには青色の上付きテキスト、クラス名には青色の下付きテキスト）で示され、その結果、容易に相互から区別することができ、また、図１７に示すようにＭＡＩＮ（）関数リンク９３６（緑色の下付きテキスト）などの他の種類のリンクからも容易に区別することができる。異なる種類のリンクに対して異なるスタイルを用いることによって、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅは、使用可能なオンライン情報の性質および例示の異なる構成要素（注釈、ソース・コード・フラグメント、言語解説など）間の相互関係に関して直感的で有用な情報をユーザに提供する。ほぼ任意の数の異なるリンクの種類は、システム設計者の好みに応じて異なるスタイルで表示される場合がある。
【００４８】
例示の注釈に含まれるソース・コード・フラグメントのそれぞれに関して、ユーザは、例示のソース・コードを検査し、編集し、またはコピーするために、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅから適切な編集ユーティリティを呼び出すことができる。これによって、ユーザは、ソース・コード・フラグメントが取り出されるさらに大きなプログラムに照らしてソース・コード・フラグメントを表示させることができる。
【００４９】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅは、２つの異なる種類のソース・コードに由来するソース・コード・フラグメントを含む。それらは、ＮｅｗＥｒａ（Ｒ）プログラミング言語のテキスト・プログラム・コード（４ＧＬまたは４ＧＨファイル接尾辞によって示される）と、開発中のアプリケーションのエンド・ユーザに対してＧＵＩをどのように表示し、そのエンド・ユーザとどのようにインターフェースするかを定義するウィンドウ・インターフェース定義ファイル（接尾辞ＷＩＦを有するファイル）である。どちらか一方の種類のソース・コード・フラグメントを表示するために、ユーザは、コード・フラグメントの隣にあるショートカットの矢印、例えば図１７〜１９に示すショートカット矢印９５８および９６０のうちの１つをクリックする。Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅはこれに応答して、検討中のソース・コードの種類に対応するエディタを起動する。ユーザが、図１７および１９のショートカット矢印９５８などの４ＧＨまたは４ＧＬファイルの隣のショートカット矢印をクリックすると、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅは、図２３に示すように、コード・フラグメントがそこから取り出されたソース・コード・ファイルを表示させるために、適切なエディタであるＮｅｗＥｒａ（Ｒ）Ｃｏｄｅｗｒｉｇｈｔを自動的に起動する。同様に、ユーザが、図１７および１８のショートカット矢印９６０などのＷＩＦファイルの隣のショートカット矢印をクリックすると、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅは、図２４に示すように、コード・フラグメントがそこから取り出されたＷＩＦファイルを表示させるために、適切なエディタであるＮｅｗＥｒａ（Ｒ）Ｗｉｎｄｏｗ Ｐａｉｎｔｅｒ３．０を自動的に起動する。
【００５０】
この方法で複数のエディタのうちから適切なエディタを選択的に起動することは、ＮｅｗＥｒａ（Ｒ）開発環境の標準的な編集動作を反映する。ＮｅｗＥｒａ（Ｒ）開発環境と、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅ資料システムの両方とも、同じ方法で同じエディタを利用する。その結果、ユーザは、オンライン・ヘルプ・システム（すなわち、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅ）との通常の対話によって、ヘルプを捜すアプリケーション（すなわち、ＮｅｗＥｒａ（Ｒ）開発環境）に精通する。
【００５１】
ユーザが例示に対するソース・コードの開発を完了すると、ＷＩＦファイルのビジュアル・オブジェクトまたは４ＧＨまたは４ＧＬファイル内のプログラム・ステートメントがユーザ自身のソース・ファイルに入っているかどうかに関わらず、ユーザは、簡単にそのコードを検討したり、そのコードの一部をカット・アンド・ペーストしたりすることができる。別法として、ユーザは、「Ｓａｖｅ  Ａｓ．．．」操作を実行することができ、それによって、新しいファイル名でその例示に対するソース・コードを保存することができる。次いでユーザは、必要に応じて新しいファイルを編集し、または他の方法で操作することができる。この方法で、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅによって提供された例示は、ＮｅｗＥｒａ（Ｒ）開発環境で新しいアプリケーションを開発する際に使用するためのテンプレートとしての機能を果たすことができる。
【００５２】
ユーザは、それらの動作方法を直接的に監視するためにＩｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅに提供された４３個の対話型の例示のどれかまたはすべてを実行することができる。例示は事前に構築されており、それらの対応するＩｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅ注釈から直接的に起動されることができる。これを実行するためには、ユーザは、まず図１６に示すＨｅｌｐ Ｔｏｐｉｃｓウィンドウ９１４から関心のある例示を選択し、対応する注釈がテキスト・ウィンドウに表示されると、そのテキスト・ウィンドウ上部付近に表示されているＲｕｎボタンをクリックする。それに応答して、例示が実行され、また、ユーザから受け取った入力に基づいて、その例示がスタンドアロン・アプリケーションの場合は様々な画面をユーザに対して表示する。同時に、テキスト・ウィンドウは、ユーザによって現時点で実行中の例示の一部に関連する説明情報を表示させるために自動的に更新する。ユーザが実行中の例示で実行している各連続的な操作によって、ユーザに対して現在例示に何が起こっているかを説明する注釈の対応するセクションを表示することによって、対話型の例示の状況との同期を維持するために、テキスト・ウィンドウが同時に（またはほぼ同時に）更新される。ヘルプ表示を例示の現在の状態と調整することによって、ユーザの関心のある現行トピックに直接的に関連するタイムリーかつ有用な情報（例えば、その例示によって実行中の特定のソース・コード）が一貫してユーザに提供される。その結果、情報を理解し吸収するユーザの能力は劇的に高められる。Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅの例示の自動的に調整されたヘルプ表示を図２５〜２９に示す。
【００５３】
図２５は、ユーザがＨｅｌｐ Ｔｏｐｉｃｓメニューから「Ｄｉｓｐｌａｙｉｎｇ ａｎ Ｅｄｉｔ Ｍｅｎｕ」の例示を選択したときに、表示される初期リスト・ウィンドウ９００およびテキスト・ウィンドウ９０４を示す。この例示を実行するために、ユーザはＲｕｎボタン９６２をクリックする。このＲｕｎボタン９６２は、図２６に示すように、編集ウィンドウの基礎を示す例示ウィンドウ９６４を生成する。同時に、テキスト・ウィンドウ９０４は、「Ｄｉｓｐｌａｙｉｎｇ ａｎ Ｅｄｉｔ Ｗｉｏｎｄｏｗ」の例示に対するＭＡＩＮ（）関数に関する情報を表示するために更新される。
【００５４】
ユーザが例示ウィンドウ９６４内でＧＵＩ制御を選択的に操作すると、対応する方法でテキスト・ウィンドウ９０４に表示される情報が自動的に更新される。図２７では、ユーザは、テキスト・ウィンドウ９０４にｅｄｉｔ１ＴＢ：：ｆｏｃｕｓｌｎ（）に関する情報を表示させるテキスト・ボックス９６６内を既にクリックしている。同様に、ユーザがテキスト・ボックス９６８をクリックすると、テキスト・ウィンドウ９０４は、図２８に示すようなｅｄｉｔ２ＴＢ：：ｆｏｃｕｓｌｎ（）に関する情報を表示する。ユーザがＣｈｅｃｋＢｏｘ９７０をクリックすると、テキスト・ウィンドウ９０４は、図２９に示すようにｎｏｎｅｄｉｔＣＢ：：ｆｏｃｕｓｌｎ（）に関する情報を表示する。
【００５５】
ユーザは、例示のソース・コードを変更するか、またはそのパラメータを修正し、それらの変更が例示にどのような影響を与えるかを監視することによって、例示を試行することができる。これを実行するために、ユーザは、所望のソース・コード・ファイルを編集し、事前定義された例示を乱さないように、編集したそのソース・コード・ファイルを別個の作業ディレクトリとして保存し、次いでＮｅｗＥｒａ（Ｒ）開発環境に提供される機構を使用してその例示を再構築する。作成され、実行されることのできるそのような試行の数と種類は、ユーザの想像力によってのみ限定されるものである。
【００５６】
例示を実行する際の別のオプションも可能である。例えば、ユーザは、同時に注釈を表示させずに例示を実行することができる。さらに、ＮｅｗＥｒａ（Ｒ）に提供されたＤｅｂｕｇｇｅｒは、例示を実行する前に例示のソース・コードに区切り点を設定するために使用することができ、それによって、ユーザには例示がどのように機能するかに関するさらなる洞察が与えられる。
【００５７】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアーキテクチャの説明と、ＮｅｗＥｒａ（Ｒ）開発環境およびＩｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションが構築される方法を、図３０〜３２を参照して提供する。
【００５８】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅは、Ｗｉｎｄｏｗｓ（Ｒ）９５／ＮＴオペレーティング・システムに提供されたオンライン・ヘルプ（ＯＬＨ）機能を基礎としている。図３０に示すように、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーション１０００は、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅに対して特に作成された資源、ならびにＮｅｗＥｒａ（Ｒ）開発環境１００５に固有の資源を示す。Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーション１０００に特有の構成要素は、対話型例示１００７、その例示に対するソース・コード１０１０、およびその例示を説明する注釈１０１５を含む。注釈１０１５は、例示のソース・コードの代表フラグメント１０２０、例示のソース・コードを表示させるための適切なエディタ（例えば、ＮｅｗＥｒａ（Ｒ）ＣｏｄｅｗｒｉｇｈｔまたはＮｅｗＥｒａ（Ｒ）Ｗｉｎｄｏｗ Ｐａｉｎｔｅｒ）を起動するショートカット１０２５、対話型例示へのジャンプ１０３０、ＮｅｗＥｒａ（Ｒ）オンライン解説１０４０内に含まれる指定されたキーワードおよびクラス名の説明へのリンク１０３５を含む複数の異なる副構成要素を有する。
【００５９】
図３０に示すように、オンライン解説１０４０、コードライト・エディタ１０５０およびウィンドウ・ペインタ・エディタ１０５５は、アプリケーション・ビルダ１０６０、デバッガ１０６５およびＩＰＣ（Ｉｎｔｅｒｐｒｏｃｅｓｓ Ｃｏｍｍｕｎｉｃａｔｉｏｎ）ライブラリ１０７０と共に、開発環境１００５の一部として存在し、したがってＩｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーション１０００とは論理的に分離される。その結果、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーション１０００のユーザが、キーワードまたはクラス名へのリンク１０３５をクリックすることによって、またはソース・コードを表示させるためのショートカット１０２５をクリックすることによって、ＮｅｗＥｒａ（Ｒ）開発環境内に常駐する資源を要求すると、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅ１０００は、要求された資源にアクセスするために、まずインターフェース・ダイナミック・リンク・ライブラリ（ＤＬＬ）１０８０を介してＮｅｗＥｒａ（Ｒ）開発環境１００５と対話する必要がある。インターフェースＤＬＬ１０８０は、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーション１０００に、開発環境の構成要素などの他のアプリケーションと対話することを可能にするルーチンのコンパイルされたライブラリである。Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅ１０００は、要求されたオンライン解説情報を表示するため、または適切なソース・コード・エディタを起動するために、ユーザによって行われた要求の性質に応じて適切なＤＬＬルーチンを呼び出す。
【００６０】
より具体的には、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのユーザが、例示のソース・コード１０１０の位置へのショートカット１０２５をクリックすると、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーション１０００はＤＬＬ内の関数を呼び出すが、そのＤＬＬ内の関数は、ＩＰＣライブラリ１０７０内の関数を呼び出し、そのＩＰＣライブラリ１０７０内の関数は適切なエディタを起動する。この関数呼び出し（後述する、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅの構築中にソース・コード・フラグメントを処理することによって自動的に生成される）の一部として、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーション１０００は、起動されるべきエディタ（コードライト１０５０またはウィンドウ・ペインタ１０５５）を指定し、かつ例示のソース・コード１０１０が指定されたエディタによって開かれるべき行数を識別するパラメータを渡す。Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのユーザがキーワードまたはクラス名へのリンク１０２５をクリックすると、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーション１０００はＤＬＬ内の関数を呼び出し、その関数は、Ｗｉｎｄｏｗｓ（Ｒ） ＯＬＨ機能を使用してオンライン解説１０４０内の対応する定義を表示させる。
【００６１】
インターフェースＤＬＬ１０８０によって提供される他の関数は、対話型例示１００７の実行を制御し、リスト・ウィンドウおよびテキスト・ウィンドウの表示が確実に対応を維持するように調整する。インターフェースＤＬＬ１０８０と、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーション１０００のランタイム動作に関するさらなる詳細を付録Ｂに記載する。
【００６２】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅ１０００とその構成要素（例えば、例示１００７、その例示のソース・コード１０１０および注釈１０１５）が生成される方法は、高度のコードの「保全性」を実現する。この保全性とは、アプリケーションを修正することができる効率および容易性の尺度である。高度のコード保全性は、対話型例示と、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅの対応する注釈構成要素を生成するために使用されるすべての情報を、統合された論理エンティティ、すなわち対話型例示自体に対するソース・コードに埋め込むことによって達成される。その結果、情報の唯一の中央ソースだけを維持すればよい。その中央情報に対してなされたいかなる変更または更新も、例示と、その例示に関する資料／説明／ヘルプ機能（Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅ）の両方に自動的に埋め込まれることになる。この自動化された構築手順により、例示と、対応するＩｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅの注釈は、基礎をなすソース・コードに行われた修正の数および回数に関わらず同期して維持されることが保証される。
【００６３】
図３１に示すように、ＮｅｗＥｒａ（Ｒ）ｂｙＥｘａｍｐｌｅのソース・コード１１００は、物理的には相互依存ファイルの集合で形成されているが、単一の論理エンティティとみなすことができる。ソース・コード１１００は、ソース・コード全体で混合されているプログラム説明１１０５、プログラム・コメント１１１０、および注釈１１１５の３つの基本的な種類のテキストを含んでいる。異なるテキストの種類は、プログラミングの慣例により、また、ソース・コード全体を通して様々な異なるマークアップ・シンボル１１２０を戦略的に配置することによって、相互に区別される。
【００６４】
ソース・コード１１００内のいくつかのテキストは、複数の目的に役立つことができる。例えば、ソース・コード１１００内のプログラム説明１１０５は、例示の２進数の実行可能ファイル１１２５内にコンパイルされる。これらのプログラム説明は、例示の実行中の適切なポイントで対応する注釈を表示するためのＯＬＨ機能を呼び出すことを含む。エンド・ユーザが例示を実行するとき、これらのＯＬＨ呼び出しは、その例示に現時点で何が起こっているかを自動的に説明するためにテキスト・ウィンドウに適切な注釈を表示させる。
【００６５】
それらの同じプログラム説明１１０５の部分は、また、その例示のソース・コードのクリーン・コピーとしての機能を果たすために抽出され、それは編集環境でユーザに対して表示することができる。同様に、プログラム・コメント１１１０としての機能を果たす説明テキスト（Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅプロジェクト開発者に方向付けた未処理のプログラミング説明）は、また、注釈１１１５（実行時にＩｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのエンド・ユーザに表示されるプログラミング説明）としての機能を果たすことができる。
【００６６】
マークアップ・シンボル１１２０は、ソース・コード内の様々な種類のテキストを図で示し、対話型例示およびＩｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅ注釈が構築されるときにそれらがどのように扱われるべきかを指定する。図３２に、「通常の」シンボル１２００および１２０５の２つのインスタンス、「［ｅｄｉｔ」シンボル１２１０および「］ｆｉｌｅ」シンボル１２１５を含むいくつかのマークアップ・シンボルを含むＮｅｗＥｒａ（Ｒ）ソース・コードのサンプルを示す。これらのマークアップ・シンボルのそれぞれは、それぞれの引数と共に、それらがコメント・フィールド内に常駐しており、ＮｅｗＥｒａ（Ｒ）プログラム説明として扱われないことを示す一対の括弧（「｛．．．｝」）によってバインドされる。ＮｅｗＥｒａ（Ｒ）以外のプログラミング言語は、コメント・フィールドを図で示すために異なる規則を使用することができる。例えば、Ｊａｖａ（Ｒ）プログラミング言語では、コメント・フィールドの開始は「／＊」シンボルによって示され、「＊／」シンボルによって終了する。いずれにせよ、対応するプログラミング言語のコンパイラは、コメント・フィールドに常駐するよう示されたすべてのテキストを無視することになる。
【００６７】
「．ｎｏｒｍａｌ」マークアップ・シンボルは、そのシンボル（例えば、シンボル１２００に続く「Ｓｉｎｃｅ ｏｂｊｅｃｔｓ、．．．，」）に続くテキストは説明コメントとして扱われるべきであり、したがって、対応する対話型例示を実行中の適切なポイントで注釈テキストの一部としてテキスト・ウィンドウ内でエンド・ユーザに対して表示されるべきであることを示す。他のマークアップ・シンボルは、出力ファイル名、例示のソース・コードの代表フラグメントとしての機能を果たすべきソース・コードの一部、ジャンプおよびリンクのホットスポットおよび宛先、または表示特性およびオブジェクト（ウィンドウ、ポップアップ、ボタンなど）に関するＧＵＩ関連情報を指定する。マークアップ言語の詳細な説明を付録Ｃに記載する。
【００６８】
一旦ソース・コード１１００が所望通りに修正されると、このコードは、いくつかの異なるステップを通してＩｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションの対話型例示および説明的な内容を構築するために使用される。第１に、ソース・コード１１００は、ＰＥＲＬスクリプト（テキストを構文解析するためにしばしば使用される汎用インタープリタ型言語であるＰｒａｃｔｉｃａｌ Ｅｘｔｒａｃｔｉｏｎ ａｎｄ Ｒｅｐｏｒｔ Ｌａｎｇｕａｇｅ）およびＷｏｒｄＢａｓｉｃスクリプトの２つの異なるスクリプトによって処理される。スクリプト１１３０は、２つの基本的なタイプの出力を生成する。２つの基本的なタイプの出力とは、すなわち対話型例示に対するソース・コード・ファイル１１３５と、Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションの説明的かつ視覚的な内容（例えば、注釈、ソース・コード・フラグメント、ソース・コード・エディタへのショートカット、オンライン解説へのリンク、実行可能な例示へのジャンプ）を表現するＲＴＦファイル１１４０（ＯＬＨコンパイラが要求するリッチ・テキスト・フォーマット）である。
【００６９】
ＰＥＲＬスクリプトは、マークアップ・シンボルを検索中のソース・コード１１００を構文解析し、遭遇した特定のマークアップ・シンボルに基づいていくつかのＲＴＦファイル・フラグメントといくつかのソース・コード・ファイル１１３５とを作成するが、これらは、ソース・コード１１００全体の様々なサブセットを表現する。次いでＷｏｒｄＢａｓｉｃ Ｓｃｒｉｐｔは、ＲＴＦファイル・フラグメントを完全なＲＴＦファイル１１４０にマージし、これはＩｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションに対する説明的かつ視覚的な内容を含んでいるＯＬＨファイル１１５０を作成するためにＷｉｎｄｏｗｓ（Ｒ） ＯＬＨコンパイラ１１４５によって処理される。同時に、例示のソース・コード１１３５は、対話型例示１１２５に対応する実行可能な２進数を生成するために、ＮｅｗＥｒａ（Ｒ）コンパイラ１１５５によってコンパイルされる。
【００７０】
ＰＥＲＬスクリプトによって生成されたＲＴＦファイル・フラグメントは、ソース・コード１１００内に表示される注釈１１１５の他にいくつかの異なる構成要素を含む。ＰＥＲＬスクリプトは、例示のために抽出されたソース・コードに表示されるキーワードまたはクラス名の各インスタンスを識別する。検出された各キーワードおよびクラス名に関して、ＰＥＲＬスクリプトは、オンライン参考資料内の対応する項目へのリンクをＲＴＦファイル内に作成する。
【００７１】
ＰＥＲＬスクリプトは、また、説明的なコメントと共に表示されるテキストとしてＲＴＦファイルに含むために、ソース・コードを表現するフラグメントも抽出する。ソース・コード・フラグメントは、先導し、また後に続く空白行によって図で示されるモノスペースのラップされていないテキストとしてフォーマットされ、説明的なコメントは比例的にスペースの与えられたラップ・テキスト（ｗｒａｐｐｅｄ ｔｅｘｔ）としてフォーマットされる。ＲＴＦファイルに含まれるソース・コード・フラグメントごとに、ＰＥＲＬスクリプトは、また、ＲＴＦファイル内に、対応するショートカット・ボタンを挿入する。このショートカット・ボタンによって、エンド・ユーザは、ソース・コード・エディタを起動し、フラグメントが開始する行でソース・コードを表示させることができる。ＰＥＲＬスクリプトは、また、その例示のために抽出されたソース・コードからすべてのマークアップ・シンボル１１２０を除去する。これにより、関連付けられたエディタで表示させるためのソース・コードのクリーン・バージョンがエンド・ユーザに提供される。
【００７２】
ＰＥＲＬスクリプトによって実行される他の関数は、注釈トピックに対する識別子が、対話型例示においてもＷｉｎｄｏｗｓ（Ｒ） ＯＬＨ機能に含まれるのと同じであることを自動的に保証することを含む。すなわち、ＰＥＲＬスクリプトは、Ｗｉｎｄｏｗｓ（Ｒ） ＯＬＨ機能のためのヘルプ・トピック識別子を読み込み、対応するＮｅｗＥｒａ（Ｒ）定数を生成する。ＰＥＲＬスクリプトは、また、例示を構築するために使用されるＮｅｗＥｒａ（Ｒ）メークファイル（アプリケーションを構築するためのコンピュータ可読命令を含むファイル）の修正されたバージョンも生成する。ＰＥＲＬスクリプトとその操作のさらなる詳細を付録Ｂに記載する。
【００７３】
上述のＰＥＲＬおよびＷｏｒｄＢａｓｉｃスクリプトはＮｅｗＥｒａ（Ｒ）プログラミング言語で書かれたソース・コードで動作するが、他の種類のソース・コード、例えばＪａｖａ（Ｒ）またはＶｉｓｕａｌＢａｓｉｃ（Ｒ）などを構文解析するために異なるスクリプトを使用することも可能である。一般に、提供されるほぼいかなる種類のプログラミング言語でも処理するために、適切なＰＥＲＬおよびＷｏｒｄＢａｓｉｃスクリプトを書くことでき、そのプログラミング言語は、ＡＳＣＩＩソース・コード（ＰＥＲＬによって要求される）を使用し、ある種のソース・コードのコメント機構を提供する。Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅ技術の使用を容易にする他のプログラミング言語の属性は、トピック識別子を有するＷｉｎｄｏｗｓ（Ｒ） ＯＬＨ機能を呼び出すための機構（例示がその注釈を表示することができるための）、開発環境の編集関数を呼び出すための機構（検討中のプログラミング言語が開発環境を提供または要求すると仮定して、注釈がソース・コード・ファイルを開くことができるための）、Ｗｉｎｄｏｗｓ（Ｒ） ＯＬＨフォーマットでのオンライン解説（ソース・コードのキーワードがオンライン解説へのジャンプを有することができるための）を含む。基礎をなすプログラミング言語に１つまたは複数のそれらの他の属性が欠如しても、上述のＩｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅ機能の多くは実施可能である。
【００７４】
ＰＥＲＬスクリプトは、ＲＴＦ以外のフォーマットでファイルを出力するために修正されることができる。例えば、修正されたＰＥＲＬスクリプトは、いかなる使用可能なＷｅｂブラウザ（例えば、Ｎｅｔｓｃａｐｅ Ｎａｖｉｇａｔｏｒ）を使用して表示させることができるハイパーテキスト・マークアップ言語（ＨＴＭＬ）を出力することができる。
【００７５】
例示によるドキュメンテーションの他の変形形態も可能である。例えば、対話型例示を説明する注釈は、テキスト以外の方法で提示することもできる。必要に応じて、音声、グラフィック・シンボル、ピクチャー、ムービー、または他のいかなる伝達手段をも使用することができる。さらに、実行すべき対話型例示の選択は、ユーザによる指定以外の要因に基づくか、またはユーザによる指定に付加的な要因に基づくことができる。例えば、対話型例示は、基礎となるアプリケーショの実行中のあるポイントで、またはヘルプ・システムのある実行ポイントで自動的に起動することができる。ユーザがキーワード、クラス名、または他のリンクをクリックすると、リンクによって指し示されたテキスト解説情報を表示することに加え、またはこれの代わりに例示を自動的に起動することができる。
【００７６】
上述の例示によるドキュメンテーションの方法および技術は、ソフトウェア開発システムのユーザを支援することにのみ限定されるものではなく、アプリケーションを任意のコンピュータ・ベースのアプリケーションまたはユーティリティのための一般的なトレーニングおよび教育ツールとみなすことができる。さらに、本明細書に記載の技術は、ハードウェアまたはソフトウェアでも、またはこれらの組み合わせによって実施することができる。この技術は、それぞれがプロセッサ、（揮発性および不揮発性メモリ、または記憶素子、あるいはその両方を含めて）そのプロセッサによって可読の記憶媒体、および適切な入出力装置を含むプログラミング可能なコンピュータ上で実行中のコンピュータ・プログラムによって実施されることが好ましい。プログラム・コードは、記述された関数を実行し、出力情報を生成するために、入力装置を使用して入力されたデータに適用される。この出力情報は、１つまたは複数の出力装置に適用される。
【００７７】
各プログラムは、好適には、コンピュータ・システムと対話するために、高レベル手続き型のまたはオブジェクト指向プログラミング言語によって実施される。しかし、プログラムは所望ならばアセンブリまたは機械言語でも実施することができる。いずれにせよ、言語はコンパイル型言語またはインタープリタ型言語のどちらかであってよい。
【００７８】
そのような各コンピュータ・プログラムは、記憶媒体または記憶装置（例えば、ＣＤ−ＲＯＭ、ハードディスクまたは磁気ディスケット）に記憶することが好ましい。尚、これら記憶媒体または記憶装置は、これらが上述の手続きを実行するためにコンピュータによって読み込まれたときに、コンピュータを構成し、また、操作するために、汎用または専用のプログラム可能コンピュータによって可読である。このシステムは、コンピュータ・プログラムによって構成されたコンピュータ可読記憶媒体としても実施することができるが、この場合、そのように構成された記憶媒体はコンピュータを特定の事前定義した方法で動作させる。
【００７９】
他の実施形態は頭記の特許請求の範囲に含まれる。
【００８０】
例えば、例示によるドキュメンテーションの方法および技術は、ローカル・エリア・ネットワーク（ＬＡＮ）、イントラネット、またはインターネットなどのネットワークまたはＷｅｂベース環境に適用することができる。Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅとして知られているＩｎｆｏｒｍｉｘ（Ｒ）Ｓｏｆｔｗａｒｅ社製のＷｅｂベースの説明システムは、開発者が有効かつ効率的にデータベース・アプリケーションを実施することができる容易性を劇的に高める。このＷｅｂベースの説明システムは、ユーザにアプリケーションの実施方法を教示するＷｅｂページ形式の例示および説明を提供する。アプリケーション自体は、Ｗｅｂベースのアプリケーションであっても、そうでなくてもよい。このＷｅｂベースの説明システムによって、ユーザは、アプリケーション・プログラムの実施の詳細にアクセスするために、フォーマットされたソース・コードを読み、プログラム構造（例えば、ファイル、クラス、関数の階層）をナビゲートすることができる。このＷｅｂベース・システムは、ユーザが言語キーワード（コード・フラグメント形式として示すことができる）から、そのキーワードに関係する完全な参考文書にジャンプすることも可能にする。ユーザは、エディタでソース・コードを開き、ツールバーの実行ボタンのクリックでＷｅｂブラウザから直接的にプログラムを実行することができる。例示が実行されると、現行方法またはプログラム内の関数に関する注釈ページが表示される。したがって、ユーザは、そのようなアプリケーション・プログラムを実施する方法をより迅速に理解するために方法または関数が実行されるときに、注釈を表示させることができる。
【００８１】
これは、単純にユーザにアプリケーションの使用方法を示す従来のオンライン・ヘルプ・システムとは対照的である。一部の実施はアプリケーションの動作を変更しないが、すべての実施態様の変更は、定義により、実施を左右するので、これは実施資料の維持をより重要なものにする。Ｗｅｂベースの説明とヘルプ・システムは、従来のオンライン・ヘルプ・システムのこの問題点を、ソース・コードに埋め込まれたコメントとして注釈を維持し、ソース・ファイルが変更するときはいつでも注釈ページを自動的に生成することによって解決する。
【００８２】
Ｗｅｂベースのシステムは、また、ユーザに対して特定タスクを達成するためのハウツー資料を提供する。このハウツー資料は、明瞭なステップ・バイ・ステップの説明を提供し、エキスパートおよび「初心者」に対して柔軟なインターフェースを提供する。このハウツー資料は有用なグラフィックを含み、必須のソフトウェアおよび関連するデモおよび他の技術情報へのリンクを提供する。さらに、このハウツー資料は、目的を達成するためにどの製品を使用すべきかをユーザが決定するために役立つ。
【００８３】
図３３に示すように、ユーザが最初に、Ｗｅｂベースの説明システムを提供するＷｅｂブラウザにアクセスしたとき、ディフォルト・ブラウザ構成１３００が表示される。初期ブラウザは、３つの別個の表示フレームのフレームワークを含む。そのフレームワークとは、すなわち、典型的にはＷｅｂページを表示するが、注釈ページ（特定タイプのＷｅｂページ）などの他の関連ページも表示する内容フレーム１３０５と、他のサービスを提供することに加えてツールバーまたはナビゲーション・バーを表示するフレームワーク・アプレット（例えばＪａｖａ（Ｒ）アプレット）を含むトップ・フレーム１３１０と、例えばＪａｖａ（Ｒ）アプレットを使用して実施することができる目次（ＴＯＣ）フレーム１３１５である。
【００８４】
ブラウザがｂｙＥｘａｍｐｌｅ（Ｒ）ＨＴＭＬページを表示するとき、そのページはＪａｖａＳｃｒｉｐｔを使用して自動的にフレームワークの存在をチェックする。フレームワークが存在する場合、ＪａｖａＳｃｒｉｐｔは、トップ・フレーム１３１０のフレームワーク・アプレットに対して、新しいページの名称およびそれが提供する内容の種類に関して通知する。ページにフレームワークが無い場合、ＪａｖａＳｃｒｉｐｔは、そのページに、初期ページ（すなわち、通知が行われるページ）としてフレームワークを開く。
【００８５】
図３４および３５を参照すると、ページ１４００の名称に基づいて、目次１３１５は対応するタイトル１４０５を自動的に選択する。目次１３１５は、クライアントで使用可能なＪａｖａ（Ｒ）ライブラリをテストし、使用可能ならばツリー制御を有する目次階層を自動的に表示する。目次フレーム１３１５は、トップ・フレーム１３１０の内容ボタン１４１０を使用してユーザによってサイズ変更可能かつ除去可能である。例えば、図３４では、目次フレーム１３１５は、ブラウザの約４０％を占有しているが、図３５では、目次フレーム１３１５は除去されており、したがって不可視である。内容ボタン１４１０は、除去されたアイコン（例えば、図３５）または開かれたアイコン（例えば、図３４）を表示することによってＴＯＣの状況を自動的に示す。
【００８６】
ユーザは、ＴＯＣツリーの対応するサブトピック、例えばサブトピック「Ｅｘｔｅｎｄｉｎｇ Ｄａｔａｂａｓｅ Ｓｅｒｖｅｒｓ」１４１５をクリックすることによって、ＴＯＣフレーム１３１５から内容フレーム１３０５内の他のリンクにアクセスすることができる。それに応答して、図３６に示すように、内容フレーム１３０５は、そのサブトピックに対応する内容を表示し、ＴＯＣフレーム１３１５はその選択されたサブトピック１４１５を強調表示する。トップ・フレーム１３１０が、ブラウザがホームページを表示しているかどうかによってその外観（内容ボタンのように）を自動的に変更するホーム・ボタン１４２０を含むということは、この特定の実施例でも明らかである。
【００８７】
別法として、ユーザは、その内容フレーム内の対応するリンク上、例えば、図３５に示すサブトピック・リンク「Ｊａｖａ Ｄａｔａｂａｓｅ Ｃｏｎｎｅｃｔｉｖｉｔｙ（ＪＤＢＣ）」１４２５をクリックすることによって、内容フレーム１３０５内のリンクにアクセスすることができる。これに応答して、図３７に示すように、内容フレーム１３０５は、そのサブトピックを表現するタイトル１４３０を含めてそのサブトピックに対応する内容を表示する。さらに、ＴＯＣフレーム１３１５は、ユーザに対して内容フレーム１３０５内にどの内容が表示されるかを示すために、ＴＯＣツリー内の選択されたサブトピック１４３５を自動的に強調表示する。ＴＯＣと内容の間のこのような同期は、ユーザがアプリケーションの多くのサブトピックおよびトピックを効果的にナビゲートするために役立つ。
【００８８】
再び図３６を参照して、ユーザが内容フレーム１３０５に例示アイコンまたはリンク１４４０、またはＴＯＣフレーム１３１５内のサブトピック・アイコンまたはリンク１４４５のどちらかを使用して例示を選択するとき、ブラウザは、内容フレーム１３０５内に、図３８に示す対応する例示を説明する注釈ページ１５００を表示する。さらに図３９を参照すると、注釈ページ１５００は、例示（散文とも呼ばれる）を説明する注釈１５０５と、別の注釈ページ１５１０への少なくとも１つのリンクとを含む。
【００８９】
例えば、ユーザがソース・ファイル「ｑｕｅｒｙｄｂ．ｈｔｍｌ」へのリンクをクリックするとき、内容フレーム１３０５は、図４０のブラウザに示すようにソース・コード・ファル注釈ページ「ｑｕｅｒｙｄｂ．ｈｔｍｌ」１５２５を表示する。内容フレームは、図４１に示すように、対応するソース・コード・ファイルｑｕｅｒｙｄｂ．ｈｔｍｌに関するソース・コード・フラグメント１５３０を表示する。ソース・コード・フラグメント１５３０は、検討中の例示のソース・コード・ファイルから直接的にインポートされたものである。内容フレーム内のソース・コード・ファイル注釈ページは、トピックが対応するソース・コード・ファイルを説明する注釈１５３５も表示するが、このような注釈１５３５は散文と称される場合がある。
【００９０】
ソース・コードは、標準ＨＴＭＬでマークアップされている。注釈コメントがソース・コード・ファイルのソース・コード・コメント内に埋め込まれているので、注釈１５３５は維持することが容易である。例えば、図４２を参照すると、ソース・コード・ファイル１５６０は、ｑｕｅｗｒｙｄｂ．ｈｔｍｌソース・コード１５２５に関して示される。ソース・コード・フラグメントを含んでいる注釈ページは、マークアップされたソース・コード・ファイルから自動的に生成される。
【００９１】
図４３の流れ図１６００を参照すると、例示の作者は、ソース・コード・コメントに注釈を埋め込むことによってソース・コード・ファイルを注釈する（ステップ１６０５）。この作者は、また、ＨＴＭＬタグおよびＷｅｂベース・システムの１つまたは複数の特別な説明タグ付きの埋め込まれた注釈もマークアップする（ステップ１６１０）。図４４の流れ図１６２０に示すように、一旦、ソース・コード・ファイルがマークアップされると、ＰＥＲＬなどのスクリプト・プログラミング言語は、プログラミング言語からプログラム構造を判定するためにソース・コード・ファイルを構文解析し、注釈と特別な説明タグとを読み込む（ステップ１６２５）。ＰＥＲＬスクリプトは、ソース・コード・ファイルのプログラム構造を反映する注釈ページを生成する（ステップ１６３０）。さらに、ＰＥＲＬスクリプトは、プログラム構造をナビゲートするための注釈ページ間にリンクを提供し（ステップ１６３５）、フレームワークを通知するためにＪａｖａＳｃｒｉｐｔを使用する（ステップ１６４５）一方で、注釈コメントを組み込み（ステップ１６４０）、関連情報へのリンクとしてソース・コード内の言語キーワードを強調表示する（ステップ１６５０）。したがって、注釈は容易に維持される。図４３を再度参照すると、例示の作者は、ソース・コードと注釈を同時に同じ場所で調整または編集することができる（ステップ１６１５）。したがって、注釈は自動的に再生成される。
【００９２】
内容フレーム内の注釈ページは、また、関連情報へのリンク、またはある注釈ページから別の注釈ページへの１つまたは複数のリンクを含むことができる。このような柔軟性は、ＰＥＲＬスクリプトがプログラム構造を決定し、プログラムの別の部分への参照をリンクとしてフォーマットするので、上記の注釈ページの自動生成によるものである。例えば、ユーザがｑｕｅｒｙｄｂ．ｈｔｍｌファイル１５２５内の「ｓｐｏｒｔＨｅａｄｅｒ．ｔａｇ」リンクを選択するとき、内容フレーム１３０５は、図４６に示すように、ｓｐｏｒｔｓＨｅａｄｅｒ．ｔａｇソース・コード注釈ページ１５４０を表示し、ＴＯＣフレーム１３１５は対応するサブトピック・リンク１７００を自動的に強調表示する。
【００９３】
内容フレーム注釈ページの選択可能なリンクは、バックグラウンド参考資料に対応する。例えば、「ＭＩＶＡＲ」リンクが選択されるとき、図４７に示すように、ＭＩＶＡＲタグに関する情報を表示する別個のブラウザ１７０５が作成される。この場合、ＰＥＲＬスクリプトは、ソース・コード内のキーワードを発見し、それらを参考文書へのリンクとしてフォーマットする。ユーザが内容ウィンドウ内の「ＷＥＢ ＨＯＭＥ」リンクを選択すると、図４８に示すように、用語集を含むブラウザ１７１０が作成される。
【００９４】
再度図４０を参照すると、ユーザは、図４９に示すように、内容フレーム１３０５内の注釈ページに対応するソース・ファイルをブラウザ・ウィンドウ１７１５内の平文テキストとして開くために、トップ・フレーム１３１０内の編集ボタン１５６２を選択することができる。この場合、ＰＥＲＬスクリプトはソース・ファイルから注釈コメントを自動的に除去し、その結果、ユーザは長文説明が挿入されていないソース・ファイルを編集することができる。次いでユーザは、このウィンドウと、ユーザ固有のプログラムを表示する別のテキスト・ウィンドウとの間でテキストをカット・アンド・ペーストすることができる。
【００９５】
再度図３８を参照すると、Ｊａｖａ（Ｒ）例示アプレットまたはアプリケーションを起動したり、Ｊａｖａ（Ｒ）アプレットまたは他の埋め込まれたプログラム・オブジェクトを含んでいるＨＴＭＬページをダウンロードしたり、出力をブラウザ・ウィンドウに宛先変更して非対話型プログラムを実行するように、Ｗｅｂサーバに共通ゲートウェイ・インターフェース（ＣＧＩ）要求を送信するために、ユーザはフレームワーク・アプレットを使用して例示を実行することができる。Ｊａｖａ（Ｒ）例示の場合、Ｗｅｂブラウザに注釈ページを表示するよう要求するために、実行中の例示はＪａｖａ（Ｒ）アプリケーション・プログラミング・インターフェース（ＡＰＩ）を呼び出す。ＣＧＩプログラムの場合、Ｗｅｂブラウザに注釈ページを表示するよう要求するために、例示プログラムは、ＪａｖａＳｃｒｉｐｔを含んでいるＨＴＭＬページを戻す。したがって、例示は、サーバ上、またはＷｅｂブラウザの制限付きサンドボックス内で実行される。ユーザが例示をローカルに実行する許可を要求するためにフレームワークがブラウザのセキュリティ機能を使用する場合、例示は、ローカル・クライアント上で実行することができる。
【００９６】
図３８において、ユーザはＲｕｎボタン１５７０を選択することによって例示を実行することができる。図４５の流れ図１６５５を参照すると、Ｒｕｎボタン１５７０を選択すると、図５０に示すように、上記の任意の方法を使用して、ブラウザ・ウィンドウ１８００内で例示が起動する（ステップ１６６０）。ＴＯＣフレーム１３１５は、例示を実施するソース・コードに対する現行注釈ページを強調表示することによって、同時かつ自動的に実行中の例示と同期する。ＰＥＲＬスクリプトは、注釈ページの自動生成によく似たように、階層構造を示すリンクに関してＨＴＭＬページを構文解析することによってＴＯＣを自動的に生成する。
【００９７】
さらに、例示は、現行注釈ページ、この例では上記のｑｕｅｒｙｄｂ．ｈｔｍｌファイル１５２５を表示することによって、内容フレーム１３０５を実行中の例示と同時かつ自動的に同期する。次いでユーザは、例示が実行されている間に、注釈付きのソース・コードを表示させるか、それともそのソース・ファイルを編集することができ、上記のようにキーワードからそのキーワードに対する参考文書にジャンプすることができる。
【００９８】
ユーザがブラウザ・ウィンドウ１８００内の例示と対話するとき（ステップ１６６５）、（例えば、顧客番号を入力し、ブラウザ・ウィンドウ１８００内の「Ｓｕｂｍｉｔ」ボタンを選択することによって）、ユーザ・インターフェースは、図５１に示すようにブラウザ・ウィンドウ１８００内で変化する（例えば、入力された顧客番号に対応するカスタマー・レポート）（ステップ１６７０）。ユーザ・インターフェースは、実行中の例示で使用される次の注釈ページｃｕｓｔ＿ｄｂ．ｈｔｍｌファイル１５８６に対応して変化する。実行中の例示は、注釈を表示すべきプログラム・ユニットの例示、ファイル、クラスおよび関数の名称を有する注釈要求モジュールを自動的かつ同時に呼び出す（ステップ１６７５）。注釈要求モジュールは、その要求を注釈ページにマップし、内容フレーム内に注釈ページを表示するようブラウザに伝える（ステップ１６８０）。例えば、図５１では、次の注釈ページはｃｕｓｔ＿ｄｂ．ｈｔｍｌ１５８６である。Ｃｕｓｔ＿ｄｂ．ｈｔｍｌサブトピック１５８５は、ＴＯＣフレーム１３１５で強調表示され、図５１に示すように、内容フレーム１３０５はｃｕｓｔ＿ｄｂ．ｈｔｍｌ注釈ページ１５８６を表示する。埋め込まれた注釈マークアップ１８１０は、図５２に表示されるｃｕｔ＿ｄｂ．ｈｔｍｌソース・コード・ファイル内に示される。埋め込まれたマークアップ１８１０は、ソース・コード・ファイルから注釈ページを生成するときに使用される。
【００９９】
再度図３６を参照すると、例示を選択することに加え、ユーザは、アイコンまたはリンク１４５０を内容フレーム１３０５内に文書化する方法、またはサブトピック・リンク１４５５をＴＯＣフレーム１３１５内に文書化する方法を選択することもできる。この場合、図５３に示すように、文書化する方法１９００が内容フレーム１３０５に表示される。図を見やすくするために、完全な文書１９００は図５４に示す。同期において、ＴＯＣフレーム１３１５は、文書化する方法１９００に対応する表示されたサブトピック１９０２を強調表示する。
【０１００】
さらに同期において、選択された文書化する方法１９００を反映するために、トップ・フレーム１３１０は動的に変化する。例えば、トップ・フレームには、現時点でアップ・ボタン１９０５、第１のページ・ボタン１９１０、前ページ・ボタン１９１５、次ページ・ボタン１９２０、最終ページ・ボタン１９２５、およびリスト・ボタン１９３０が表示されている。アップ・ボタン１９０５は、選択されると、文書化する方法１９００を列挙するカテゴリまたはサブトピックにジャンプする。例えば、サブトピック「Ｅｘｔｅｎｄｉｎｇ ａ Ｄａｔａｂａｓｅ Ｓｅｒｖｅｒ」は、「Ｃｒｅａｔｅ Ｗｅｂ ａｐｐｌｉｃａｔｉｏｎ」の文書化する方法１９００を列挙し、アップ・ボタン１９０５を選択すると、図３６に示すように、ブラウザは「Ｅｘｔｅｎｄｉｎｇ ａ Ｄａｔａｂａｓｅ Ｓｅｒｖｅｒ」サブトピックに関するすべての情報を表示する。一般に、トップ・フレームは、新しい内容のページが表示された旨をフレームワークに通知するＪａｖａＳｃｒｉｐｔ呼び出しで指定される内容の種類と一致するように変化する。
【０１０１】
文書１９００は他の文書またはページへのポインタを含んでおり、このポインタは複数の方法の１つによってアクセスされる。ポインタは、例えば異なる色、フォント、またはスタイルによって示される内容フレーム内のリンク上をクリックすることによって、内容フレーム１３０５から直接的に選択することができる。例えば、ユーザは図５４に示すように内容フレーム１３０５内のＡｐｐｌｉｃａｔｉｏｎ Ｐａｇｅリンク１９３０またはＰｒｅｐａｒｅ Ｄａｔａｂａｓｅリンク１９３５上をクリックすることができる。Ｃｒｅａｔｅ Ｗｅｂ ａｐｐｌｉｃａｔｉｏｎ文書１９０２のサブトピックを選択することによって、ＴＯＣフレーム１３１５からポインタを選択することができる。例えば、サブトピックＰｒｅｐａｒｅ Ｄａｔａｂａｓｅ１９４０はリンクＰｒｅｐａｒｅ Ｄａｔａｂａｓｅ１９３５に対応し、それらのポインタのどちらを選択してもユーザは同じ文書に移動される。ポインタを選択する際、そのポインタに対応する文書またはページが次いでユーザに表示される。
【０１０２】
さらに図５５を参照すると、ユーザがトップ・フレーム内のリスト・ボタン１９３０を選択すると、ローカル目次ウィンドウ１３２０が表示される。例えば、ユーザが図５３のリスト・ボタン１９３０を選択すると、図５５に示すようにウィンドウ１３２０が作成される。文書をナビゲートする従来型モデルは階層型目次付きである。ＴＯＣモデルは、常時ユーザを方向付けるが、内容を制限する。これは階層には適合しない場合がある。文書をナビゲートするより新しいモデルがハイパーテキストＷｅｂである。このＷｅｂモデルは文書内のいかなるトピックでも、同じトピック上で拡張する、より詳細な文書にリンクする。このＷｅｂモデルは人為的な制限を除去するが、あっという間にユーザを混乱させる。
【０１０３】
これとは対照的に、Ｅｘａｍｐｌｅ（Ｒ）のＷｅｂバージョンは、リンクの非構造化Ｗｅｂページのローカル・コーナーで構造化された階層図を提供するローカル目次モデルを使用する。このモデルでは、文書内のいくつかのページは、ローカルＴＯＣへのルート・ページである。例えば、Ｃｒｅａｔｅ Ｗｅｂ ａｐｐｌｉｃａｔｉｏｎ文書１９００に対応するページは、ローカルＴＯＣへのルート・ページである。ユーザが、ルート・ページ（固有である）などのローカルＴＯＣ固有の任意のページにナビゲートするとき、フレームワーク・アプレットはそのルート・ページに対するローカルＴＯＣを読み込む。図５６に示すように、ユーザがローカルＴＯＣ１３２０のＩｎｔｒｏｄｕｃｔｉｏｎページにナビゲートするとき、フレームワーク・アプレットはそのルート・ページに対するローカルＴＯＣを読み込み、対応する情報をＴＯＣフレーム１３１５および内容フレーム１３０５に表示する。ローカルＴＯＣの各ページはローカルＴＯＣ内では固有である。ユーザはローカルＴＯＣ内のページを連続的に一歩ずつ進むことができ、ローカルＴＯＣの順番で複数のページを参照したり、選択した現行ページでローカルＴＯＣ階層を表示させたりすることができる。したがって、ユーザは、ローカル・トピック内で方向付けられる。
【０１０４】
ローカルＴＯＣは、ローカルＴＯＣ内のページのリンクを制約しない。すなわち、ローカルＴＯＣ内のページは、ローカルＴＯＣ１３２０には存在しないページへのリンクを有することができる。例えば、ユーザがＩｎｔｒｏｄｕｃｔｉｏｎ文書内のＩｎｆｏｒｍｉｘ Ｗｅｂ Ｉｎｔｅｇｒａｔｉｏｎ Ｏｐｔｉｏｎリンク１９４２を選択するとき、ブラウザは、図５７に示すように、ローカルＴＯＣ１３２０には存在しないＩｎｆｏｒｍｉｘ Ｗｅｂ Ｉｎｔｅｇｒａｔｉｏｎ Ｏｐｔｉｏｎページ１９４５を開く。
【０１０５】
さらに、ページは複数のローカルＴＯＣ内に表示させることができる。例えば、図５６のローカルＴＯＣ内にある「Ｃｒｅａｔｅ ｓｕｂｓｐａｃｅ」という題名のページ１９５０は、別の文書に関する別のローカルＴＯＣ内に表示することができる。ルート・ページ（この例では、「Ｃｒｅａｔｅ ＷＥＢ ａｐｐｌｉｃａｔｉｏｎ」ページ１９００）は単一ローカルＴＯＣに制約される。
【０１０６】
ユーザは、ローカルＴＯＣ内の関心のあるトピックを選択することによって、ローカルＴＯＣウィンドウから直接的にローカルＴＯＣ全体をナビゲートすることができる。さらに、ユーザは、第１のページ・ボタン１９１０、前ページ・ボタン１９１５、次ページ・ボタン１９２０、または最終ページ・ボタン１９２５を使用して、トップ・フレーム１３１０を介してローカルＴＯＣ全体をナビゲートすることができる。これらのボタンは、基本的に、ローカルＴＯＣ中を移動することによって、ユーザのために文書内のページをめくる。例えば、Ｃｒｅａｔｅ Ｗｅｂ ａｐｐｌｉｃａｔｉｏｎ文書１９００内にあるときにユーザが次ページ・ボタン１９２０を選択するとき、ブラウザは、Ｃｒｅａｔｅ Ｗｅｂ ａｐｐｌｉｃａｔｉｏｎ文書内の次の文書を表示する。これは、図５８に示すように「Ｔａｂｌｅ ｏｆ Ｃｏｎｔｅｎｔｓ」文書１９５５である。
【０１０７】
図５９を参照すると、ローカルＴＯＣ２００５が構築される方法のモデル２０００が示される。ローカルＴＯＣの構築は、ページ２０１０の非構築（またはランダムな）Ｗｅｂ上に順序付き表示を強制し、このようにして、Ｗｅｂのページ２０１０を表示することを容易にする。
【０１０８】
他の実施形態は、頭記の特許請求の範囲に含まれる。
【０１０９】
Ｗｅｂベースの説明システムは、Ｊａｖａ（Ｒ），ＶｉｓｕａｌＢａｓｉｃ（Ｒ）、Ｃ、Ｃ＋＋、ＨＴＭＬ、Ｐｅｒｌ、ＪａｖａＳｃｒｉｐｔ、ＳＱＬ、Ｉｎｆｏｒｍｉｘ Ｓｔｏｒｅｄ Ｐｒｏｃｅｄｕｒｅ Ｌａｎｇｕａｇｅ（ＳＰＬ）、ＥＳＱＬ／Ｃ（Ｅｍｂｅｄｄｅｄ ＳＱＬ ｆｏｒ Ｃ）、ＳＱＬＪ、ＪＳＰ、ＡＳＰ、およびＩｎｆｏｒｍｉｘ Ｗｅｂ ＤａｔａＢｌａｄｅ Ｍｏｄｕｌｅ言語をサポートすることができる。
【図面の簡単な説明】
【図１】
従来技術のコンピュータ・システムのブロック図である。
【図２】
図１のコンピュータ・システムで使用されるグラフィカル・ユーザ・インターフェース内の表示領域を示す。
【図３】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図４】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図５】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図６】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図７】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図８】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図９】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図１０】
従来技術のオンライン・ヘルプおよび文書システムの画面の一場面である。
【図１１】
ブラウザ・アプリケーションの画面の一場面である。
【図１２】
ブラウザ・アプリケーションの表示領域を示す。
【図１３】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションのユーザに使用可能なオプションを示す流れ図である。
【図１４】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図１５】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図１６】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図１７】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図１８】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図１９】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図２０】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図２１】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図２２】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図２３】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図２４】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図２５】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図２６】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図２７】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図２８】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図２９】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションおよびＮｅｗＥｒａ（Ｒ）開発環境からの画面の一場面である。
【図３０】
ＮｅｗＥｒａ（Ｒ）アーキテクチャのブロック図である。
【図３１】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅアプリケーションがどのように構築されるかを示すブロック図である。
【図３２】
ＮｅｗＥｒａ（Ｒ）ソース・コードのサンプルである。
【図３３】
Ｗｅｂベースの指示システムにおける表示領域である。
【図３４】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図３５】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図３６】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図３７】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図３８】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図３９】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションの表示領域内の内容を示す図である。
【図４０】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図４１】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションの表示領域内の内容を示す図である。
【図４２】
注釈を埋め込んだソース・コード・ファイルである。
【図４３】
注釈ページの作成者がとるステップを示す流れ図である。
【図４４】
注釈ページでリンクを自動的に生成するためのスクリプト・プログラムがとるステップを示す流れ図である。
【図４５】
例示的プログラムがとるステップを示す流れ図である。
【図４６】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図４７】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図４８】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図４９】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図５０】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図５１】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図５２】
注釈を埋め込んだソース・コード・ファイルである。
【図５３】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図５４】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションの表示領域内の内容を示す図である。
【図５５】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図５６】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図５７】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図５８】
Ｉｎｆｏｒｍｉｘ（Ｒ）ｂｙＥｘａｍｐｌｅのＷｅｂベースのアプリケーションからの画面の一場面である。
【図５９】
Ｗｅｂベースのアプリケーションで使用されるローカル目次モデルを示すブロック図である。
【図１】
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
【図５０】
2004523013.tif 000051
【図５１】
2004523013.tif 000052
【図５２】
2004523013.tif 000053
【図５３】
2004523013.tif 000054
【図５４】
2004523013.tif 000055
【図５５】
2004523013.tif 000056
【図５６】
2004523013.tif 000057
【図５７】
2004523013.tif 000058
【図５８】
2004523013.tif 000059
【図５９】
2004523013.tif 000060
【国際公開パンフレット】
2004523013.tif 000061
2004523013.tif 000062
2004523013.tif 000063
2004523013.tif 000064
2004523013.tif 000065
2004523013.tif 000066
2004523013.tif 000067
2004523013.tif 000068
2004523013.tif 000069
2004523013.tif 000070
2004523013.tif 000071
2004523013.tif 000072
2004523013.tif 000073
2004523013.tif 000074
2004523013.tif 000075
2004523013.tif 000076
2004523013.tif 000077
2004523013.tif 000078
2004523013.tif 000079
2004523013.tif 000080
2004523013.tif 000081
2004523013.tif 000082
2004523013.tif 000083
2004523013.tif 000084
2004523013.tif 000085
2004523013.tif 000086
2004523013.tif 000087
2004523013.tif 000088
2004523013.tif 000089
2004523013.tif 000090
2004523013.tif 000091
2004523013.tif 000092
2004523013.tif 000093
2004523013.tif 000094
2004523013.tif 000095
2004523013.tif 000096
2004523013.tif 000097
2004523013.tif 000098
2004523013.tif 000099
2004523013.tif 000100
2004523013.tif 000101
2004523013.tif 000102
2004523013.tif 000103
2004523013.tif 000104
2004523013.tif 000105
2004523013.tif 000106
2004523013.tif 000107
2004523013.tif 000108
2004523013.tif 000109
2004523013.tif 000110
2004523013.tif 000111
2004523013.tif 000112
2004523013.tif 000113
2004523013.tif 000114
2004523013.tif 000115
2004523013.tif 000116
2004523013.tif 000117
2004523013.tif 000118
2004523013.tif 000119
2004523013.tif 000120
2004523013.tif 000121
2004523013.tif 000122
2004523013.tif 000123
2004523013.tif 000124
2004523013.tif 000125
2004523013.tif 000126
2004523013.tif 000127
2004523013.tif 000128
2004523013.tif 000129
2004523013.tif 000130
2004523013.tif 000131
2004523013.tif 000132
2004523013.tif 000133
2004523013.tif 000134
2004523013.tif 000135
2004523013.tif 000136
2004523013.tif 000137
2004523013.tif 000138
2004523013.tif 000139
2004523013.tif 000140
2004523013.tif 000141
2004523013.tif 000142
2004523013.tif 000143
2004523013.tif 000144
2004523013.tif 000145
2004523013.tif 000146
2004523013.tif 000147
2004523013.tif 000148
2004523013.tif 000149
2004523013.tif 000150
2004523013.tif 000151
2004523013.tif 000152
2004523013.tif 000153
2004523013.tif 000154
2004523013.tif 000155
2004523013.tif 000156
【国際公開パンフレット（コレクトバージョン）】
2004523013.tif 000157
【国際公開パンフレット（コレクトバージョン）】
2004523013.tif 000158
2004523013.tif 000159
2004523013.tif 000160
2004523013.tif 000161
2004523013.tif 000162
2004523013.tif 000163
2004523013.tif 000164
2004523013.tif 000165
2004523013.tif 000166
2004523013.tif 000167
2004523013.tif 000168
2004523013.tif 000169
2004523013.tif 000170
2004523013.tif 000171
2004523013.tif 000172
2004523013.tif 000173
2004523013.tif 000174
2004523013.tif 000175
2004523013.tif 000176
2004523013.tif 000177
2004523013.tif 000178
2004523013.tif 000179
2004523013.tif 000180
2004523013.tif 000181
2004523013.tif 000182
2004523013.tif 000183
2004523013.tif 000184
2004523013.tif 000185
2004523013.tif 000186
2004523013.tif 000187
2004523013.tif 000188
2004523013.tif 000189
2004523013.tif 000190
2004523013.tif 000191
2004523013.tif 000192
2004523013.tif 000193
2004523013.tif 000194
2004523013.tif 000195
2004523013.tif 000196
2004523013.tif 000197
2004523013.tif 000198
2004523013.tif 000199
2004523013.tif 000200
2004523013.tif 000201
2004523013.tif 000202
2004523013.tif 000203
2004523013.tif 000204
2004523013.tif 000205
2004523013.tif 000206
2004523013.tif 000207
2004523013.tif 000208
2004523013.tif 000209
2004523013.tif 000210
2004523013.tif 000211
2004523013.tif 000212
2004523013.tif 000213
2004523013.tif 000214
2004523013.tif 000215
2004523013.tif 000216
2004523013.tif 000217
2004523013.tif 000218
2004523013.tif 000219
2004523013.tif 000220
2004523013.tif 000221
2004523013.tif 000222
2004523013.tif 000223
2004523013.tif 000224
2004523013.tif 000225
2004523013.tif 000226
2004523013.tif 000227
2004523013.tif 000228
2004523013.tif 000229
2004523013.tif 000230
2004523013.tif 000231
2004523013.tif 000232
2004523013.tif 000233
2004523013.tif 000234
2004523013.tif 000235
2004523013.tif 000236
2004523013.tif 000237
2004523013.tif 000238
2004523013.tif 000239
2004523013.tif 000240
2004523013.tif 000241
2004523013.tif 000242
2004523013.tif 000243
2004523013.tif 000244
2004523013.tif 000245
2004523013.tif 000246
2004523013.tif 000247
2004523013.tif 000248
2004523013.tif 000249
2004523013.tif 000250
2004523013.tif 000251
2004523013.tif 000252
2004523013.tif 000253
【国際公開パンフレット（コレクトバージョン）】
2004523013.tif 000254
【国際調査報告】
2004523013.tif 000255
2004523013.tif 000256
2004523013.tif 000257