(57)【要約】再使用可能なデータマークアップ言語（”ＲＤＭＬ”）と呼ばれる、コンピュータマークアップ言語と、ローカルに又はネットワーク（例えばインターネット）上に記憶されているＲＤＭＬフォーマット形式のドキュメント又はファイルを検索し、操作し、閲覧するためのデータビューアを提供する方法及びシステム。一般的に、ＲＤＭＬは、数値のブラウジングと操作が可能で、ＨＴＭＬにおけるようなテキストとイメージとは対照的に、数値に適合する該数値の意味を記述する属性を含むことによって、数値をブラウズし、操作する。該マークアップ言語に対応するドキュメントによって、数値とデータと共に機械可読なドキュメンテーションをカプセル化し、前記データビューアが、ウェブブラウザーと、前記数値とデータを自動的に読み、変換し、操作するスプレッドシートとの組合せとして動作することを可能とする。
2004506955.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムにおける方法であって：
数値を含むドキュメントを受信するステップ；
単位及び大きさを含む前記数値の特性の指示を受信するステップ；及び
前記受信した指示を前記数値に関連したタグとして前記ドキュメントに付け加えてマークアップドキュメントを作成するステップ；
を含むことを特徴とする方法。
【請求項２】
さらに：
前記マークアップドキュメントを表示するステップ；
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
さらに：
前記マークアップドキュメントの前記表示を前記数値に関連した前記タグを用いて操作するステップ；
を含むことを特徴とする請求項２に記載の方法。
【請求項４】
さらに：
前記表示上の前記マークアップドキュメントをコンパティブルな特性を表すタグを有する第二のマークアップドキュメントとマージするステップ；
を含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記特性がさらにスケールを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記特性がさらに変更子（ｍｏｄｉｆｉｅｒ）を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記特性がさらにメジャー（ｍｅａｓｕｒｅ）を含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記特性がさらに調整（ａｄｊｕｓｔｍｅｎｔ）を含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記特性がさらに前記数値のセット・タイプを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記セット・タイプが、時系列、カテゴリー、及びｘ−ｙプロットの少なくとも一つであることを特徴とする請求項９に記載の方法。
【請求項１１】
前記特性がさらに前記数値のクラス・タイプを含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記特性がさらに第二のマークアップドキュメントへのリンクを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
データ処理システムにおける方法であって：
第一のマークアップドキュメント及び第二のマークアップドキュメントを受信するステップ、前記第一のマークアップドキュメント及び第二のマークアップドキュメントは両方とも数値及び前記数値の特性を反映するタグを含む；
前記タグを用いて前記第一のマークアップドキュメント及び第二のマークアップドキュメントを自動的に結合して単一のデータ・セットにするステップ；及び
前記単一のデータ・セットを表示するステップ；
を含むことを特徴とする方法。
【請求項１４】
前記自動的に結合するステップがさらに：
前記第一のマークアップドキュメント及び第二のマークアップドキュメントの特性の間の矛盾を解決するステップ；
を含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記表示するステップがさらに：
前記数値の特性を反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする請求項１３に記載の方法。
【請求項１６】
前記特性が、大きさ、スケール、モディファイア、単位、及びメジャー、の少なくとも一つを含み、前記操作するステップが：
前記数値の前記大きさ、スケール、モディファイア、単位、及びメジャー特性の少なくとも一つを反映するタグを用いて前記単一のデータ・セットの表示を操作するステップを含むことを特徴とする請求項１３に記載の方法。
【請求項１７】
前記特性が大きさを含み、前記操作するステップが：
前記数値の前記大きさを反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする請求項１３に記載の方法。
【請求項１８】
前記特性がスケールを含み、前記操作するステップが：
前記数値の前記スケールを反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする請求項１３に記載の方法。
【請求項１９】
前記特性が変更子を含み、前記操作するステップが：
前記数値の前記変更子を反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする請求項１３に記載の方法。
【請求項２０】
前記特性が単位を含み、前記操作するステップが：
前記数値の前記単位を反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする請求項１３に記載の方法。
【請求項２１】
前記特性がメジャーを含み、前記操作するステップが：
前記数値の前記メジャーを反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする請求項１３に記載の方法。
【請求項２２】
データ処理システムにおける方法であって：
数値の組及び前記数値の特性を示すタグを有するマークアップドキュメントを受信するステップ；
前記数値の組が新しい特性を反映するための変換を決定するステップ；
前記数値の組の大きさ、スケール、変更子、単位、及びメジャーを示す複数のタグにアクセスするステップ；
前記新しい特性への変換を遂行するために前記大きさ、スケール、変更子、単位、及びメジャー・タグの換算因子を決定するステップ；及び
前記数値の組に決定された換算因子を乗じて前記数値の組を前記新しい特性を反映するように変換するステップ；
を含むことを特徴とする方法。
【請求項２３】
さらに：
変換された数値の組を表示するステップ；
を含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
データ処理システムにおける方法であって：
数値へのリクエストを受信するステップ、前記リクエストは前記数値の少なくとも一つの特性を指示する；
第一のマークアップドキュメント及び第二のマークアップドキュメントを受信するステップ、前記第一のマークアップドキュメント及び第二のマークアップドキュメントは両方とも数値及び前記数値の特性を反映するタグを含み、少なくとも一つのタグは前記リクエストされた数値の前記指示された特性を有する；
前記第一のマークアップドキュメント及び第二のマークアップドキュメントの特性の間の矛盾を解決して前記第一のマークアップドキュメント及び第二のマークアップドキュメントを自動的に結合して単一のデータ・セットにするステップ；
前記単一のデータ・セットを表示するステップ；及び
前記数値の特性を反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする方法。
【請求項２５】
両方共数値及び前記数値の特性を反映するタグを含む第一のマークアップドキュメント及び第二のマークアップドキュメントを有する不揮発性記憶装置；
前記第一のマークアップドキュメント及び第二のマークアップドキュメントを受信し、前記タグを用いて前記第一のマークアップドキュメント及び第二のマークアップドキュメントを自動的に結合して単一のデータ・セットにするプログラムを有するメモリー；及び
前記プログラムを実行する処理装置；
を備えるデータ処理システム。
【請求項２６】
前記不揮発性記憶装置がさらにデータベースを含み、前記マークアップドキュメントの少なくとも一つが前記データベースに格納されている情報から作成されることを特徴とする請求項２５に記載のデータ処理システム。
【請求項２７】
前記マークアップ言語が拡張マークアップ言語ｖｅｒｓｉｏｎ １．０（Ｅｘｔｅｎｓｉｂｌｅ Ｍａｒｋｕｐ Ｌｎａｇｕａｇｅ ｖｅｒｓｉｏｎ １．０）に合致することを特徴とする請求項２５に記載のデータ処理システム。
【請求項２８】
さらに表示装置を備え、前記プログラムが前記表示装置に指示して前記単一のデータ・セットをチャートビューで表示させることを特徴とする請求項２５に記載のデータ処理システム。
【請求項２９】
さらに表示装置を備え、前記プログラムが前記表示装置に指示して前記単一のデータ・セットをツリービューで表示させることを特徴とする請求項２５に記載のデータ処理システム。
【請求項３０】
さらに表示装置を備え、前記プログラムが前記表示装置に指示して前記単一のデータ・セットをスプレッドシートビューで表示させることを特徴とする請求項２５に記載のデータ処理システム。
【請求項３１】
さらに表示装置を備え、前記プログラムが前記表示装置に命令して前記単一のデータ・セットを脚注ビューで表示させることを特徴とする請求項２５に記載のデータ処理システム。
【請求項３２】
コンピュータ読取可能な記憶媒体であって、データ処理システムを制御して：
数値を含み、特性が単位及び大きさを含むドキュメントを受信するステップ；
前記数値の特性の指示を受信するステップ；及び
前記受信した指示を前記数値に関連したタグとして前記ドキュメントに付け加えてマークアップドキュメントを作成するステップ；
を含む方法を実行させる命令を含むコンピュータ読取可能な記憶媒体。
【請求項３３】
前記方法がさらに：
前記マークアップドキュメントを表示するステップ；
を含むことを特徴とする請求項３２に記載のコンピュータ読取可能な記憶媒体。
【請求項３４】
前記方法がさらに：
前記数値に関連したタグを用いて前記マークアップドキュメントの表示を操作するステップ；
を含むことを特徴とする請求項３２に記載のコンピュータ読取可能な記憶媒体。
【請求項３５】
前記方法がさらに：
前記表示装置上の前記マークアップドキュメントを、コンパティブルな特性を表すタグを有する第二のマークアップドキュメントとマージするステップ；
を含むことを特徴とする請求項３３に記載のコンピュータ読取可能な記憶媒体。
【請求項３６】
前記特性がさらにスケールを含むことを特徴とする請求項３２に記載のコンピュータ読取可能な記憶媒体。
【請求項３７】
前記特性がさらに変更子を含むことを特徴とする請求項３２に記載のコンピュータ読取可能な記憶媒体。
【請求項３８】
前記特性がさらにメジャーを含むことを特徴とする請求項３２に記載のコンピュータ読取可能な記憶媒体。
【請求項３９】
前記特性がさらに調整を含むことを特徴とする請求項３２に記載のコンピュータ読取可能な記憶媒体。
【請求項４０】
コンピュータ読取可能な記憶媒体であって、データ処理システムを制御して：
第一のマークアップドキュメント及び第二のマークアップドキュメントを受信するステップ、前記第一のマークアップドキュメント及び第二のマークアップドキュメントは両方とも数値及び前記数値の特性を反映するタグを含む；
前記タグを用いて前記第一のマークアップドキュメント及び第二のマークアップドキュメントを自動的に結合して単一のデータ・セットにするステップ；及び
前記単一のデータ・セットを表示するステップ；
を含む方法を実行させる命令を含むコンピュータ読取可能な記憶媒体。
【請求項４１】
前記自動的に結合するステップがさらに：
前記第一のマークアップドキュメント及び第二のマークアップドキュメントの特性の間の矛盾を解決するステップ；
を含むことを特徴とする請求項４０に記載のコンピュータ読取可能な記憶媒体。
【請求項４２】
前記表示するステップがさらに：
前記数値の特性を反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする請求項４０に記載のコンピュータ読取可能な記憶媒体。
【請求項４３】
前記特性が、大きさ、スケール、変更子、単位、及びメジャー、を含み、前記操作するステップが：
前記数値の前記大きさ、スケール、変更子、単位、及びメジャー特性を反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする請求項４０に記載のコンピュータ読取可能な記憶媒体。
【請求項４４】
前記特性が大きさを含み、前記操作するステップが：
前記数値の大きさ特性を反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする請求項４０に記載のコンピュータ読取可能な記憶媒体。
【請求項４５】
前記特性がスケールを含み、前記操作するステップが：
前記数値のスケール特性を反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする請求項４０に記載のコンピュータ読取可能な記憶媒体。
【請求項４６】
前記特性が変更子を含み、前記操作するステップが：
前記数値の変更子特性を反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする請求項４０に記載のコンピュータ読取可能な記憶媒体。
【請求項４７】
前記特性が単位を含み、前記操作するステップが：
前記数値の単位特性を反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする請求項４０に記載のコンピュータ読取可能な記憶媒体。
【請求項４８】
前記特性がメジャーを含み、前記操作するステップが：
前記数値のメジャー特性を反映するタグを用いて前記単一のデータ・セットの表示を操作するステップ；
を含むことを特徴とする請求項４０に記載のコンピュータ読取可能な記憶媒体。
【請求項４９】
コンピュータ読取可能な記憶媒体であって、データ処理システムを制御して：
数値の組及び前記数値の特性を示すタグを有するマークアップドキュメントを受信するステップ；
前記数値の組が新しい特性を反映するための変換を決定するステップ；
前記数値の組の大きさ、スケール、変更子、単位、及びメジャーを示す複数のタグにアクセスするステップ；
前記新しい特性への変換を遂行するために前記大きさ、スケール、変更子、単位、及びメジャー・タグの換算因子を決定するステップ；及び
決定された換算因子を前記数値の組に乗じて前記数値の組を前記新しい特性を反映するように変換するステップ；
を含む方法を実行させる命令を含むコンピュータ読取可能な記憶媒体。
【請求項５０】
さらに：
前記変換された数値の組を表示するステップ；
を含むことを特徴とする請求項４９に記載のコンピュータ読取可能な記憶媒体。
【請求項５１】
第一のマークアップドキュメント及び第二のマークアップドキュメントを受信する手段、前記第一のマークアップドキュメント及び第二のマークアップドキュメントは両方とも数値及び前記数値の特性を反映するタグを含む；
前記タグを用いて前記第一のマークアップドキュメント及び第二のマークアップドキュメントを自動的に結合して単一のデータ・セットにする手段；及び
前記単一のデータ・セットを表示する手段；
を備えるデータ処理システム。
【請求項５２】
データ処理システムにおける方法であって：
数値を含むドキュメントを受信するステップ；
前記数値の特性の指示を受信するステップ、前記特性はフォーマット及びセマンティックスを示す；及び
前記受信した指示を前記数値に関連したタグとして前記ドキュメントに付け加えてマークアップドキュメントを作成するステップ；
を含むことを特徴とする方法。
【請求項５３】
データ処理システムにおける方法であって：
数値を含むドキュメントを受信するステップ；
前記数値の特性の指示を受信するステップ、前記特性は構造及びセマンティックスを示す；及び
前記受信した指示を前記数値に関連したタグとして前記ドキュメントに付け加えてマークアップドキュメントを作成するステップ；
を含むことを特徴とする方法。
【請求項５４】
データ処理システムにおける方法であって：
数値を含むドキュメントを受信するステップ；
前記数値の特性の指示を受信するステップ、前記特性はフォーマット及び価値を示す；及び
前記受信した指示を前記数値に関連したタグとして前記ドキュメントに付け加えてマークアップドキュメントを作成するステップ；
を含むことを特徴とする方法。
【請求項５５】
データ処理システムにおける方法であって：
数値を含むドキュメントを受信するステップ；
前記数値の特性の指示を受信するステップ、前記特性は構造及び価値を示す；及び
前記受信した指示を前記数値に関連したタグとして前記ドキュメントに付け加えてマークアップドキュメントを作成するステップ；
を含むことを特徴とする方法。
【請求項５６】
データ処理システムにおける方法であって：
数値を含むドキュメントを受信するステップ；
前記数値の特性の指示を受信するステップ、前記特性は構造及び由来（ｐｒｏｖｅｎａｎｃｅ）を示す；及び
前記受信した指示を前記数値に関連したタグとして前記ドキュメントに付け加えてマークアップドキュメントを作成するステップ；
を含むことを特徴とする方法。
【請求項５７】
データ処理システムにおける方法であって：
数値を含むドキュメントを受信するステップ；
前記数値の特性の指示を受信するステップ、前記特性はフォーマット及び出自（ｐｒｏｖｅｎａｎｃｅ）を示す；及び
前記受信した指示を前記数値に関連したタグとして前記ドキュメントに付け加えてマークアップドキュメントを作成するステップ；
を含むことを特徴とする方法。
【請求項５８】
データ処理システムにおける方法であって：
数値を含むドキュメントを受信するステップ；
前記数値の特性の指示を受信するステップ、前記特性はフォーマット、由来、構造、価値、及びセマンティックスを示す；及び
前記受信した指示を前記数値に関連したタグとして前記ドキュメントに付け加えてマークアップドキュメントを作成するステップ；
を含むことを特徴とする方法。
【請求項５９】
データ処理システムであって：
マークアップドキュメントを有する記憶装置を含む第一のコンピュータ；
第二のコンピュータであって；
前記マークアップドキュメントを検索し、前記マークアップドキュメントの内容をスプレッドシートに表示するプログラムを有するメモリー；及び
前記プログラムを実行する処理装置；
を備える第二のコンピュータ；及び
前記第一のコンピュータと前記第二のコンピュータを相互接続するネットワーク；
を備えるデータ処理システム。
【請求項６０】
前記ネットワークがインターネットであることを特徴とする請求項５９に記載のデータ処理システム。
【請求項６１】
前記プログラムはユーザーが前記ネットワーク上で他のマークアップドキュメントをサーチすることを可能にすることを特徴とする請求項５９に記載のデータ処理システム。
【請求項６２】
前記第二のコンピュータがさらに：
前記マークアップドキュメントの内容をチャートビューで表示する表示装置；
を備えることを特徴とする請求項５９に記載のデータ処理システム。
【請求項６３】
前記第二のコンピュータがさらに：
前記マークアップドキュメントの内容をツリービューで表示する表示装置；
を備えることを特徴とする請求項５９に記載のデータ処理システム。
【請求項６４】
前記第二のコンピュータがさらに：
前記マークアップドキュメントの内容を脚注ビューで表示する表示装置；
を備えることを特徴とする請求項５９に記載のデータ処理システム。
【請求項６５】
ドキュメント及びプログラムがコード化されているコンピュータ読取可能なメモリー装置であって、前記ドキュメントが：
数値及び前記数値の特性を反映するタグ；
を含み、前記特性は単位及び大きさを含み；
前記プログラムが：
前記数値及びタグを読取って前記数値を前記特性によって定められる仕方で表示する命令；
を含むことを特徴とするコンピュータ読取可能なメモリー装置。
【請求項６６】
プログラムを含むデータ処理システムにおける方法であって、：
前記データ処理システムに対して遠隔の場所からマークアップドキュメントを受信するステップ；及び
前記マークアップドキュメントの内容をスプレッドシートに表示するステップ；
を含み前記プログラムによって実行されることを特徴とする方法。
【請求項６７】
チャートを示す表示装置を有するデータ処理システムにおける方法であって、前記方法が：
数値のシリーズを前記数値の特性を示すタグと共に受信するステップ；
前記数値を前記チャートに表示するステップ；
少なくとも一つの前記タグに基づいて前記数値の記述的テキストコンポーネントを自動的に決定するステップ；及び
決定された前記記述的テキストコンポーネントを前記チャートに表示するステップ；
を含むことを特徴とする方法。
【請求項６８】
前記記述的テキストコンポーネントがタイトルであることを特徴とする請求項６７に記載の方法。
【請求項６９】
さらに：
前記数値のシリーズの変換の指示を受信するステップ：
前記指示された変換に応じて新しいタイトルを自動的に決定するステップ；及び
前記新しいタイトルを前記チャートに表示するステップ；
を含むことを特徴とする請求項６８に記載の方法。
【請求項７０】
さらに：
第一の数値のシリーズと共に前記チャートに表示される第二の数値のシリーズを受信するステップ；
前記第一の数値のシリーズと共に前記第二の数値のシリーズが前記チャートに表示されるときに前記チャートの新しいタイトルを自動的に決定するステップ；及び
前記新しいタイトルをチャートに表示するステップ；
を含むことを特徴とする請求項６８に記載の方法。
【請求項７１】
前記タイトルがチャート・タイトルであることを特徴とする請求項６８に記載の方法。
【請求項７２】
前記タイトルが軸タイトルであることを特徴とする請求項６８に記載の方法。
【請求項７３】
前記軸タイトルがｘ−軸タイトルであることを特徴とする請求項７２に記載の方法。
【請求項７４】
前記軸タイトルがｙ−軸タイトルであることを特徴とする請求項７２に記載の方法。
【請求項７５】
前記記述的テキストコンポーネントが軸ラベルであることを特徴とする請求項６７に記載の方法。
【請求項７６】
さらに：
前記数値のシリーズの変換の指示を受信するステップ：
前記指示された変換に応じて新しい軸ラベルを自動的に決定するステップ；及び
前記新しい軸ラベルを表示するステップ；
を含むことを特徴とする請求項７５に記載の方法。
【請求項７７】
前記軸ラベルがｘ−軸ラベルであることを特徴とする請求項７５に記載の方法。
【請求項７８】
前記軸ラベルがｙ−軸ラベルであることを特徴とする請求項７５に記載の方法。
【請求項７９】
チャートを表示する表示装置を有するデータ処理システムにおける方法であって：
数値の特性を示す第一のタグを有する第一の数値のシリーズを受信するステップ；
前記第一の数値のシリーズを前記チャートに表示するステップ、前記第一の数値のシリーズは前記チャート上の第一の軸に対応する；
前記チャートに付け加えられる第二の数値のシリーズを受信するステップ、前記第二の数値のシリーズは前記第二の数値のシリーズの特性を示す第二のタグを有する；
前記チャート上に第二の軸を自動的に生成するステップ；及び
前記第一の数値のシリーズを前記チャートに表示しながら、前記第二の軸に対応する前記第二の数値のシリーズを前記チャートに表示するステップ；
を含む方法。
【請求項８０】
さらに：
少なくとも一つの前記第二のタグに基づいて前記チャートに前記第二の軸を自動的にフォーマットするステップ；
を含む請求項７９に記載の方法。
【請求項８１】
さらに：
前記第二の数値のシリーズを前記チャートに前記第一の数値のシリーズと共に表示するときに前記チャートに関する新しいタイトルを自動的に決定するステップ；
を含む請求項７９に記載の方法。
【請求項８２】
チャートを表示する表示装置を有するデータ処理システムにおける方法であって：
前記表示装置で前記チャートに数値のシリーズを表示する第一の命令を受信するステップ、前記数値は前記数値の特性を示すタグを有する；
前記受信した第一の命令に応じて前記数値のシリーズを前記チャートに表示するステップ；及び
前記受信した命令に応じて少なくとも一つの前記タグに基づいて前記チャートを自動的にフォーマットするステップ；
を含む方法。
【請求項８３】
前記受信した命令がマウスイベントであることを特徴とする請求項８２に記載の方法。
【請求項８４】
さらに：
前記表示装置で前記チャートに第二の数値のシリーズを表示する第二の命令を受信するステップ、前記数値は前記第二の数値のシリーズの特性を示すタグを有する；及び
前記第二の数値のシリーズを前記チャートに表示するステップ；
を含むことを特徴とする請求項８２に記載の方法。
【請求項８５】
前記受信した第二の命令がシフト・キーイベント及びカーソル・キーイベントによって示されることを特徴とする請求項８４に記載の方法。
【請求項８６】
データ処理システムであって：
数値データを操作し表示するように構成されたチャーティング（ｃｈａｒｔｉｎｇ）・アプリケーションを格納するメモリー、前記メモリーは数値に関連したテキスト情報を示すタグを有する選択された数値のシリーズを有する；
レジェンド（ｌｅｇｅｎｄ）を有するチャートを表示する表示装置、前記レジェンドは（１）前記選択された数値のシリーズに関連した前記テキスト情報を表示し、（２）前記テキスト情報が前記チャートのレジェンドに適合しない場合、前記数値のシリーズに関連したテキスト情報をワードラップしスクロールする；及び
前記チャーティング・アプリケーションを実行する処理装置；
を備えるデータ処理システム。
【請求項８７】
データ処理システムであって：
数値データを操作し表示するように構成されたチャーティング・アプリケーション、及び数値の特性を示すタグを有する数値のシリーズを格納するメモリー；
前記数値のシリーズを表示する命令を受信する入力装置；
チャートを表示し、前記受信した命令に応じて前記チャートに前記数値のシリーズを表示する表示装置；及び
前記チャーティング・アプリケーションを実行し、少なくとも一つの前記タグに基づいて自動的にチャートをフォーマットする処理装置；
を備えるデータ処理システム。
【請求項８８】
前記受信した命令がマウスイベントであることを特徴とする請求項８７に記載のデータ処理システム。
【請求項８９】
データ処理システムにおける方法であって：
数値の組と前記数値の特性を示すタグを有するマークアップドキュメントを受信するステップ、前記特性は単位と大きさを含む；
前記数値の特性を示す前記タグに基づいて前記数値の組の表示を操作するステップ；及び
前記数値の組をビューに表示するステップ；
を含む方法。
【請求項９０】
前記表示するステップがさらに：
前記数値の組をチャートビューに表示するステップ；
を含むことを特徴とする請求項８９に記載の方法。
【請求項９１】
前記表示するステップがさらに：
前記数値の組をスプレッドシートビューに表示するステップ；
を含むことを特徴とする請求項８９に記載の方法。
【請求項９２】
前記表示するステップがさらに：
前記数値の組を脚注ビューに表示するステップ；
を含むことを特徴とする請求項８９に記載の方法。
【請求項９３】
前記表示するステップがさらに：
前記数値の組をツリービューに表示するステップ；
を含むことを特徴とする請求項８９に記載の方法。
【請求項９４】
データ処理システムを制御してある方法を実行させる命令を格納するコンピュータ読取可能な記憶媒体であって、前記データ処理システムはチャートを表示する表示装置を有し、前記方法が：
数値のシリーズを前記数値の特性を示すタグと共に受信するステップ；
前記数値を前記チャートに表示するステップ；
少なくとも一つの前記タグに基づいて前記数値の記述的テキストコンポーネントを自動的に決定するステップ；及び
決定された前記記述的テキストコンポーネントを前記チャートに表示するステップ；
を含むことを特徴とするコンピュータ読取可能な記憶媒体。
【請求項９５】
前記記述的テキストコンポーネントがタイトルであることを特徴とする請求項９４に記載のコンピュータ読取可能な記憶媒体。
【請求項９６】
さらに：
前記数値のシリーズの変換の指示を受信するステップ：
前記指示された変換に応じて新しいタイトルを自動的に決定するステップ；及び
前記新しいタイトルを前記チャートに表示するステップ；
を含むことを特徴とする請求項９５に記載のコンピュータ読取可能な記憶媒体。
【請求項９７】
さらに：
第一の数値のシリーズと共に前記チャートに表示される第二の数値のシリーズを受信するステップ；
前記第一の数値のシリーズと共に前記第二の数値のシリーズが前記チャートに表示されるときに前記チャートの新しいタイトルを自動的に決定するステップ；及び
前記新しいタイトルをチャートに表示するステップ；
を含むことを特徴とする請求項９５に記載のコンピュータ読取可能な記憶媒体。
【請求項９８】
前記タイトルがチャート・タイトルであることを特徴とする請求項９５に記載のコンピュータ読取可能な記憶媒体。
【請求項９９】
前記タイトルが軸タイトルであることを特徴とする請求項９５に記載のコンピュータ読取可能な記憶媒体。
【請求項１００】
前記軸タイトルがｘ−軸タイトルであることを特徴とする請求項９９に記載のコンピュータ読取可能な記憶媒体。
【請求項１０１】
前記軸タイトルがｙ−軸タイトルであることを特徴とする請求項９９に記載のコンピュータ読取可能な記憶媒体。
【請求項１０２】
前記記述的テキストコンポーネントが軸ラベルあることを特徴とする請求項９４に記載のコンピュータ読取可能な記憶媒体。
【請求項１０３】
さらに：
前記数値のシリーズの変換の表示を受信するステップ：
前記表示された変換に応じて新しい軸ラベルを自動的に決定するステップ；及び
前記新しい軸ラベルを表示するステップ；
を含むことを特徴とする請求項１０２に記載のコンピュータ読取可能な記憶媒体。
【請求項１０４】
前記軸ラベルがｘ−軸ラベルであることを特徴とする請求項１０２に記載のコンピュータ読取可能な記憶媒体。
【請求項１０５】
前記軸ラベルがｙ−軸ラベルであることを特徴とする請求項１０２に記載のコンピュータ読取可能な記憶媒体。
【請求項１０６】
データ処理システムを制御してある方法を実行させる命令を格納するコンピュータ読取可能な記憶媒体であって、前記データ処理システムはチャートを表示する表示装置を有し、前記方法が：
数値の特性を示す第一のタグを有する第一の数値のシリーズを受信するステップ；
前記第一の数値のシリーズを前記チャートに表示するステップ、前記第一の数値のシリーズは前記チャートの第一の軸に対応する；
前記チャートに付け加えられる第二の数値のシリーズを受信するステップ、前記第二の数値のシリーズは前記第二の数値のシリーズの特性を示す第二のタグを有する；
前記チャートに第二の軸を自動的に生成するステップ；及び
前記第一の数値のシリーズを前記チャートに表示しながら、前記第二の軸に対応して前記第二の数値のシリーズを前記チャートに表示するステップ；
を含むことを特徴とするコンピュータ読取可能な記憶媒体。
【請求項１０７】
前記方法がさらに：
少なくとも一つの前記第二のタグに基づいて前記チャートに前記第二の軸を自動的にフォーマットするステップ；
を含むことを特徴とする請求項１０６に記載のコンピュータ読取可能な記憶媒体。
【請求項１０８】
前記方法がさらに：
前記第二の数値のシリーズを前記チャートに前記第一の数値のシリーズと共に表示するときに前記チャートに関する新しいタイトルを自動的に決定するステップ；
を含むことを特徴とする請求項１０６に記載のコンピュータ読取可能な記憶媒体。
【請求項１０９】
データ処理システムを制御してある方法を実行させる命令を格納するコンピュータ読取可能な記憶媒体であって、前記データ処理システムはチャートを表示する表示装置を有し、前記方法が：
前記表示装置で前記チャートに数値のシリーズを表示する第一の命令を受信するステップ、前記数値は前記数値の特性を示すタグを有する；
前記受信した第一の命令に応じて前記数値のシリーズを前記チャートに表示するステップ；及び
前記受信した命令に応じて少なくとも一つの前記タグに基づいて前記チャートを自動的にフォーマットするステップ；
を含むことを特徴とするコンピュータ読取可能な記憶媒体。
【請求項１１０】
前記受信した命令がマウスイベントであることを特徴とする請求項１０９に記載のコンピュータ読取可能な記憶媒体。
【請求項１１１】
前記方法がさらに：
前記表示装置で前記チャートに第二の数値のシリーズを表示する第二の命令を受信するステップ、前記数値は前記第二の数値のシリーズの特性を示すタグを有する；及び
前記第二の数値のシリーズを前記チャートに表示するステップ；
を含むことを特徴とする請求項１０９に記載のコンピュータ読取可能な記憶媒体。
【請求項１１２】
前記受信した第二の命令がシフト・キーイベント及びカーソル・キーイベントを含むことを特徴とする請求項１０９に記載のコンピュータ読取可能な記憶媒体。
【請求項１１３】
データ処理システムを制御してある方法を実行させる命令を格納したコンピュータ読取可能な記憶媒体であって、前記方法が：
数値の組と前記数値の特性を示すタグを有するマークアップドキュメントを受信するステップ、前記特性は単位と大きさを含む；
前記数値の特性を示す前記タグに基づいて前記数値の組の表示を操作するステップ；及び
前記数値の組をビューに表示するステップ；
を含むことを特徴とするコンピュータ読取可能な記憶媒体。
【請求項１１４】
前記表示するステップがさらに：
前記数値の組をチャートビューに表示するステップ；
を含むことを特徴とする請求項１１３に記載のコンピュータ読取可能な記憶媒体。
【請求項１１５】
前記表示するステップがさらに：
前記数値の組をスプレッドシートビューに表示するステップ；
を含むことを特徴とする請求項１１３に記載のコンピュータ読取可能な記憶媒体。
【請求項１１６】
前記表示するステップがさらに：
前記数値の組を脚注ビューに表示するステップ；
を含むことを特徴とする請求項１１３に記載のコンピュータ読取可能な記憶媒体。
【請求項１１７】
前記表示するステップがさらに：
前記数値の組をツリービューに表示するステップ；
を含むことを特徴とする請求項１１３に記載のコンピュータ読取可能な記憶媒体。
【請求項１１８】
チャートを表示するデータ処理システムであって：
数値の特性を示すタグと共に数値のシリーズを受信する手段；
前記数値を前記チャートに表示する手段；
少なくとも一つの前記タグに基づいて前記数値に関する記述的テキストコンポーネントを自動的に決定する手段；及び
決定された前記記述的テキストコンポーネントを前記チャートに表示する手段；
を備えるデータ処理システム。
【請求項１１９】
データ処理システムにおける方法であって：
第一の数値のシリーズを受信するステップ；
第二の数値のシリーズを受信するステップ；
第一及び第二の数値のシリーズの間の関係を決定するステップ；及び
前記決定された関係に基づいて第一及び第二の数値のシリーズの間の関係を表現するアイコンを表示するステップ；
を含む方法。
【請求項１２０】
前記第一の数値のシリーズが前記第二の数値のシリーズの親であることを前記アイコンが表現することを特徴とする請求項１１９に記載の方法。
【請求項１２１】
前記第一の数値のシリーズが前記第二の数値のシリーズと第三の数値のシリーズの和であることを前記アイコンが表現することを特徴とする請求項１１９に記載の方法。
【請求項１２２】
前記第一の数値のシリーズが前記第二の数値のシリーズと第三の数値のシリーズの積であることを前記アイコンが表現することを特徴とする請求項１１９に記載の方法。
【請求項１２３】
前記第一の数値のシリーズが前記第二の数値のシリーズを含むグループのメンバーであることを前記アイコンが表現することを特徴とする請求項１１９に記載の方法。
【請求項１２４】
前記第一の数値のシリーズが前記第二の数値のシリーズを含むグループのルートであることを前記アイコンが表現することを特徴とする請求項１１９に記載の方法。
【請求項１２５】
前記第一の数値のシリーズが前記第二の数値のシリーズと第三の数値のシリーズの商（ｄｉｖｉｓｉｏｎ）であることを前記アイコンが表現することを特徴とする請求項１１９に記載の方法。
【請求項１２６】
さらに：
第一の数値のシリーズを表示するステップ；及び
第二の数値のシリーズを表示するステップ；
を含むことを特徴とする請求項１１９に記載の方法。
【請求項１２７】
データ処理システムにおける方法であって：
数値のシリーズ及び前記数値のシリーズと関連したリンクを受信するステップ、前記リンクは関連したハイパーリンクのリストを有する；
前記数値のシリーズ及び関連したリンクを表示するステップ；
前記リンクを起動するという命令を受信するステップ；及び
前記受信した命令に応じて前記リンクに関連したハイパーリンクのリストを表示するステップ；
を含む方法。
【請求項１２８】
さらに：
前記ハイパーリンクのリストにあるハイパーリンクの一つを起動する第二の命令を受信するステップ；及び
前記一つのハイパーリンクを起動するステップ；
を含むことを特徴とする請求項１２７に記載の方法。
【請求項１２９】
チャートを表示する表示装置を有するデータ処理システムにおける方法であって：
関連するメタデータドキュメンテーションを有する数値のシリーズを受信するステップ；
前記数値のシリーズを選択する命令を受信するステップ；及び
前記数値のシリーズに関連するメタデータドキュメンテーションを表示しながら前記数値のシリーズをチャートに表示するステップ；
を含む方法。
【請求項１３０】
データ処理システムを制御してある方法を実行させる命令を格納するコンピュータ読取可能な記憶媒体であって、前記方法が：
第一の数値のシリーズを受信するステップ；
第二の数値のシリーズを受信するステップ；
第一及び第二の数値のシリーズの間の関係を決定するステップ；及び
前記決定された関係に基づいて第一及び第二の数値のシリーズの間の関係を表現するアイコンを表示するステップ；
を含むことを特徴とするコンピュータ読取可能な記憶媒体。
【請求項１３１】
前記第一の数値のシリーズが前記第二の数値のシリーズの親であることを前記アイコンが表現することを特徴とする請求項１３０に記載のコンピュータ読取可能な記憶媒体。
【請求項１３２】
前記第一の数値のシリーズが前記第二の数値のシリーズと第三の数値のシリーズの和であることを前記アイコンが表現することを特徴とする請求項１３０に記載のコンピュータ読取可能な記憶媒体。
【請求項１３３】
前記第一の数値のシリーズが前記第二の数値のシリーズと第三の数値のシリーズの積であることを前記アイコンが表現することを特徴とする請求項１３０に記載のコンピュータ読取可能な記憶媒体。
【請求項１３４】
前記第一の数値のシリーズが前記第二の数値のシリーズを含むグループのメンバーであることを前記アイコンが表現することを特徴とする請求項１３０に記載のコンピュータ読取可能な記憶媒体。
【請求項１３５】
前記第一の数値のシリーズが前記第二の数値のシリーズを含むグループのルートであることを前記アイコンが表現することを特徴とする請求項１３０に記載のコンピュータ読取可能な記憶媒体。
【請求項１３６】
前記第一の数値のシリーズが前記第二の数値のシリーズと第三の数値のシリーズの商（ｄｉｖｉｓｉｏｎ）であることを前記アイコンが表現することを特徴とする請求項１３０に記載のコンピュータ読取可能な記憶媒体。
【請求項１３７】
さらに：
第一の数値のシリーズを表示するステップ；及び
第二の数値のシリーズを表示するステップ；
を含むことを特徴とする請求項１３０に記載のコンピュータ読取可能な記憶媒体。
【請求項１３８】
データ処理システムを制御してある方法を実行させる命令を格納するコンピュータ読取可能な記憶媒体であって、前記方法が：
数値のシリーズ及び前記数値のシリーズと関連したリンクを受信するステップ、前記リンクは関連したハイパーリンクのリストを有する；
前記数値のシリーズ及び関連したリンクを表示するステップ；
前記リンクを起動するという命令を受信するステップ；及び
前記受信した命令に応じて前記リンクに関連したハイパーリンクのリストを表示するステップ；
を含むことを特徴とするコンピュータ読取可能な記憶媒体。
【請求項１３９】
さらに：
前記ハイパーリンクのリストにあるハイパーリンクの一つを起動する第二の命令を受信するステップ；及び
前記一つのハイパーリンクを活性化するステップ；
を含むことを特徴とする請求項１３８に記載のコンピュータ読取可能な記憶媒体。
【請求項１４０】
データ処理システムを制御してある方法を実行させる命令を格納するコンピュータ読取可能な記憶媒体であって、前記方法が：
関連するメタデータドキュメンテーションを有する数値のシリーズを受信するステップ；
前記数値のシリーズを選択する命令を受信するステップ；及び
前記数値のシリーズに関連するメタデータドキュメンテーションを表示すると同時に前記数値のシリーズをチャートに表示するステップ；
を含むことを特徴とするコンピュータ読取可能な記憶媒体。
【請求項１４１】
データ処理システムであって：
（１）数値を操作し、（２）第一及び第二の数値のシリーズを格納するためのプログラムを有するメモリー；
前記第一及び第二の数値のシリーズを表示する表示装置；
前記第一の数値のシリーズの間の関係を表現する前記表示装置上の関係アイコン；及び
前記プログラムを実行する処理装置；
を備えるデータ処理システム。
【請求項１４２】
データ処理システムであって：
第一の数値のシリーズを受信する手段；
第二の数値のシリーズを受信する手段；
第一及び第二の数値のシリーズの間の関係を決定する手段；及び
前記決定された関係に基づいて第一及び第二の数値のシリーズの間の関係を表現するアイコンを表示する手段；
を備えるデータ処理システム。
【請求項１４３】
タグが付けられた数値データを処理する方法であって：
数値の特性を示すタグを有する数値のシリーズを受信するステップ；
前記数値のシリーズに対する演算を実行するように定義されたマクロを受信するステップ；及び
前記タグに基づいて前記数値のシリーズに対して前記マクロで定義された演算を実行するステップ；
を含む方法。
【請求項１４４】
前記マクロが少なくとも一つの算術ステートメントを含むことを特徴とする請求項１４３に記載の方法。
【請求項１４５】
前記少なくとも一つの算術ステートメントが、（１）算術演算子、（２）リテラル（ｌｉｔｅｒａｌ）、及び（３）変数、の少なくとも一つを含むことを特徴とする請求項１４４に記載の方法。
【請求項１４６】
前記マクロが少なくとも一つの制御フロー・キーワードを含むことを特徴とする請求項１４３に記載の方法。
【請求項１４７】
前記マクロが、ＩＦ、ＳＷＩＴＣＨ、及びＷＨＩＬＥから成る群から選択される少なくとも一つの制御フロー・キーワードを含むことを特徴とする請求項１４３に記載の方法。
【請求項１４８】
前記マクロがデータ・ビューアによってサポートされる固有（ｉｎｔｒｉｎｓｉｃ）関数を含むことを特徴とする請求項１４３に記載の方法。
【請求項１４９】
前記固有関数が：Ａｖｅｒａｇｅ（）、Ｓｕｍ（）、ＣｈａｎｇｅＣｕｒｒｅｎｃｙＦｏｒｍａｔ（）、及びＣｈａｎｇｅＬａｎｇｕａｇｅ（）から成る群から選択される関数を含むことを特徴とする請求項１４８に記載の方法。
【請求項１５０】
前記マクロがユーザー指定（ｕｓｅｒ−ｓｐｅｃｉｆｉｅｄ）の関数を含むことを特徴とする請求項１４３に記載の方法。
【請求項１５１】
前記実行するステップが、（１）出力値、（２）ツリー、及び（３）チャート、の少なくとも一つを生成するステップを含むことを特徴とする請求項１４３に記載の方法。
【請求項１５２】
前記実行するステップが、チャート及びツリーの少なくとも一つの記述的テキストコンポーネントを更新するステップを含むことを特徴とする請求項１４３に記載の方法。
【請求項１５３】
前記実行するステップが、チャート及びツリービューの少なくとも一つの記述的テキストコンポーネントを生成するステップを含むことを特徴とする請求項１４３に記載の方法。
【請求項１５４】
前記実行するステップが、チャート及びツリービューの少なくとも一つの記述的テキストコンポーネントを更新するステップを含むことを特徴とする請求項１４３に記載の方法。
【請求項１５５】
前記記述的テキストコンポーネントが、タイトル、レジェンド（ｌｅｇｅｎｄ）、及びラベル、の少なくとも一つを含むことを特徴とする請求項１５３に記載の方法。
【請求項１５６】
前記変数が、データ・ビューアによって表示される（１）チャート、（２）グラフ、（３）ツリー、の少なくとも一つを指す変数を含むことを特徴とする請求項１４５に記載の方法。
【請求項１５７】
前記変数が、マクロを含むドキュメント以外のローカルなドキュメントで言及される変数を含むことを特徴とする請求項１４５に記載の方法。
【請求項１５８】
前記変数が、マクロを含むドキュメント以外の遠隔のドキュメントで言及される変数を含むことを特徴とする請求項１４５に記載の方法。
【請求項１５９】
前記タグが前記数値のシリーズについてのメタデータを表すことを特徴とする請求項１４３に記載の方法。
【請求項１６０】
前記タグが、（１）価値、（２）セマンティックス、（３）フォーマット、（４）メジャメント、（５）構造、及び（６）由来の少なくとも一つを表すことを特徴とする請求項１４３に記載の方法。
【請求項１６１】
前記受信するステップが、（１）価値、（２）セマンティックス、（３）フォーマット、（４）メジャメント、（５）構造、及び（６）由来から成る群から選択される特性を示すタグを受信するステップを含むことを特徴とする請求項１４３に記載の方法。
【請求項１６２】
前記数値のシリーズが、（１）ｎ−次元チャート、及び（２）ｎ−次元グラフ、の少なくとも一つに表示される値を含むことを特徴とする請求項１４３に記載の方法。
【請求項１６３】
前記数値のシリーズが、（１）一連のスカラー値、（２）チュープル（ｔｕｐｌｅｓ）のベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つを含むことを特徴とする請求項１４３に記載の方法。
【請求項１６４】
前記実行するステップが、（１）一連のスカラー値、（２）チュープルのベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つに対する設定された演算を実行するステップを含むことを特徴とする請求項１６３に記載の方法。
【請求項１６５】
前記設定された演算が、（１）ソート演算、（２）フィルター演算、（３）選択演算、（４）併合（ｊｏｉｎ）演算、の少なくとも一つを含むことを特徴とする請求項１６４に記載の方法。
【請求項１６６】
前記実行するステップが、（１）一連のスカラー値、（２）チュープルのベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つを変更するために（１）一連のスカラー値、（２）チュープルのベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つに対する変換演算を実行するステップを含むことを特徴とする請求項１６３に記載の方法。
【請求項１６７】
前記実行するステップが、チャート、レポート、及びグラフの少なくとも一つに、オーバーレイ、データ点ノート、及び脚注、の少なくとも一つを付け加えるステップを含むことを特徴とする請求項１４３に記載の方法。
【請求項１６８】
前記実行するステップが、チャート、レポート、及びグラフの少なくとも一つに、回帰線及び移動平均の少なくとも一つを表す付加変数を付け加えるステップを含むことを特徴とする請求項１４３に記載の方法。
【請求項１６９】
前記実行するステップが、（１）一連のスカラー値、（２）チュープルのベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つを、（１）一連のスカラー値、（２）チュープルのベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つの修正バージョンで置き換え、前記修正バージョンをチャート及びグラフの少なくとも一つに表示する“各置き換え（ｒｅｐｌａｃｅ ｅａｃｈ）”演算を実行するステップを含むことを特徴とする請求項１６３に記載の方法。
【請求項１７０】
前記実行するステップが、（１）一連のスカラー値、（２）チュープルのベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つをチャート及びグラフの少なくとも一つから除去し、マクロの結果をチャート及びグラフの前記少なくとも一つに代入する“全置き換え（ｒｅｐｌａｃｅ ａｌｌ）”演算を実行するステップを含むことを特徴とする請求項１６３に記載の方法。
【請求項１７１】
前記マクロを受信するステップが、解釈されたコード及びメタデータの両方を含むマクロを受信するステップを含むことを特徴とする請求項１４３に記載の方法。
【請求項１７２】
前記マクロを受信するステップが、エラー処理命令を含むマクロを受信するステップを含むことを特徴とする請求項１４３に記載の方法。
【請求項１７３】
さらに：
マクロを作成するステップ；
を含むことを特徴とする請求項１４３に記載の方法。
【請求項１７４】
前記マクロを作成するステップがさらに：
所望の特性を指定するステップ；及び
指定された特性を有する数値のシリーズに演算を実行するマクロを作成するステップ；
を含むことを特徴とする請求項１７３に記載の方法。
【請求項１７５】
データ処理システムであって：
数値のシリーズにある演算を実行するように定義されたマクロを有する数値解析プログラム、及び数値の特性を示すタグを有する数値のシリーズを含むメモリー；
前記プログラムが示された特性を用いて前記数値のシリーズに対して前記マクロによって定義された演算を実行するように前記プログラムを走らせる処理装置；及び
前記演算の結果を表示する表示装置；
を備えるデータ処理システム。
【請求項１７６】
データ処理システムを制御してタグが付けられた数値データを処理する方法を実行させるコンピュータ読取可能な記憶媒体であって、前記方法が：
数値の特性を示すタグを有する数値のシリーズを受信するステップ；
前記数値のシリーズに対する演算を実行するように定義されたマクロを受信するステップ；及び
前記タグに基づいて前記数値のシリーズに対して前記マクロで定義された演算を実行するステップ；
を含むことを特徴とするコンピュータ読取可能な記憶媒体。
【請求項１７７】
前記マクロが少なくとも一つの算術ステートメントを含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項１７８】
前記少なくとも一つの算術ステートメントが、（１）算術演算子、（２）リテラル、及び（３）変数、の少なくとも一つを含むことを特徴とする請求項１７７に記載のコンピュータ読取可能な記憶媒体。
【請求項１７９】
前記マクロが少なくとも一つの制御フロー・キーワードを含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項１８０】
前記マクロが、ＩＦ、ＳＷＩＴＣＨ、及びＷＨＩＬＥから成る群から選択される少なくとも一つの制御フロー・キーワードを含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項１８１】
前記マクロがデータ・ビューアによってサポートされる固有関数を含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項１８２】
前記固有関数が：Ａｖｅｒａｇｅ（）、Ｓｕｍ（）、ＣｈａｎｇｅＣｕｒｒｅｎｃｙＦｏｒｍａｔ（）、及びＣｈａｎｇｅＬａｎｇｕａｇｅ（）から成る群から選択される関数を含むことを特徴とする請求項１８１に記載のコンピュータ読取可能な記憶媒体。
【請求項１８３】
前記マクロがユーザー指定の関数を含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項１８４】
前記実行するステップが、（１）出力値、（２）ツリー、及び（３）チャート、の少なくとも一つを生成するステップを含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項１８５】
前記実行するステップが、チャート及びツリーの少なくとも一つの記述的テキストコンポーネントを更新するステップを含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項１８６】
前記実行するステップが、チャート及びツリービューの少なくとも一つの記述的テキストコンポーネントを生成するステップを含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項１８７】
前記実行するステップが、チャート及びツリービューの少なくとも一つの記述的テキストコンポーネントを更新するステップを含むことを特徴とする請求項１７６に記載の方法。
【請求項１８８】
前記記述的テキストコンポーネントが、タイトル、レジェンド（ｌｅｇｅｎｄ）、及びラベル、の少なくとも一つを含むことを特徴とする請求項１８６に記載のコンピュータ読取可能な記憶媒体。
【請求項１８９】
前記変数が、データ・ビューアによって表示される（１）チャート、（２）グラフ、（３）ツリー、の少なくとも一つを指す変数を含むことを特徴とする請求項１７８に記載のコンピュータ読取可能な記憶媒体。
【請求項１９０】
前記変数が、マクロを含むドキュメント以外のローカルなドキュメントで言及される変数を含むことを特徴とする請求項１７８に記載のコンピュータ読取可能な記憶媒体。
【請求項１９１】
前記変数が、マクロを含むドキュメント以外の遠隔のドキュメントで言及される変数を含むことを特徴とする請求項１７８に記載のコンピュータ読取可能な記憶媒体。
【請求項１９２】
前記タグが前記数値のシリーズについてのメタデータを表すことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項１９３】
前記タグが、（１）価値、（２）セマンティックス、（３）フォーマット、（４）メジャメント、（５）構造、及び（６）由来の少なくとも一つを表すことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項１９４】
前記受信するステップが、（１）価値、（２）セマンティックス、（３）フォーマット、（４）メジャメント、（５）構造、及び（６）由来から成る群から選択される特性を示すタグを受信するステップを含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項１９５】
前記数値のシリーズが、（１）ｎ−次元チャート、及び（２）ｎ−次元グラフ、の少なくとも一つに表示される値を含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項１９６】
前記数値のシリーズが、（１）一連のスカラー値、（２）チュープルのベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つを含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項１９７】
前記実行するステップが、（１）一連のスカラー値、（２）チュープルのベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つに対する設定された演算を実行するステップを含むことを特徴とする請求項１９６に記載のコンピュータ読取可能な記憶媒体。
【請求項１９８】
前記設定された演算が、（１）ソート（ｓｏｒｔ）演算、（２）フィルター演算、（３）選択演算、（４）併合（ｊｏｉｎ）演算、の少なくとも一つを含むことを特徴とする請求項１９７に記載のコンピュータ読取可能な記憶媒体。
【請求項１９９】
前記実行するステップが、（１）一連のスカラー値、（２）チュープルのベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つを変更するために（１）一連のスカラー値、（２）チュープルのベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つに対する変換の演算を実行するステップを含むことを特徴とする請求項１９６に記載のコンピュータ読取可能な記憶媒体。
【請求項２００】
前記実行するステップが、チャート、レポート、及びグラフの少なくとも一つに、オーバーレイ、データ点ノート、及び脚注、の少なくとも一つを付け加えるステップを含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項２０１】
前記実行するステップが、チャート、レポート、及びグラフの少なくとも一つに、回帰線及び移動平均の少なくとも一つを表す付加変数を付け加えるステップを含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項２０２】
前記実行するステップが、（１）一連のスカラー値、（２）チュープルのベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つを、（１）一連のスカラー値、（２）チュープルのベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つの修正バージョンで置き換え、前記修正バージョンをチャート及びグラフの少なくとも一つに表示する“各置き換え（ｒｅｐｌａｃｅ ｅａｃｈ）”演算を実行するステップを含むことを特徴とする請求項１９６に記載のコンピュータ読取可能な記憶媒体。
【請求項２０３】
前記実行するステップが、（１）一連のスカラー値、（２）チュープルのベクトル、及び（３）複数のベクトル中のベクトル、の少なくとも一つをチャート及びグラフの少なくとも一つから除去し、マクロの結果をチャート及びグラフの前記少なくとも一つに代入する“全置き換え（ｒｅｐｌａｃｅ ａｌｌ）”演算を実行するステップを含むことを特徴とする請求項１９６に記載のコンピュータ読取可能な記憶媒体。
【請求項２０４】
前記マクロを受信するステップが、解釈されたコード及びメタデータの両方を含むマクロを受信するステップを含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項２０５】
前記マクロを受信するステップが、エラー処理命令を含むマクロを受信するステップを含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項２０６】
さらに：
マクロを作成するステップ；
を含むことを特徴とする請求項１７６に記載のコンピュータ読取可能な記憶媒体。
【請求項２０７】
前記マクロを作成するステップがさらに：
所望の特性を指定するステップ；及び
指定された特性を有する数値のシリーズに演算を実行するマクロを作成するステップ；
を含むことを特徴とする請求項２０６に記載のコンピュータ読取可能な記憶媒体。
【請求項２０８】
タグが付けられた数値データを有するデータ処理システムであって：
数値の特性を示すタグを有する数値のシリーズを受信する手段；
前記数値のシリーズに対する演算を実行するように定義されたマクロを受信する手段；及び
前記タグに基づいて前記数値のシリーズに対して前記マクロで定義された演算を実行する手段；
を含むデータ処理システム。
【発明の詳細な説明】
【０００１】
関連の出願
本特許出願は、本明細書に引例として組み入れてある１９９９年５月２１日付で出願された仮米国特許出願番号６０／１３５，５２５と２０００年２月１７日付で出願された仮米国特許出願番号６０／１８３，１５２とに対する優先権を主張する。
背景
発明の分野
本発明は一般的にデータ処理システムに関し、さらに特に、データブラウザおよびマニピュレータで使用するためのコンピュータマークアップ言語に関する。
従来の技術
現在では、インターネット上において、伝送と通信が、一般的に、ハイパーテキストマークアップ言語（ＨｙｐｅｒＴｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）（「ＨＴＭＬ」）でフォーマットされたファイルとドキュメントを送るために使用されることが可能なハイパーテキスト転送プロトコル（ＨｙｐｅｒＴｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）（「ＨＴＴＰ」）と呼ばれる通信プロトコルを使用して行われている。マークアップ言語は、ドキュメントの構造および働きを記述し、および、ドキュメントの表示の仕方をウェブブラウザまたは他のプログラムに指示する特殊な文字シーケンスであるマークアップ「タグ」を埋め込む方法である。典型的には、ＨＴＭＬでフォーマットされたドキュメントまたはウェブページは、通常のテキストにこれらのマークアップタブを混合した単純なＡＳＣＩＩテキストファイルである。
【０００２】
ＨＴＭＬは、特殊な目的を有するタグの固定セットを定義する比較的限定された構造を有する。さらに、ＨＴＭＬは典型的にはテキストおよび画像を取り扱い、典型的にはドキュメントの表示の仕方をウェブブラウザに指示するにすぎない。ブラウザは文字を読み取って表示することができるが、データ内容を「理解する」ことは不可能である。ＨＴＭＬブラウザがそのディスプレイに数を表示する範囲では、その数は単なるテキストであり、数値とは解釈されない。したがって、ＨＴＭＬドキュメントは「データ」としては解釈されず、むしろ、画像を表示するためのフォーマッティング命令と解釈される。ユーザは、グラフを見たり、変換を行ったり、様々なウェブページからの数を組み合わせたり、管理可能な書式でスプレッドシートの中に数をロードしたりするために、数値データを「サーフィングする」ことが不可能である。テキストをカットアンドペーストしたり、データタイプを判定する等といった人間の介在がなければ、数は解析プログラムによって直接読み取られることは不可能である。したがって、従来の解析プログラム（例えば、スプレッドシートプログラムまたはデータベースプログラム）は抽象的な数のその場での検討と操作を可能にするが、オンラインソースからそのデータを直接読み取ることはない。こうしたプログラムは、データが入力され解釈されて、そのデータに対して統計学的解析と構造解析と単純な変換とを行うことができる。
ＨＴＭＬの制限された能力と、ＳＧＭＬの非実際的な複雑さとを考慮して、拡張マークアップ言語（「ＸＭＬ」）と呼ばれるマークアップ言語が、こうした制限の幾つかを克服することを促進するために開発された。ＸＭＬは、指定されていないタグを有する自由形式のマークアップ言語であり、このＸＭＬは開発者が自分自身のタグを使用して、特化されたジョブに実際に適合させられた自分自身のマークアップ言語を生成することを可能にする。ＸＭＬでは、タグは特定の規則にしたがって編成されなければならないが、タグの意味はフレキシブルである。ＨＴＭＬとは違って、ＸＭＬは構造と意味を記述するが、フォーマッティングは記述しない。したがって、様々な専門家が自分自身の特化されたマークアップ言語を開発してもよい。例えば、開発者がＸＭＬで書物を記述するマークアップ言語を作成する場合には、この開発者は、ＨＴＭＬでは不可能である「タイトル」、「著者」、および、「発行者」に関する特殊な意味を有するタグを作成することも可能である。ＸＭＬの自由形式の構造はマークアップ言語の開発を可能にするが、こうした個別化されたマークアップ言語は、個々のユーザが個別の目的のためにタグを使用するという点でタグの使用が標準化されていないので、互いに互換性がない。
【０００３】
今日の産業界では、データ操作に通常付随する問題点がコストと難しさを増大させることが多い。こうした問題点の１つが、データと、データを記述するドキュメンテーションとが両方とも電子形式でないことが多いということである。データベースおよびスプレッドシート情報に対するこの従来のアプローチでは、データが１つのシステムから別のシステムに転送される時はいつでも、変換を行うために高コストのデータベース管理者が常に必要とされ、あらゆるプログラミングタスクに関連したプリントされたドキュメンテーションの高コストの解析が必要とされ、さらに、出力が、オリジナルのソースと構造とその出力を生成した操作の何らかの指示を含むことが殆どないという事態が生じることが多い。ＰＣベースのシステムでは、従来においては、データに関するドキュメンテーションを作成することはユーザに任されており、一般的には、ユーザからドキュメンテーションを収集して、フォーマットしデータと共に保存するための機械化の努力（ｍａｃｈｉｎｅ−ｄｒｉｖｅｎ　ｅｆｆｏｒｔ）が払われておらず、そのためにデータを容易に再使用することが不可能になっている。
【０００４】
従来のデータベースおよびスプレッドシートにおいて効率を低下させている別の障害は、計算があまりに低い概念レベルで生じるということである。典型的な数値解析プログラムにおける計算は、スプレッドシート内の単一の「セル」またはデータベース内の単一の「レコード」に対して行われる。１度に１つの値に対して行われる解析操作は、多様なセル値またはレコード値が関与させられる時には、遅く高コストである可能性がある。
【０００５】
数のブラウジングを容易にする標準的なマークアップ言語の欠如のために、多数のオンラインソースから読み出した様々なタイプの数値データを読み取って自動的に操作して単一のチャートの上に表示することが不可能のままである。様々なタイプの数値データを認識し、その数値データが組み合わされてチャートとグラフとレポート上に首尾一貫した形で表示されるようにその数値データを適合化させるためには、人間の介在が必要とされている。従来においては、一連の様々なタイプのデータが組み合わされる時には、数値データを表示する図形チャートのフォーマッティングは手作業の操作を必要とする。さらに、様々な数値データセットの相互間の関係に関する視覚的な手掛かりが与えられていない。
【０００６】
コンピュータ産業は、さらに、データおよび解析ルーチンが標準化されていないという事実によってさらに妨げられている。コンピュータ産業はファイルフォーマットと機能レベルのインタフェースに関する標準を開発してきたが、一般的なデータフォーマットまたは内容解析の標準を開発してはこなかった。このために、互いに異なるプロトコルを使用するシステム、産業、企業、および、ユーザの間でのデータ変換に多大なコストを要する結果となっている。
【０００７】
従来のスプレッドシートにおける解析ルーチンは、典型的には、「スプレッドシートマクロ」の形式をとる。マクロは、本質的に、一般的には限定されている明確に定義されたタスクを行う短いプログラムである。数百万人のスプレッドシートユーザは、自分のスプレッドシート内の数値操作に関する機械的タスクを自動化するためにスプレッドシートマクロを使用してきた。しかし、スプレッドシートマクロへの多大の投資は、こうしたマクロが「使用する都度に書かなければならない」タイプのソフトウェアであり、一般的に十分には活用されてはいない。これらのマクロは、他者によって再利用されることが殆どない。
【０００８】
現行のプログラミング言語とスプレッドシートマクロとが再使用不可能でありすなわち移植性がないことには、少なくとも８つの理由がある。こうした問題の１つが、スプレッドシートのデータ参照が一般的に物理的位置に基づいているということである。マクロ記述者が想定利率をセル「Ｃ４」に記入し、かつ、別の人間がセル「ＢＲ４７」内に想定利率が記入されているスプレッドシートを有すると仮定すると、絶対セル位置Ｃ４を明示的に参照するマクロはその第２のスプレッドシートでは使用可能ではないだろう。
【０００９】
これに関連した別の問題が、スプレッドシート中の数値がメジャメント（ｍｅａｓｕｒｅｍｅｎｔ）その意味を記述するセマンティック記述子（ｓｅｍａｎｔｉｃ　ｄｅｓｉｇｎａｔｏｒ）を持たないということである。１つのスプレッドシートが百万ドル単位のドルに対しては有効であるかも知れないが、別のスプレッドシートは千ドル単位のドルに対して有効である。全ての不一致を整理して一方のスプレッドシートを他方のスプレッドシートに適合するように変更する人間の介在なしには、同一のマクロが両方のスプレッドシート上で使用されることは不可能である。別の事例としては、Ｐ／Ｅレシオを得るために収益で株価を割り算するようにマクロが記述されることがあるが、スプレッドシート中の数値は、セル内のワードという以外に、左方または上方の数値に対して意味を持つものではない。標準位置と標準語彙が無ければ、こうした指示子（ｉｎｄｉｃａｔｏｒ）は無益である。
【００１０】
従来のスプレッドシートマクロに関する別の問題はドキュメンテーションの欠如である。マクロ作成者がマクロを書いた時には、そのマクロが単一のスプレッドシート上だけでそのマクロ作成者によって使用されることが可能であるにすぎないので、マクロは完全にはドキュメンテーション化されていない傾向があり、すなわち、共通言語による記述が無く、ヘルプファイルが無く、許容可能な値、ソースコンタクトリスト、および、ライセンス情報等に関するデータ標準が無い。
【００１１】
さらに、マクロのための大量配布機構が存在しない。スプレッドシートマクロはウェブフレンドリ（ｗｅｂ−ｆｒｉｅｎｄｌｙ）ではない。すなわち、スプレッドシートマクロは一般的に１つのスプレッドシートブランドと１つのプラットホームとに限定されており、ハイパーリンクをサポートせず、サーチエンジンによって検索されることが不可能である。さらに、スプレッドシートマクロはディレクトリまたは分類システムによってはサポートされておらず、市場に受け入れられる態勢にはない。
【００１２】
更に、ユーザは一般的に、彼らが記述するマクロに、単体試験、妥当性試験、誤り処理、および、他のエンドユーザからの保護を含まない。この結果として、ユーザは、そのユーザが自分のスプレッドシートに加えようとするマクロの出力に警戒心を抱く可能性がある。
【００１３】
従来のスプレッドシートマクロは、データに対するグラフィカルインタフェースを作ることが困難である。外部のマクロのエンドユーザは、あらゆるセルおよび位置の制約、及び入力されることが可能な有効値に対するあらゆる制限等を理解しなければならないことを望まない。関連したグラフィカルなコンポーネントの欠如がさらにこの問題を深刻なものにする。
【００１４】
最後に、従来のスプレッドシートマクロは、小さすぎて販売努力に値しないか、または、使用するのに難解すぎて多数の支持者を見いだすことが困難である。この結果として、スプレッドシートマクロの作成を促進するビジネス上のインセンティブが欠如している。したがって、上述の問題点とこれに関連する他の問題点とを克服することが望ましい。
概要
本発明による方法およびシステムは、数のブラウジングと操作を可能にする再使用可能データマークアップ言語（Ｒｅｕｓａｂｌｅ　Ｄａｔａ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）（「ＲＤＭＬ」）と呼ばれるマークアップ言語を提供し、および、多数のオンラインソースから数値を自動的に読み取って、人間の介在なしにその数値を操作することができるウェブブラウザとスプレッドシート／解析アプリケーションとの組み合わせとして働く関連のデータビューアを提供する。このマークアップ言語を使用することによって、ユーザは数値ベースの照会を使用してオンラインソースをブラウジングしてよく、および、データビューアは多数のドキュメントを単一のディスプレイ上で自動的に組み合わせて操作することができる。
【００１５】
本発明による一実施態様では、第１のマークアップドキュメントと第２のマークアップドキュメントとを受け取り、この第１のマークアップドキュメントと第２のマークアップドキュメントの両方が数値とその数値の特性を反映するタグとを含む、データ処理システムにおける方法が提供される。この方法は自動的に第１のマークアップドキュメントと第２のマークアップドキュメントとを単一のデータセットの形に組み合わせ、その単一のデータセットを表示する。
【００１６】
別の実施態様では、数値を含むドキュメントを受け取り、および、その数値の単位と大きさとを含むその数値の特性の指示を受け取る、データ処理システムにおける方法が提供される。さらに、この方法は、マークアップドキュメントを生成するために、受け取られた表示を、数値に関連付けられているタグとしてドキュメントの中に加える。
【００１７】
さらに別の実施態様では、１組の数値とその数値の特性を表示するタグとを有するマークアップドキュメントを受け取って、新たな特性を反映するようにその１組の数値に対する変換を決定する、データ処理システムにおける方法が提供される。その次に、この方法は、数値セットの複数のタグ、すなわち、大きさ、スケール、変更子（ｍｏｄｉｆｉｅｒ）、単位、メジャー（ｍｅａｓｕｒｅ）、調整（ａｄｊｕｓｔｍｅｎｔ）、および、集合を表示する複数のタグにアクセスする。さらに、この方法は、新たな特性への変換を実現するために、大きさタグ、スケールタグ、変更子タグ、単位タグ、メジャータグ、調整タグ、および、集合タグに関する変換係数を求め、この求められた変換係数を数値データセットに乗算して、新たな特性を反映するようにその１組の数値を変換する。
【００１８】
本発明による方法およびシステムは、数値データを自動的に操作しグラフィカルに表示するチャートビュー（ｃｈａｒｔ　ｖｉｅｗ）を提供する。この操作と表示は数値データの特性を記述する数値データに関連付けられている属性に基づいている。チャートビューは、異なったタイプの異なったシリーズの数値データを単一のチャート上に同時表示することを容易にし、および、適切な記述的テキストコンポーネント（例えば、軸ラベル、軸タイトル、チャートタイトル、数の精度、レジェンド、脚注、軸スケール等）を自動的に表示する。チャートビューは１組の数値をクリック１つで変換することを可能にし、それに応答する記述的テキストコンポーネントの自動フォーマッティングを実現する。
【００１９】
本発明の実施態様では、数値の特性を指示するタグを伴った数値のシリーズを受け取って、その数値をチャート上に表示する、チャートを示す表示装置を有するデータ処理システムにおける方法が提供される。さらに、この方法は、タグの少なくとも１つに基づいて数値のタイトルを自動的に決定して、その決定されたタイトルをチャート上に表示する。
【００２０】
本発明の別の実施態様では、数値の特性を指示するタグを有する第１のシリーズの数値を受け取って、その第１のシリーズの数値をチャート上に表示し、および、第１のシリーズの数値がチャート上の第１の軸に相当する、チャートを示すディスプレイを有するデータ処理システムにおける方法が提供される。この方法は、さらに、チャートに加えられるべき第２のシリーズの数値を受け取り、その第２のシリーズの数値はその第２のシリーズの数値の特性を表示するタグを有し、チャート上に第２の軸を自動的に生成する。最後に、この方法は、第１のシリーズの数値がチャート上に表示されている間に、第２の軸に相当するチャート上の第２の組の数値を表示する。
【００２１】
本発明のさらに別の実施態様では、ディスプレイ上のチャート上に数値のシリーズを表示する命令を受け取り、その数値がその数値の特性を指示するタグを有し、その受け取られた命令に応答してその数値のシリーズをチャート上に表示する、チャートを示すディスプレイを有するデータ処理システムにおける方法が提供される。その次に、この方法は、受け取られた命令に応答してタグの少なくとも１つに基づいてチャートを自動的にフォーマットする。
【００２２】
本発明の別の実施態様では、数値データを操作して表示するように構成されているチャート作成アプリケーションを記憶する記憶装置を含み、この記憶装置は、数値に関連付けられているテキスト情報を表示するタグを有する選択された数値のシリーズを有する、データ処理システムが提供される。このデータ処理システムは、さらに、その選択された数値のシリーズに関連付けられているテキスト情報を表示するレジェンドを有するチャートを示すディスプレイを含む。このレジェンドは、チャート上のレジェンドの上にテキスト情報が収まらない時には、その選択された数値データのシリーズに関連付けられているテキスト情報をワードラップおよびスクロールする。このシステムは、さらに、チャート作成アプリケーションを実行するプロセッサも含む。
【００２３】
本発明による方法およびシステムは、数値データを自動的に操作してグラフィカルに表示するツリービュー（ｔｒｅｅ　ｖｉｅｗ）を提供する。このツリービューは、単一のディスプレイ上における異なったタイプの異なった数値のシリーズの同時表示を容易にし、記述的テキストコンポーネントを自動的に表示する。このツリービューは、１回のクリックで異なった数値のシリーズを変換することを可能にし、これに応答した記述的テキストコンポーネントの自動フォーマッティングを実現する。このツリービューは、さらに、特定の数値データのシリーズに関連付けられているハイパーリンクをユーザに提供すると同時に、数値データのシリーズ間の関係をユーザに対して視覚的に表示する。
【００２４】
本発明の実施態様では、第１のシリーズの数値と第２のシリーズの数値とを受け取り、第１のシリーズの数値と第２のシリーズの数値の間の関係を求める、データ処理システムにおける方法が提供される。その次に、この方法は、求められた関係に基づいて第１のシリーズの数値と第２のシリーズの数値の間の関係を表すアイコンを表示する。
【００２５】
本発明の別の実施態様では、数値のシリーズとこの数値のシリーズに関連付けられたリンクとを受け取り、および、このリンクが、関連付けられたハイパーリンクのリストを有する、データ処理システムにおける方法が提供される。この方法は、数値のシリーズとこれに関連付けられたリンクとを表示し、このリンクを起動する命令を受け取る。さらに、この方法は、受け取られた命令に応答して、リンクに関連付けられたハイパーリンクのリストを表示する。
【００２６】
本発明のさらに別の実施態様では、関連付けられたメタデータドキュメンテーションを有する数値のシリーズを受け取る、チャートを表示するディスプレイを有するデータ処理システムにおける方法が提供される。この方法は、さらに、その数値のシリーズを選択するための命令を受け取り、チャート上にその数値のシリーズを表示すると同時に、その数値のシリーズに関連付けられたメタデータドキュメンテーションを表示する。
【００２７】
本発明の別の実施態様では、数値を操作し、および、第１のシリーズの数値と第２のシリーズの数値とを記憶する記憶装置を含むデータ処理システムが提供される。このデータ処理システムは、さらに、第１のシリーズの数値および第２のシリーズの数値と、第１のシリーズの数値と第２のシリーズの数値の間の関係を表す関係アイコンとを表示するディスプレイを含む。最後に、このデータ処理システムは、さらに、プログラムを実行するためのプロセッサを含む。
【００２８】
本発明による方法およびシステムは、迅速に、低コストで、かつ、マクロが実行されるプラットホームであるＲＤＭＬの広範囲のデータドキュメントで使用可能な形式で記述されることが可能な再使用可能な数値解析ルーチンであるマクロを生成し使用するための、再使用可能マクロマークアップ言語（Ｒｅｕｓａｂｌｅ　Ｍａｃｒｏ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）（「ＲＭＭＬ」）と呼ばれるマークアップ言語を提供する。
【００２９】
ＲＭＭＬは、再使用可能なスプレッドシートタイプのマクロがウェブドキュメントとして配布されることを可能にし、このマクロがサーチエンジンによって検索されることを可能にし、このマクロがより複雑なプログラムの形に組み合わされることを可能にし、および、多数のデータドキュメントと共に再使用されることを可能にする。ＲＭＭＬは、（１）標準化、（２）相互交換可能な部品、（３）作成における特殊化および組立ライン手法、および、（４）作成および配備における規模の経済性というコスト上および生産能力上の利点をスプレッドシート操作ルーチンにもたらす。これに加えて、ＲＭＭＬは、Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂの幾つかの利点、すなわち、（１）オンデマンドによる広範なアクセスが可能であること、（２）ドキュメント検索が可能であること（この場合には、テキストまたはデータの代わりにルーチンの能力および動作の検索）、および、（３）ドキュメントをハイパーリンクさせることが可能であること（マクロが遠隔的に互いに呼応し合うことが可能である）をスプレッドシートマクロおよび数値プログラミングにもたらす。
【００３０】
本発明の実施態様では、数値のシリーズに対する演算を行うように定義されたマクロを受け取り、および、数値の特性を指示するタグを有する数値のシリーズを受け取る、データ処理システム方法が提供される。この方法は、さらに、その表示された特性を使用してその数値のシリーズに対してマクロによって定義された演算を行う。
【００３１】
本発明による別の実施態様では、１組の数値に対する演算を定義するマクロを受け取り、および、数値のベクトルまたは行列を受け取る、データ処理システム方法が提供される。この方法は、さらに、演算における変数としてベクトルまたは行列を使用して、マクロによって定義された演算を行う。
【００３２】
本発明によるさらに別の実施態様では、数値のシリーズに対する演算を行うために定義されたマクロを有する数値解析プログラムと、数値の特性を指示するタグを有する１組の数値とを含む記憶装置を含む、データ処理システムが提供される。このシステムは、さらに、指示された特性を使用して数値解析プログラムがマクロによって定義された演算を数値のシリーズに対して行うようにその数値解析プログラムを実行するプロセッサと、この演算の結果を表示するディスプレイとを含む。
詳細な説明
詳細な説明が長文になるので、次の目次を示す。
表題　　　　　　　　　　　　　　　　　　　　　　　　　　　セクション
再使用可能データマークアップ言語の概要　　　　　　　　　　Ｉ
再使用可能マクロマークアップ言語の概要　　　　　　　　　　Ｉ．Ａ
システムハードウェアコンポーネント　　　　　　　　　　　　ＩＩ
システムの概要　　　　　　　　　　　　　　　　　　　　　　ＩＩＩ
システムの詳細　　　　　　　　　　　　　　　　　　　　　　ＩＶ
内部データビューアのアーキテクチャ　　　　　　　　　　　ＩＶ．Ａ
ドキュメントタイプ定義　　　　　　　　　　　　　　　　ＩＶ．Ａ．１
リーダ、パーサ、および、プロセッサ　　　　　　　　　　ＩＶ．Ａ．２
Ｘ値トランスフォーマおよびラインアイテムセットタイプ　ＩＶ．Ａ．３
一次データ記憶装置　　　　　　　　　　　　　　　　　　ＩＶ．Ａ．４
チャートビュー　　　　　　　　　　　　　　　　　　　　ＩＶ．Ａ．５
ツリービュー　　　　　　　　　　　　　　　　　　　　　ＩＶ．Ａ．６
スプレッドシートビュー　　　　　　　　　　　　　　　　ＩＶ．Ａ．７
脚注ビュー　　　　　　　　　　　　　　　　　　　　　　ＩＶ．Ａ．８
タグ付けウィザード　　　　　　　　　　　　　　　　　　ＩＶ．Ａ．９
ＲＤＭＬドキュメントの諸側面　　　　　　　　　　　　　ＩＶ．Ａ．１０
グラフィカルユーザインタフェースおよびＨＴＭＬブラウザ　ＩＶ．Ｂ
再使用可能マクロマークアップ言語　　　　　　　　　　　　ＩＶ．Ｃ
ＲＭＭＬマクロパッケージ　　　　　　　　　　　　　　　ＩＶ．Ｃ１
Ｉ．　ＲＤＭＬの概要
本発明による方法およびシステムは、再使用可能データマークアップ言語（「ＲＤＭＬ」）と呼ばれるマークアップ言語と、ＲＤＭＬフォーマットのドキュメントを検索し操作し閲覧するために使用されるＲＤＭＬデータビューアと呼ばれるデータビューアとを提供する。一般的に、ＲＤＭＬは数をブラウジングおよび操作することを可能にし、および、データビューアは、多数のオンラインソースから数を自動的に読み出し、その数の意味を理解し、人間の介在なしにその数値データを操作できる、ウェブブラウザとスプレッドシート／解析アプリケーションとの組合せとして機能する。ＲＤＭＬデータビューアは、ＨＴＭＬがテキストに関して行うように、要求された数のセットを得るためにインターネットを利用できる。ＲＤＭＬを使用することによって、数の真の照会であるインターネット上での検索を形成することが可能である。こうした要求の１つは、売上高の増加が１０％を超えかつ課税対象の収入がない企業に関して１９９６年から１９９７年の四半期総収入のリストの生成である。あらゆる要求された数値データのセットを受け取った後に、データビューアは、これらの数値データセットが互いに異なったフォーマットである（すなわち、１つの数値データセットは１０００米ドル単位であり、別の数値データセットは１００フランスフラン単位である）場合でさえ、手作業の調整をユーザが行う必要なしに単一のグラフィカルディスプレイ上でこれらの数値データセットを自動的に変換して組み合わせることが可能である。その次に、ユーザは、受け取った情報の様々な側面を見るためにディスプレイに対してクリック１回で調整（例えば、インフレーション、通貨、期間、数値精度等の調整）を行うことが可能である。ＲＤＭＬは、一般的に、数をその数の意味を記述する属性に関連付けることによって数値ブラウジングを容易にする。
【００３３】
ＲＤＭＬの好ましい実施形態はＸＭＬバージョン１．０の完全準拠インプリメンテーションであるマークアップ言語であるが、他のインプリメンテーションも可能である。ＸＭＬは、本明細書に引例として組み入れてある「ＸＭＬバイブル」エリオット　ラスティ　ハロルド、ＩＤＧ　Ｂｏｏｋｓ　Ｗｏｒｌｄｗｉｄｅ，１９９９年（“ＸＭＬ　Ｂｉｂｌｅ”，Ｅｌｌｉｏｔｔｅ　Ｒｕｓｔｙ　Ｈａｒｏｌｄ，ＩＤＧ　Ｂｏｏｋｓ　Ｗｏｒｌｄｗｉｄｅ，１９９９）に詳細に説明されている。ＲＤＭＬデータビューアは、データブラウザ、データマニュピレータ、データビューア（チャート、スプレッドシート等の形式）、および、データドキュメントのための一般的なユーザインタフェースである。ＲＤＭＬデータビューアは、現在のスプレッドシートおよびデータベース管理プログラムによって提供される能力を大きく拡張する。能力の拡大に加えて、ＲＤＭＬデータビューアは、データ、機能、および、レポートフォーマットの効率的な再利用を可能にすることによってビジネス上のコストを低下させる。
【００３４】
ＲＤＭＬデータビューアはＲＤＭＬフォーマットのデータドキュメントと共に機能し、このＲＤＭＬフォーマットデータドキュメントは、ローカルに記憶されることも、インターネットを含むネットワークを介して記憶されることも、または、あらゆるソースの組合せに記憶されることも可能なファイルである。ＲＤＭＬデータファイルの構造は、ＲＤＭＬデータビューアがブラウザと解析プログラム（例えばスプレッドシート）の組合せとして機能することを可能にし、この組合せは、その統合された解析プログラムにおいて数を自動的に読み出し、翻訳し、操作することが可能である。ＲＤＭＬデータビューアは、さらに、ＲＤＭＬフォーマッティングデータの操作と変換と表示のためにユーザがカスタムルーチンを作成することを可能にする「マクロ」開発および管理スキームを提供する。マクロとその関連の諸側面についてはさらに詳細に後述する。
【００３５】
図１は、本発明の方法およびシステムによるＲＤＭＬデータビューア１００とその入力および出力の上位レベルの概略図を示す。一般的に、データビューア１００は、コンピュータの記憶装置内に存在し、幾つかのタイプの入力１０２、１０４、および、１０６（ＲＤＭＬデータドキュメント１０２がその入力の１つである）を受け入れるソフトウェアであってよい。ＲＤＭＬデータドキュメント１０２は、ＸＭＬバージョン１．０に準拠しているＲＤＭＬタグでフォーマットされたＡＳＣＩＩテキストドキュメントであってもよい。本発明による一実施形態では、ＲＤＭＬデータドキュメント１０２のタグは、データのドキュメンテーションを含み、かつ、データを、リレーショナルデータベース（後述する）における「レコード」または「行」に類似したデータ値の集まりである「ラインアイテム（“ｌｉｎｅ　ｉｔｅｍ”）」の形に配置するように構造化されることが有利である。ＲＤＭＬでは、ラインアイテムは、一般的に、従来のデータベースまたはスプレッドシートの殆どで典型的であるような単一のデータ値すなわちセルとは反対に、計算の基本単位である。ＲＤＭＬドキュメント１０２は、リレーショナルデータベースにおける「テーブル」に類似したラインアイテムセットのようなラインアイテムセットと、「ラインアイテムセット」に関するドキュメンテーション（「メタデータ」）とを含む。ＲＤＭＬデータドキュメント１０２はＲＤＭＬデータビューア１００によって読み取られ、このＲＤＭＬデータビューアは、このデータを内部に記憶して、ユーザ（図示していない）に対して様々な形（チャート、テーブル等）でデータを提示する幾つかの「ビュー」１０８で使用可能にする。ビュー１０８は、ＲＤＭＬデータビューア１００からデータを受け取るスタンドアロンのソフトウェアプログラムであることが可能なので、プログラムまたはアプリケーションとも呼ばれる。
【００３６】
解析ルーチンがデータに関して開発され、データビューア１００に対する別の入力でありオプションでもある再使用可能マクロマークアップ言語（「ＲＭＭＬ」）マクロドキュメント１０４と呼ばれるそのルーチン自体のドキュメントの中にこの解析ルーチンが置かれることが可能である。これらのルーチンは再使用可能であり、ＲＭＭＬドキュメント１０４において記述される必要条件を満たす実質的に全てのデータドキュメントに適用されることが可能である。例えば、ＲＭＭＬドキュメント１０４はＲＤＭＬデータを様々な通貨に変換するためのルーチンを含んでもよく、および、通貨単位で表されたあらゆるデータがＲＭＭＬ通貨変換マクロを使用することが可能である。ＲＭＭＬの好ましい実施形態も、ＸＭＬバージョン１．０に完全に準拠しているインプリメンテーションであるが、他の実施形態も可能である。
【００３７】
同様に、データビューア１００に対するオプションとなる別の入力である、再使用可能データスタイル言語（Ｒｅｕｓａｂｌｅ　Ｄａｔａ　Ｓｔｙｌｅ　Ｌａｎｇｕａｇｅ）（「ＲＤＳＬ」）スタイルシート１０６を、特別なフォーマットにされた出力レポートを生成するためにデータドキュメントに適用することが可能である。ＲＤＳＬは、“ＸＭＬ　Ｂｉｂｌｅ”，Ｅｌｌｉｏｔｔｅ　Ｒｕｓｔｙ　Ｈａｒｏｌｄ，ＩＤＧ　Ｂｏｏｋｓ　Ｗｏｒｌｄｗｉｄｅ，１９９９に詳細に説明されている拡張可能スタイル言語（Ｅｘｔｅｎｓｉｂｌｅ　Ｓｔｙｌｅ　Ｌａｎｇｕａｇｅ）（「ＸＳＬ」）に完全に準拠しているインプリメンテーションである。これらのＲＤＳＬドキュメント１０６は、ＲＤＭＬデータドキュメント１０２のためのレポート作成として本質的に機能するＸＳＬ準拠スタイルシートである。典型的な使用は、企業の財務レポートを含むデータドキュメントに関する使用だろう。単一のＲＤＭＬデータドキュメント１０２は１組の財務レポートを含んでもよいが、幾つかの異なったスタイルシートが適用可能であり、１つは年間列におけるデータを示すために使用され、１つは四半期内訳においてデータを示すために使用され、１つはヨーロッパ式フォーマットでデータを示すために使用される等が可能である。ＲＤＭＬデータビューア１００は自動的にデータドキュメント１０２とスタイルドキュメント１０６とを組み合わせてレポートを作成する。
【００３８】
ＲＤＭＬは、データのドキュメンテーションの上述の問題点、解析ルーチンの非標準化、及びデータの低概念レベルの計算に対処することによって、データ操作のコストと時間と複雑性とを劇的に低減させる。ＲＤＭＬは、対話式に使用されることが可能な機械可読形式でデータとそのドキュメンテーションを共にカプセル化することによって、データとそのドキュメンテーションとの分離という問題に対処する。このことは、データがコンピュータ内に保持されかつドキュメンテーションが典型的には３リング式バインダまたは他のプリントドキュメントの形で保存される従来のリレーショナルデータベースのアプローチとは異なっている。データとそのドキュメンテーションとが分離しているせいで、データがアクセスされるか使用されるか転送されなければならない時にはその都度に高コストのデータベースプログラマが必要となることが多い。さらに、ＲＤＭＬにおけるドキュメンテーションは、ドキュメンテーションが作成者の頭脳と個人的なノートの中にあるという点で個人的になりがちなスプレッドシートのドキュメンテーションとも異なる。本発明による一実施形態では、ＲＤＭＬは機械可読ドキュメンテーションをデータと共にカプセル化する。数が何を意味し、数がどのように使用されるべきか、および、数がどのように表示されるべきかを解釈するために、データとそのドキュメンテーション（メタデータ）が共にデータビューア１００によって使用される。生データをリファインする際のわずかな先行投資は、将来においてデータにアクセスして再利用するための人間の労力の必要性が減少するという点で見返りが得られる。ＲＤＭＬは、幾つかの重要なタイプのメタデータ、すなわち、ソース、コンタクト、ライセンス要件、期間満了および更新情報、データタイプ、データクラス、処理命令（例えば、ヌル、紛失値等の処置の仕方）、単位およびメジャー、並びに、様々な表現を生じさせるために必要な他の情報を含む。
【００３９】
ＲＤＭＬの使用は、データ特性と解析ルーチンインタフェースの両方に関して標準を定義することによって非標準化の問題に対処する。標準化は、コンポーネントの再使用と、生産の自動化と、製品強化のより迅速な開発とをもたらす。コンピュータ産業はファイルフォーマットと機能レベルのインタフェースとに関しては標準を開発してきたが、一般的なデータフォーマットまたは内容解析の標準は開発してこなかった。例えば、データが（スプレッドシート、データベース、または、他のアプリケーションであろうと）アプリケーションに入力されると、ユーザがデータを操作して、異なったラインアイテムに関する基本統計値（合計、平均、変化％、分散等）、または、標準の変化の調整（インフレーションの調整、産業指数に対する適合化、株式市場平均の％等）、または、標準比率（負債／資本比率、株価収益率等）を見たいと望むかも知れない。標準的な一般的データフォーマットも標準的な解析ルーチンインタフェースも存在しないので、ユーザは現時点では基本コーディングからこれら操作ルーチンンの各々を作成する。スプレッドシートでは、ユーザは数式と変換係数とを各々の数ごとに入力しなければならず、および、データベースでは、ユーザはデータを操作するためにＳＱＬ照会文または他のプログラミングルーチンを記述しなければならない。
【００４０】
ＲＤＭＬは操作ルーチンのためのデータ標準と機能インタフェースの両方を提供する。このことは、ルーチンが要求する条件を満たすあらゆるラインアイテムに適用されるように、そのルーチンが記述されることが可能であり、および、こうしたルーチンが再使用可能であることを意味する。現在では、従来のスプレッドシートマクロ（ＲＤＭＬマクロ１０４に類似したマクロ）は、一般的には、マクロが設計された対象であるスプレッドシートだけでしか使用されない。このマクロは、一般的には、数が異なったセル内にあるかまたは異なった単位で表されることがある別のスプレッドシートでは使用できない。ＲＤＭＬマクロ１０４はセル位置には依存しておらず、または、データの適合化のために人間の介在に依存することがない。ＲＤＭＬマクロは他のデータセットのために他者によって直接使用可能である。ユーザが、例えば時系列の移動平均を計算してグラフ化するルーチンを記述する場合には、このルーチンはあらゆるＲＤＭＬドキュメント１０２においてあらゆる時系列で使用可能である。
【００４１】
ＲＤＭＬの使用は、ドキュメンテーションと標準化の問題点を解決すると同時に、ラインアイテムレベルおよびドキュメントレベルでデータ「オブジェクト」を生成することによって、過剰に低い概念レベルで生じる計算上の問題点に対処し、一方、従来のスプレッドシートはセル（単一の数）レベルで作動する。例えば、データセットすなわちラインアイテムに共通であることがある計算は、この計算が数多くの異なった単一の数すなわちセルに個別に適用されるのとは反対に一括して適用されることが可能なので、より効率的に働くだろう。さらに、新たなルーチンを生成するために、解析ルーチン（マクロ）を組み合わせ、連続的に適用し、または、継承によって使用することが可能である。ラインアイテム指向は、記述が必要とされる数式の数を劇的に減少させる（数１つ毎に１つの数式の代わりに、行１つ毎に１つの数式）。さらに、このラインアイテム指向は、ユーザがより高い抽象レベルで論理を再検討することが可能なので、プログラムコードの可読性を向上させる。
【００４２】
これらの問題点を解決することに加えて、ＲＤＭＬは、データ消費者やデータパブリッシャーやプログラム開発者の側での作業に関して、コストと時間と複雑性とを減少させる。データを使用し操作するために、典型的には、インターネットを通してデータを検索するユーザは、データのテキスト版を見て、（ＨＴＭＬ、ＡＳＣＩＩまたはＰＤＦフォーマットで）データをプリントし、その次にスプレッドシートプログラムまたはデータベースプログラムに数字をタイプ入力する。ＲＤＭＬデータビューア１００は、データを翻訳可能なデータとして他のプログラムで直接使用できるようにすることによって、このプロセスを自動化する。ユーザはデータを再タイプ入力する必要がない。多数のオンラインソースから数値データセットを発見すると、データビューア１００はそのデータを自動的に正規化し、照合し、変換し、フォーマットする。
【００４３】
幾つかの従来のシステムは、一般的なスプレッドシートフォーマット（例えば、ＬｏｔｕｓまたはＥｘｃｅｌ）またはカンマ区切りテキストフォーマットもしくは他の共通テキストフォーマットのデータとして、ダウンロード用に使用可能なデータを作成する。このことは、少なくとも、ユーザが特定の数を再タイプ入力する必要を減少させるが、データをより便利な形式にする（例えば、正規化、標準化）ためにデータを操作するという新たな問題点を生じさせる。
【００４４】
したがって、ＲＤＭＬ（および、その関連のデータビューア）は、効率の向上のためにデータを「正規化」する。データの正規化は、基本的には、異なったフィールドを一致させること、カテゴリのコンフリクトを解決すること、および、重複の取扱を解決すること等を含む、キーフィールドを適合化させるという問題である。データは、有用であるためには、（グラフ化ルーチンまたは計算ルーチンのような）アプリケーションによって読取り可能であるフォーマットに適合化させられなければならない。例えば、アプリケーションが各年毎に集合されたデータを必要としても、到着するデータが各月毎に集合されたデータであるかも知れない。ユーザは、そのアプリケーションによって必要とされる形式にデータを一致させるために入力を操作しなければならない。ＲＤＭＬは、入力を適合化させるためのあらゆる必要な適合化変更を行うために、入力データに関する埋め込まれたドキュメンテーションを使用することによって、これらのタスクを自動的に行う。例えば上述の時系列では、ＲＤＭＬは、集合が合計であるべきか、平均であるべきか等を判定するために埋込みドキュメンテーションを使用して、各月毎のデータを各年毎のデータの形に集合するだろう。
【００４５】
さらに、データの比較がスプレッドシートの最も重要な用途である。この比較の例は、異なった企業の間での財務レポートの比較、異なった州の間での統計値の比較、および、異なった経済的な時系列の間の比較を含む。これらのデータカテゴリは、異なったソースから得られる時には、直接的には互換性がないことが普通である。ユーザは、ジグソーパズルを組み合わせることに似た仕方でスプレッドシートまたはその類似のプログラム上でデータ項目をレイアウトしなければならない。正規化に関して、ＲＤＭＬは、異なったラインアイテムおよび値をどのように照合すべきかを決めるために、様々な入力ファイルに埋め込まれているドキュメンテーションを使用する。
【００４６】
ＲＤＭＬデータビューア１００は、データが正規化され照合された後に、データを自動的に変換する。従来においては、ユーザがデータセット中の数に対して一連の調整を行うことが通常である。例えば、入力データが「百万ドル」単位で表され、一方、出力が「１０億円」単位で必要とされることがある。ＲＤＭＬは、最も一般的な変換のための１組の指示子を提供し、入力状態からユーザが必要とする状態に数を自動的に機械翻訳することを可能にする。
【００４７】
ＰＣ上での出力のためにデータをフォーマッティングする従来の方法は、フォーマッティングアプリケーション（ワードプロセッサ、グラフ生成プログラム、スプレッドシート等）にデータをカットアンドペーストし、その次に、データフォーマットを所望の出力に変更するためにデータにマークアップを行うことである。これは時間浪費的であり反復不可能であり、データにわずかな変更を加えただけでそのデータを再び入力する場合でも、フォーマッティングプロセス全体が繰り返されなければならない。ＲＤＭＬデータビューア１００は、データビューア１００内の中央記憶オブジェクト（後述する）にオリジナルのデータを保存することと、別個のフォーマッティング命令を適用して異なったビュー１０８を生成することとによって、カットアンドペースト手法を回避する。ユーザはマウスのクリック１回でビュー１０８を切り換えることが可能であり、プログラムがユーザのための全フォーマットおよび数値変換を取り扱う。
【００４８】
より進歩したデータベース管理システムの幾つかでは、「レポートライタ（“ｒｅｐｏｒｔ　ｗｒｉｔｅｒ”）」アプローチが使用される。ＲＤＭＬデータビューア１００と同様に、このアプローチは、中央に記憶されたデータセットにテンプレートを適用する。問題はデータセットが標準化されていないということである。すなわち、１つのデータセットのために記述されたレポート作成テンプレートは別のデータセットには使用できないことが通常である。しかし、ＲＤＭＬは、データおよびマクロの再使用を実現するのと同じ仕方でスタイルシートの再使用を実現する。
【００４９】
上述の問題に加えて、ＲＤＭＬは、一般的にはプログラミング専門家を必要とする多数のソースに関係する数値データの「ライブ（“ｌｉｖｅ”）」接続に関する問題を解決する。広域ネットワーク（例えばインターネット）を経由して多数のソースから数を得ることが意図されていようと、または、企業内ＬＡＮを経由して多数のソースから数を得ることが意図されていようと、遠隔データを組み込むことは、多くの問題点、すなわち、接続プロトコル、プログラミング言語依存性、データタイプの不一致、誤り処置、データ変換等によって複雑になっている。プログラマは、何らかの代償を払ってこれらの問題を克服することが可能であるが、再使用を可能にする柔軟な方法ではなく、ユーザはこの場合も特化したプログラミングに依存する。この特化したプログラミングによるアプローチのコストと時間要件と非柔軟性とのために、一時的なユーザは労力に基づく解決策に頼ることになる。代表的な事例では、財務スプレッドシートが、例えば利率に関する１０通りの仮定条件を使用して作成される。スプレッドシートが使用される度に、そのスプレッドシートの作成者は新聞で数を調べ、その結果を適切なセルの中にタイプ入力し、あらゆる必要な変換が手作業で行われる。ＲＤＭＬは、通常の形式の遠隔ＲＤＭＬドキュメント１０２からの数を含む方法を提供することによって、特化したプログラミングと手作業の入力の必要を取り除く。ＲＤＭＬデータビューア１００は、数を検索し、あらゆる必要な変換（例えば、円からドルへの変換）を行い、その結果を正しい形式にするために、自動的にウェブ上の指定されたアドレスを調べる。このようにして、ＲＤＭＬドキュメント１０２またはマクロ１０４は一度に多数のドキュメントを利用することが可能である。ＲＤＭＬドキュメントのドキュメンテーションは、機械可読性なので、その他のものの物理的レイアウトまたはデータタイプを認識する必要がない多重システムによって読み取られることが可能である。
【００５０】
最後に、ＲＤＭＬの使用は、インターネットを経由して供給されるデータを使用するクライアント側の処理を可能にし、それによって幾つかの利点を実現する。データが検索された後に、解析ルーチンがサーバ側で行われるウェブベースのデータ解析における従来のアプローチとは反対に、解析ルーチン（マクロ）がクライアント側で行われる。機密扱いのデータおよび計算がＲＤＭＬデータビューア１００内にローカルのまま残ることが可能であり、ユーザは、サーバを運用する企業によって機密データが悪用されていることや、ウェブを経由して機密データが悪用されていることを心配する必要がない。これに加えて、ＲＤＭＬの使用は、往復のインターネット伝送が不要であり、または、ビジーなサーバ上でのルーチンのロードと実行が不要なために、グラフとレポートとスプレッドシートとに対する更新がほぼ瞬時に行われることが可能なので、スピードを増大させる。さらに、ユーザは、自分たちが管理しかつ即座にアクセスするデータのローカルコピーを好むだろう。
Ｉ．Ａ．　ＲＭＭＬの概要
本発明による方法およびシステムはマクロとＲＭＭＬとを提供し、これらは、迅速に、低コストで、かつ、ＲＤＭＬの形の広範囲のデータドキュメントで使用可能な形式で、数値解析ルーチンが記述されることを可能にする。ＲＭＭＬマクロは、ＲＤＭＬマークアップドキュメントに含まれる数値データを自動的に操作し表示する、ＲＤＭＬと組み合わせて使用するための再使用可能なユーザ定義計算を提供する。ＲＭＭＬは、さらに、スプレッドシートタイプのマクロがウェブドキュメントとして配布され、サーチエンジンによって検索され、より複雑なプログラムの形に組み合わされ、および、多数のデータドキュメントと共に再使用されることを可能にする。
【００５１】
例えば、ＲＤＭＬデータビューアにおいて一連のデータを有するチャートを見ているユーザが、マウスを１回クリックすることによって、そのチャートにマクロを適用し、チャート化された一連のデータの瞬時の（または、ほぼ瞬時の）変換を見ることができる。データが変更されるだけでなく、タイトル、レジェンド、脚注、軸スケール、および、他の属性も変更される。さらに別の例として、ユーザは百万ドル単位での自動車販売の時系列動向を見ているかも知れない。「変化％」とタイトルが付いたマクロの上をクリックすることによって、チャートは、期間毎の変化％に従ってそのチャート自体を再計算する。ｙ軸のタイトルが「百万ドル」から「年間変化％」等に変化する。テーブル操作マクロが、２つのテーブルを１つに組み合わせること、テーブルを分類すること、特定のラインアイテムを探索すること、および、他のデータベース的なタスクといった働きをしてもよい。他の変換マクロは、語の翻訳、データフォーマットの翻訳、および、レポート作成といった他の働きをしてもよい。
【００５２】
ＲＭＭＬマクロは、クロスプラットホームであるテキストベースの検索可能なＸＭＬ準拠フォーマットの形で使用可能にされているので、高度に再使用可能である。このマクロは、移植可能なので、より著しく高い市場性を有する。さらに、ＲＭＭＬは、オリジナルのマクロ作成者と他のユーザとによってマクロが再使用され理解されるように、様々なタイプのドキュメンテーションのためのその言語タグを組み込む。
【００５３】
従来のスプレッドシートプログラムは典型的には物理的位置に基づいているが、ＲＭＭＬは、この問題を、チャートまたは数式における数の位置によってまたはタグ名によって数を照会することによって回避し、こうして数自体がドキュメント中のあらゆる場所に存在することを可能にする。ＲＤＭＬタグが、数のメジャーと大きさとスケールと単位と精度とクラス等を識別するための標準語彙を含み、および、ＲＭＭＬインタプリタがユーザに関する差異を処理するので、ＲＭＭＬマクロは、数のメジャーと意味も使用する。
【００５４】
さらに、ＲＭＭＬは誤り処理をそのインタプリタに組み込み、および、コードの品質向上を促進するための自動化された試験ツールを使用可能にする。ユーザは、さらに、チェックボックス、スライダバー、入力ボックス、および、選択リストを使用してマクロのためのパラメータをグラフィカルに変更してもよく、および、ＲＭＭＬは、マクロ作成者がこれらの視覚的コンポーネントを追加することを容易にする。
【００５５】
次では、ＲＭＭＬマクロを実行するプラットホームであるＲＤＭＬの詳細な説明と、ＲＭＭＬの詳細な説明とを行う。
ＩＩ．　システムハードウェアコンポーネント
図２は、本発明による方法およびシステムでの使用に適しているデータ処理システム２００を示す。データ処理システム２００は、インターネットのようなネットワーク２１４を介して相互接続されているコンピュータ２０１とサーバコンピュータ２０３とを含み、サーバコンピュータ２０３はＲＤＭＬドキュメント１０２をコンピュータ２０１に提供できる。コンピュータ２０１は、中央処理ユニット（ＣＰＵ）２０２と、メインメモリ２０４と、２次記憶装置２０６と、ディスプレイ２１０と、入力装置２１２とを含む。
【００５６】
メインメモリ２０４は、パーソナルコンピュータベースのプログラムであってよいＲＤＭＬデータビューア１００を含んでもよいが、当業者は、このデータビューアが他のどんな場所にも存在してもよいということを理解するだろう。表示のためのビュー１０８を含むデータビューア１００に加えて、メインメモリ２０４は、ＲＤＭＬドキュメント１０２とマクロドキュメント１０４とスタイルシート１０６とをデータビューアに入力するために使用されてよい関連のソフトウェアコンポーネントを含む。メインメモリ２０４は、ユーザが数値データにタグを付加するために使用するＲＤＭＬドキュメントフォーマッタ２１６、および／または、ＲＤＭＬドキュメント１０２をデータビューア１００に供給するＲＤＭＬドキュメントサーバ２１８を含んでもよい。メインメモリ２０４は、さらに、ＲＤＭＬドキュメント１０２のファイルを編集するために使用されるＲＤＭＬドキュメントエディタ２２０、および、スタイルシート１０６を作成するためのＲＤＳＬスタイルシートエディタ２２２を含んでもよい。照会に応答してＲＤＭＬドキュメントを検索するＲＤＭＬ／ＸＭＬサーチエンジン２２４が、任意の追加のプラグインアプリケーション２２５と共にメモリ２０４に存在してもよい。これらのコンポーネントとその相互作用との各々を、更に詳細に後述する。
【００５７】
メモリ２０４は、ＪａｖａＴＭプログラミング言語のようなオブジェクト指向言語でプログラムされてもよい、データビューア１００の様々なソフトウェアコンポーネントとその関連のコンポーネントとを含んでもよい。ＪａｖａＴＭプログラミング言語は、本明細書に参照として組み入れてある「Ｊａｖａプログラミング言語」第２版ケン　アーノルド　ジェームズ　ゴスリング編、アディソンウェスレー社、１９９８年（“Ｔｈｅ　Ｊａｖａ　Ｐｒｏｇｒａｍｍｉｎｇ　Ｌａｎｇｕａｇｅ，”　２ｎｄ　Ｅｄ．，Ｋｅｎ　Ａｒｎｏｌｄ，Ｊａｍｅｓ　Ｇｏｓｌｉｎｇ，Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ，１９９８）にさらに詳細に説明されている。Ｊａｖａ言語に関するさらに詳細な説明に関しては、本明細書に参照として組み入れてある「Ｊａｖａ言語仕様書」ジェームス　ゴスリング，ビル　ジョイ，ガイ　スチール　アディソンウェスレー社、１９９６年（“Ｔｈｅ　Ｊａｖａ　Ｌａｎｇｕａｇｅ　Ｓｐｅｃｉｆｉｃａｔｉｏｎ，”Ｊａｍｅｓ　Ｇｏｓｌｉｎｇ，Ｂｉｌｌ　Ｊｏｙ，Ｇｕｙ　Ｓｔｅｅｌｅ，Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ，１９９６）を参照されたい。しかし、当業者は、他のプログラミング言語を使用してもよいということを理解するだろう。ＲＤＭＬデータビューア１００は、ローカル記憶装置ディスクのような様々なソースから、または、ネットワーク２１４を経由してサーバからＲＤＭＬデータドキュメント１０２をダウンロードしてよい。
【００５８】
２次記憶装置２０６は、ＲＤＭＬドキュメント１０２に関するドキュメンテーションのタグデータを記憶するＲＤＭＬイメージデータベース２２６と、マクロを開発するためのＲＭＭＬマクロソフトウェア開発キット２２８とを含んでよい。２次記憶装置は、さらに、ＲＤＭＬドキュメント１０２の生成の基礎となるオリジナルのデータを保持するための既存データベース２３０を記憶してもよい。これらのコンポーネントは、さらに、メインメモリ内にまたは別の遠隔コンピュータ上に記憶されてもよく、これに関してもさらに詳細に後述する。
【００５９】
図２は、さらに、ネットワーク２１４を経由してコンピュータ２０１と対話するコンピュータ２０３上のウェブサーバ２３２を示す。本発明によるシステムの１つでは、ウェブサーバ２３２はＲＤＭＬドキュメント１０２をネットワーク２１４を通して送信し、ＲＤＭＬデータドキュメント１０２を保持するディスクアレイ２３４に接続されてもよい。このディスクアレイ２３４は、データベース記憶装置２３８からデータを受け取ってもよいデータベースサーバ２３６からデータドキュメント１０２を受け取ってもよい。サーバ２３２とコンピュータ２０１の間の情報伝送に使用されるプロトコルは、限定するものではないが、ＨＴＴＰとＦＴＰを含む。
【００６０】
当業者は、本発明による方法およびシステムの諸側面が、ハードディスク、フロッピーディスク、および、ＣＤ−ＲＯＭのような、２次記憶装置のような記憶装置を除く他のコンピュータ可読媒体上に記憶されるか、これらの媒体から、または、（インターネットのような）ネットワークからの搬送波から読み取られてもよいということを理解するだろう。さらに、当業者は、このデータ処理システムが追加のコンポーネントまたは異なったコンポーネントを含んでもよいことも理解するだろう。
ＩＩＩ．　システムの概要
図３は、本発明によるＲＤＭＬシステムとその様々なコンポーネントの相互間の関係とを示す。これらの様々なコンポーネントは、コンピュータ２０１のようなコンピュータ上のメモリ２０４の中に常駐してもよい。既存のデータベース２３０は、ＲＤＭＬドキュメント１０２を生成するために使用されることが可能なデータを記憶し、一般的にこのデータは「フラットファイル（“ｆｌａｔ　ｆｉｌｅ”）」フォーマット（例えば、カンマ区切り、もしくは、固定幅のフィールド）の形、または、Ｊａｖａデータベースコネクティビティ（Ｊａｖａ　Ｄａｔａｂａｓｅ　Ｃｏｎｎｅｃｔｉｖｉｔｙ）（「ＪＤＢＣ」）によって読取り可能な形式のどちらかで抽出される。ＲＤＭＬドキュメント１０２は、単一のＲＤＭＬドキュメント１０２が１組の行と列をカプセル化するようにフラットファイルをモデル化する形に構造化されてもよい。データベースの例が、ＭｉｃｒｏｓｏｆｔによるＳＱＬサーバとＯｒａｃｌｅ８サーバを含む。
【００６１】
ＲＤＭＬドキュメントフォーマッタ２１６は、データとそのドキュメンテーションを組み合わせるために必要とされる手作業の労力の量を減少させるようにユーザによって使用されるグラフィカルツールである。本発明によるシステムの１つではＲＤＭＬドキュメント１０２が既存データベース２３０の内容のドキュメンテーションを使用するので、既存データベース２３０の内容は、ＲＤＭＬドキュメント１０２を生成するのには十分でないこともある。こうしたドキュメンテーションは、プリントされた書物の中に発見されることが多く、したがって手作業で入力され手作業でデータと組み合わされなければならないだろう。ＲＤＭＬフォーマッタ２１６は、ユーザ（または、データパブリッシャー）が、リレーショナルデータベース、フラットファイル、スプレッドシートファイル、または、テキストドキュメントからのデータフィールドをＲＤＭＬデータドキュメント１０２にマッピングすることを可能にする。ＲＤＭＬフォーマッタ２１６は、さらに、データパブリッシャーがデータファイル（ＲＤＭＬデータドキュメント１０２）自体にドキュメンテーションを追加することも可能にする。
【００６２】
ＲＤＭＬイメージデータベース２２６は、基礎をなすデータ変化がありうるＲＤＭＬドキュメント１０２を再生成するために必要な情報を保持するためにＲＤＭＬフォーマッタ２１６によって維持される比較的小さいデータベースである。このＲＤＭＬイメージデータベース２２６は、ドキュメンテーションを記憶しているので、ユーザがそのドキュメンテーションを手作業で入力する必要を取り除く。
【００６３】
ＲＤＭＬドキュメントサーバ２１８は、ＲＤＭＬドキュメント１０２が動的に生成される時に機能する。サーバ２１８は所望のラインアイテムを既存データベース２３０に照会し、ＲＤＭＬドキュメント１０２を構成するためのドキュメンテーション項目と命令をイメージデータベース２２６に照会し、最終的に適切に形成された有効なＲＤＭＬドキュメントを生成する。
【００６４】
ＲＤＭＬドキュメントエディタ２２０は、典型的には（ＵＮＩＣＯＤＥデータを含んでもよい）ＡＳＣＩＩテキストファイルであるＲＤＭＬドキュメント１０２をユーザが編集することを可能にする。したがって、ＲＤＭＬドキュメント１０２は、あらゆるテキスト指向エディタまたはワードプロセッサによって編集されることが可能である。しかし、これは、ＲＤＭＬ（または、あらゆるＸＭＬ）ファイルをマークアップするための時間浪費的で誤りを生じやすいアプローチである。特化したＲＤＭＬドキュメントエディタ２２０が、ユーザがデータおよびメタデータに関して迅速に変更を加え、誤りをチェックし、情報を見ることを可能にする。ドキュメントエディタ２２０はインターネットを経由して機能してもよい。ファイルを変更する適正な許可を有するユーザが、ＲＤＭＬデータビューア１００から命令を送出することによって、基礎となるＲＤＭＬデータドキュメント１０２を更新または変更することが可能である。
【００６５】
ＲＤＭＬドキュメント１０２は、ＲＤＭＬデータビューア１００にデータおよびメタデータを送るために使用されるＡＳＣＩＩ／ＵＮＩＣＯＤＥテキストファイルであってよい。ＲＤＭＬドキュメント１０２はローカルに記憶されることが可能であり、または、（ＨＴＴＰ、ＦＴＰ、Ｅメール等を使用して）企業内ＬＡＮまたはインターネットのようなネットワーク２１４を経由して伝送されることが可能である。有効なＲＤＭＬドキュメント１０２であるために、そのファイルは、詳細に後述するＲＤＭＬドキュメントタイプ定義（「ＤＴＤ」）に準拠する。ＤＴＤは、必要なデータ要素、採用随意のデータ要素、これらの順序付け、シンタックス、および、特定のデータ要素で使用するための管理された語彙を記述する。ＤＴＤ一般は、“ＸＭＬ：Ｅｘｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ，”Ｅｌｌｉｏｔｔｅ　Ｒｕｓｔｙ　Ｈａｒｏｌｄ，ＩＤＧ　Ｂｏｏｋｓ　ＷｏｒｌｄＷｉｄｅ，１９９８に記載されている。
【００６６】
ＲＤＭＬデータビューア１００は、ＲＤＭＬおよびＨＴＭＬブラウザと、オブジェクト指向スプレッドシートと、レポートライタと、アプリケーションプラットホームとの組み合わせとして機能する。ブラウザ機能がＨＴＭＬドキュメントまたはＲＤＭＬドキュメント１０２を読み取る。ＨＴＭＬドキュメントは直ちにブラウザウィンドウの中にレンダリングされ、一方、ＲＤＭＬドキュメントは最初に（後述のＤＯＭ−「ドキュメントオブジェクトモデル（Ｄｏｃｕｍｅｎｔ　Ｏｂｊｅｃｔ　Ｍｏｄｅｌ）」−規格に準拠する）内部データオブジェクトの中にキャッシュされ、その次にユーザによって選択されたビュー１０８においてレンダリングされる。デフォルトビューは典型的にはチャートおよびツリーリストであるが、幾つかの他のデフォルトビューが使用可能である。ＲＤＭＬデータビューア１００は、ビュー１０８を生成するために、ビューによって求められている形式に一致するように、または、データが組み合わされている他のデータオブジェクトの形式に一致するようにデータを得るために様々な変換オブジェクトおよび操作オブジェクトを使用して、キャッシュされたＲＤＭＬデータオブジェクトを使用する。
【００６７】
ＲＤＭＬマクロソフトウェア開発キット（「ＳＤＫ」）２２８は、関数設計者が関数のために必要なデータのタイプを含むあらゆるデータドキュメントに全般的に適用されることが可能な関数を生成することを可能にする。ＳＫＤは、ＩＤＥ（「統合開発環境」）とエディタとオブジェクトブラウザと妥当性テスタとを含むマクロ記述ツールの集まりである。
【００６８】
ＲＤＭＬは一般的に、データに対して働く一般的な計算ルーチンからデータの形式を分離させる。関数からフォーマットを分離させることによって、データと関数の両方が再使用可能にされることが可能である。従来のスプレッドシートでは、例えば、作成者によって選択される任意のセルの中に数が入れられることが可能である。第２の開発者が解析関数を作成しようと決める場合には、その開発者は、各々の数が中に存在する行と列が何であるかを知らなければならない。この場合に、全く同じ行と列の構造を使用しなければ、そのルーチンは別のスプレッドシートでは機能しない。
【００６９】
関数を適用することは、一般的に、１つの形式のソフトウェア再使用を生じさせる。すなわち、ユーザは、自分のデータがどこにあるかを関数に知らせること（従来のスプレッドシートの「ウィザード」のアプローチ）が不要である。再使用の第２の形式は、継承によって得られる再使用である。すなわち、関数の開発者は、自分が行おうとしていることに最もよく適合する既存の関数を選択し、その所望の新たな関数を生成するために必要な編集を単に加えることが可能である。ＳＤＫ２２８は、ウェブ上の遠隔データドキュメントと遠隔マクロとに接続して、こうした外部リソースを利用し、かつ、データおよび関数のリアルタイムでの更新を可能にする能力の形で、第３のタイプの再使用を可能にする。
【００７０】
ＲＭＭＬマクロドキュメント１０４は、ＲＤＭＬデータがテキストドキュメントに含まれているのと同じに、ルーチンを含むテキストドキュメントである。このドキュメントは計算の核心を含む。すなわち、数式のような数に対する演算の仕様と、行うべき他のマクロの順序付けられたリストと、命令のリストとを含む。
【００７１】
ＲＤＳＬスタイルシート１０６は出力レポートのためのテンプレートの役割を果たす。ＲＤＭＬデータビューア１００のＲＤＭＬデータオブジェクト（後述する）は、１つまたは複数の異なったスタイルシートを使用してレポートの中に入れられることが可能である。ＸＳＬの完全互換性インプリメンテーションであるＲＤＳＬは、データパブリッシャーがそのデータに関して多数のレポートフォーマットを提供することを可能にする。特定の制限が満たされる場合に、１つのＲＤＭＬデータドキュメント１０２のために記述されたスタイルシートが別のＲＤＭＬデータドキュメントのためにも使用可能であるという点で、これらのレポートフォーマットは再使用可能である。例えば、時系列データセットのためのスタイルシートは別の時系列データセットのために使用可能である。ユーザが、サンプルドキュメントからレポートをグラフィカルに作成し、このレポートが適用可能なＲＤＭＬデータドキュメント１０２のタイプを特定し、その結果が許容可能である時にはスタイルシート１０６を自動的に生成し、その次に、あらゆる適格なＲＤＭＬデータドキュメント１０２からレポートを生成するために結果的に得られたスタイルシートを使用することが可能なので、スタイルシートエディタ２２２は基本的にレポートライタである。
【００７２】
ＲＤＭＬサーチエンジン２２４は、ＨＴＭＬサーチエンジンがＨＴＭＬドキュメントを探索する仕方と同じ仕方でＲＤＭＬドキュメント１０２を探索する。ＨＴＭＬサーチエンジンはキーワードをピックアップし、要求された語を特定のドキュメントが含むということをユーザに告げることだけは可能である。しかし、ＨＴＭＬサーチエンジンは照会サービスを提供しない。例えば、ユーザは、「収益成長率が１０％を超えるコンピュータサービス会社の財務レポートすべて」に関してインターネットを探索しようとする場合があり、ＲＤＭＬサーチエンジン２２４はこの能力を提供する。ＲＤＭＬサーチエンジン２２４は、ＨＴＭＬアプローチのようにキーワードを索引として示すだけではなく、要素名と主要属性も示す。このことは、数値を探索すること、または、データの内容および／またはコンテキストに関する複雑な照会を可能にする。したがって、ＲＤＭＬサーチエンジン２２４は、ＲＤＭＬデータドキュメント１０２とＲＭＭＬマクロ１０４とＲＤＳＬスタイルシート１０６とに関する汎用の照会プロセッサとして働く。サーチエンジン２２４の幾つかの側面は、２０００年２月１７日に出願された同時係属中の米国仮特許出願番号６０／１８３，１５２により詳細に記述されている。
【００７３】
上述のように、ＲＤＭＬデータビューア１００の各ビュー１０８は、本質的に、様々なＲＤＭＬプラグインアプリケーション２２５として図３に示す個別のアプリケーションである。例えば、チャートビューは、インターネットブラウザ、ＸＭＬパーサ／プロセッサ、ＲＤＭＬ変換および操作オブジェクト、内部オブジェクト管理アーキテクチャ、他のアプリケーションに対するインタフェース、および、グラフィカルユーザインタフェース（後述する）というＲＤＭＬデータビューアの基本インフラストラクチャに対して「プラグイン」されている別個のチャート作成アプリケーションである。例えば、マッピングコンポーネントは、チャートが見られるパネルの中にプラグインされることが可能である。その次に、ユーザがラインアイテム上をクリックする時に、様々な国または州の色がその主題別マップを示すように変化するか、または、異なったドットが現れる等が生じる。ＲＤＭＬデータビューア１００を、共通のコンポーネントを活用するためにコンポーネントアプリケーションを変更または付加することを可能にするように、モジュール型に設計してもよい。
ＩＶ．　システムの詳細
以下に、図３をさらに参照して、幾つかのコンポーネント（ＲＭＭＬおよびＲＤＳＬコンポーネントを除く）をさらに詳細に説明する。既存のデータベース２３０はリレーショナルデータベースであっても、オブジェクト指向データベースであっても、他のあらゆるタイプのデータベースであってもよい。ＲＤＭＬドキュメント１０２のＲＤＭＬタグはリレーショナルデータベースに見い出される純粋なデータのタイプにドキュメンテーションを追加する。リレーショナルデータベース中に既に存在するデータがＲＤＭＬドキュメント１０２を生成するために使用可能なので、このデータはＲＤＭＬフォーマッタ２１６またはＲＤＭＬサーバ２１８のどちらでも使用でき、および、フラットファイルフォーマット（行と列）の形であってもよい。
【００７４】
接続のために、ＲＤＭＬフォーマッタ２１６とＲＤＭＬサーバ２１８の両方がオープンデータベースコネクティビティ（Ｏｐｅｎ　Ｄａｔａｂａｓｅ　Ｃｏｎｎｅｃｔｉｖｉｔｙ）（「ＯＤＢＣ」）およびＪＤＢＣデータベースソースを読み取る。フラットファイルの側面は、ＲＤＭＬドキュメント１０２が基本的な行と列の行列を効果的にモデル化するという着想に基づいている。したがって、ＲＤＭＬドキュメント１０２を生成するために、オリジナルのデータソースが、単一のテーブルを提供するか、または、照会によって単一のテーブルを生成することができる。サーバを経由してリレーショナルデータベースへの、または、間接的には、ハイパーリンクを経由して他のＲＤＭＬドキュメントへの、または、ハイパーリンクを経由してＲＤＭＬドキュメントサーバ２１８への、ＲＤＭＬドキュメント１０２とのリレーショナルリンキングが可能である。これは多くのデータベースアプリケーションと同様であり、すなわち、ユーザに示すための単一のテーブルまたは画面を生じさせるために、データが様々な基礎テーブルから集められる。ＲＤＭＬドキュメント１０２のためのソースとして使用されるべきデータテーブルは、そのフィールドを、典型的な３つの基本的なＲＤＭＬデータテーブルタイプ、すなわち、時系列、カテゴリ、または、後述するＸ−Ｙプロットの中の１つであるフィールドにするようになっている。
【００７５】
ＲＤＭＬフォーマッタ２１６を参照すると、データポイントのフラットファイルデータテーブルが既存のデータベース２３０内に存在する時には、ＲＤＭＬドキュメント１０２が、そのデータテーブルに関するドキュメンテーションを含むタグを加えることによって生成されることが可能である。これらのタグに含まれる情報は、オリジナルのデータポイントから別個のデータテーブル内に維持される。ＲＤＭＬフォーマッタ２１６は、適正なドキュメンテーションタグを選択する際にユーザを補助し、別個のデータベース（ＲＤＭＬイメージデータベース２２６）内にタグを保存し、実際のＲＤＭＬドキュメント１０２を生成するアプリケーションである。
【００７６】
図４は、どのようにしてＲＤＭＬフォーマッタ２１６が、ユーザがデータを「タグ付け（ｔａｇｇｉｎｇ）」することを補助するか、すなわち、ユーザがラインアイテムに適用されるメタデータを付加することを補助するかを示すスクリーンショットである。本発明による一実施形態では、データの各々のラインアイテム毎に、ラジオボタン４０２を使用して適用される少なくとも１８個の互いに異なる潜在的な属性（詳細に後述する）が存在する。ユーザがラジオボタン４０２を選択する時に、フォーマッタ２１６は、選択された属性の記述４０４を提供する。左端のボックスからラジオボタン４０２を選択すると、ユーザは中央のオプションボックス４０６内の採用可能な値のリストを提示される。ユーザは、選択されたラインアイテムの属性としてその値を加えるために選択肢の１つをダブルクリックしてもよいし、または、中央のオプションボックス４０６の最上部のテキストボックスの中に新たな値をタイプ入力してもよい。フォーマッタ２１６は、自動的に、この例ではラインアイテムのＩＤ、タイトル、フォーマット、および、Ｙ軸タイトル（後述する属性）を表示するラインアイテムテーブル４０８を自動的に更新する。
【００７７】
図５は、ＲＤＭＬフォーマッタ２１６上のタブ５０２によってアクセスされるデータベースタブおよびドキュメント管理画面のスクリーンショットを示す。この画面は、リレーショナルデータベース２３０から生成されることが可能なＲＤＭＬドキュメント１０２を管理する。ユーザはリレーショナルデータベース内のデータテーブルのリスト５０４を指定し、デフォルトの特性を使用して各々に関するＲＤＭＬドキュメント１０２をＲＤＭＬフォーマッタ２１６に作成させることが可能である。この点で、ＲＤＭＬフォーマッタ２１６はこのデフォルトを変更するために使用される。ユーザは、ドキュメント１０２のための（図４に示す通りの）スクラッチからタグを選択するためにＲＤＭＬフォーマッタ２１６を使用してもよいが、このことは、どの特性が適切であるかを思い出す上でユーザに不必要な負担を負わせる。
【００７８】
フォーマッタ２１６は、ドキュメンテーションＵＲＬ５０６によって特定されたデータベース２３０（図３に示す）を参照する。データベース２３０はデータテーブルのリストを保持し、フォーマッタ２１６は、後で参照するために、データベース２３０の中に、データテーブルに関する情報を記憶するテーブル５０４を挿入する。このテーブル５０４はドキュメンテーションテーブル名５０８によって参照される。同様に、フォーマッタ２１６は、ｌｉ＿ｄａｔａ　ＵＲＬ　５１０によって参照されるデータベースの中に、データベース２３０に関するラインアイテム属性のリスト４０８を格納する。
【００７９】
ＲＤＭＬイメージデータベース２２６は、既存データベース２３０内の別々のデータレコードのセットに関係するドキュメンテーションを含む。ＲＤＭＬフォーマッタ２１６はＲＤＭＬイメージデータベース２２６を生成して維持する。ＲＤＭＬイメージデータベース２２６はデータドキュメントをドキュメンテーション化するプロセスを標準化し、メタデータのための管理された語彙を提供する。ＲＤＭＬイメージデータベース２２６は、さらに、ドキュメントの管理およびトラッキングと、更新と、バージョン管理と、誤り検査と、入力の妥当性検査と、ステータスレポートの生成とを行う。
【００８０】
イメージデータベース２２６は、それが生成することが可能なＲＤＭＬドキュメント１０２のリストを含む。オリジナルのデータは、フラットファイル、リレーショナルテーブル、または、リレーショナルデータベースに対する照会の結果として得られるテーブルであってよい。イメージデータベース２２６は、オリジナルのデータベース２３０内のオリジナルドキュメントのテーブルまたはフラットファイルを参照するメタデータを含む。イメージデータベース２２６中に含まれるドキュメンテーション情報がこのデータに追加される。ドキュメンテーション情報は、さらに、より技術的な性質であることが通常でありかつ全体としてラインアイテムに該当するドキュメンテーションである、ラインアイテムセットに関するラインアイテムセットメタデータを含む。こうした情報の例が、テーブルタイプ、フィールド定義（「ｘ値」）、および、ラインアイテムセット全体に該当するハイパーリンクである。（ラインアイテムセットは一般的にテーブルに類似していることがある。このラインアイテムセットはラインアイテムの集まりであり、データベースの世界でのレコードに類似している。）
イメージデータベース２２６は、さらに、オリジナルのデータベース２３０内のオリジナルのドキュメントテーブルまたはフラットファイルの個々のレコードを参照するラインアイテムメタデータも含む。各ラインアイテムのメタデータレコードからオリジナルのデータテーブル内の対応するレコードに対するポインタが存在してもよい。各ラインアイテムは、オリジナルレコードのフィールドを含み、さらに、本発明による一実施形態では、「属性」ドキュメンテーションを含む少なくとも１８個の追加のフィールド、すなわち、オブジェクトタイプ、単位指定子（ｕｎｉｔ　ｄｅｓｉｇｎａｔｏｒｓ）、ハイパーリンク、脚注等を含む。ラインアイテムの典型的な属性のリストを後述する。
【００８１】
図６は、ＲＤＭＬドキュメントサーバ２１８にアクセスする時にデータビューア１００によって使用される諸ステップを示す。ＲＤＭＬサーバ２１８は、データベースサーバ２３０とユーザのデータビューア１００またはウェブブラウザとの間の中間位置を占める。ＲＤＭＬに関する１つのアーキテクチャは、ディスクベースのテキストファイルから供給されるＲＤＭＬドキュメントを有することであるが、ユーザは、場合によっては、照会に対して応答して動的にＲＤＭＬドキュメントを生成することを望むことがある。この照会を実行してＲＤＭＬドキュメント形式で結果を配送するというタスクはＲＤＭＬサーバ２１８よって行われる。これを行うために、ユーザはデータビューア１００を介してそのデータリクエストをサーバ２１８に送る（ステップ６０２）。ＲＤＭＬサーバ２１８は、ユーザのリクエストを処理（ｆｉｅｌｄ）するウェブサーバ（図示していない）によって呼び出されるサーバアプリケーションである。ＲＤＭＬサーバ２１８は公知の方法を使用してデータベース２３０に照会し（ステップ６０４）、データベースはその結果をＲＤＭＬサーバに戻す（ステップ６０６）。その次に、サーバ２１８はＲＤＭＬドキュメント１０２を生成し（ステップ６０８）、ＲＤＭＬドキュメントをウェブサーバに戻し、ウェブサーバはその結果をビューア１００に転送する（ステップ６１０）。
【００８２】
ＲＤＭＬドキュメントエディタ２２０は、ユーザがＲＤＭＬドキュメント、ＲＭＭＬドキュメント、または、ＲＤＳＬドキュメント（１０２、１０４、および、１０６）の実際のエレメントと属性とを編集することを可能にする。これらのドキュメントは、選択と直接編集とのためにツリービューの形で提示されてもよい。テキストベースのウィンドウが、編集のために選択されたドキュメントの内容を表示してもよい。基本的な編集の他に、このウィンドウは、幾つかのユーティリティ機能、すなわち、（１）検索および置換、（２）妥当性検査、（３）整合性検査（ｗｅｌｌ−ｆｏｒｍｅｄｎｅｓｓ　ｔｅｓｔｉｎｇ）、（４）ハイパーリンク妥当性検査、（５）エレメントのカットアンドペースト、および、（６）デフォルトによるエレメントの置換という機能を果たす。
ＩＶ．Ａ．　内部データビューアのアーキテクチャ
図７Ａは、ＲＤＭＬデータビューアの内部アーキテクチャとプログラムフローの図式図を示し、図７Ｂは、図７Ａにおける各々の記号タイプの意味を示す。番号が付けられたコンポーネントの各々に関して、各コンポーネントの入力／出力、内部判断プロセス、記憶フォーマット、オブジェクトアーキテクチャ、および、プログラムフローに関するさらに詳細な説明を示す記述を行う。
【００８３】
しかし、図７Ａを詳細に説明する前に、図８に示し図７Ａに関連付けて説明する関連のステップの概要を理解することが重要である。図８は、本発明によるＲＤＭＬドキュメント１０２をダウンロードし処理し表示するための方法における諸ステップを説明するフローチャートである。図８は、関連の諸ステップの概要を説明し、その後で関連コンポーネントの各々を図７Ａに関してさらに詳細に説明する。最初に、ＲＤＭＬリーダ７０４が、ＲＤＭＬ　ＤＴＤ　７０２の構造に従ってフォーマッティングされたテキスト形式のＲＤＭＬドキュメント１０２を発見して受け取る（ステップ８０２）。ＲＤＭＬリーダ７０４は、別々のスレッドで実行しかつＲＤＭＬドキュメント１０２のタイプ（時系列、カテゴリ、ＸＹ）を検査して誤りを処理するための方法を有するクラスであってもよい。その次に、ＲＤＭＬリーダ７０４は、テキストを解析するＸＭＬパーサ７０６を呼び出す（ステップ８０４）。ＲＤＭＬプロセッサ７０８は、解析されたテキストをＸＭＬパーサ７０６から受け取り、そのテキストを誤り検査し、受け取られたテキストのデータおよび構造に基づいてオブジェクトを生成する（ステップ８０６）。
【００８４】
ＲＤＭＬプロセッサ７０８は、結果として得られたオブジェクトをＸ値トランスフォーマ７１０に転送し、このＸ値トランスフォーマ７１０は、データが同じタイプの他のアクティブオブジェクトと共に一貫性がある形で同時に表示され記憶されるように、データのフィールド（ｘ値）のタイプ検査と操作を行う（ステップ８０８）。Ｘ値トランスフォーマ７１０は、ｘ軸に対してグラフ化されるべきデータ値が共通の単位であることを確実なものにする。例えば、ドキュメントＡが年による時系列であり、ドキュメントＢが四半期による時系列である場合には、Ｘ値トランスフォーマ７１０は、この場合に、一度に４つの四半期を年間データの形に集合するためにドキュメントＢのラインアイテムの「ｌｉ＿ａｇｇｒｅｇａｔｉｏｎ」属性を使用するだろう。第２の例としては、ドキュメントＡが、ｘ値が株式相場表示器記号（Ｆ、ＩＢＭ、ＸＯＮ等）に等しいｘ値を有するカテゴリドキュメントであり、ドキュメントＢが企業名（Ｆｏｒｄ、Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ｂｕｓｉｎｅｓｓ　Ｍａｃｈｉｎｅｓ、Ｅｘｘｏｎ等）で表されたｘ値を含む場合には、ｘ値変換器７１０は、各ドキュメントのラインアイテムを一致させるために各書類のラインアイテム内の「ｌｉ＿ｃｌａｓｓ」属性を使用するだろう。Ｘ値トランスフォーマ７１０は、同じタイプの他のアクティブオブジェクトと共に記憶するために一次データ記憶装置７１２（「ＰＤＳ」）にオブジェクトを送る（ステップ８１０）。その次に、ビュー（７１６、７２０、７２４、および、７２５）が、ＰＤＳ　７１２内のアクティブオブジェクトからのデータを使用して情報を表示し提示する（ステップ８１２）。
【００８５】
次に、関連のステップおよびコンポーネントの詳細を図７Ａを参照して説明する。ＲＤＭＬドキュメントタイプ定義によって定義されたＲＤＭＬドキュメント１０２を最初に説明する。次いで、データビューア１０２の様々なソフトウェアコンポーネントの説明を行う。
【００８６】
ＲＤＭＬドキュメント１０２のデータおよびメタデータを、各データ要素の始点と終点とを表すタグの内側にフォーマッティングする。要素タグは、データ要素と、要素内に何の副要素が発見できるかということに関する記述と、異なった属性に関する語彙選択とに適用されるべき属性を含んでもよい。
【００８７】
付録ＢにＲＤＭＬデータドキュメント１０２の完全なサンプルが示されている。ドキュメント内の１つのラインアイテムに関するデータを提供するＲＤＭＬドキュメント１０２の断片を次に示す。要素タグが山括弧（「＜」と「＞」）の中に示されているということと、データに適用可能な属性がリスト表示されていることとに留意されたい。
【００８８】
【表１】
2004506955.tif 000003
【００８９】
この例では、「＝」を有する１８の行が＜ｌｉｎｅ＿ｉｔｅｍ＞要素の「属性」であり、本質的に、この属性が、副要素＜ｙ＿ｖａｌｕｅｓ＞中で特定されるデータ値に関する機械可読ドキュメンテーションを与える。この特定のラインアイテムは「エネルギー省が数千ドルを支出する」ことを記述するが、属性セットの詳細は、ＲＤＭＬドキュメント１０２の構造と要素を記述するＲＤＭＬドキュメントタイプ定義７０２に関連して後述する。
【００９０】
ＲＤＭＬドキュメント１０２は、通常のテキストエディタによって、ＲＤＭＬデータフォーマッタ２１６によって、または、ＲＤＭＬデータサーバ２２６によって生成されることが可能である。（ＲＤＭＬデータビューア１００以外のＸＭＬブラウザは、ＲＤＭＬタグを翻訳できないので、ユーザの画面に対するテキスト入力を繰り返すこと以外はほとんど何もできない。）
ＩＶ．Ａ．１．　ドキュメントタイプ定義
図９はＲＤＭＬドキュメントタイプ定義７０２の要素を図形的に示す。本発明による一実施形態では、ＲＤＭＬドキュメント１０２は、ＤＴＤ　７０２（図７にも示されている）によって提供される規則に準拠する。本発明による一実施形態では、ＲＤＭＬ　ＤＴＤ　７０２が付録Ａに示されている。ＤＴＤ　７０２の属性とエレメントを、付録ＢのＲＤＭＬドキュメント１０２の完全なサンプルに見ることができる。これら２つの付録Ａ、ＢはＤＴＤ　７０２の特定の属性とエレメントとを考察する上で有益である。
【００９１】
ＤＴＤ　７０２のデータ構造は、情報が要求される順序で必要とされる情報を提供するように、ＲＤＭＬフォーマッティングに対してユーザ側に必要とされる学習を低減させるように、および、不要な重複を回避するように最適化される。付録ＡにおけるＤＴＤ　７０２の第１の行は、全てのＸＭＬドキュメントが、クライアントアプリケーション（この場合にはデータビューア１００）にそのドキュメントが何のタイプであるかということとＸＭＬのバージョンとを知らせる行で開始するので、「＜？ｘｍｌ　ｅｎｃｏｄｉｎｇ＝“ＵＴＦ−８”？＞」で始まる。
【００９２】
図９をさらに参照すると、ＲＤＭＬデータドキュメント１０２を定義するために使用されるＤＴＤ　７０２は要素の階層的ツリー構造の形に構造化されている。各要素は、（付録Ａに示されているが、図９には示されていない）属性のリスト、および／または、１つまたは複数の副要素との連関とを含んでよい。ＤＴＤ　７０２は、どの属性が必要とされているか、および、ＤＴＤのあらゆる具体例に関してどれがオプションであるかを指定する。設計上の制約に応じて、必要とされるオプションの要素は様々であってよい。最も高いレベルでは、ＤＴＤ　７０２は、ルート要素＜ｒｄｍｌｄｏｃ＞９０２から降順に２つの要素を有する。第１の要素＜ｒｄｍｌｄｏｃ＿ｈｅａｄｅｒ＞９０４はドキュメント全体に関するメタデータを含み、第２の要素＜ｌｉｎｅ＿ｉｔｅｍ＿ｓｅｔ＞９０６はラインアイテムのセットを含む。
【００９３】
本発明による一実施形態では、＜ｒｄｍｌｄｏｃ＿ｈｅａｄｅｒ＞要素９０４は、データのソースの幾つかの側面を各々が記述する幾つかの属性自体と、オプションの副要素、すなわち、＜ｄａｔａ＿ｓｏｕｒｃｅ＞９０８、＜ｆｏｒｍａｔｔｉｎｇ＿ｓｏｕｒｃｅ＞９１０、＜ｒｄｍｌ＿ｓｏｕｒｃｅ＞９１２、＜ｌｉｃｅｎｓｅ＿ｔｅｒｍｓ＞９１４、および、＜ｌｉｎｋ＿ｓｅｔ＞９１６とを含む。この実施形態では、＜ｒｄｍｌｄｏｃ＿ｈｅａｄｅｒ＞要素９０４は、ドキュメント情報全体を記述する１０個の属性を含んでもよい。これらの属性は「ｒｄｍｌ＿ｄｏｃ＿ＩＤ」、「ｄｏｃ＿ｔｉｔｌｅ」、「ｔｉｍｅｓｔａｍｐ」、「ｖｅｒｓｉｏｎ」、「ｅｘｐｉｒａｔｉｏｎ」、「ｆｒｅｑ＿ｏｆ＿ｕｐｄａｔｅ」、「ｎｕｍ＿ｌｉｎｅ　ｉｔｅｍｓ」、「ｎｕｍ＿ｄａｔａｐｏｉｎｔｓ」、「ｘ＿ｉｎｄｅｘｅｓ」、および、「ｆｉｒｓｔ＿ｌｉ＿ｗｉｔｈｄａｔａ」である。
【００９４】
ｒｄｍｌ＿ｄｏｃ＿ＩＤ属性はＲＤＭＬドキュメント１０２の固有の識別情報であり、典型的にはファイル名またはＵＲＬである。ｄｏｃ＿ｔｉｔｌｅは、ユーザによる使用のためにレポートとビューとの最上部に現れる普通言語によるドキュメントの記述である。ｔｉｍｅｓｔａｍｐは、典型的には、ドキュメントを作成したアプリケーションによって生成され、ドキュメントが作成された時点またはドキュメント作成のためにデータがアクセスされた時点を表してよい。ｖｅｒｓｉｏｎは、ドキュメントがＲＤＭＬドキュメント１０２のどの変型であるかを記述し、作成者によって名付けられてよい。ｅｘｐｉｒａｔｉｏｎは、ドキュメント１０２中のデータがもう信頼できなくなる日付および時刻を記述し、典型的には、次の更新が公開されることが予想される時点を記述する。ｆｒｅｑ＿ｏｆ＿ｕｐｄａｔｅは、ドキュメントがどのような頻度で更新されるかを記述し、データの更新をスケジュール化することを求めるアプリケーションによって使用されることが可能である。その次の２つの属性、すなわち、ｎｕｍ＿ｌｉｎｅ＿ｉｔｅｍｓとｎｕｍ＿ｄａｔａｐｏｉｎｔｓは、ラインアイテムの総数とデータ値の個数とをそれぞれに記述する整数である。これらの属性はオプションであり、データが偶発的に変更されていないか、または、データが破損していないということを確実なものにするために、データを受け取るアプリケーションによって「チェックサム」として使用されてもよい。
【００９５】
その次のフィールドであるｘ＿ｉｎｄｅｘｅｓは、ツリービュー７２０（詳細に後述する）における代表的なデータフィールドとして使用すべき３つのデータフィールドを表す。ｘ＿ｉｎｄｅｘｅｓは、それぞれが選択フィールドに対するインデックスである３つの整数のカンマ区切りストリングである。効率を高めるために、これらのインデックスはフィールドのリストの終端を表してよく、したがって、例えば「−３，−２，−１」はツリービュー７２０における最後の３つのフィールドを示す。終端に基づいたインデックスは、時系列を読む殆どの人々が最も最近のデータを見たがるので、有用である。類似の行の中には、ｆｉｒｓｔ＿ｌｉ＿ｗｉｔｈｄａｔａ属性は、ドキュメント１０２がデータビューア１００の中にロードされる時にどのラインアイテムがチャート上に表示されるべきかを指示する整数インデックスである。
【００９６】
＜ｒｄｍｌｄｏｃ＿ｈｅａｄｅｒ＞エレメント９０４のサブエレメントである、＜ｄａｔａ＿ｓｏｕｒｃｅ＞９０８、＜ｆｏｒｍａｔｔｉｎｇ＿ｓｏｕｒｃｅ＞９１０、＜ｒｄｍｌ＿ｓｏｕｒｃｅ＞９１２、および、＜ｌｉｃｅｎｓｅ＿ｔｅｒｍｓ＞９１４エレメントは、コンタクト情報を含む＜ｃｏｎｔａｃｔ＿ｉｎｆｏ＞９１８の１つまたは複数の副要素をオプションとして含んでよい。このエレメントは、Ｅメールを生成し、コンタクトリストを更新し、情報ソースのデータベースを占めるために、ターゲットアプリケーションによって使用されることが可能である。同じ要素構造がコンタクト情報サブエレメント９１８のすべてに関して使用され、その結果として、ドキュメント１０２を生成したアプリケーションは１つの構造を生成するだけで済む。
【００９７】
一実施形態では、このコンタクト情報は、１１個の属性、すなわち、「ｒｏｌｅ」、「ｎａｍｅ」、「ｃｏｍｐａｎｙ」、「ａｄｄｒｅｓｓ」、「ｃｉｔｙ」、「ｓｔａｔｅ」、「ｚｉｐ」、「ｃｏｕｎｔｒｙ」、「ｅｍａｉｌ」、「ｆｏｒｍ」、および、「ｃｏｍｍｅｎｔｓ」によって表される。ｒｏｌｅは、ドキュメントの生成において関係者によって行われる役割であり、すなわち、＜ｄａｔａ＿ｓｏｕｒｃｅ＞９０８に関しては「ｄａｔａ　ｓｏｕｒｃｅ」であり、＜ｆｏｒｍａｔｔｉｎｇ＿ｓｏｕｒｃｅ＞エレメント９１０に関しては「ｆｏｒｍａｔｔｉｎｇ　ｓｏｕｒｃｅ」である等である。「ｆｏｒｍ」は、ハイパーリンクが「単純」リンクか「拡張」リンクであるかどうかを決める。ＸＭＬドキュメントとリソースの間のリンクを実現するように設計された言語であるＸｌｉｎｋ仕様では、ハイパーリンクは単純リンクであっても拡張リンクであってもよい。Ｘｌｉｎｋは、本明細書に参照として組み入れてある「ＸＭＬ　ＩＥ５　プログラマーレファレンス」アレックス　ホーマー，ロックスプレス１９９９年（“ＸＭＬ　ＩＥ５　Ｐｒｏｇｒａｍｍｅｒ’ｓ　Ｒｅｆｅｒｅｎｃｅ，”　Ａｌｅｘ　Ｈｏｍｅｒ，Ｗｒｏｘ　Ｐｒｅｓｓ，１９９９）に説明されている。単純リンクは、リンク上をクリックすることが現在ページを閉じてターゲットページを開くことになる従来の「ジャンプ」ハイパーリンクである。拡張リンクはアプリケーション専用であり、マルチメディアファイルと他の非ドキュメント的リソースのような様々なタイプのリソースを識別することが可能である。
【００９８】
＜ｄａｔａ＿ｓｏｕｒｃｅ＞９０８におけるコンタクト情報は、オリジナルのデータベースを作成するために誰または何がデータを収集したかを記述し、一方、＜ｆｏｒｍａｔｔｉｎｇ＿ｓｏｕｒｃｅ＞９１０における同じ属性が、ＲＤＭＬドキュメント１０２を作成するために誰または何がＲＤＭＬタグをオリジナルデータに付加したかを記述する。＜ｒｄｍｌ＿ｓｏｕｒｃｅ＞９１２における同じ情報が、この特定のドキュメントを作成して外側の世界に利用可能にした個人または企業を記述する。
【００９９】
情報のライセンスに関するコンタクト情報を記述する＜ｌｉｃｅｎｓｅ＿ｔｅｒｍｓ＞９１４における＜ｃｏｎｔａｃｔ＿ｉｎｆｏ＞９１８副要素に加えて、＜ｌｉｃｅｎｓｅ＿ｔｅｒｍｓ＞要素はそれ自体のライセンス関連の属性セットを有する。これらの属性は、「ｃｏｐｙｒｉｇｈｔ＿ｃｉｔｅ」、「ｈｏｌｄｅｒ」、「ｌｉｃｅｎｓｅ＿ｔｙｐｅ」、「ｗａｒｒａｎｔｙ」、「ｄｉｓｃｌａｉｍｅｒ」、「ｔｅｒｍｓ」、「ｄａｔｅ」、「ｅｍａｉｌ」、「ｓｔａｔｅ」、および、「ｃｏｕｎｔｒｙ」を含む。ｃｏｐｙｒｉｇｈｔ＿ｃｉｔｅは、ＲＤＭＬドキュメント１０２中の特定のデータセットの所有権に関するレポートに表れることがあるストリングである。典型的な例は「Ｃｏｐｙｒｉｇｈｔ　２０００，ｅ−Ｎｕｍｅｒａｔｅ　Ｓｏｌｕｔｉｏｎｓ，Ｉｎｃ．Ａｌｌ　Ｒｉｇｈｔｓ　Ｒｅｓｅｒｖｅｄ」であってよい。ｈｏｌｄｅｒ属性は著作権の所有者の法律上のフルネームをリストする。ｌｉｃｅｎｓｅ＿ｔｙｐｅは、「使用禁止−所有権を主張できかつ機密である」、「パブリックドメイン」、「ペイパーユーズ（ｐａｙ　ｐｅｒ　ｕｓｅ）」等のライセンスタイプをリストし、ｔｅｒｍは、例えば、支払い条件がある場合に、「ダウンロード１回当たり１ドル」のような支払条件をリストする。これらの属性の情報は、ライセンスと支払を自動的に追跡し実行するために、ＲＤＭＬプロセッサ７０８に関連したルーチンによって使用されてよい。
【０１００】
＜ｌｉｃｅｎｓｅ＿ｔｅｒｍｓ＞エレメント９１４の別のサブエレメントは＜ｌｉｎｋｓｅｔ＞エレメント９１６であり、この＜ｌｉｎｋｓｅｔ＞エレメント９１６は一実施形態では２つの属性とそれ自体のサブエレメント＜ｌｉｎｋ＞９２２を有する。＜ｌｉｎｋｓｅｔ＞９１６はハイパーリンクの集まりである。これらのハイパーリンクはＨＴＭＬファイルでもＲＤＭＬファイルでもあってよい。個々の＜ｌｉｎｋ＞エレメント９２２は実際のリンクと属性とを保持する。＜ｌｉｎｋｓｅｔ＞エレメントの２つの属性は、上述のｆｏｒｍと、ＵＲＬすなわちウェブアドレスに関する標準的なストリングであるｈｒｅｆであり、これらはハイパーリンクのページが発見可能であるＨＴＭＬまたはＲＤＭＬページを示す。これは、作成者がドキュメント１０２自体におけるハイパーリンクの全てをリストしたくない時に有用である。
【０１０１】
＜ｌｉｎｋ＞エレメント９２２は他のドキュメントに対するハイパーリンクを記述し、一実施形態では、９つの属性、すなわち、「ｆｏｒｍ」、「ｈｒｅｆ」、「ｂｅｈａｖｉｏｒ」、「ｃｏｎｔｅｎｔ−ｒｏｌｅ」、「ｃｏｎｔｅｎｔ−ｔｉｔｌｅ」、「ｒｏｌｅ」、「ｔｉｔｌｅ」、「ｓｈｏｗ」、および、「ａｃｔｕａｔｅ」を含む。これらのリンク関連属性は、ＸＭＬ　ＩＥ５　Ｐｒｏｇｒａｍｍｅｒ’ｓ　Ｒｅｆｅｒｅｎｃｅ，ｐｐ　９５−９７に記載されている。ｔｉｔｌｅは、ハイパーリンクタイトルとしてアプリケーションに表れるストリングである。例えば、ＨＴＭＬブラウザでは、ｔｉｔｌｅはハイライトされた下線付きテキストとして表れるだろう。ａｃｔｕａｔｅは、何時リンクが通過されるべきか、すなわち、リンクが指し示すリソースが何時検索またはアクセスされなければならないかを指定し、および、ターゲットリソースがどのように表示されるかを指定する。ｂｅｈａｖｉｏｒは、内容が表示される仕方またはリンクが通過される仕方においてリンクの動作を制御する命令を指定し、ｒｏｌｅはターゲットリソースが何の役割をリンクにおいて果たすかを記述する。ｃｏｎｔｅｎｔ−ｒｏｌｅとｃｏｎｔｅｎｔ−ｔｉｔｌｅはｔｉｔｌｅおよびｒｏｌｅのための代替の場所であるが、Ｘｌｉｎｋ標準では指定されない。
【０１０２】
最後に、＜ｒｄｍｌｄｏｃ＿ｈｅａｄｅｒ＞９０４は、＜ｌｉｎｋ＞エレメント９２２を有するそれ自体の、＜ｌｉｎｋｓｅｔ＞９１６を有してもよい。ＲＤＭＬは、ＲＤＭＬドキュメント１０２のドキュメント全体、特定のラインアイテム、または、他のエレメントのような様々なエレメントにユーザがハイパーリンクを付けることを可能にする。ハイパーリンクが置かれてもよい場所が複数である理由は、ユーザが考慮中のエレメントだけに該当するリンクすべてを一箇所で見ることができるようにするということである。例えば、ＲＤＭＬドキュメント１０２は企業の財務レポートに関するデータを含むことがある。ドキュメント作成者は、特定のリンクが企業全体に該当する（製品ライン、競合企業等に対するリンク）ということと、他のリンクが単一のラインアイテムだけに該当する（例えば、ラインアイテムに関する脚注を指し示す「機器賃貸」ラインアイテムに付けられたリンク、または、その口座に適用可能な会計規則に付けられたリンク）ということを決定してよい。リンクは、異なった要素に付けられるが、同じ形式を有してよい。ｌｉｎｋｓｅｔ要素が複数である理由は、リンクをその論理的所有者と共に保持することを容易にするためである。
【０１０３】
さらに図９を参照し続けると、＜ｒｄｍｌｄｏｃ＞９０２のラインアイテム側では、ＲＤＭＬドキュメント１０２内のラインアイテムの集まりに関する情報を含む＜ｌｉｎｅ＿ｉｔｅｍ＿ｓｅｔ＞９０６が、さらに、幾つかの属性と幾つかの要素も含む。これらの属性は、「ｌｉｎｅ＿ｉｔｅｍ＿ｓｅｔ＿ｔｙｐｅ」、「ｔｉｍｅ＿ｐｅｒｉｏｄ」、「ｃｈａｒａｃｔｅｒ＿ｓｅｔ」、「ｍｉｓｓｉｎｇ＿ｖａｌｕｅｓ」、「ｎｕｌｌ＿ｖａｌｕｅｓ」、「ｚｅｒｏ＿ｖａｌｕｅｓ」、「ｄａｔｅｓ＿ｖａｌｕｅｓ」、および、「ｐｅｒｃｅｎｔａｇｅｓ」を含む。
【０１０４】
第１の属性であるｌｉｎｅ＿ｉｔｅｍ＿ｓｅｔ＿ｔｙｐｅは、一実施形態では、ラインアイテムセットを、３つのタイプ、すなわち、時系列、カテゴリ（またはクロスタブ）、および、ｘ−ｙプロットのどれか１つに分類する重要な属性である。一般的に、この文脈における「タイプ」はｘ軸値の特性であり、すなわち、ｘ軸値が時系列、カテゴリ化、ｘ−ｙプロット他を表すかどうかである。これらのラインアイテムセットのタイプは、同一のセットタイプのラインアイテムを操作するｘ値変換器７１０に関連して詳細に後述される。一般的に、異なったラインアイテムセットタイプのラインアイテムセットは実際には一緒には操作されないだろう。ラインアイテムが時系列である場合には、ｔｉｍｅ＿ｐｅｒｉｏｄ属性の有効長さは年、四半期、月、日等であってよい。
【０１０５】
ｃｈａｒａｃｔｅｒ＿ｓｅｔは、どの標準文字セットが表されるかを指定し、それによって外国語に対するサポートを可能にする。ｍｉｓｓｉｎｇ＿ｖａｌｕｅｓは、紛失値を表す数値のための指定子であるが、これは、データの様々なビュー、特にチャートビューがどの数がブランクを表すのかを知る必要があるからである。そうでない場合には、ブランクが「０」と解釈されるかも知れない。ｎｕｌｌ＿ｖａｌｕｅｓは、ヌルとして取り扱われるべき文字を指定し、したがって、その文字は、「適用不可能」、「紛失」、または、「０」と混同されない。最後に、ｚｅｒｏ＿ｖａｌｕｅｓは、「ヌル」、「紛失」、または、「適用不可能」とは解釈されてはならない、「０」と解釈されるべき文字を指定する。
【０１０６】
＜ｌｉｎｅ＿ｉｔｅｍ＿ｓｅｔ＞９０６は、一実施形態では、＜ｄａｔａ＿ｘ＞９２４、＜ｌｉ＿ｃｌａｓｓ＿ｓｅｔ＞９２６、＜ｌｉｎｋｓｅｔ＞９１６、および、１つまたは複数の＜ｌｉｎｅ＿ｉｔｅｍ＞要素９２８を含む幾つかの副要素を有する。ラインアイテムセットのレベルでは、セットとしてのラインアイテムに関するメタデータが全てのラインアイテムに共有され、したがってデータが繰り返される必要がない。特に、＜ｄａｔａ＿ｘ＞要素９２４は、ラインアイテムセット内の全行に共通のフィールド情報を含む。＜ｄａｔａ＿ｘ＞要素９２４は、ＲＤＭＬドキュメント１０２内のラインアイテムセット中のラインアイテムのｘ値とそのｘ値に関する情報とを含む。例えば、ラインアイテムセットが時系列である場合には、ｘ値が、データ全てが関連付けられているチャートの最下部全体にわたってリストされている年、月、または、他のタイムライン（例えば、１９９０、１９９１等）を表してもよい。この情報はラインアイテムセット内の各ラインアイテムに関して同一なので、この情報はＲＤＭＬドキュメント１０２に１回しか含まれない。一実施形態では、実際のｘ値に加えて、＜ｄａｔａ＿ｘ＞９２４は、「ｘ＿ｔｉｔｌｅ」、「ｆｏｒｍａｔ」、「ｘ＿ｎｏｔｅｓ」、「ｘ＿ｄｅｓｃ」、「ｘ＿ｐｒｅｃ」、「ｘ＿ｕｎｉｔ」、「ｘ＿ｍａｇ」、「ｘ＿ｍｏｄ」、「ｘ＿ｍｅａｓｕｒｅ」、「ｘ＿ｓｃａｌｅ」、「ｘ＿ａｄｊｕｓｔｍｅｎｔ」、および、「ｘ＿ｌｉｎｋｓ」という属性を含む。
【０１０７】
＜ｄａｔａ＿ｘ＞要素９２４では、ｘ＿ｔｉｔｌｅは、チャート上にデータが表示される時にｘ軸上に表示されるタイトルである。ｆｏｒｍａｔは、ｘ軸値のデフォルト表現のためのテンプレートを提供するストリングである。このストリングは、スプレッドシートプログラムから類似のものである（例を図４に見ることができる）。
【０１０８】
＃　−　数字、ゼロ抑制
０　−　数字、ゼロ表示
．　−　１０進小数点
，　−　分離文字
Ａ−ｚ、他の文字　−　文字通りに表示
他のフォーマッティングコードが使用されることが可能である（例えば、スクリプティング言語で使用されるコード）。ｘ＿ｎｏｔｅｓは、ラインアイテムセットのｘ値に関するその他の脚注を含んでよく、一方、ｘ＿ｄｅｓｃはｘ値に関する追加の記述を記述してよい。
【０１０９】
ｘ＿ｐｒｅｃ属性は、軸ラベル表示ための有効数字の精度と数を記述する。この属性では、負の数がゼロよりも大きい量の丸めを生じさせる。例えば、「２」の精度は「８，２５４．４３」として数を表示するだろう。「−２」の精度を有する同じ数が「８，３００．」と表示されるだろう。数の基礎的表現は全値であり、画面上のフォーマッティングと表現だけが変化するだろう。データビューア１００はこれを主に軸ラベルのフォーマッティングのために使用するが、属性は、レポート、脚注等のような他の用途においても同様にデフォルトのフォーマッティングのために使用可能である。
【０１１０】
後続の属性である「ｘ＿ｕｎｉｔ」、「ｘ＿ｍａｇ」、「ｘ＿ｍｏｄ」、「ｘ＿ｍｅａｓｕｒｅ」、「ｘ＿ｓｃａｌｅ」、および、「ｘ＿ａｄｊｕｓｔｍｅｎｔ」はｘ値の意味を表現し、他のＲＤＭＬドキュメント１０２との操作、調和、および、表示のためにデータビューア１００によって使用される。ＲＤＭＬでは、数は、数の単位を記述するこれらの属性によって一括して記述される。これらは次の通りである。
【０１１１】
単位：　分子の物理的単位
大きさ：　分子の大きさ
変更子（ｍｏｄｉｆｉｅｒ）：　分子の分母に対する関係
スケール：　分母の大きさ
メジャー：　分母の物理的単位
調整：　特別な限定子（ｑｕａｌｉｆｉｅｒ）（すなわち、インフレーション調整）
例えば、「百万人当たり千ドル単位」を表すために報告されるラインアイテムは次のように表現されることが可能である。
【０１１２】
［１　＄ＵＳ］＊（１，０００）
────────────────────────
［１　ｐｅｒｓｏｎ］＊（１，０００，０００）
したがって、ラインアイテムの属性は、
単位：　＄ＵＳ
大きさ：　１，０００
変更子：　／
メジャー：　１人
スケール：　１，０００，０００
ラインアイテムに関するこれらの属性に対するアクセスはデータビューア１００に大きな能力を与える。このアクセスは数の翻訳と変換を容易にする。このアクセスは、コンフリクトなしに単一のチャート上に多数の行が置かれることを可能にし、および、単位に関する質問に回答するための人間の介在を必要とせずにマクロが適用されることを可能にする。このアクセスは、さらに、最も可読性が高いレポートを提供するようにレポートテンプレート（ｒｅｐｏｒｔｉｎｇ　ｔｅｍｐｌａｔｅ）が自動調整を行うことを可能にする。特に、データビューア１００は、ユーザが変換をすでに行っておりかつ「ｙ＿ａｘｉｓ＿ｌａｂｅｌ」属性がもはや適切ではない時に、ｙ軸ラベルと記述子（ｄｅｓｃｒｉｐｔｏｒ）を構成するためにこれらの属性を使用する。
【０１１３】
単位とメジャーのための標準の語彙が効率的に使用されてもよく、大きさとスケールとが、例えば、数千に関しては３、数百万に関しては６等のように、１０の累乗としてより単純に表現されてもよい。このことがより迅速な変換を可能にし、相違する慣用法とスペリング（例えば、ｍｉｌｌｉｏｎ、ｍｉｌｌｅ、ＭＭ等）の潜在的な混同を排除する。
【０１１４】
これらの属性の使用の一例として、ＲＤＭＬデータビューア１００が次の値／メジャーをプロットしたとすると、
１時間当たり４２６米ドル（千ドル単位）、インフレーション調整済み（１９９６＝１００）
次に、ユーザはこれを次のように変換しようとする。
【０１１５】
１日当たり「Ｘ」イタリアリラ（十億リラ単位）、額面価格リラ
ここで、「Ｘ」は計算されるべき値であり、残りの行はメジャーである。データビューア１００は、次の変換係数を有するので、ユーザのためのこの変換を自動的に行う。
【０１１６】
【表２】
2004506955.tif 000004
【０１１７】
データビューア１００は、表示を操作するために変換係数を掛け算する（または、他の任意の適切な数学的演算を行う）。ユーザは、変換係数の各々を調べることも、適切なシーケンスの形に整理することも、計算を行うことも、丸め調整のような修正を行うことも不要である。ユーザは単に新たな単位、大きさ等をドロップダウンボックスから選択して選択を行うだけでよい。
【０１１８】
図１０は、所望の変換された表示を生じさせるためにＲＤＭＬドキュメント１０２内の数値情報を操作するためにデータビューア１００によって使用される諸ステップを示す。最初に、データビューア１００はＲＤＭＬドキュメント１０２を探し出す（ステップ１００２）。このドキュメントは、ＵＲＬ、サーチエンジン２２４、または、任意の他の方法で、ローカルでまたはオンラインで探し出されてもよい。その次に、データビューア１００は所望のドキュメント１０２を選択して、それにアクセスする（ステップ１００４）。その次に、データビューア１００は、変換が必要なラインアイテムにアクセスし（ステップ１００６）、所望の変換を決定する（ステップ１００８）。この所望の変換は、ユーザから受け取られてもよく、または、例えば新たなドキュメント１０２を現在のドキュメントの表示に追加することに対応するために、データビューア１００によって自動的に決定されてもよい。データビューア１００は、変換されるべきドキュメントまたはラインアイテムの単位属性、大きさ属性、変更子属性、スケール属性、メジャー属性、および、調整属性にアクセスする（ステップ１０１０）。これらの属性を使用して、データビューア１００は、変換係数があれば、各々に関する変換係数を決定する（ステップ１０１２）。これらの変換係数はローカルに記憶されてもネットワーク２１４を通してオンラインで検索されてもよい。その次にデータビューア１００は、数値データを所望の表示に変換するために変換係数を掛け算し（ステップ１０１４）、変換されたラインアイテムまたはドキュメントを表示する（ステップ１０１６）。２つ以上のラインアイテムが表示されなければならない場合には、データビューア１００は、全ての適切なラインアイテムが所望の表示形式に変換されるようにこれらのステップを繰り返してよい（ステップ１０１８）。同様に、２つ以上のドキュメントの変換が必要である場合には、各ドキュメント毎にこれらのステップが繰り返されてよい。こうして、異なった数値セットを有するドキュメント１０２は、人間の介在なしに表示フォーマットの同時表示または迅速な変換のために自動的に操作されることが可能である。このシステムは、異なったフォーマットの異なったドキュメントを１つの所望の形式に変換することによって、こうした異なったフォーマットの異なったドキュメントの間のコンフリクトを自動的に解決する。
【０１１９】
一実施形態では、このシステムが１つの単位を別の単位に変換する時に、このシステムは、オリジナルソースの単位をこのシステムが知っている基本単位に変換し、その次に、この基本単位をターゲット単位に変換する。このシステムは、基本単位から他の単位への変換を単位リストＸＭＬファイルの中に記憶し、この一部分が付録Ｃに示されている。例えば、長さに関してこのシステムによって使用される基本単位が「メートル」であり、数値が「ヤード」から「マイル」に変換されなければならないと仮定する。ビューア１００は、記憶された変換係数を使用してヤードをメートルに変換し、その次に、記憶された適切な変換係数を使用してメートルをマイルに変換する。したがって、単位リストファイルは基本単位から様々な他の単位への変換係数を含むだけでよく、および、様々な単位の間のあらゆる想定可能な組み合わせのための変換係数を列挙する必要がない。
【０１２０】
単位リストファイルの構造は次の通りである。＜ｕｎｉｔｌｉｓｔ＞エレメントがルートであり、子ノードの各々が＜ｕｎｉｔ＞エレメントである１つのレベルの子ノードを有する。ｕｎｕｉｔ要素の各々は、別の単位または単位のセットに単位を変換するために必要な単位の特性を記述する幾つかの属性と要素を有する。
【０１２１】
ｃｏｎｖｅｒｓｉｏｎエレメントは、ソース単位とデスティネーション単位とが両方とも同じタイプである変換を行うために必要な属性を含む。例えば、「マイル」から「インチ」へ変換することは、両方の単位がタイプ「ｌｅｎｇｔｈ」のメジャーなので、単にマイル数に適用するための適正な乗数を発見するという問題にすぎない。
【０１２２】
ｃｏｎｖｅｒｓｉｏｎエレメントは６つのエレメントを含み、すなわち、（１）「ｃｏｎｖ＿ｔａｒｇｅｔ」が、後続の変換係数がもたらすメジャーのターゲット単位を記述し、（２）「ｃｏｎｖ＿ｆａｃｔｏｒ」が、デスティネーション値に達するためにソース値に掛け算する数であり、（３）「ｃｏｎｖ＿ｃｏｎｓｔａｎｔ」がソース値と変換係数との積に加えられなければならない定数である。例えば、華氏から摂氏への変換式（Ｆ＝３２＋９／５Ｃ）では、３２が「ｃｏｎｖ＿ｃｏｎｓｔａｎｔ」であり、（４）同様に、変換が対数変換を含む場合には、必要な係数が「ｃｏｎｖ＿ｌｏｇ」に含まれており、（５）「ｃｏｎｖ＿ｓｏｕｒｃｅ」が、この特定の変換関数を示す標準本体の記述であり、および、（６）「ｃｏｎｖ＿ｈｒｅｆ」が認可標準本体（ａｐｐｒｏｖｉｎｇ　ｓｔａｎｄａｒｄｓ　ｂｏｄｙ）に関するＵＲＬを含む。
【０１２３】
ｔｙｐｅエレメントは次のテキストストリングの中の１つを含む。（１）Ｌｅｎｇｔｈ（基本単位＝メートル）、（２）Ａｒｅａ（基本単位＝平方メートル）、（３）Ｖｏｌｕｍｅ（基本単位＝立方メートル）、（４）Ｍａｓｓ（基本単位＝グラム）、（５）Ｔｉｍｅ（基本単位＝秒）、（６）Ｔｅｍｐｅｒａｔｕｒｅ（基本単位＝摂氏）、（７）Ｅｎｅｒｇｙ（基本単位＝ジュール）、（８）Ｃｕｒｒｅｎｃｙ（基本単位＝米ドル）、（９）Ｃｏｍｐｏｕｎｄ（基本単位なし）、（１０）Ｄｉｖｅｒｓｅ（基本単位なし）、（１１）Ｃｏｌｌｅｃｔｉｏｎ（基本単位なし）、および、（１２）Ｏｃｃｕｒｒｅｎｃｅｓ（基本単位なし）。
【０１２４】
ＣｏｍｐｏｕｎｄおよびＤｉｖｅｒｓｅタイプは、１つまたは複数の基本単位から構成される。Ｃｏｍｐｏｕｎｄタイプは他のものの単純な組み合わせである。例えば、「１時間当たりのマイル数」は長さ単位と時間単位の組合せである。Ｃｏｍｐｏｕｎｄタイプを別のタイプに変換するためには、分解された単位の必要な変換を行うことが可能であることが必要である。
【０１２５】
Ｄｉｖｅｒｓｅタイプは、記述によって構成されているタイプである。例えば、「オーム」は、「溶融氷の温度であり、質量が１４．４５２１グラムであり、一定不変の断面積であり、かつ、長さが１０６．３ｃｍである水銀柱によって、一定不変の電流に対して示される抵抗」として記述される電気的単位である。
【０１２６】
Ｃｏｌｌｅｃｔｉｏｎタイプは、人間、場所、物等の集まりである。例えば、「百万人」単位で示されるデータセットは、このタイプの１単位が百万人の人々の集まりであることを意味する。Ｃｏｌｌｅｃｔｉｏｎタイプはあらゆるｃｏｎｖｅｒｓｉｏｎ要素を使用できる。単純な変換の例として、サンプル中の１家族当たりに２．４人の人々がいるとする。この時には、「人々」は、変換係数２．４による単純な割り算によって「家族」に変換されることが可能である。
【０１２７】
Ｏｃｃｕｒｒｅｎｃｅｓタイプは事象の集まりである。「サイクル」は、複合「毎秒サイクル数」単位のメジャーを生じさせるために「秒」で割り算されることが可能なＯｃｃｕｒｒｅｎｃｅｓタイプだろう。
【０１２８】
「ｓｕｂｔｙｐｅ」エレメントがタイプの中でのより詳細な区別のためのものである。「ｐｌｕｒａｌ」エレメントが、変換演算の完了時に新たなタイトルとレジェンドとラベルとをを構成するためのものである。「ａｌｉａｓ」エレメントが、共通であるが非標準的な形式でデータが入力されている変換を可能にするために提供される。例えば、テーブルは「ｉｎｃｈ」の代わりに「ｉｎ」を使用することが多い。「ｄｅｓｃ」エレメントが、普通言語の記述がユーザに与えられることが可能であるように提供される。「ｉｃｏｎ」エレメントが、リスト、ドロップダウンボックス等で使用されることになっているアイコンを単位に与えるための場所を提供する。
【０１２９】
図９のエレメントと属性に戻ると、＜ｘ＿ｄａｔａ＞９２４には、他のソースにリンクするためのＵＲＬのカンマ区切りストリングであってよいｘ＿ｌｉｎｋｓ属性がある。
【０１３０】
このエレメントに加えて、＜ｉｌ＿ｃｌａｓｓ＿ｓｅｔ＞９２６エレメントはラインアイテムクラスエレメントのセットを表し、一実施形態では属性を持たないが、ラインアイテムクラスを表す１つまたは複数のサブエレメント＜ｉｌ＿ｃｌａｓｓ＞９３０を有する。これらのラインアイテムクラスタグは、「＜ＵＳ　Ｄｏｌｌａｒｓ＞」または「＜Ｔｏｔａｌ　Ｒｅｖｅｎｕｅｓ＞」のような、数が属する様々な分類システムにおけるカテゴリを特定する。データビューア１００は、どのマクロが適用できるかを選択するために、レポートフォーマットを調整するために、および、解析処理における仮定の適切な選択を行うために、これらのクラスタグを使用する。クラス指示は、異なったデータセットの妥当性検査と適合化とを可能にし、それによってデータビューア１００が無関係のソースからのドキュメントを統一化されたソースに形に組み合わせることを可能にする。クラスタグが、クラスタグリストが特定のラインアイテムに対して働く資格があるかどうかを調べるためにクラスタグリストを見るマクロによって使用されてもよい。例えば、財務レポートのラインアイテムがクラス「負債」としてタグ付けられている場合には、マクロは、この行を「負債・資本」比率を計算するのに使用することができることを知る。しかし、例えば、ラインアイテムが「ピアノ」とタグ付けられている場合には、マクロは適用されない。この実施形態では、クラスに関する要素名がカンマ区切りストリングとして入力されることに留意されたい。
【０１３１】
＜ｉｌ＿ｃｌａｓｓ＞エレメント９３０は、一実施形態では、５つの属性を有する。これらは「ｃｌａｓｓ＿ｎａｍｅ」、「ｐａｒｅｎｔ＿ｃｌａｓｓ」、「ｆｏｒｍ」、「ｈｒｅｆ」、および、「ｄｅｓｃｒｉｐｔｉｏｎ」である。ｃｌａｓｓ＿ｎａｍｅは、ラインアイテムセットが属するクラスの名称であり、ｐａｒｅｎｔ＿ｃｌａｓｓは親クラスの名称を示す。これらの属性は、マクロのようなデータビューア１００のより先進的な特徴によって使用されてもよい。
【０１３２】
＜ｌｉｎｅ＿ｉｔｅｍ＿ｓｅｔ＞エレメント９０６は、さらに、上述の＜ｌｉｎｋｓｅｔ＞に類似した＜ｌｉｎｋｓｅｔ＞９１６を含む。上述したように、この＜ｌｉｎｋｓｅｔ＞９１６はさらに上述の＜ｌｉｎｋ＞要素９２２を有する。
【０１３３】
＜ｌｉｎｅ＿ｉｔｅｍ＞９２８エレメントは、本発明による一実施形態では、４つのサブエレメントと１８つの属性とを有してもよい。エレメントは、ｙデータ値すなわちラインアイテムのデータ数または値を含むｌｉｎｅ＿ｉｔｅｍ＿ｓｅｔエレメント＜ｄａｔａ＿ｙ＞９３２内のデフォルトｘ値とはｘ値が異なっている場合にこのラインアイテムに関するｘ値を含む＜ｄａｔａ＿ｘ＞９３８と、上述の通りの＜ｌｉｎｋ＞９２２を有する＜ｌｉｎｋｓｅｔ＞９１６と、＜ｎｏｔｅ＿ｓｅｔ＞エレメント９３４とである。＜ｎｏｔｅｓｅｔ＞９３４は、ラインアイテムに関するユーザにとって読みやすいプレーンな言語によるノートを有する１つまたは複数の＜ｎｏｔｅ＞エレメント９３６を含む。
【０１３４】
ラインアイテムの属性は、「ｌｉ＿ＩＤ」、「ｌｉ＿ｌｅｇｅｎｄ」、「ｌｉ＿ｔｉｔｌｅ」、「ｌｉ＿ｃａｔ」、「ｙ＿ａｘｉｓ＿ｔｉｔｌｅ」、「ｌｅｖｅｌ」、「ｆｏｒｍａｔ」、「ｒｅｌａｔｉｏｎ」、「ｌｉ＿ｎｏｔｅｓ」、「ｌｉ＿ｄｅｓｃ」、「ｌｉ＿ｐｒｅｃ」、「ｌｉ＿ｕｎｉｔ」、「ｌｉ＿ｍａｇ」、「ｌｉ＿ｍｏｄ」、「ｌｉ＿ｍｅａｓｕｒｅ」、「ｌｉ＿ｓｃａｌｅ」、「ｌｉ＿ａｄｊｕｓｔｍｅｎｔ」、および、「ｌｉ＿ａｇｇｒｅｇａｔｉｏｎ」を含む。これらの属性の中の幾つかが、それらが付与されているラインアイテムとｙ値だけを明確に記述するということを除いて、上述した属性と同じ意味を有する。
【０１３５】
ｌｉ＿ＩＤは、＜ｌｉｎｅ＿ｉｔｅｍ＞エレメント９２８に関する固有の識別番号であり、０からｎ（ここで、ｎはｌｉｎｅ＿ｉｔｅｍ要素の数である）の番号が付けられてよい。本発明による一実施形態では、これらの番号は固有であり順序付けられている。
【０１３６】
ｌｉ＿ｌｅｇｅｎｄ属性は、固有である必要はないラインアイテムを記述するプレーンな言語によるストリングである。一般的に、この属性はビューの左端の列に表れる。ｌｉ＿ｔｉｔｌｅは、ラインアイテムの一般的主題を定義するストリングである。データビューア１００では、これは、チャートのタイトルとして、および、レポートのタイトルとして使用されてよい。典型的にはタイトルは共にグループ化されたラインアイテムに関して同一であるが、そうであることは必ずしも必要ではない。
【０１３７】
ｌｉ＿ｃａｔ属性はラインアイテムカテゴリを表す。データビューア１００内のチャート上に表示されるｌｉ＿ｌｅｇｅｎｄおよびｌｉ＿ｔｉｔｌｅとは反対に、ｌｉ＿ｃａｔは通常は表示されない。ｌｉ＿ｃａｔは一般的に、ラインアイテムが属すかも知れないカテゴリに関する非プリント指定子である。多くの場合には、これはテーブル名であるか、データベースにおける基本キーであるか、または、何らかの他の編成識別子であってよい。これは、レポートのためにラインアイテムをグループ化するために使用されてよい。
【０１３８】
ｙ＿ａｘｉｓ＿ｔｉｔｌｅ属性は、ｙ軸のタイトルとしてｙ軸上に表れるストリングである。しかし、ユーザが記述子内のあらゆる変数に対して変換を加える場合には、このハードコード化されたｙ軸タイトルは、他の属性を使用してデータビューア１００によって生成されたものによって置き換えられるだろう。
【０１３９】
ｌｅｖｅｌ属性とｒｅｌａｔｉｏｎｓｈｉｐ属性は、ラインアイテム間の階層的関係を指定する。リレーショナルデータベースにおける従来のリンクは、「ｋｅｙ　ｆｉｅｌｄｓ」にもとづいてレコードを整合させることによって維持される。このアプローチの欠点の１つは、関係が存在するということを除いて関係の特性に関して何も知られていないということと、他の場所に特定のドキュメンテーションが無ければ、１つのレコードがその他のレコードの子であるか親であるか、および、種類が包含、派生、継承等であるかどうかを知らせる方法がないということである。ＲＤＭＬでは、データの作成者が、各ラインアイテムの階層レベルと階層的関係の種類とを指定してよい。データビューア１００は、ｌｅｖｅｌ属性とｒｅｌａｔｉｏｎｓｈｉｐ属性を使用して、階層ツリーを生成し、数の派生を要約してその内容を記述するために関係を表すアイコンを各ラインアイテムの前に配置し、および、マクロとデータテーブル更新を補助する。ｌｅｖｅｌ属性は、ラインアイテムが親ノードからどれほど多くのレベルだけ下位にあるかを指定し、一方、ｒｅｌａｔｉｏｎｓｈｉｐ属性は、ラインアイテムが別のラインアイテムの子であるかまたは別のラインアイテムに含まれているかどうかというような関係の種類を指定する。ラインアイテムが親の加法的または減法的なサブコンポーネントであるかどうか、または、他の子ラインアイテムに依存しているサブトータル（ｓｕｂｔｏｔａｌ）であるかどうかを決定してもよい。こうした上述の属性とエレメントが、本発明による方法およびシステムによってＤＴＤ７０２を構成する。
【０１４０】
ｌｉ＿ａｇｇｒｅｇａｔｉｏｎは、異なるｘ軸変換に基づいてデータを「集合」または「集合解除（ｄｅａｇｇｒｅｇａｔｅ）」することを望む場合に有用な属性である。この属性は、こうした変換が試みられる時にこの特定のラインアイテムを取り扱う仕方をデータビューア１００に説明する。例えば、ラインアイテムセットが銀行口座情報を表す場合には、各ラインアイテムは時系列であって四半期データを提示してよいが、ユーザは年度ベースでデータを見たいと望むかも知れない。そのセット中の幾つかのラインアイテムに関しては、単にデータ（例えば、預金）の四半期４期分の相当額を合計するという問題であり、この場合には属性値が「ｓｕｍ」であるが、他のラインアイテム（例えば、締切残高）の場合には、最後の四半期値だけが表示されればよく、この場合には属性値は「ｌａｓｔ」である。同様に、最少の年度残高が四半期４期分の最少残高に関して求められる場合には、四半期４期のすべてにおける最少残高が必要とされるだろう。こうしたラインアイテムのｌｉ＿ａｇｇｒｅｇａｔｉｏｎ属性値は「ｍｉｎｉｍｕｍ」だろう。採用可能な受け入れられる値は「ｓｕｍ」、「ａｖｅｒａｇｅ」、「ｍｉｎｉｍｕｍ」、「ｍａｘｉｍｕｍ」、「ｆｉｒｓｔ」、「ｌａｓｔ」、および、「ｎｏｎｅ」である。
ＩＶ．Ａ．２　リーダ、パーサ、および、プロセッサ
図７Ａを再び参照すると、ＲＤＭＬリーダ７０４は、（ＬＡＮ上においてローカルに、または、インターネットのような広域ネットワーク上において）ＲＤＭＬドキュメント１０２を発見するプロセスを管理し、そのＲＤＭＬドキュメントをＸＭＬパーサ７０６に送り、誤り通知をユーザに送り、拒否されたかまたは損傷のあるＲＤＭＬドキュメント１０２を反映するために他のコンポーネントの状態の更新を調整する、ＲＤＭＬデータビューア１００内のオブジェクトであってよい。ＲＤＭＬデータビューア１００のユーザは、様々な方法でＲＤＭＬドキュメント１０２のダウンロードを開始してよく、この方法は、ＲＤＭＬハイパーリンク（ターゲットドキュメントが「．ｒｄｍ」の形で終わることがあるということを除いて、他のあらゆるハイパーリンクと同じである）上をクリックすること、「．ｒｄｍ」ＵＲＬをＲＤＭＬデータビューアの「Ａｄｄｒｅｓｓ」ボックスの中にタイプ入力すること、または、マクロの形でそのドキュメントのロードを要求することを含む。さらに、従来のＨＴＭＬブラウザは、そのブラウザの「履歴」として表されるＨＴＭＬドキュメントだけのキャッシュを有するが、これらのＨＴＭＬドキュメントを１度に１つだけしか表示しないだろう。ＵＲＬアドレスに関して、ＲＤＭＬリーダ７０４は、後述するドキュメントオブジェクトモデル（Ｄｏｃｕｍｅｎｔ　Ｏｂｊｅｃｔ　Ｍｏｄｅｌ）（「ＤＯＭ」）互換ドキュメント（例えば、ＲＤＭＬドキュメント１０２）を読み込む。ＸＭＬリーダ７０４は、ＩＢＭによって開発されライセンス供与されるＸＭＬ４ＪパーサのようなサードパーティのＪａｖａクラスセットによって具体化されてもよいが、他のものも使用されてよい。ＲＤＭＬリーダ７０４は、ドキュメントがアクティブなデータセットと互換性があれば、そうした多数のドキュメントをＲＡＭにキャッシュしてもよい。これらのドキュメントが直ちに使用可能であるだけでなく、データビューア１００がこれらのドキュメント中の重要なデータとメタデータのインデックスを維持できるので、これらのドキュメントのサブエレメントが直ちに使用可能である。さらに、ＲＤＭＬリーダ７０４によって読み込まれるドキュメント中の特定のエレメントを発見するためにマクロが使用されてもよい。
【０１４１】
ＸＭＬパーサ７０６は、ＲＤＭＬデータドキュメント１０２からテキスト文字のシリアルストリームを取り出し、余白を排除することと、入力を語と語グループとに分割することと、始点文字と終点文字（基本的に「＜」および「＞」）を探索することといった基本機能を果たす。ＲＤＭＬデータビューア１００で使用されるＸＭＬパーサ７０６は、ＩＢＭによって開発されライセンス供与されるＸＭＬ４ＪパーサのようなサードパーティのＪａｖａクラスセットであってもよいが、他のものも使用されてよい。
【０１４２】
プロセッサ７０８は、解析されたテキストを受け取り、ＲＤＭＬ　ＤＴＤ　７０２階層の構造に整合するデータ要素のツリー形データ構造を生成する。この階層的構造はＤＯＭ　Ｍｏｄｅｌに一致し、このことは、そのデータが標準形式で使用可能であることと、メソッドおよび関数の標準ライブラリが、データにアクセスすることと、要素を編集することと、特定の要素の発見のためにノードを探索すること等のために使用可能であることとを意味する。ＸＭＬ　ＤＯＭ標準はＷｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ　Ｃｏｎｓｏｒｔｉｕｍによって管理されており、これは「ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ＲＥＣ−ＤＯＭ−Ｌｅｖｅｌ−１／」で発見することが可能である。
【０１４３】
ＲＤＭＬプロセッサ７０８は、一般的に、内部ソフトウェアオブジェクトを生成するために、入ってくる解析されたテキストに対して３つの基本機能を果たし、すなわち、誤り検査と構造化と機能性の追加とを行う。プロセッサ７０８の誤り検査機能は、パーサ７０６の出力を、ＤＴＤ　７０２によって定義される通りの予測されたテキストに対して単純に比較する。入ってくるドキュメントが適合しない場合には、プロセッサ７０８は、欠陥が（１）重大でないか（２）重大であるかを判定し、欠陥が重大でない場合には警告がログに送られ、処理が続行され、一方、欠陥が重大である場合には、処理が停止し、パーサ７０６を呼び出したルーチンに対して誤りメッセージが送られる。
【０１４４】
構造化機能は、ＤＴＤ　７０２に記述されている階層に整合した階層的データ構造の形にテキストを組み立てることである。ターゲットのデータ構造はベクトルのベクトルであってもよく、または、集まりの他の集まりであってもよい。データ構造が生成される時には、このデータ構造は、他のソフトウェアオブジェクトがデータと通信できるようにデータに対するインタフェースを加えるソフトウェアオブジェクト（「ＲＤＭＬＤｏｃ」オブジェクト）の中に「包み込まれいる」。追加された機能（「メソッド」）の大半は、データの特定のサブセットまたは特定のエレメントもしくは属性に対するアクセスを実現する。
【０１４５】
ＲＤＭＬプロセッサ７０８の機能はＲＤＭＬリーダ７０４と同じクラスによって行われることが可能であり、この場合にＲＤＭＬリーダ７０４はＸＭＬパーサ７０６との「コールバック」関係によって設定されている。このようにして、パーサ７０６は、ＲＤＭＬドキュメント１０２から新たなエレメントを得る時に、そのパーサ７０６がエレメントを発見してそれをＲＤＭＬリーダ７０４に戻すということをＲＤＭＬリーダ７０４に知らせる。こうして、ＲＤＭＬリーダ７０４は（実際のエレメント処理を別のクラスに渡すかも知れない場合でさえも）プロセッサおよびリーダとして働く。
ＩＶ．Ａ．３．　Ｘ値トランスフォーマとラインアイテムセットタイプ
Ｘ値トランスフォーマ７１０に関しては、術語「Ｘ値」が、デフォルトで入力データレコードのフィールドがチャートビュー７１６のｘ軸に沿ってプロットされるということを意味する。（各フィールドの各レコードの値がＹ軸上にプロットされる。）例えば、時系列が、デフォルトで、ｘ軸上にプロットされた時間期間と共にチャート年にプロットされるだろう。２つ以上のデータドキュメントが入力される時には、このドキュメントのデータフィールドが、共通ビューにおいて一緒に示されることが可能となる前に、相関を取られなければならない。Ｘ値トランスフォーマ７１０は、何の調整が行われなければならないかを決定して、調整を行う。
【０１４６】
一般的に、ＲＤＭＬデータビューア１００は、エンドユーザのテーブルの殆どを説明する３つの異なったタイプのラインアイテムセット（（１）「時系列」、（２）「カテゴリ」、および、（３）「Ｘ−Ｙプロット」）を認識する。Ｘ値トランスフォーマ７１０は、これらのタイプを認識することによって、適正な表示および変換ルーチンを自動的に提供し、広範囲の詳細部分を変更するためのユーザの時間と費用を節約する。この例を示すと、時系列テーブルに遭遇する時に、データビューア１００は、ｘ値が許容可能なデータセットに整合しなければならないということを認識し、ｘ値を検査し、適合化させ、フォーマッティングし、こうしてユーザの作業を削減することが可能である。本発明による一実施形態では、ｌｉｎｅ　ｉｔｅｍ　ｓｅｔタイプはラインアイテムセット要素９０６の所要の属性である。
【０１４７】
図１１は、後述の一次データ記憶装置（「ＰＤＳ」）７１２に新たなドキュメントを記憶するためにＸ値トランスフォーマ７１０によって使用される諸ステップを示す。一般的に、Ｘ値トランスフォーマ７１０は、新たに入力されたデータドキュメントがＰＤＳ　７１２の「アクティブドキュメント」リストに現在記憶されているデータドキュメントと同一のタイプであるかどうかを判定する。アクティブドキュメントは、ツリービュー７２０に表示し、チャート化され、スプレッドシート７２４に追加される等のために使用可能である。
【０１４８】
最初に、Ｘ値トランスフォーマ７１０は新たなドキュメント１０２を受け取る（ステップ１１０２）。その次に、Ｘ値トランスフォーマ７１０は、ＰＤＳ　７１２内のアクティブドキュメントのタイプを判定する（ステップ１１０４）。その新たに到着したドキュメント１０２がアクティブドキュメントと同じｌｉｎｅ　ｉｔｅｍ　ｓｅｔタイプである場合には（ステップ１１０６）、その新たなドキュメントはＰＤＳ　７１２内のアクティブドキュメントに追加される（ステップ１１０８）。その新たなドキュメントがＰＤＳ　７１２内の現時点でアクティブなドキュメントとは異なったタイプである場合には、ユーザが、その新たなドキュメントが現時点でアクティブなドキュメントに整合しないということを通知される（ステップ１１１０）。ユーザは新たなドキュメント１０２を拒否することを選択してもよく、この場合には、オブジェクトがＰＤＳ　７１２に追加されない（ステップ１１１４）。ユーザが現時点でアクティブなドキュメントを消去することを選択する場合には（ステップ１１１６）、この現時点でアクティブなドキュメントが消去され（ステップ１１１８）、その新たなドキュメントがロードされる（ステップ１１２０）。そうでない場合には、新たなドキュメント１０２が「待機」ドキュメントとしてＰＤＳ　７１２内に置かれる（ステップ１１２２）。待機ドキュメントはスクリプトとマクロにデータを供給するために使用可能であるが、アクティブなドキュメントビューには干渉しない。ｘ値変換器７１０が変換を行う必要が全くない場合には、任意に、ＲＤＭＬリーダ７０４がそのドキュメントをＰＤＳ　７１２内に記憶してもよい。
【０１４９】
新たに到来したドキュメントがアクティブなドキュメントと同じラインアイテムセットのタイプを有している場合、Ｘ値トランスフォーマ７１０が新たなドキュメントのｄａｔａ＿ｘｆｉｅｌｄを現存のドキュメントに調和させる。ｄａｔａ＿ｘｆｉｅｌｄは異なる順序、異なる綴り、異なる形式で形成されていてよく、またはさもなければ、直接互換性を有していなくてよい。Ｘ値トランスフォーマ７１０はラインアイテムセットのタイプに従って、必要な調節を行う。例えば時系列ラインアイテムセットは、時間順に形成されたエレメントを有する。明らかに互換性のないものの１つは、期間が異なっていることである。１つのデータセットが年ごとのものであり、他のデータセットが例えば月ごとのものであることがしばしばある。Ｘ値トランスフォーマ７１０はそれぞれを正しく取り扱えるように、ラインアイテムの属性を使用する。しかしながら、例えば月間のデータは、年間の値を作成するために当然に加算することができるものではない。なぜならば、この数値は非加算的な値を表すことがあるからである。例えばラインアイテムが「Ｅｎｄｉｎｇ　Ｂａｎｋ　Ｂａｌａｎｃｅ（最終銀行残高）」である場合、１２ヶ月の最終残高を合算しても、一年の最終残高を作成したことにはならない。ラインアイテムは期間長さ属性を提供する。この属性はこれが「期末」値であることを特定し、Ｘ値トランスフォーマ７１０は年間値を作成することだけのために最新月を用いる。別の例の場合、月間「預金額」が合算され、月間「平均利率」が「期間平均」である場合がある。各ラインアイテムは、これが他の期間に変換されるのにどのように取り扱われるべきかについて指示する。このことはｌｉ＿ａｇｇｒｅｇａｔｉｏｎ属性によって提供される。
【０１５０】
さらに、データフォーマットにおいても変更が行われる。データセットは単に年（“ＹＹＹＹ”）を表示する場合もあれば、標準的な日付フォーマット（“ＹＹＹＹ−ＭＭＤＤ：ＨＨＭＭＳＳ．ＭＳＳ”）を使用する場合もあり、また他のバリエーションを使用する場合もある。Ｘ−値トランスフォーマ７１０はこれらを全て共通の形式にする。
【０１５１】
データビューア１００はさらに、期間拡大・縮小または期間シフトの場合にそれがどのように取り扱われるべきかを記述するタグを提供する。「和」、「中央値」、「平均」、「最終値」、「初期値」または特定された式として数値がタグ付けされてよい。Ｘ値トランスフォーマ７１０およびビューア１００は「期間シフト」、関連タイプの一致を取り扱ってもよい。例えば、第１のデータソースは１２月３１日で終わるカレンダーに基づいているのに対し、第２のデータソースは９月３０日で終わる会計年度に基づいている。ＲＭＤＬデータビューア１００はｘ＿ｄａｔａｅｌｅｍｅｎｔ９２４のｐｅｒｉｏｄ＿ｌｅｎｇｔｈ属性を用いて、ｙ＿ｄａｔａｅｌｅｍｅｎｔのｌｉ＿ａｇｇｒｅｇａｔｉｏｎ属性と相俟って、データの期間長を指定することができる。ｙ＿ｄａｔａｅｌｅｍｅｎｔのｌｉ＿ａｇｇｒｅｇａｔｉｏｎ属性は一致する変換を評価するのに用いられる。
【０１５２】
Ｙ値、ラインアイテム内のデータ値は、ｘ値が一致させられたときに変化してよい。例えば「平均利率」の１２ヶ月分が「年次平均利率」を作成するのに集計される場合、レジェンドや軸タイトルに生じることになる数値の更新指定内容が変化する。データビューア１００は、演算結果値が単位、大きさ、変更子、スケール、メジャーおよび調整属性に基づいて変換されることがあることを認識している。これらの属性は、有効かつ自動的な解釈、翻訳、操作およびラインアイテムデータの提供を可能にする。これらの属性はさらに、マクロによって自動的に変更されるようになっている、チャートおよびレポート内のテキスト記述の自動的な変更を容易にする。
【０１５３】
加えて、別個のドキュメントにおける異なる期間を一致させるために、Ｘ値トランスフォーマおよびデータビューア１００は必要とされるならば、ユーザ支援効果を高めることができる。例えば、第１のデータソースが「週１」、「週２」などのようなフィールドと命名されてよく、これに対し、第２のデータソースは「１９９９年４月４日」、「１９９９年４月１１日」…と命名される。Ｘ値トランスフォーマ７１０はこの問題（および一連の広範囲な同様の環境）を認識し、「週１」が始まる実際の日付をユーザに問うダイアログボックスを提供する。
【０１５４】
カテゴリラインアイテムセットタイプは、しばしば「クロスタブ」とも呼ばれるラインアイテムセットの共通タイプである。このようなラインアイテムセットタイプにおいて、ｘ値はカテゴリーとなる。或るチャート上で、ｘ軸が８つの会社に対応する８つのカテゴリーに分割される。この場合ｙ軸は収入または収益を示す。異なるソースドキュメントのフィールドを名称によって一致させようとしても、このことは語法、スペリングまたは言語に余りにも依存するので、有効な一致を可能にできない場合がある。カテゴリラインアイテムセットの目的は、使用に際してのこのような差異を取り扱うことである。例えば、会社の収入ステートメントが「販売」のコンセプトで始まるが、しかし、使用される実際の語は「収入」、「総収入」および「粗収入」または異なる言語、方言、または業界語で使用される別の指定内容である場合がある。これらのラインアイテムセットを取り扱うために、Ｘ値トランスフォーマ７１０は、先ずスペルが実際に一致するものを合わせる（デフォルトでは場合を無視する）ことにより、複合データセットからカテゴリーをそろえる。第２に、Ｘ値トランスフォーマ７１０は、標準語彙タグがあるかどうかを確かめるために、クラスエレメント９３０を見る。このような標準は、業界またはユーザによって異なっていてよい。会社を扱う場合には、チッカー記号（ｔｉｃｋｅｒ　ｓｙｍｂｏｌ）がマッチングタグとして使用されてよい。例えば、１つのデータセットは、「Ｆｏｒｄ」に対応するカテゴリと、「Ｆｏｒｄ　Ｍｏｔｏｒ　Ｃｏｍｐａｎｙ」に対する別のカテゴリと、「Ｆ」に対する別のカテゴリとを有していてよい。全てがクラスエレメント９３０において、タグ＜「Ｆ」＞（フォードのチッカー記号）の共通の存在によって一致させられる。クラスエレメントが一致し損ねた場合には、ドライバビューア１００は、フィールドの２つのリストを有するダイアログをユーザに提供する。「ドラッグアンドドロップ」技術を用いてユーザは２つのフィールドセットを迅速に一致させることができ、一致しないフィールドは新しいフィールドとして単に追加される。テキスト、クラスセットおよびユーザ入力に基づいたマッピング辞書を作成することに加えて、データビューア１００は、ユーザまたは入力ドキュメントによって特定されたマッピングファイルを用いて、ファイルを自動的に組み合わせることができる。
【０１５５】
図１２Ａ、１２Ｂおよび１２Ｃは、本発明に従ったＸ−Ｙプロット１２０２のスクリーン上に映し出された状態を示す。科学統計学的なシリーズにおいて最も一般的に見出されるように、Ｘ−Ｙプロット１２０２はその性質により各ｘ値を別個のものとして扱う。この表示は、グラフ上に個々のデータ点をプロットしている。Ｘ値トランスフォーマ７１０は正確に一致するものだけを照合することを必要とされるに過ぎない。スクリーンはまた、ツリービュー７２０を表示している。このツリービューはＸ−Ｙプロット１２０２のデータおよびレジェンド１２０４に対応する。図１２Ａに示したように、Ｘ−Ｙプロット１２０２は選択されたラインアイテム１２０６を表示し、レジェンド１２０４はラインアイテムが変るにつれて変る。図１２Ｂおよび１２Ｃは、ツリービュー７２０の異なるラインアイテム１２０６を選択することから生じたＸ−Ｙプロット１２０２を示す。
ＩＶ．Ａ．４　一次データ記憶装置
図１３は、一次データ記憶装置７１２と、これが記憶するいくつかのオブジェクトとを示している。一次データ記憶装置７１２は、種々の方式（例えばベクトルとして、辞書またはハッシュテーブルとして、またはオブジェクトの他の集合として）で実行可能な、ロードされたＲＤＭＬドキュメント１０２のキャッシュである。
【０１５６】
Ｘ値トランスフォーマ７１０が、新たに到来したデータドキュメント１０２に対してアクティブ状態またはスタンバイ状態を決定し、ｘ値に必要な変更を加えると、Ｘ値トランスフォーマは新しいＲＤＭＬＤｏｃオブジェクト１３０２をＰＤＳ７１２に伝える。ＰＤＳは、Ｘ値トランスフォーマと種々のビューまたはプラグインアプリケーションとの通信を管理する。このＰＤＳ７１２中央記憶部は、異なるビュー（７１６，７２０，７２４および７２８）が、元のソースデータを表示するオブジェクト１３０２にアクセスすることを可能にする。（下記の）個々のビューは、必要とするデータ部分を、必要とする変換形状がどのようなものであるかにかかわらずコピーする。ＰＤＳオブジェクト７１２は一般的に、データ上の変換を行わない。ＰＤＳオブジェクト７１２は単にデータを保持し、付加し、除去して、これらを他のオブジェクトとの公的インタフェースにおいて利用可能にするだけである。下の表１はＰＤＳオブジェクト７１２の分類表の一例を示す。なお、この実施例においてはＲＤＭＬドキュメント１０２を保持するのにベクトルが使用されているが、ハッシュテーブルまたは集合データ構造を使用することも可能である。
【０１５７】
【表３】
2004506955.tif 000005
【０１５８】
分類表において、上側の区分はオブジェクトの変数名と、これに続いて名称のタイプを列挙している。下側の区分は方法名を、括弧内のアーギュメントの名称およびタイプと共に列挙し、これに続いて方法出力タイプを列挙している。表に示したように、ＰＤＳ７１２はアクティブな、およびスタンバイ状態のＲＤＭＬＤｏｃ１３０２とＲＤＭＬラインアイテム１３０４とを記憶するための変数および方法を提供する。ＰＤＳ７１２オブジェクトは、ドキュメントおよびラインアイテムの数を検出する方法に加えて、ドキュメントおよびラインアイテムを付加し、絞り込み、クリアする方法を含む。
【０１５９】
ＲＤＭＬＤｏｃオブジェクト１３０２はＲＤＭＬドキュメント１０２の完全な内部表示である。ＲＤＭＬＤｏｃオブジェクト１３０２はその中央属性として、ドキュメントの元のタグに含まれる木構造データエレメントを含み、ＤＯＭインタフェースを実行する。ＲＤＭＬＤｏｃオブジェクト１３０２はＲＤＭＬデータビューア１００の種々異なるビューに対して、より高レベルのインタフェースを提供する。下の表２は本発明に従った一例としてのＲＤＭＬＤｏｃオブジェクト１３０２の分類表を示す。
【０１６０】
【表４】
2004506955.tif 000006
【０１６１】
以下に記載するのは、本発明による１つの実施例に従ったＲＤＭＬＤｏｃ１３０２の表２に示した分類法である。第１に、ＲＤＭＬＤｏｃ（）は内部ＲＤＭＬＤｏｃオブジェクト１３０２を作成するためのコンストラクタである。方法「ｃｒｅａｔｅＤｏｃ」は、入力ＵＲＬによって表示されたファイル内を読み、それを解析し、新しいＴＸドキュメント（ＴＸＤｏｃｕｍｅｎｔ）を作成する。次いでユーザは通常の場合ＴＸドキュメント（ＴＸＤｏｃｕｍｅｎｔ）を、このＲＤＭＬＤｏｃオブジェクト１３０２に割り当てる。ＴＸドキュメント（ＴＸＤｏｃｕｍｅｎｔ）は、ドキュメントオブジェクトモデル（ＤＯＭ）インタフェースを実行するオブジェクトである。ＴＸドキュメント（ＴＸＤｏｃｕｍｅｎｔ）はファイルのためのＤＯＭ構造を形成し、この構造を種々のアクセスおよび管理法で「ラップ（“ｗｒａｐ”）」する。ＴＸドキュメント（ＴＸＤｏｃｕｍｅｎｔ）はドキュメントの、ＤＯＭ対応のオリジナルな表示である。「ｓｅｔＴＸＤｏｃ」法は下位のＴＸドキュメント（ＴＸＤｏｃｕｍｅｎｔ）を設定し、オブジェクトプロパティ、例えばラインアイテムの数を初期化し、「ｇｅｔＴＸＤｏｃ」は下位のＴＸドキュメント（ＴＸＤｏｃｕｍｅｎｔ）を戻す。
【０１６２】
ＲＤＭＬドキュメント１０２は、値を伴った属性を有するエレメントの木構造を形成するが、「ｇｅｔＡｔｔｒｉｂｕｔｅＶａｌｕｅ」法は、名づけられたエレメントに対応する属性値を返し、「ｇｅｔＡｔｔＶａｌ」は、入力されたエレメント名と属性名とに見出された属性値を、ストリングとして返す。「ｇｅｔＬｉｎｋＡｔｔＶａｌｕｅ」法は、エレメント名および特定された属性に従って、ハイパーリンクエレメントの属性値を得、「ｇｅｔＬｉｎｋＴｅｘｔ」は対応するハイパーテキストを得る。
【０１６３】
「ｇｅｔＮｕｍＬｉｎｋｅＩｔｅｍｓ」は、呼び出されると、ＲＤＭＬＤｏｃ１３０２内のラインアイテムの数を返し、同様に、「ｇｅｔＮｕｍＬｉｎｋｓＦｏｒＥｌｅｍｅｎｔ」はエレメントに対応するリンク数を返す。
【０１６４】
「ｇｅｔＲＤＭＬＬｉｎｅＩｔｅｍ」法は、特定の属性の値に基づく第１のＲＤＭＬラインアイテム（ＲＤＭＬＬｉｎｅＩｔｅｍ）１３０４（以下に説明する）を供給する。例えば、「ｌｉ−ＩＤ」および「３」を特定すると、「ｌｉ−ＩＤ」属性が「３」に等しいようなＲＤＭＬラインアイテムが戻されることになる。「ｍａｋｅＲＤＭＬＬｉｎｅＩｔｅｍ」と呼ばれる方法は、指示されたノードを取り、これを新しいＲＤＭＬラインアイテム（ＲＤＭＬＬｉｎｅＩｔｅｍ）オブジェクト１３０４に割り当て、オブジェクトを初期化する。
【０１６５】
「ｇｅｔＤａｔａ＿Ｄｅｆａｕｌｔｓ」法は、デフォルトのｘ値のベクトルを返す。さらに「ｐａｒｓｅＣｏｍｍａＤｅｌｉｍＳｔｒｉｎｇ」はカンマで区切られたストリングを入力と見なし、カンマ間の値をベクトルのエレメントとして返し、ストリングのベクトルを返す。最後に、「ｔｒａｖｅｒｓｅＤＯＭＢｒａｎｃｈ」は入力ノードをパラメータと見なし、次いでこのノードから下方に向かって横切り、特定の名称を有するエレメントを見出すような操作を各ノードにおいて行うことができる。
【０１６６】
ＲＤＭＬＤｏｃオブジェクト１３０２と同様に、「ＲＤＭＬラインアイテム（“ＲＤＭＬＬｉｎｅＩｔｅｍ”）」１３０４は、ラインアイテムのデータ、関連リンクまたはノート、および属性を検索するための高レベルな方法を提供するオブジェクトである。ＲＤＭＬデータビューア１００のビューはＲＤＭＬＤｏｃ１３０２とＲＤＭＬラインアイテム（ＲＤＭＬＬｉｎｅＩｔｅｍ）１３０４と協働して、ビューのプレゼンテーションを作成する。表３は、一例としてのＲＤＭＬラインアイテム（ＲＤＭＬＬｉｎｅＩｔｅｍ）オブジェクト１３０４のための分類表を示す。
【０１６７】
【表５】
2004506955.tif 000007
【０１６８】
以下に記載するのは、本発明による１つの実施例に従ったＲＤＭＬラインアイテム（ＲＤＭＬＬｉｎｅＩｔｅｍ）３０４の表３に示した分類法である。ＲＤＭＬＤｏｃオブジェクト１３０２と関連して上述したものと同じ名称を有する方法は、同じ一般機能を有する。ただし、ラインアイテムはエレメントに対して既に特定的であるので、この方法は異なるアーギュメントを採用する。なぜならば、この方法は典型的には、所定のアーギュメント内で特定されたエレメントを必要としないからである。
【０１６９】
ＲＤＭＬＬｉｎｅＩｔｅｍ（）は、ＲＤＭＬラインアイテムオブジェクトを作成するコンストラクタであり、「ｉｎｉｔＬｉｎｅＩｔｅｍ」はラインアイテムを、ＲＤＭＬドキュメント内に見出された値に初期化する。方法「ｇｅｔ＿ｊｃｖＤａｔａ＿Ｘ」および「ｇｅｔ＿ｊｃｖＤａｔａ＿Ｙ」は指示されたラインアイテム数に応じたｘおよびｙ値ベクトルを戻す。「ｇｅｔ＿ｓｔｒＸ＿Ｖａｌｕｅ」法および「ｇｅｔ＿ｓｔｒＹ＿Ｖａｌｕｅ」はｘ＿ｖａｌｕｅ内のラインアイテム数でのｘおよびｙ値をストリングとして戻す。
【０１７０】
「ｇｅｔＮｕｍＤａｔａＰｏｉｎｔｓ」法は、ラインアイテム内のデータポイント数、すなわちｘ値数を受け取るために呼び出される。「ｓｅｔ＿ｌｉ」法は、呼び出しルーティンが、この特定のＲＤＭＬラインアイテム（ＲＤＭＬＬｉｎｅＩｔｅｍ）が表示することになっているＲＤＭＬドキュメント１０２内にラインアイテムを設定するのを可能にする。
【０１７１】
図７Ａに戻ると、本発明による１つの実施例において、チャートマネージャオブジェクト７１４は６個までのＲＤＭＬラインアイテム（ＲＤＭＬＬｉｎｅＩｔｅｍ）１３０４をＰＤＳ７１２から受け取り、これらを、グラフィカルユーザインタフェース７３４に表示されたチャート上に表示し、典型的にはツリービュー７２０およびマクロパネル７３２と関連して使用される。ユーザがツリービュー７２０におけるラインアイテム上でマウスをクリックすると、そのラインアイテムがチャートに加えられる。ユーザがマクロパネル７３２におけるマクロライン上でマウスをクリックすると、チャート作成された、選択されたラインアイテムがマクロのプログラミングに従って変換される。チャートマネージャ７１４はグラフィカルチャートビュー７１６から分離されて、異なるまたはより良いグラフィカルチャートコンポーネントが望ましくなる場合に、チャートソフトウェアコンポーネントを簡単に変更することを可能にすることができる。
ビュー
データビューア１００はユーザに多数の異なるビュー（図７Ａに示したような７１６，７２９，７２４および７２８）を提供する。これらのビューをユーザは、ＰＤＳ７１２内に記憶されたＲＤＭＬドキュメント１０２における情報を見るために使用することができる。これらのビューは、グラフィカルチャートとデータグラフとを示すチャートビュー７１６と、ラインアイテムの階層を表示するツリービュー７２０とを含んでいる。加えて、データビューア１００は、スプレッドシートと同様のデータシートを示すスプレッドシートビュー７２４と、ＲＤＭＬドキュメント１００と連携する脚注のテキストを示す脚注ビュー７２８とを提供する。ビューについて以下に詳しく説明する。
ＩＶ．Ａ．５．　チャートビュー
ＲＤＭＬマークアップドキュメントを受け取ると、チャートビューはデータの意味を記述する属性を使用して、マークアップドキュメントに記憶されたデータを変換し、フォーマットし、操作し、表示する。チャートビューは数値の属性を使用して、例えば、単一のチャート上で異なるタイプの異なる数値シリーズを同時に表示することを容易にし、適切な記述的なテキストコンポーネントを自動的に表示する。
【０１７２】
一例として、チャートビューは、第１のシリーズが「Ｕ．Ｓ．ドル」であり、第２のシリーズが「フランスフラン」であると、自動的に決定する。チャートビューはこれらの軸に応じたタイトルを決定し、軸にラベルを設定する。チャートは、マークアップドキュメントの個別のエレメントの属性を使用して、それ自体を自動的に形成し、その動作はシングルマウスクリックで開始することができる。
【０１７３】
図１４Ａ〜Ｆはスクリーンの上半部にチャートビュー７１６を示し、下半部にツリービュー７２０を示す。チャートビュー７１６は２つの一次コンポーネント、つまりチャートそれ自体とチャートレジェンド１４０２とを有している。ツリービュー７２０内で選択されているラインアイテム１２０６はチャート７１６において自動的にグラフにされる。チャートマネージャ７１４は一般的に以下の３つの責任を有している：（１）チャート７１６に加える変更に関して、ツリービュー７２０と、マクロパネル７３２と、メインメニュー（図示せず）とからメッセージを収集する、（２）ＰＣＳ７１２またはマクロマネージャ７３２から正確なラインアイテムまたはマクロを取得し、データへの変換を調整し、さらに、（３）チャート内で使用されることになる形でデータを含む、チャートのデータオブジェクト（「チャートデータ」オブジェクト７１５）とこれらのラインアイテムの属性とを管理する。
【０１７４】
一般に、チャートマネージャ７１４はチャート自体（例えば軸、ラベルなど）に対する更新および操作を取り扱うのに対し、チャートデータオブジェクト７１５はチャート７１６上でデータのプロットを取り扱う。チャートマネージャ７１４は、チャートデータオブジェクト７１５がその内部データ構造を更新するのに必要とする情報を提供する。チャートデータ７１５は、それ自体をペイントするために中央のグラフィカルチャート７１６によって使用されたデータモデルであるが、しかし、他のコンポーネントもデータ：脚注、チャートレジェンドおよびタイトル、ならびにデータ上で動作しているあらゆるマクロを使用する。
【０１７５】
チャートマネージャ７１４（およびそのデータパートナー、チャートデータオブジェクト７１５）の役割を思い描く１つの方法は、完全なサンプルシナリオの方法の各ステップ、つまり、ユーザがツリービュー７２０でラインアイテム１２０６を選択し、チャートマネージャ７１４は、このラインアイテムがチャート７１６に加えられるべきであることを通告されるという各ステップを見ることである。チャートデータ／チャートマネージャアーキテクチャを構成するには種々の方法がある。以下で詳細に説明する１つの方法はチャートをまず作成し、このチャートに、データにおける変更（初期化、クリアリング、更新データシリーズなど）を提供することである。第２の一般的なアプローチは、変更の要求毎に新しいチャートを作成するためにデータを使用することである。
【０１７６】
図１４Ａ〜Ｆについて以下に詳細に説明する。具体的には図１４Ａおよび図１４Ｂについて、図１５Ａ，１５Ｂおよび１５Ｃと関連させて説明する。図１５Ａ，１５Ｂおよび１５Ｃは、本発明による例示シナリオにおいて、ツリービュー７２０内でラインアイテム１２０６を選択してチャートビュー７１６を更新するための方法のステップを示している。図１５Ａは主にツリービュー７２０とグラフィカルインタフェース７３４とを伴うステップを示し、これに対して図１５Ｂおよび図１５Ｃは主にそれぞれチャートデータオブジェクト７１５およびチャートマネージャ７１４を伴うステップを示している。
【０１７７】
図１５Ａに示したように、ユーザはグラフィカルインタフェース（ステップ１５０２）で、ツリービュー７２０内でラインアイテム１２０６を選択する。ツリービュー７２０は、選択されたラインアイテム１２０６のＩＤを取得し（ステップ１５０４）、適用された古いマクロを除去する（ステップ１５０６）。次いでチャートマネージャ７１４は最後のシリーズ（表示されているラインアイテムデータ）をチャートビュー７１６から削除して、新たに選択されたラインアイテムに取り替える（ステップ１５０８）。
【０１７８】
図１５Ｂを参照すると、チャートデータオブジェクト７１５は、チャート７１６から現在のデータを除去する（ステップ１５１２）。次いでチャートデータオブジェクトは、ＰＤＳ７１２からＲＤＭＬＤｏｃオブジェクト１３０２を取得し（ステップ１５１４）、ＲＤＭＬＤｏｃオブジェクトからＲＤＭＬラインアイテムオブジェクト１３０４を取得する（ステップ１５１６）。これを行った後、チャートデータオブジェクト７１５はｘ値データを正規化する（ステップ１５１８）。例えばチャート作成された１つのシリーズが１９６１年から１９９８年のデータを表示し、新しいシリーズが１９７３年から２００５年のデータを表示する場合、チャートデータオブジェクト７１５は、チャートが１９６１年から２００５年のデータを表示することを保証する。チャートデータオブジェクト７１５は次いでｘ軸１４０４をデータで満たし（ステップ１５２０）、ｙ軸１４０６をデータで満たす（ステップ１５２２）。
【０１７９】
図１４Ｂに示したように、チャートは一度にチャート作成された１つのｙ軸１４０６よりも多いｙ軸を有していて（すなわち、チャートの各側に異なるｙ軸が存在している）、複数のラインアイテムを同時に表示している。従って、チャートデータオブジェクト７１５はさらに、どちらのｙ軸にシリーズが対応するかをマークする（ステップ１５２４）し、シリーズがＹ２軸１４０８（第２の軸）に対応する（ステップ１５２６）場合には、チャートデータオブジェクト７１５はその軸を加える（ステップ１５２８）。チャートデータオブジェクト７１５は軸ラベル１４０６および１４０８のための数値フォーマットを設定し（ステップ１５３０）、数値精度を設定する（ステップ１５３２）。最後にチャートデータオブジェクト７１５は、脚注を更新し（ステップ１５３４）、適用されるあらゆるマクロを走行する（ステップ１５３６）。
【０１８０】
図１５Ｃを参照すると、次いでチャートマネージャ７１４はラインアイテム属性を使用して、Ｙ１のタイトルを設定し（ステップ１５３８）、Ｙ２のタイトルを設定する（１５４０）。その後、チャートマネージャ７１４はシリーズのスタイル（ステップ１５４８）と、チャートのタイトル１４１０（ステップ１５４４）と、レジェンド１４０２（ステップ１５４６）と、ｘ軸１４０４（ステップ１５４８）とを更新する。これらの更新の後、チャートマネージャ７１４は数値精度（ステップ１５５０）と、ｙ軸１４０６（ステップ１５５２）と、チャートのタイプ（すなわちエリア、棒、スタック状の棒、線、パイ、点など）（ステップ１５５４）とを更新する。続いてチャートマネージャ７１４はフッタ１４１２を更新し（ステップ１５５６）、最終使用値の範囲に最大ｘ値を設定し、チャート７１６の右側の空白部分を処分する（ステップ１５５８）。最後に、グラフィカルインタフェース７３４は新たに作成された更新内容でグラフィカルチャートを再ペイントする（ステップ１５６０）。
【０１８１】
チャートマネージャ７１４とチャートビュー７１６とは、単一のチャート上で異なるシリーズタイプをチャート表示し、変換を自動的に取り扱うことができる。２つ（またはそれ以上）のデータシリーズは、相異なるソースドキュメント１０２からチャート７１６上に配置され得るので、共通のグラフ上にデータシリーズを配置する目的で同期される。チャートマネージャ７１４はｄａｔａ＿ｘｅｌｅｍｅｎｔまたはメタデータタグを使用して、異なるシリーズタイプがチャート上に現れるのが可能になるように、自動的にデータを変換する。チャートマネージャ７１４は例えば、第１のシリーズが「ＵＳドル」であり、また、第２のシリーズが「フランスフラン」であるときには、それを認識し、チャートマネージャ７１４は別個の軸にこれらのシリーズを置くように自動的に配置する。ユーザがチャート作成「ウィザード」を通る必要、または、種々の単位、タイトルおよび調節を見出し、理解し、変換する必要はない。ツリービュー７２０内のシリーズのラインのそれぞれを１回クリックする（場合によっては変更キー（例えばＣＴＲＬキー）を押しながら）ことにより、チャートビュー７１６に、それ自体が個々のエレメントの所与のメタデータになることを指示する。チャートマネージャ７１４およびチャートデータオブジェクト７１５は、チャートの更新に際して以下のこと、すなわち、単位タイプ、大きさ、スケール、変更子、メジャー、ｙ軸タイトル、チャートタイトル、チャート脚注、精度、数値フォーマット、チャートタイプ（線、棒など）、レジェンドおよび種々のコンポーネントの色を考え、考慮に入れる。
【０１８２】
データビューア１００は、シングルクリックまたはコマンドを使用して、シリーズをチャートに加えることをも可能にする。シリーズをチャートに加えることにより、チャート上に表示されたシリーズの数が増える。コンベンショナルなスプレッドシート、チャート作成プログラムおよびデータグラフィカルインタフェースの場合、このタスクは、ユーザがチャート全体をウィザードを介して再構成するか、新しいシリーズに関する情報でダイアログボックスを満たすか、または、カスタムプログラミングによって数値を加えることが必要となる。データビューア１００は新しいシリーズをチャートに、シングルマウスクリックで加える。現存のデータはそのまま維持され、チャートのタイプ、フォーマット、スケールなどに対する必要な変更が、チャートマネージャ７１４およびチャートビュー７１６によって自動的に行われ、新しいシリーズに適応させる。
【０１８３】
シリーズをシングルマウスクリック（またはメニューからの１つのコマンド）によって加えることができるのと同様に、シリーズを取り除くこともできる。実際の情報がデータビューアから失われないので、何かを不慮に削除してしまうことをユーザが心配しなくても済む。シリーズは簡単なマウスクリックでいつでも加え戻すことができる。
【０１８４】
チャートビュー７１６はまた図１４Ａに示したような拡張可能なレジェンド１４０２を提供する。スプレッドシートプログラムの多くのユーザにとって重大な問題は、ユーザがレジェンド１４０２のサイズ、フォーマットおよび取り扱いを制御できないことであった。その結果、チャートは通常の場合、複数の色、フォント、ワードラップを伴う比較的長い記述をもつもの、また他の読み取り易さを向上したものではなく、「ＭＳＦＴ」や「ＳＵＮＷ」のようなレジェンドで終わる。チャートビュー７１６は（１）無制限のサイズに拡大でき、（２）ワードラップをサポートし、（３）複数のフォントを含むことができ、（４）複数のフォントタイプ（ボールド、イタリック、標準）を含むことができ、さらに（５）強調のために変化する色を含むことができる、レジェンドを提供する。ラインアイテムのための（典型的にはｌｉ＿ｌｅｇｅｎｄ属性に記憶された）レジェンド情報が、チャート上のレジェンドボックスにとって余りにも長い場合は、情報はワードラップしてスクロールし、付加的な情報に適応させることができる。
【０１８５】
チャートビュー７１６はｙ軸のタイトル１４１４を自動的に特定することにより、さらに便利である。現時点でのスプレッドシートおよびチャート作成プログラムの場合、ユーザが通常チャートウィザードを介して、またはタイトルを探すための場所を特定することによって、ｙ軸タイトルを提供することが必要となる。ＲＤＭＬはこの負担をデータ創作者に移行する。データ創作者は、ｙ軸値の記述を正確に特定することができる。データ創作者によって特定されたｙ軸タイトル１４１４は、ラインアイテムエレメントタグの属性フィールド（ｙ＿ａｘｉｓ＿ｔｉｔｌｅ）に配置され、ラインアイテムがチャートビュー７１６に加えられたときに、デフォルトｙ−軸タイトル１４１４としてチャートビュー７１６によって使用される。
【０１８６】
しかしながら、ユーザが数値に変更を加えて、チャート７１６上に変換されたシリーズを表示したいと望む場合もしばしばある。この場合、デフォルトｙ−軸タイトル１４１４はもはや正しくない。新しい値の記述がいかなるものかをユーザがマニュアルで算出する（これは現時点での分析プログラムでは数分以上かかるプロセスである）必要はなく、チャートマネージャ７１４およびチャートビュー７１６データが、ラインアイテム１２０６の変更された単位、大きさ、変更子、スケール、メジャメントおよび調整属性で提供された情報を使用して、値が変換されるとすぐに自動的に新しいｙ軸タイトル１４１４を生成する。
【０１８７】
例えば、第１のシリーズが「１００万ドル単位」としてチャート作成されているとすると、ユーザはシリーズの数値毎に１，０００で割り算するマクロを使用する。チャートマネージャ７１４は自動的に「１０億ドル単位」の新しいｙ軸タイトル１４１４を自動的に作成する。数値変換はｙ軸タイトル１４１４の極めて複雑な変換を可能にする。ユーザは第１のシリーズ（「百万単位のガロン」）に第２のシリーズ（「１ガロン当たりのＵＳ＄）」）を掛け算することができる。その結果数値のシリーズ、つまり第３のシリーズ（「１００万単位のＵＳ＄」）が得られる。不明瞭な点がある場合には、データビューア１００はユーザに、関連する量に関する全ての知られている情報を表示するダイアログボックスを提供し、ユーザがタイトルを提供することを求める。
【０１８８】
同様に、チャートマネージャ７１４およびチャートビュー７１６は、メタデータ属性を使用して、ｘ軸タイトルおよびチャートタイトル１４１０を自動的に生成することができる。ｙ軸およびｘ軸タイトルを生成することに加えて、チャート作成されたシリーズが変更されるかまたは複数のシリーズが同一チャートに加えられたときに、データビューア１００は新しいチャートタイトル１４１０を作成するためのタスクを自動的に実施する。例えば、第１のシリーズは「総売上」というデフォルトチャートタイトルを有し、第２のシリーズは「総支出」というデフォルトチャートタイトルを有し、第３のシリーズは「総売上」というデフォルトチャートタイトルを有している。データビューアは異なるエレメントを組み合わせ、重複したエレメントを排除することにより、「総売上；総支出」という組み合わされたチャートタイトルを作成することになる。
【０１８９】
３つの例が別のタイプの自動タイトル操作を示す。第１の例の場合、チャートが、それに配置された２つのシリーズを有している場合を想定する。すなわち、シリーズＡはタイトル「ＧＤＰ」とレジェンド「中国」とを有し、シリーズＢはタイトル「ＧＤＰ」とレジェンド「マレーシア」とを有している。両者がチャートに配置される場合、タイトルが互いに重なる。本発明の１つの実施例においては、重なったタイトルは取り除かれて、このチャートのためのタイトルは単純に「ＧＤＰ」となる。シリーズのレジェンドは異なるので、チャートの側方に位置するレジェンドは２つのエントリ、つまり「中国」と「マレーシア」とを有することになる。
【０１９０】
第２の例の場合、レジェンドが二重になる場合を想定する。すなわち、シリーズＡはタイトル「中国」とレジェンド「ＧＤＰ」とを有し、シリーズＢはタイトル「マレーシア」とレジェンド「ＧＤＰ」とを有している。両レジェンドエントリは「ＧＤＰ」となるので、どのレジェンドがチャート上のどのラインにあてはまるのかについて混乱が生じるおそれがある。この場合、データビューア１００はレジェンドとチャートタイトルのエントリとを置き換えることにより、上述の第１の例と同じく、チャートのタイトルは「ＧＤＰ」（重なった分は取り除かれる）となり、レジェンドエントリは「中国」と「マレーシア」になる。
【０１９１】
最後に第３の例の場合、シリーズが異なるタイトルと異なるレジェンドを有していることを想定する。シリーズＡはタイトル「ＧＤＰ」とレジェンド「中国」とを有し、シリーズＢはタイトル「国民貯蓄額」とレジェンド「マレーシア」とを有している。レジェンドはそのまま残され、新しいチャートタイトルが、「；」によって分離された状態で一方を他方に追加することによって作成される。ディスプレイ上のチャートタイトルはこうして「ＧＤＰ；国民貯蓄額」となり、第１のレジェンドは「ＧＤＰ−中国」となり、第２のレジェンドは「国民貯蓄額−マレーシア」となる。これら３つの変更は全てストリング操作（選択および／または追加）である。
【０１９２】
チャートマネージャ７１４およびチャートビュー７１６はまた、開始および終了ｘ−値１４０４を自動的にトリミングすることができ、従って、ユーザがチャートから、ナル先行値および後続値をトリミングする必要はなくなる。コンベンショナルなスプレッドシートおよびチャート作成プログラムの場合、下位データが拡大または縮小されると、チャートポインタが再作成されるか、マニュアルで調節されなければならない。例えば１９９０年から１９９８年のシリーズがチャート作成され、これが１９９０年から１９９６年のデータによって置き換えられる場合、チャートの右側に２つのブランクのスペースが生じることになる。データビューア１００およびチャートマネージャ７１４は、チャートを自動的に再構築しなければならないという指示として、ラインアイテムの前後の欠けたまたは空の値を取り扱うことにより、この問題およびこれと同様の問題を回避する。
【０１９３】
チャートマネージャ７１４はまた、ｘおよびｙ軸ラベル１４０４および１４０６を自動的にフォーマットする。ＲＤＭＬは、ｘ軸１４０４およびｙ軸１４０６上の数値をフォーマットする負担を使用者（数千人または数百万人の場合があり、各人が１回または複数回、マニュアルで数値を再フォーマットする）からデータ創作者（１人だけである。一度再フォーマットすればよい）に引き渡す。フォーマットテンプレートは現時点でのスプレッドシートおよびプログラミング言語において見出される普通の表現ストリングである。データビューア１００は、チャートビュー７１６上の軸ラベルおよびツリービュー７２０の数値のために、また、レポート内の数値のためのデフォルトとして、フォーマットストリングを使用する。マクロがチャート７１６上の読み取り可能な精度範囲外に数値を動かした場合、またはツリービュー７２０またはレポート内で意味をなすフォーマット外へ数値を出した場合、フォーマットテンプレートは自動的に変更される。
【０１９４】
前述のように、ＲＤＭＬラインアイテムエレメント属性の１つに、数値の精度、チャートに表示されるべき有効数字の数がある。全てをユーザが算出するのに任せるコンベンショナルな製品とは異なり、データビューア１００は、ｙ軸１４０６のスケールを設定するために特定された精度と、ラベルおよび目盛りの精度とを使用する。
【０１９５】
さらに、チャートマネージャ７１４は図１４Ｂに示したような第２のｙ軸１４０８を自動的に作成し、取り除く。２つの異なるシリーズがプロットされたチャートは２つの軸を必要とすることになる。両ｙ値は、同一の単位、メジャメント、スケールを有していないことがある。ユーザは例えば「＄　ｉｎ　Ｍｉｌｌｉｏｎｓ」で表されたシリーズをプロットしており、後で「％　ｏｆ　ＧＤＰ」で表されるシリーズを同じチャート７１６に加えようとする場合がある。これらの２つのシリーズは共通のｙ軸を共有することはできない。チャートマネージャ７１４はこのような非互換性を認識し、新しいｙ軸１４０８を作成し、全ての後続のフォーマット、マクロなどを妥当な軸に割り当てる。現時点でのスプレッドシートおよびチャート作成プログラムは、ユーザがチャート作成ウィザード（入力すべき多くの宣言と、種々のスケール、色などを得て補正する多くの試行錯誤とを必然的に伴う）によって、またはカスタムプログラミングによって、チャートを再構築するのを必要とする。データビューア１００は必要な場合には、ラインアイテムの単位およびスケール属性の特性によって、このプロセス、つまり新しい軸の作成とフォーマットとを自動化する。シリーズがチャートから取り除かれる場合には、関連する軸が取り除かれ、残りのシリーズの種々のスケール、色などは、チャートをすぐに読み取り可能にするために更新される。
【０１９６】
表４はチャートマネージャ７１４の分類表を示す。
【０１９７】
【表６】
2004506955.tif 000008
【０１９８】
本発明の１つの実施形態に従った分類法を以下に説明する。ＣｈａｒｔＭａｎａｇｅｒ（）はチャートマネージャオブジェクト７１４のためのコンストラクタであり、「ｉｎｉｔＣｈａｒｔ」はチャートを空になるように初期化し、「ｇｅｔｃｈａｒｔＤａｔａ」はチャートデータオブジェクト７１５を得る。
【０１９９】
「ａｄｄＳｅｒｉｅｓ」の方法はシリーズをチャートに加える一方、「ｄｅｌｅｔｅＬａｓｔＳｅｒｉｅｓ」は最後に加えられたシリーズを取り除く。同様に、「ｄｅｌｅｔｅＳｅｒｉｅｓＡｆｔｅｒＦｉｒｓｔ」は第１のシリーズ以外のすべてのシリーズを削除する。
【０２００】
次のシリーズが、既にチャート作成されたシリーズに加えられるべき場合、シリーズフラグは「ｔｒｕｅ」に設定される。「ｆａｌｓｅ」フラグは目下最新のシリーズを消去して、これの代わりに新しいシリーズを置くことをチャートに告げる。方法「ｇｅｔＡｄｄＳｅｒｉｅｓＦｌａｇ」および「ｓｅｔＡｄｄＳｅｒｉｅｓＦｌａｇ」はこのフラグを検索し設定する。
【０２０１】
方法「ｇｅｔＹＡｘｉｓＴｉｔｌｅ」はｙ軸タイトルを戻し、「ｃｈｅｃｋＹａｘｉｓＴｉｔｌｅ」は目下のｙ軸タイトルをチェックして、新たにプロットされたシリーズが目下の軸に対応するかどうか、または新しい軸を作成すべきかどうかを見る。必要な場合に、「ＡｄｄＹ２Ａｘｉｓ」が第２のｙ軸をチャートに加える。方法「ｍａｒｋＷｈｉｃｈＹＡｘｉｓ」はどちらの軸に新しいラインアイテムがプロットされているかをＣｈａｒｔＤａｔａオブジェクトに告げる。
【０２０２】
方法「ｒｅｓｅｔＣｈａｒｔ」は、データビューア１００がスタートした特の状態にチャートをリセットするのに対し、「ｒｅｐｌｏｔＣｈａｒｔ」はチャートの物理的アスペクトを更新する。同様に、「ｒｅｐｌｏｔＳｅｒｉｅｓ」は変更のためシリーズを再プロットする。
【０２０３】
「ｓｅｔＣｈａｒｔＴｙｐｅ」法は、ｒｅｐｌｏｔＣｈａｒｔを呼び出したときにどのようなチャートタイプを表示すべきかを、チャートマネージャに告げ、「ｓｅｔＤａｔａＳｔｏｒｅ」は、チャートマネージャがどのようなデータ記憶オブジェクト７１２を扱うことになるかをチャートマネージャに告げる。データが時系列の場合、「ｓｅｔＳｔａｒｔＰｅｒｉｏｄ」はチャートの開始期間に対応する内部変数を設定する。最後に、更新法はそれぞれ、生じ得る操作または変更に応答して、チャートの対応アスペクトを更新する。すなわち、「ｕｐｄａｔｅＰｒｅｃｉｓｉｏｎ」はチャートの精度を更新する。
【０２０４】
表５はチャートデータオブジェクト７１５の分類表を示す。
【０２０５】
【表７】
2004506955.tif 000009
【０２０６】
以下に、本発明の１つの実施例に従ったチャートデータオブジェクトの、表５に示した分類法について説明する。チャートマネージャにおける方法と同じ名称を有する方法については、データ上で同じ機能を果たすものなので、説明しない。
【０２０７】
チャートデータオブジェクトは、方法「ｆｉｌｌＸＡｘｉｓ＿ＣＴ」、「ｆｉｌｌＸＡｘｉｓ＿ＴＳ」、「ｆｉｌｌＹＡｘｉｓ＿ＣＴ」および「ｆｉｌｌＹＡｘｉｓ＿ＴＳ」を使用して時系列およびチャートデータセットのｘ軸およびｙ軸を満たす。「ｄｅｃｒｅｍｅｎｔＮｕｍＳｅｒｉｅｓ」および「ｉｎｃｒｅｍｅｎｔＮｕｍＳｅｒｉｅｓ」はチャート上のシリーズを記憶するカウンタを変更する。
【０２０８】
方法「ｇｅｔＣｈａｔＤａｔａ」はｃｈｔＤａｔａのベクトルを戻す。このベクトルは複数のベクトルのうちの１つである。すなわち、外部ベクトルのそれぞれのエレメントが１つのラインアイテムに対応するデータのベクトルである。「ｇｅｔＣｈｔＨｅａｄｅｒ」法はｃｈｔＨｅａｄｅｒのベクトルを戻す。このベクトルは、各ラインアイテムに対応するヘッダ情報のベクトルを含む。このベクトルはラインアイテムの属性の値、例えば大きさ、タイトルなどのリストであり、「ｇｅｔＣｈｔＨｅａｄｅｒＥｌｅｍｅｎｔ」は指示されたシリーズのために、ｃｈｔＨｅａｄｅｒから特定のエレメントの値を得る。
【０２０９】
データセット上で動作して、「ｇｅｔＮａｍｅ」はデータセット名を戻し、「ｇｅｔＮｕｍＲｏｗｓ」はデータセット内の行数を戻す。方法「ｇｅｔＲｏｗ」は、シリーズの１つの行を戻すのに対し、「ｇｅｔＳｅｒｉｅｓＬａｂｅｌ」はラベルを戻す。「ｇｅｔＤｉｆｆｅｒｅｎｃｅｓＩｎＸ」法は時系列チャートに対応する期間を整列させ、「ｇｅｔＮｕｍＳｅｒｉｅｓ」はｎｕｍ＿ｓｅｒｉｅｓ変数におけるシリーズ数を戻す。取得法の多くは、値を受け取る代わりに値をセットする、対応するセット法を有する。
【０２１０】
ｃｈａｔＤａｔａ変数は複数のベクトルのうちの１つであり（それぞれのサブベクタは１つのシリーズに対応するデータである）、「ｇｅｔＤａｔａＩｔｅｍ」はｃｈｔＤａｔａの特定の行および欄におけるデータ値を戻す。「ｚｅｒｏＣｈｔＤａｔａ」は、コンストラクタによって使用されて、空のチャートをポストする。「ｇｅｔＰｏｉｎｔＬａｂｅｌｓ」法は一列のストリングを戻す。各ストリングはｃｈｔＤａｔａのポイントラベルである。
【０２１１】
時系列に対しては、「ｇｅｔＳｔａｒｔＰｅｒｉｏｄ」が時系列の開始期間を検索し、「ｎｏｒｍａｌｉｚｅ　ｖａｌｕｅ」は、チャートにシリーズが加えられると、値を正規化する。方法「ｇｅｔＤａｔａＩｎｔｅｒｐｒｅｔａｔｉｏｎ」は「ａｒｒａｙ（列）」または「ｇｅｎｅｒａｌ（一般）」を戻して、データソース構造がいかなる形であるかを記述する。（「ａｒｒａｙ」の戻された値は時系列およびカテゴリデータに対応し−−時系列およびカテゴリデータはｘ値を共有する−−「ｇｅｎｅｒａｌ」の戻された値はＸＹデータに対応する。これらのうちＸデータは一般的に独立している。
ＩＶ．Ａ．６　ツリービュー
図１４Ａに戻ると、このスクリーンにはさらに、スクリーン下半部にツリービュー７２０が映っている。ツリービュー７２０はデータの階層ビューを提供する。ツリービュー７２０はコンベンショナルなスプレッドシートおよびデータベース管理システムの「データシートビュー」とは異なる目的を果たす。ツリービューはコンテキスト内の数値を視覚的に示す。ユーザは依存関係を見ることができ、アイコンおよび視覚的な手がかりから、異なるラインアイテムがその親、同等者および子にどのように関連しているかを識別することができる。「Ｕｎｉｔｓ」欄１４１６は各ラインアイテムの単位、スケール、大きさなどを顕著に表示し、単位コンテキストがラインアイテム毎に変わるような混合データセットにおいては重要な表示となる。
【０２１２】
種々のアクティブなＲＤＭＬドキュメント１０２における各ラインアイテムは元の順で表示される。ツリービュー７２０においては各ＲＤＭＬドキュメント１０２は新しいトップレベルノードを開始する。ツリービュー７２０に表示された情報は、ラインアイテムからの、および、ラインアイテムに関する重要なデータの概要であって、典型的なスプレッドシートビューに見られるようなデータポイント全ての表示ではない。パターンの識別を難しくする、混乱を招くおそれのある生データ数字行列を提供する代わりに、ツリービュー７２０は各ラインアイテム毎に以下の情報、すなわちレジェンド１４０２、単位１４１６、ユーザ選択可能な３つの表示データポイント１４１８および１つまたは複数の概算欄１４２０を示す。図１４Ａに示した例の場合、重要なドキュメンテーション１４１６（記述、単位）と、表示データ１４１８（この場合３年分）と、概算データ欄（ｓｕｍｍａｒｙ　ｄａｔａ　ｃｏｌｕｍｎ）１４２０（この場合、全データポイントの和）とがある。第１の欄１４１６はラインアイテムのレジェンドを表示している。これはプレーンな言語による記述である。この欄は、ラインアイテムの識別が人間によって行われなければならないようなそれぞれのビューにおいて繰り返される。ツリービュー７２０における表示データ欄１４１８は視覚的な手がかりを、比較的重要なもの、タイプ、およびラインアイテムのフォーマットとしてユーザに与える。ＲＤＭＬデータビューア１００はユーザが表示されるべき異なるフィールドを選択するのを可能にする。例えばあるユーザが長期間の傾向の意味を掴むために「１９４０年、１９７０年、２０００年」を見ようとし、別のユーザが最近の傾向を見るために「１９９８年、１９９９年、２０００年」だけを見たいと思う場合がある。
【０２１３】
概算欄１４２０はユーザがラインおよびラインのコンテキストを理解するために求められる統計、または、最大から最小にまたはその逆に欄をソートする目的で所望する統計を選ぶことを可能にする。欄のいずれをも、これらをクリックすることにより簡単にソートすることができる。概算欄は、データベースまたはスプレッドシートの数式よりも、ユーザにとって著しく簡単な統計を提供する。なぜならば、ＲＤＭＬデータビューア１００は統計学的な方法を１回のクリックで選択可能にし、従って、数式を書き込み、欠けた値に対して調節し、分母におけるヌルを取り扱う等の必要を取り除く。概算統計のいくつかの例は以下のことを含む：（１）和、（２）平均値、（３）中間値、（４）最小値、（５）最大値、（６）移動平均値、（７）分散／標準偏差、（８）差分（％）（選択された期間またはカテゴリ）、（９）親のパーセンテージ、（１０）特定されたラインアイテムのパーセンテージ、（１１）親との相関関係、および（１２）カスタム数式。これらの統計学的な測定値毎に、ＲＤＭＬデータビューア１００はダイアログボックスを提供する。このダイアログボックス内でユーザは仮定条件を調整することができる。例えば「移動平均値」は１つの期間、５つの期間、１０の期間などに対応することができる。
【０２１４】
ツリービュー７２０は、セルとしてスプレッドシートに見出されるような単一の数値とは異なり、ラインアイテムがＲＤＭＬデータビューア１００内の一次データ単位であることを強調する。各ラインアイテム１２０６はオブジェクトなので、ＲＤＭＬデータビューア１００はオブジェクト指向のスプレッドシートと考えることができる。各ラインアイテムに対応するアイコン１４２２は、そのラインアイテムのコンテキストを識別する。例えば、「＋」アイコン１４２２はそのラインアイテムをその同等項目に加えることにより、親ラインアイテムが製作されることを示す。この特徴はスプレッドシートおよびデータベースデータシートビューの欠点、すなわち数式およびデータを同時に見ることができないという欠点に対処する。この特徴は、数値同士がどのように関係しあっているかをユーザに示す。
【０２１５】
コンベンショナルなデータベース管理システム、スプレッドシートおよび数値解析ツールは、１つのレコードが別のレコードに対してどのように関連しているかを指示する組込み式の手段を有していない。関係データベースにおいては、位置または行がそのデータに対する関連性を有していない場合がある。ＲＤＭＬおよびツリービュー７２０は、セット内のラインアイテムの位置を情報のユーザによって使用可能な一部にすることによりこれを変え、アイコン１４２２はラインアイテムのその親ノードに対する関係を視覚的に表す。
【０２１６】
本発明の１つの実施例の場合、次の値が関係アイコンに使用される：（１）プラス、（２）マイナス、（３）掛け算、（４）割り算、（５）イコール、（６）計算値、（７）要素、（８）集合、（９）子、（１０）親、（１１）メモ、（１２）一般、（１３）ノート、（１４）無、および（１５）ルート。
【０２１７】
サブラインアイテムは集められて親ラインアイテムを形成することができる（またはこれらの兄弟ラインアイテムの他の関係によって変更することができる）。「プラス（“Ｐｌｕｓ”）」は兄弟に加算されるのに対し、「マイナス（“ｍｉｎｕｓ”）」は兄弟から差し引かれてよい。例えば「正味売上高（“Ｎｅｔ　Ｓａｌｅｓ”）」は二人の子供、つまり「総収入（“Ｔｏｔａｌ　Ｒｅｖｅｎｕｅｓ”）」および「物品販売コスト（“Ｃｏｓｔ　ｏｆ　Ｇｏｏｄｓ　Ｓｏｌｄ”）」を有していてよい。「総収入（“Ｔｏｔａｌ　Ｒｅｖｅｎｕｅ”）」が「プラス（“ＰＬＵＳ”）」のｌｉ＿ｒｅｌａｔｉｏｎｓｈｉｐ（関係）属性を有し、「物品販売コスト（“Ｃｏｓｔ　ｏｆ　Ｇｏｏｄｓ　Ｓｏｌｄ”）」が「マイナス（“ＭＩＮＵＳ”）」のｌｉ＿ｒｅｌａｔｉｏｎｓｈｉｐ属性を有している場合、ツリービュー７２０は正味売上高が総収入マイナス物品販売コストに等しいことを示すことができる。「掛け算（“ＴＩＭＥＳ”）」および「割り算（“ＤＩＶＩＤＥ”）」はそれぞれラインアイテムの掛け算および割り算を示す。
【０２１８】
「イコール（“ＥＱＵＡＬＳ”）」は「プラス（“ｐｌｕｓ”）」と同じであるが、その上でラインアイテムを規則どおりに計算した結果を示す。「計算値（“ＣＯＭＰＵＴＥＤ　ＡＴ”）」は百分率、利率などのような仮定条件に用いられる一方、「要素（“ＭＥＭＢＥＲ”）」は、ラインアイテムが単純に親ラインアイテムによって示されたラインアイテムの集合の要素であることを示す。この場合、算術的関係があるとしても、この関係に関しては仮定されない。
【０２１９】
「集合（“ＣＯＬＬＥＣＴＩＯＮ”）」はラインアイテムがそのすぐ下のレベルに子要素を有することを示し、セットまたは集合のコンセプトを示す。「子（“ＣＨＩＬＤ”）」はラインアイテムが単純に「親」ラインアイテムの「子」であることを示す。「子」は一種の家系、派生物、または継承の意味を含む。算術的関係があるとしても、この関係に関しては仮定されない。
【０２２０】
「メモ（“ＭＥＭＯ”）」は、兄弟ラインアイテムを見るものにとって興味のあるラインアイテムであるが、これは兄弟には必ずしも関連していない。一方、「一般（“ＧＥＮＥＲＡＬ”）」は一般的な指定子である。「ノート（“ＮＯＴＥ”）」は通常、テキスト値を伴うラインアイテムに使用され、「無（“ＮＯＮＥ”）」はどのような関係も意味しないことを示す。「ルート（“ＲＯＯＴ”）」はラインアイテムがルートラインアイテムであることを示す。
【０２２１】
ツリービュー７２０はまた、他の能力をも提供する。ツリービューは、ユーザが「シフト」キーを押さえることにより、複数のラインアイテム１２０６をチャート作成することを可能にする。数値のブラウジングはデータビューア１００内でマウスを用いて行われるが、しかし、ユーザが矢印キーを用いてラインアイテムをグラフ作成することも可能である。焦点がツリービュー７２０に合っているときには、矢印キーを用いて上下に操縦することにより、選択されたラインアイテム１２０６が自動的にチャート作成される。「シフト」キーを押さえると、前に選択されたシリーズがただ置き換えられるのではなく、次のデータシリーズがチャートに加えられることになる。
【０２２２】
図１４Ｃに示したように、本発明の１つの実施形態において、ユーザが選択されたシリーズを右クリックすると、ポップアップメニュー１４２４が表示されて、異なるタイプの利用可能なドキュメンテーションを示す。図１４Ｄに示したように、「記述」を選択すると、特定のシリーズに関する情報を含むウィンドウ１４２６が示される。この情報はタグ形式からプレーンな言語、ユーザにとって扱い易いフォーマットに移行されている。
【０２２３】
図１４Ｅに示したように、本発明の１つの実施形態において、ユーザはツリービュー７２０内のラインアイテムの異なる「チェックボックス」１４５０を選択することだけで、複数のラインアイテムをグラフ作成することができる。この実施例の場合、選択されたラインアイテムの集合はチャートデータオブジェクトに伝えられ、このチャートデータオブジェクトは次いでチャートマネージャ７１４によってチャート作成される。
【０２２４】
本発明の１つの実施例の場合、ツリービュー７２０内のすべてのラインよりも少ないラインの連続的なセットを選択することは、一連のマウスイベントを介して容易になる。第１に、マウスがライン上（例えばＢｒｉｓｔｏｌ　Ｃｅｎｔｅｒ）上に下ろされる。次いでマウスは群内に含まれるべき最後のライン（例えばＨａｍｌｅｔ　Ｗｅｓｔ　Ｃｅｎｔｅｒ）にドラッグダウンされる（このプロセス中ラインをハイライトで強調する）。マウスを上げるのを遅らせ、カーソルを含まれるべき最後のライン上に保持することにより、ユーザは選択された／ハイライトで強調された群の全てのエレメントが加えられるべきであるという信号をシステムに送ることができる（また、システムはそのことを検出することができる）。従ってシステムはエレメントの対応するチェックボックスをチェックする。
【０２２５】
ツリービュー７２０はさらに、ドラッグアンドドロップ技術を介してＲＤＭＬドキュメント１０２を作成する簡単な方法を提供する。コンベンショナルなスプレッドシートおよびＤＢＭＳアプリケーションの場合、データ行を選択してこれらをカットしペーストすることにより、または、ＳＱＬクエリーを書き込むことにより、現存のテーブルから新しいテーブルを作成することが可能である。必要なドキュメンテーションを完備した新しいＲＤＭＬドキュメント１０２を作成することは、所望のラインアイテムを、新しいドキュメントを表すアイコンにドラッグアンドドロップすることによって行うことができる。同様にマクロを作成し操作することもできる。
【０２２６】
データビュー１００は、選択されたラインアイテムが変更されることに伴い自動的に実行されるようにマクロを設定することもできる。マクロの「ロッキング」として知られるように、このことは変換された状態でのデータを介してブラウジングすることを可能にする。
【０２２７】
図１４Ｆに示したように、ラインアイテムはこれと連携する視覚的なリンクを有することができる。このリンクはユーザによって起動することができる。リンク１４３０が起動されると、連携するハイパーリンク１４３２のリストが、ユーザによる選択のために表示される。リンク１４３０自体は、連携する多くのハイパーリンク１４３２を示すことができる。ユーザは次いで、ハイパーリンクのいずれかを選択して、対応するウェブサイトにアクセスすることができる。
ＩＶ．Ａ．７　スプレッドシートビュー
図１６は、下半部にスプレッドシートビュー７２４を、上半部にチャートビュー７１６を示すスクリーン映像を示している。多くのユーザの究極の目的は、ユーザの現存のスプレッドシートに適合するフォーマットに配置された一連の数値を得ることである。多くのプログラムはソースアプリケーションから目標スプレッドシートへの数値の移行にカットアンドペーストを提供しているが、このような方式は、データを操作し、正規化し、整列させ、変換するというタスクをユーザに残す。従ってカットアンドペースト操作に続いて、数値毎に手作業で再計算され、再タイプされる。これとは対照的に、ＲＤＭＬデータビューア１００は、数値がスプレッドシートにロードされる前に、ユーザが必要なデータ変換を、マウスにより駆動される操作によって行うことを可能にする。
【０２２８】
図１６を参照すると、チャートビュー７１６またはツリービュー７２４に対してラインアイテム１２０６が加えられ、差し引かれると、ラインアイテムはスプレッドシート７２４に対して加えられ、差し引かれる。さらに、（マクロまたは複数のマクロの組み合わせを適用した結果としての、）チャートビュー７１６上にプロットされたラインに対するいかなる変更も、スプレッドシート７２４における数値に直ちに反映される。このことはスプレッドシートビュー７２４への情報の一回クリックによる付加を可能にする。従ってスプレッドシート内へデータをコピーするには、チャート７１６にデータを加えるだけでよい。データドキュメント１０２全体をコピーし、または、ツリービュー７２０からのデータドキュメントの集合をスプレッドシートビュー７２４にコピーして、プロセス中に所望のマクロ変更を行うことも可能である。
【０２２９】
さらに、ＲＤＭＬドキュメント１０２はスプレッドシートビュー７２４から直接作成されてよい。（別のＲＤＭＬドキュメント１０２から作成された、または初めからタイプされた）スプレッドシート７２４にはデータテーブルが示されるが、ユーザによって特定されたデフォルトからデータインされたドキュメントから、ＲＤＭＬドキュメントが作成されてよい。ＲＤＭＬドキュメントはＸＭＬエディタと同様のタスクを実施するが、データのためのテーブルフォーマットではこのような同様のタスクは行わない。データのためのテーブルフォーマットは、現時点でのＸＭＬエディタの木構造ではなく、テーブルのデータを入れるためのより自然な方式で行われる。
【０２３０】
スプレッドシートビュー７２４はＵＲＬ１６０２を使用してインターネットデータを直接読み取ることもできる。この読み取りは、（リンクの行き先を特定するＸリンクによって使用される）Ｘポインタを使用する数式を除いて、遠隔のＲＤＭＬドキュメント１０２からのデータを読むことによって行われる。こうして、データは多数のソースから単一のスプレッドシート内に組み込むことができ、しかもこの場合、クエリーを用意するかまたはカスタムプログラミングコードを提供する必要はない。
【０２３１】
下の表６の分類表に示したように、スプレッドシートマネージャ７２２はシンプルなオブジェクトとである。チャートマネージャ／チャートデータ７１４および７１６の組み合わせはデータの事実上の記憶場所（ｒｅｐｏｓｉｔｏｒｉｅｓ）である。チャートマネージャ７１４はデータをスプレッドシートマネージャ７２２に供給する。スプレッドシートマネージャはデータを正しいセルに配置する。スプレッドシートマネージャ７２２はグラフィカルスプレッドシートオブジェクト７２４と直接交信する。グラフィカルスプレッドシートオブジェクトは、ＲＤＭＬデータビューア１００の場合、サードパーティコンポーネントであってよい。
【０２３２】
【表８】
2004506955.tif 000010
【０２３３】
ＩＶ．Ａ．８　脚注ビュー
図１７は下半部に脚注ビュー７２８を示すスクリーン映像である。一般的に脚注は、数値を伝達し表示する際にしばしば紛失することのある、拡張されたドキュメントの一種である。それぞれのラインアイテムは、属性として、短い脚注を提供するテキストストリングを有している。脚注はマウスクリックにより（すなわち、データビューア１００の下側の「脚注（Ｆｏｏｔｎｏｔｅｓ）」タブ１７０２をクリックすることにより）アクセスすることができる。スプレッドシートビュー７２４の場合と同様に、デフォルト値はプロットされたシリーズだけに対応して、その脚注を表示させる。しかしながら、スプレッドシートまたはスタイルシートレポートビューにＲＤＭＬドキュメント１０２の脚注の全てを表示することも可能である。
【０２３４】
脚注ビュー７２８における脚注はデータに関するシンプルな、重要なリマインダであることが意図される。典型的にはこれらの脚注は通常の期間（会計年度）、調整、特別な問題などを含んでいる。デフォルトによって、脚注ビュー７２８はＲＤＭＬドキュメント１０２のソースと元の基礎データとを示すこともできる。本発明の１実施形態においては、２５５バイトより以上のバイトを要するものが、ラインアイテム中に対応するハイパーリンクがあるＨＴＭＬページに表示される。このような比較的長い脚注はＨＴＭＬドキュメントとして、ＨＴＭＬウィンドウ内に表示してもよい。
【０２３５】
さらに、ユーザはチャートに対してシリーズを加え、差し引くのに伴い、脚注は例えば複数のソースドキュメントがあるとしても、データソースから自動的に更新される。ＲＤＭＬ「脚注」タブにおける脚注も、それらの数値およびラベルを自動的に更新し、チャートを一致させる。このことは現在のスプレッドシートおよびチャート作成プログラムとは対照的である。これらは、自動化された探索ルーティンではなくユーザが脚注を提供することを必要とする。
【０２３６】
マクロマネージャ７３０はデータビューア１００においてマクロを操作し、実施する。マクロは、ユーザが数式またはクエリーを書き込まなければならない代わりに、一回クリックを基本にして、ラインアイテムに対して変換または計算を適用することを可能にする。
ＩＶ．Ａ．９　タグ付けウィザード
データビューア１００はスプレッドシートファイルからＸＭＬおよびＲＤＭＬドキュメント１０２を作成することもできる。この終了時に、データビューアはスプレッドシート「ウィザード」を使用して、スプレッドシート内のデータのテーブルからタグ付けドキュメントを作成するために、スプレッドシート「ウィザード」を使用することができる。本発明の１つの実施形態の場合、（少なくとも１つのダイアログボックスを使用する）ウィザードが、スクリプト言語（例えばＥｘｅｌ　Ｖｉｓｕａｌ　Ｂａｓｉｃ　ｆｏｒ　Ａｐｐｌｉｃａｔｉｏｎｓ）で作成され、このスクリプト言語は、スプレッドシート（例えばＥｘｅｌ）のテーブルデータがＲＤＭＬフォーマットでタグ付けテキストドキュメントを作成するためのソースとして使用されることを可能にする。
【０２３７】
図２１に示したフローチャートは、本発明によるスプレッドシートからの情報をタグ付けするための方法において使用されるステップを表す。図２２Ａ〜Ｄはドキュメント作成プロセスにおける種々異なる段のためのスクリーン映像を例示している。
【０２３８】
図２２Ａに示したように、ユーザはデータをテーブル形式にする（ステップ２１０２）。それぞれの行は１つのラインアイテムになる。第１行２２０２は「ｄａｔａ＿ｘ」エレメント９２４に対応するデータとなる。第１欄２２０４はそれぞれのラインアイテムの「ｌｉ＿ｌｅｇｅｎｄ」属性に位置を占めることになる。なお、ほとんどのテーブルデータはすでに実質的にこの形になっている。すなわちカテゴリ（または時間）記述が上側を横切り、プレーンな言語のラインアイテムが左側で下に向かって並び、値自体がテーブルを満たしている。
【０２３９】
次いでユーザは一番左側の欄２２０４内のレジェンドをハイライトにより強調し、図２２Ｂに示したように、第１のダイアログボックス２２０６を開く（ステップ２１０４）。ダイアログボックスはデータテーブルの正面に情報のための新しい欄を挿入することになる。それぞれの欄は１つの属性タイプを含む（ステップ２１０６）。
【０２４０】
図２２Ｃに示したように、ダイアログボックス２２０６上で「ＯＫ」を押すことにより、コラムが作成され、デフォルトデータが満たされる（ステップ２１０８）。ウィザードは所望のデフォルト値を入力し、退屈なタイピングのほとんどを省き、ユーザは欄２２０８をチェックして、変更を行う必要があるかどうかを見る。付録Ｆは、このような機能を果たすルーティンのためのコード例を示している。それぞれの属性に応じて、スプレッドシートに欄が加えられ、属性の正しい値が選択され（例えばブランク、ハンドワード（ｈａｎｄ−ｗｏｒｄｅｄ）、またはダイアログボックス内の適宜なフィールドから取られた値）、セルの正しい数値が、適宜な欄２２０８内のその値で満たされる。
【０２４１】
図２２Ｄに示したように、ユーザは次いでドキュメント作成ダイアログ２２１０を行う（ステップ２１１０）。ユーザは第１のエントリフィールド２２１２を使用して、データテーブルの範囲（属性欄を含む）を特定する。「デフォルト」データファイルは、ｒｄｍｌｄｏｃヘッダエレメント９０４値ならびに他のエレメントおよびラインアイテムセットエレメント９０６における属性値にデフォルトを提供するのに使用されることになる（ステップ２１１２）。最後にユーザは残りのフィールドに書き込み、「ＯＫ」を押す。「ＯＫ」を押すことにより、タグ付けされたＲＤＭＬドキュメント１０２が作成され保存される（ステップ２１１４）。このような開示内容から当業者にとって明らかとなるように、情報が例示した複数のダイアログボックス内に集められる代わりに、ＲＤＭＬ対応データを作成する前に、単一のダイアログボックスに集められてもよい。
【０２４２】
付録Ｇは、ＲＤＭＬドキュメント１０２を作成するための１つの実施形態に使用されるコードを提供する。一般的に、プロセスは次のステップからなる。すなわち、（１）書き込みのためのファイルとバッファとを開き、（２）他のエレメント内にネストして配置することができるＤＴＤ７０２内の各エレメント毎に、エレメント作成法を呼び出し、さらに（３）終了時にファイルを保存し閉じる。
ＩＶ．Ａ．１０　ＲＤＭＬマークアップドキュメント
ＲＤＭＬは、産業および地域を越えて数値を記述するのに使用されるように構成されている。このようにするために、ＲＤＭＬは数値のテーブルの６つのアスペクト、すなわち（１）値、（２）構造、（３）フォーマット、（４）セマンティクス、（５）由来および（６）メジャメントを記述するために、タグの基本的なセットと、マッチングボキャブラリとを提供する。
【０２４３】
値は数値が、数値のデータタイプ、精度、紛失値、ヌルの取り扱いおよび終端アプリケーションに対する他の指示を規定するための付加的なタグと共に、ストリングとして伝達されることを示す。
【０２４４】
構造は、テーブル内のデータの構造を意味する。ＲＤＭＬはレコードがテーブル内で階層状に配置されることを可能にする。このことは関連テーブルに対する標準的なアプローチではないものの、情報の複合的なレベルが単一の二次元テーブル内に配置されることを可能にする。ユーザは、例えば、単一のラインアイテム（例えば「設備リース」がいくつかのサブコンポーネント（「自動車」、「トラック」、「社内備品」）を有しているような財務状況を見る場合に、このようなことを所望する。
【０２４５】
フォーマットは、アプリケーションが数値を、人が読み取れる形式でユーザに提供することを可能にする。タグは数値、カンマ／小数点の取り扱いのような国際化問題、デフォルトレジェンドおよびチャートタイトルに対応するデフォルトフォーマットを特定する。
【０２４６】
セマンティクスは、ＲＤＭＬが総称的なタグを提供するという事実を意味する。このタグには、他のＳＧＭＬおよびＸＭＬマークアップ言語の語彙を含む、数値の「意味（ｍｅａｎｉｎｇ）」のインジケータを配置することができる。このことは、ＲＤＭＬが他のマークアップ言語ドキュメントからのデータのための「ラッパー（“ｗｒａｐｐｅｒ”）」として作用することを可能にする。セマンティックな意味はまた、テキストベースの属性、すなわちレジェンド、タイトル、ラベル、脚注などに伝達される。
【０２４７】
由来は種々のエレメントのドキュメンテーションである。ＲＤＭＬエレメントは、データの作成元、タイムスタンプ、リンクアドレスおよびライセンス情報に関する情報を含む。
【０２４８】
最後に、総称的な数値のコンテキストにおいて、「メジャメント」とは、数値が取り出されたドメインの測定アスペクトを記述する必要のある特性、すなわち、単位（「メートル」、「フィート」）、大きさ（「百万」、「十億」）、変更子（「インフレーションに対する調整、１９９７年度指数」）などを意味する。このことは、あらゆる計算の結果が適切に引き出され、エンドユーザに対して記述されることをマクロが保証することを可能にする。
ＩＶ．Ｂ．グラフィカルユーザインタフェースおよびＨＴＭＬブラウザ
図１４Ａ〜Ｄ、１６および１７のスクリーン映像は、いくつかの責務を有するグラフィカルユーザインタフェース（「ＧＵＩ」）７３４のものである。一般的に、ＧＵＩはアプリケーションのスタートアップ時に形成され、また他の視覚的なコンポーネントを形成し、（ファイルディレクトリなどのような、）アプリケーションの最少数のグローバル変数に中央記憶場所を提供する。さらに、ＧＵＩはユーザアクション、例えばマウスクリックおよびキーボードショートカットに応答し、スクリーンまたはスクリーンの一部を適時に再ペイントする。
【０２４９】
ＨＴＭＬブラウザ７３６は、ＨＴＭＬファイルを表示するサードパーティコンポーネントであってよい。このブラウザはＨＴＭＬブラウザとして指定されているが、この開示内容から、他のブラウザ（例えばＸＭＬブラウザ）が同様に使用可能であることは、当業者には明らかである。このコンポーネントは、ＲＤＭＬドキュメント１０２に基本的なウェブブラウジング能力と、ハイパーリンクを見る方法とを提供する。加えて、ブラウザは（ＲＤＭＬドキュメントソースコード、チャートドキュメンテーションのような）ＲＤＭＬデータビューア１００によって生成された一部のページに対してディスプレイウィンドウとして作用する。
ＩＶ．Ｃ．　再使用可能なマクロマークアップ言語
図１８は、ＲＭＭＬドキュメントタイプ定義１８００のエレメントをグラフ状に示している。本発明の１実施形態では、ＲＭＭＬドキュメント１０４は、ＤＴＤ１８００によって提供された規則に一致する。本発明の１実施形態によれば、ＲＭＭＬ　ＤＴＤ１８００は付録Ｄに示されている。ＤＴＤ１８００の属性およびエレメントは付録Ｅの全サンプルＲＭＭＬドキュメント１０４に見ることができる。これらの２つの付録ＤおよびＥは、ＲＭＭＬ　ＤＴＤ１８００の特定の属性およびエレメントを検査するのに役立つ。
【０２５０】
ＲＭＭＬ　ＤＴＤ１８００データストラクチャは、必要とされる情報を必要とされる順序で提供するように最適化されて、ＲＭＭＬマクロデベロップメントに対する新しいユーザの一部の学習の負担を軽減し、不要な重複を回避する。付録ＤにおけるＤＴＤ１８００の第１のラインは、＜？ｘｍｌ　ｅｎｃｏｄｉｎｇ＝“ＵＴＦ−８”？＞で始まる。なぜならばＸＭＬドキュメントは、クライアントアプリケーション、この場合には（以下で説明する）ＲＭＭＬインタプリタ１９８０と、データビューア１００とに、このドキュメントがどのタイプのドキュメントであるか、また、ＸＭＬのバージョンについて告げるラインで始まるからである。
【０２５１】
さらに図１８を参照すると、ＲＭＭＬマクロドキュメント１０４を定義付けるのに使用されるＤＴＤ１８００は、エレメントの階層状の木構造で構成されている。それぞれのエレメントは、（付録Ｄ、ただし図１８には示していない）属性のリスト、および、１つまたは複数のサブエレメントとの連携を含んでいてよい。ＲＤＭＬ　ＤＴＤに関して上で説明したように、ある属性が必要とされるのに対し、他の属性は設計パラメータに応じて任意である場合がある。最も高いレベルにおいては、ＤＴＤ１８００はルートエレメント＜ｍａｃｒｏｄｏｃ＞１８０２に由来する３つのエレメントを有している。第１のエレメント＜ｍａｃｒｏ＿ｈｅａｄｅｒ＞１８０４は、ドキュメント全体のためのメタデータを含んでいる。第２のエレメント＜ｍａｃｒｏ＿ｃｏｄｅ＞１８０６は評価されるべきソースコード表現と、関連変数と、あらゆるパラメータのためのグラフィカルユーザインターフェースに関するアプリケーションに対する指示とを含んでいる。第３のエレメント＜ｍａｃｒｏ＿ｒｅｆｅｒｅｎｃｅｓ＞１８０８は、遠隔データ（ＲＤＭＬドキュメント１０２）または他のマクロ（ＲＭＭＬドキュメント１０４）に関連するエレメントを含んでいる。
【０２５２】
ｍａｃｒｏ＿ｈｅａｄｅｒエレメント１８０４はＲＤＭＬドキュメント１０２のｒｄｍｌｄｏｃ＿ｈｅａｄｅｒエレメントとできる限り密接にマッチするように構成されている。このことはデベロッパおよびエンドユーザの学習時間を軽減し、再使用コードモジュールが両者の目的のために形成されるのを可能にする。
【０２５３】
それにもかかわらず、本発明の１つの実施形態においては、＜ｍａｃｒｏ＿ｈｅａｄｅｒ＞エレメント１８０４は独自のいくつかの属性を含んでいる。この実施形態の場合、８つの独自の属性が＜ｍａｃｒｏ＿ｈｅａｄｅｒ＞エレメント１８０４内に存在する。これらのうち第１のエレメントは、「ｍａｃｒｏ＿ｔｙｐｅ」である。この属性はアプリケーションに、どのような一般的な能力をこの特定のマクロがこのアプリケーションのコンテキスト内で必要としているかを告げる。アプリケーションはこの属性をファクトリクラス１９１２で使用して、内部使用のためにマクロの正しいタイプを作成する。この実施例による２つのタイプ例は（１）「ＴＳＬ」（時系列ライン、時系列と協働してチャート上に新しいラインを作成するマクロ）および（２）「ＴＳＯ」（時系列オーバレイ、時系列と協働してチャート上に新しいオーバレイ、例えばある期間の背後にグレーの背景を作成するマクロ）である。
【０２５４】
ｒｅｓｕｌｔ＿ｔｙｐｅ（結果タイプ）属性は、マクロによって作成されたあらゆる変換の結果をいかにして表示するかをＲＤＭＬデータビューア１００に告げる。１つの実施例においては、このストリングに対して、５つの許容可能な値、すなわち、「それぞれを置き換えよ（“Ｒｅｐｌａｃｅ　Ｅａｃｈ”）」、「全てを置き換えよ（“Ｒｅｐｌａｃｅ　ＡＬＬ”）」、「ＡＢを置き換えよ（“Ｒｅｐｌａｃｅ　ＡＢ”）」、「新たに加えよ（“Ａｄｄ　Ｎｅｗ”）」、「注釈を加えよ（“Ａｄｄ　Ａｎｎｏｔａｔｉｏｎ”）」および「オーバレイを加えよ（“Ａｄｄ　Ｏｖｅｒｌａｙ”）」がある。Ｒｅｐｌａｃｅ　ＥａｃｈはＲＤＭＬデータビューア１００において、チャート７１６上の各ラインを取り除き、このラインの代わりに変換されたバージョンを配置する。例えばチャート上に４つのシリーズがあり、全てが「マイル」で名づけられており、ユーザがマクロ「キロメートルへ」を選択すると、全てのラインがキロメートルに変換されることになり、マイルのラインは消去され、チャート上のその場所にキロメートルのラインが配置される。
【０２５５】
Ｒｅｐｌａｃｅ　ＡＬＬは、現在の全てのラインに代わって１つのラインが配置されるところで使用される。例えばＡおよびＢがチャート作成される場合、「Ａの％としてのＢ」と呼ばれるマクロが、これらの線を単一の線に代えることになる。Ｒｅｐｌａｃｅ　ＡＢは、チャート作成された線が唯２つだけであるような、Ｒｅｐｌａｃｅ　ＡＬＬの特殊なケースである。Ａｄｄ　Ｎｅｗは、プロットされたのが何であれ、線を加える。例えば「平均」と呼ばれるマクロは、現存のラインを平均レベルで通るようにラインを引くことができる。Ａｄｄ　Ａｎｎｏｔａｔｉｏｎはポインタを有するラベルを、チャート上の所定の値に加える（例えば「２−３株式分割」）。Ａｄｄ　Ｏｖｅｒｌａｙはチャートの所定の領域の背後に影の付いたエリアを加える。
【０２５６】
属性「ｒｄｍｌｄｏｃ＿ｔｙｐｅ」は、ＲＤＭＬドキュメント１０２のタイプを指定する。このＲＤＭＬドキュメントとマクロは協働するように指定される。この属性のための有効ストリングは、ＲＤＭＬドキュメント１０２のタイプに対応して、ＴＳ，ＣＴおよびＸＹである。
【０２５７】
エレメント＜ｍａｃｒｏ＿ｓｏｕｒｃｅ＞１８１０および＜ｌｉｃｅｎｓｅ＿ｔｅｒｍｓ＞１８１２は、ＲＤＭＬドキュメントタイプ定義７０２における＜ｄａｔａ＿ｓｏｕｒｃｅ＞９０８および＜ｌｉｃｅｎｓｅ＿ｔｅｒｍｓ＞９１４と同一であり、同じ役割を果たす。＜ｄｏｃｕｍｅｎｔａｔｉｏｎ＞１８１４エレメントは、２つのサブエレメント、つまり＜ｍａｃｒｏ＿ｄｅｓｃｒｉｐｔｉｏｎ＞１８１６および＜ｈｅｌｐ＿ｐａｇｅ＞１８１８のためのコンテナである。＜ｍａｃｒｏ＿ｄｅｓｃｒｉｐｔｉｏｎ＞エレメントは短いストリング（例えば５０字未満）を含む。このストリングはマクロの基本機能性を記述する。＜ｍａｃｒｏ＿ｄｅｓｃｒｉｐｔｉｏｎ＞エレメントは、（図２０Ａ〜Ｄに記載し、以下で説明する）パラメータパネル１９６０の記述ラベルに現れる。ユーザがマクロのさらに詳細な記述を所望する場合にそなえて、＜ｈｅｌｐ＿ｐａｇｅ＞エレメント１８１８は、この情報を提供するテキストブロックを含んでいる。このテキストブロックは正規のヘルプシステムの一部として、ＨＴＭＬ枠内でデータビューア１００によって読み取ることができる。このテキストブロックは、ユーザにとって興味深いマクロの全てのアスペクト、つまりその使用、そのコードおよびその入力に関する情報を提供しようとするものである。
【０２５８】
第２のトップレベルエレメントは＜ｍａｃｒｏ＿ｃｏｄｅ＞１８０６である。このセクションは、実際のソースコードおよび関連する変数を含む。＜ｃｏｄｅ＞１８２０エレメントは、ＲＤＭＬデータビューア１００における所定の数値の変換を評価する１つまたは複数の表現を含む。本発明の１つの実施例では、変換はＲＤＭＬデータビューア１０２におけるチャートビュー７１６に適用される。しかしながら、変換はツリービュー７２０または他のビューに適用されてもよい。
【０２５９】
このエレメントにおける表現は、スプレッドシート数式に見られる表現と同様の数式である。すなわち、この表現は一連の（１）演算子、（２）リテラル、（３）変数、（４）関数、および（５）種々雑多な表現デリミタである。従来のスプレッドシート数式との主な相違点は、変数がソースまたはコンテキストに応じて、スカラーまたはベクトルを表すことができることである。表現の一例は次の通りである：
Ａ　＊　（Ｂ　＋　２０００）−１Ｆ（Ａ＞３，１２，４５）
演算子は、加算（＋）、減算（−）、掛け算（＊）、割り算（／）、未満（＜）、より大きい（＞）、または（｜）、および（＆）である。演算子は、それらが作用する副表現のタイプに基づいて異なる意味を有する。２つのベクトルに対する演算は２つのベクトルに対するエレメント毎の演算として解釈される。従ってＡ　＊　Ｂ（ＡおよびＢはベクトルである）はＣ＝｛ａ１＊ｂ１，・・・・・ａｎ＊ｂｎ｝である。
【０２６０】
リテラルは表現内で直接定義付けされる（例えば「４６」）か、または、変数に入れられる（例えば「ｐｉ＝３．１４１５６」）。
【０２６１】
変数はＲＭＭＬにおける６つの異なる場所の１つから来ることができる。第１に、変数は直接ＲＭＭＬドキュメント１０４における変数として定義付けすることができる。このことは＜ｖａｒｉａｂｌｅ＞エレメントを作成し、これをデフォルト値に割り当てることにより行われる。第２に、変数はＲＤＭＬデータビューア１０２においてパラメータパネル１９６０内のグラフィカルコンポーネントと連携させることができる。本発明の１つの実施例においては４つの異なるタイプの「ｇｕｉコンポーネント」がある。これらのコンポーネントについては下で、＜ｇｕｉ＞エレメント１８２４のもとでリストアップし、説明する。第３に、変数はＲＤＭＬドキュメント内で見出されたエレメントと同一のラインアイテムエレメントから定義付けすることができる。これらのエレメントは同一なので、ラインアイテムはＲＤＭＬドキュメント１０２からＲＭＭＬドキュメント１０４に簡単にカットアンドペーストすることができる。第４に、変数は遠隔ソースから引き出されてよい。本発明の１つの実施形態においては、その遠隔ソースはＲＤＭＬドキュメント１０２内のラインアイテムに対するハイパーリンクであってよい。このことは、変数エレメントの「ｈｒｅｆ」属性におけるＸポインタハイパーリンクを使用することにより達成される。第５に、変数は、チャート上に現在プロットされているデータシリーズの１つとして定義付けすることができる。本発明による１つの実施形態においては、最大６つのシリーズがチャート上にある。それぞれのシリーズは、Ａ，Ｂ，Ｃ，Ｄ，ＥおよびＦのリザーブワード（ｒｅｓｅｒｖｅｄ　ｗｏｒｄｓ）を使用してアクセスすることができる。当業者には明らかなように、独自に定義付け可能なあらゆる数のシリーズが使用されてもよい。マクロの結果タイプ属性が「「Ｒｅｐｌａｃｅ　ＡＬＬ」である場合、表現は各シリーズ毎に一回評価される。例えばＡは現在変換中のシリーズである。第６に、変数は、ＲＤＭＬデータビューア１００に既にロードされているＲＤＭＬドキュメント１０２から取ることができる。この場合、表現はＵＲＬと、ラインアイテムエレメントのｌｉ＿ｃｌａｓｓ（ｌｉ＿クラス）エレメントの１つに見出すことができるクラスストリングとを示す。この場合表現はそのラインアイテムを変数値として使用する。
【０２６２】
組み込まれた関数は、本発明の１つの実施例ではインタプリタ１９８０によって提供され、言語を拡張する主な手段である。これらの関数は「ＦＵＮＣＴＩＯＮ＿ＮＡＭＥ（ｅｘｐｒｅｓｓｉｏｎ）」の形を有する。関数は、ＩＦ（ｘ，ｙ，ｚ）；ＳＵＭ（ｘ）；ＡＶＥＲＡＧＥ（ｘ）；ＣＯＵＮＴ（ｘ）；ＭＩＮ（ｘ）；ＭＡＸ（ｘ）などを含む。
【０２６３】
種々雑多なデリミタは、表現をセミコロン（；）によって分割することにより実施される。このことは表現が順序どおりに評価されるべきであることを指示する。表現はまた、括弧によってグループにされて、いかにして副次的な表現を評価するかをインタプリタ１９８０に告げることもできる。
【０２６４】
＜ｉｎｓｔｒｕｃｔｉｏｎｓ＞エレメント１８２２に現れるいかなるストリングも、パラメータパネル１９６０に表示され、ユーザに最新の詳細な指示または示唆を与えることになる。これらのグラフィカルコンポーネントはパラメータパネル１９６０に現れて、マクロのパラメータを変更する能力をユーザに与える。４つのｇｕｉコンポーネント（図示せず）は＜ｃｏｍｐ＿ｖｅｃｔｏｒ＞、＜ｃｏｍｐ＿ｌｉｓｔ＞、＜ｃｏｍｐ＿ｒｂｕｔｔｏｎ＞および＜ｃｏｍｐ＿ｉｐａｎｅｌ＞であってよい。＜ｃｏｍｐ＿ｖｅｃｔｏｒ＞はベクトル変数である。ここではベクトルの個々の値はスクロールリストボックスで見ることができる。＜ｃｏｍｐ＿ｌｉｓｔ＞エレメントは、スクロールリストである。ユーザが異なる項目をクリックするたびに、このコンポーネントに付いた変数の値が、その項目と連携する変数に変えられる。＜ｃｏｍｐ＿ｒｂｕｔｔｏｎ＞はラジオボタンの集合である。それぞれが異なる値と連携している。ユーザが異なるボタンをクリックするに伴い、コンポーネント自体と連携する値が変えられ、マクロが再実行させられる。＜ｃｏｍｐ＿ｉｐａｎｅｌ＞は、ユーザが直接マクロに変更を入力することを可能にする入力フィールドである。
【０２６５】
一般に、マクロは全てのデータ上でやみくもに実行するわけではない。第１に、インタプリタ１９８０が、データと対比してチェックされなければならない「資格（ｑｕａｌｉｆｉｅｒ）」をマクロが有しているかどうかをチェックする。ＲＭＭＬドキュメント１０４の＜ｑｕａｌｉｆｉｅｒ＞エレメント１８２６にストリングがある場合、これらのストリングは、＜ｌｉ＿ｃｌａｓｓ＞エレメント９３０または他のエレメントまたはデータの属性におけるストリングと対比してチェックされる。データが資格がある場合、インタプリタ１９８０はマクロの実行を続行することになる。例えばマクロの＜資格＞エレメント１８２６が「ｌｉ＿ｕｎｉｔ＝＝ｃｕｒｒｅｎｃｙ」を特定した場合、マクロは、動作させられるデータのｌｉ＿ｕｎｉｔ属性が通貨である場合にのみ、実行することになる。
【０２６６】
＜ｅｒｒｏｒ＿ｈａｎｄｌｉｎｇ＞エレメント１８２８はエラーメッセージを保持する。このエラーメッセージは、示されたタイプの問題がある場合に、ＲＤＭＬデータビューア１００によって表示することができる。＜ｔｅｓｔｉｎｇ＞エレメント１８３０は自動化されたテストルーティンに関してテストアプリケーションに対する指示を保持する。これらのアプリケーションは限度越えの問題、紛失値の問題、ゼロによる割り算の問題などのチェックのような、基本ユニットテストを行う。
【０２６７】
ＲＭＭＬドキュメント１０４の第３の主なセクション、つまり、＜ｍａｃｒｏ＿ｒｅｆｅｒｅｎｃｅｓ＞エレメント１８０８は、外部マクロと、リファレンスによりマクロ内に組み込むことができるデータセットとに対するリファレンスを保持する。従って２つのサブエレメントは＜ｒｍｍｌｄｏｃｓ＞エレメント１８３２および＜ｄａｔａ＿ｄｏｃｓ＞エレメント１８３４である。
ＩＶ．Ｃ．１．　ＲＭＭＬマクロパッケージ
一般に、ＲＭＭＬマクロパッケージには３つの主要な領域、つまり、ＲＭＭＬドキュメントを取り扱うクラス（図１９Ａ）、グラフィカルインタフェース（図１９Ｂ）およびマクロインタプリタ（図１９Ｃ）がある。本発明の１つの実施形態においては、ソフトウェアクラスのこのようなパッケージは、ＲＤＭＬデータビューア１００に数カ所でしか接続していない。すなわち、このパッケージはチャートマネージャ７１４／チャートデータ７１５オブジェクトからデータを得て、そのグラフィカルコンポーネントをＧＵＩ７３４オブジェクトを介してポストし、一時データ記憶装置７１２内のロードされたＲＤＭＬドキュメント１０２にアクセスすることができる。
ＲＭＭＬドキュメント取り扱い
図１９Ａは、ＲＭＭＬドキュメント取り扱いのプロセス、すなわち、ドキュメントをロードし、ドキュメントから内部マクロオブジェクトを作成し、これらをカタログ化して、これらをキャッシュし、これらをオブジェクトとして使用するために用意するプロセスを管理する責任を有するオブジェクトを示す。ＲＭＭＬＤｏｃリーダ１９１０はＲＭＭＬドキュメント１０４に（ローカルに、またはインターネットを介して）位置し、このＲＭＭＬドキュメントをＸＭＬパーサ７０６（第三者コンポーネントであってよい）に伝え、エラーメッセージがある場合にはこれをＲＤＭＬデータビューア１００に中継し、ＲＭＭＬドキュメント１０４の内部表示を、ＲＭＭＬＤｏｃ１９０６オブジェクトとして作成し、ＲＭＭＬＤｏｃ１９０６に対するリファレンスをＲＭＭＬ＿Ｌｉｂ１９０８に配置する。
【０２６８】
ＲＭＭＬＤｏｃ１９０６は２つの方式、すなわち、ＲＭＭＬＤｏｃ１９０６に到達するためにＴＸドキュメントオブジェクトをラッピングするか、または、ＴＸドキュメントからのデータを有する新しいＲＭＭＬＤｏｃ１９０６オブジェクトを作成することにより構成することができる。
【０２６９】
ＲＭＭＬＤｏｃ１９０６オブジェクトは、マクロパッケージのコンテキストを簡単に理解できるように、ドキュメントの個々のエレメントと属性とにアクセスするための方法を含む。ＲＭＭＬ＿Ｌｉｂ１９０８オブジェクトは、ロードされてアクティブなＲＭＭＬＤｏｃ１９０６オブジェクトのためのキャッシュである。
【０２７０】
ＲＭＭＬＤｏｃ１９０６はマクロに関するデータ−−その数式、そのヘルプテキストなど−−の生集合であり、一般的にはこれらのデータを変換するようにデータセットに作用することはない。マクロの能力は先ず、計算することができる内部オブジェクト（マクロインタフェース７５８）を作成するのに使用されなければならない。この内部マクロオブジェクト７５８は、マクロライブラリ１９２６オブジェクト（アクティブなマクロのためのグラフィカルオブジェクトのキャッシュである）と、マクロファクトリ１９１２（どのタイプの内部マクロを作成すべきかを決定する）とが協働することにより、作成される。
【０２７１】
内部マクロには４つのタイプがある。すなわち時系列（ＴＳ）、カテゴリ（ＣＴ）、ｘｙプロット（ＸＹ）およびオーバレイ（ＯＶＥＲＬＡＹ）である。ｍａｃｒｏ＿ｔｙｐｅ属性は、マクロファクトリ１９１２によって使用され、正しいタイプの内部マクロ、すなわち、それぞれＭａｃｒｏ＿ＴＳＬ１９１８、Ｍａｃｒｏ＿ＣＴ１９２０、Ｍａｃｒｏ＿ＸＹ１９２２およびＭａｃｒｏ＿ＯＶＥＲ１９２４を作成する。マクロアダプタ１９１６クラスはマクロの作業を行う。
【０２７２】
【表９】
2004506955.tif 000011
【０２７３】
本発明の１つの実施例によるマクロアダプタオブジェクト７６０の、表７に示した分類法について以下に詳しく説明する。先ず、ＭａｃｒｏＡｄａｐｔｅｒ（）は、マクロアダプタ７６０オブジェクトを作成するコンストラクタである。マクロが実行される前に、ＭａｃｒｏＡｄａｐｔｅｒ（）は、アンドゥ動作を行うことができるように変換しようとするデータをコピーするチャンスを有する。ｃｒｅａｔｅＭｅｍｅｎｔｏ（）法は、チャートデータオブジェクト７１５をメメントオブジェクトにコピーすることにより、チャート上にプロットされたデータのスナップショットをとる。
【０２７４】
また、マクロが実行される前に、方法ｉｎｉｔＭａｃｒｏ（）が実行され、あらゆる遠隔データまたはマクロコードをロードするチャンスをマクロに与える。ｒｅｐｌａｃｅＶａｒｉａｂｌｅ（）はチャートの複数のシリーズ上でマクロを走行させる。例えば、ｒｅｓｕｌｔ＿ｔｙｐｅが「それぞれを置き換えよ」であり、チャート上にチャート作成されたシリーズが４つある場合、マクロは４回実行されることになる。第一回目には、数式のＡが第１のシリーズを表し、第二回目には、Ａは第２のシリーズを表し、以降同様にしてシリーズを表す。方法ｐｅｒｆｏｒｍ　Ｔｒａｎｓｆｏｒｍａｔｉｏｎ（）は変換ストリングを評価し、種々のタイトルおよびレジェンドを更新する。ｐｅｒｆｏｒｍ　Ｔｒａｎｓｆｏｒｍａｔｉｏｎ（）のコードの重要な部分は、マクロの結果タイプを突き止め、ｅｖａｌｕａｔｅＦｏｒｍｕｌａ（）を正確に呼び出すことである。「それぞれを置き換えよ」に対しては、ｅｖａｌｕａｔｅＦｏｒｍｕｌａ（）はシリーズ毎に一回呼び出されるのに対し、「すべてを置き換えよ」に対しては、唯一回だけしか走行させられない。
【０２７５】
ｐｅｒｆｏｒｍ　Ｔｒａｎｓｆｏｒｍａｔｉｏｎ（）はまた、４つの更新法、つまり、ｕｐｄａｔｅＣｈａｒｔＴｉｔｌｅ（）、ｕｐｄａｔｅＬａｂｅｌｓ（）、ｕｐｄａｔｅＬｅｇｅｎｄ（）およびｕｐｄａｔｅＹＡｘｉｓＴｉｔｌｅ（）を呼び出す。これらの方法のそれぞれは、チャートデータオブジェクト７１５における当該ストリング（チャートタイトル、ラベル、レジェンドおよびＹ軸タイトル）を変更して、これがチャート上に伝えられるようにする。
ＲＭＭＬグラフィカルインタフェース
図１９Ｂは、グラフィカルユーザインタフェース７３４からのイベントを作成し、管理し、かつ取り扱うプロセスを管理する責任を有するオブジェクトを示している。図２０ＡはＲＤＭＬデータビューア１００のスクリーン映像を示す。新しいマクロパネル７３２はスクリーンの下半部に表示されている。下側パネルの左側においては、マクロライブラリパネル１９２６の個々のウィンドウに、利用可能なマクロが表示されている。マクロパネル７３２の右側にはマクロ情報パネル２００２が位置している。マクロ情報パネルは、マクロ記述パネル１９５８とパラメータパネル１９６０とを保持している。
【０２７６】
新しいマクロパネル７３２はクラスのうち、ＪａｖａスウィングセットにおけるＪパネル１９４２のサブクラスであってよい。当業者ならば、他の主なプラットフォームに使用するための適切なクラスを選ぶことができる。新しいマクロパネル７３２の左側には、複数のドキュメントインタフェースのフレームが位置している（この場合、ＪａｖａスウィングセットからのＪインターナルフレームオブジェクトのためのデスクトップである）。開かれたそれぞれのマクロライブラリ１９２６は新しい内部フレームを作成した。この内部フレームは、ユーザが複数のライブラリから同時にマクロを選択することを可能にする。
【０２７７】
マクロライブラリ１９２６が開かれると、このマクロライブラリ内部の全てのマクロがロードされ、登録される。「登録」は、一連の方法であり、マクロの変数はＲＭＭＬＤｏｃ１０４の種々のエレメント内で見出され、これらの変数は、パラメータパネル１９６０内に包含されるように、グラフィカルに表示される。
【０２７８】
マクロのセットと連携する変数の全てのためのグラフィカルなコンポーネントは、マクロアサンプショングループ（Ｍａｃｒｏ　Ａｓｓｕｍｐｔｉｏｎ　Ｇｒｏｕｐ）１９４４クラスにおいて作成される。このクラスはファクトリ法を有している。このファクトリ法は、ＲＭＭＬＤｏｃ１０４によって報告された変数の属性（変数名、変数値、ｇｕｉタイプ、デフォルト値など）を検査し、適切なマクロＧＵＩクラス、すなわち、ＭａｃｒｏＧＵＩ＿Ｌｉｓｔ１９５２（図２０Ａ参照）、ＭａｃｒｏＧＵＩ＿ＲａｄｉｏＢｕｔｔｏｎ１９５４（図２０Ｂ参照）、ＭａｃｒｏＧＵＩ＿Ｖｅｃｔｏｒ１９５６（図２０Ｃ参照）またはＭａｃｒｏＧＵＩ＿Ｄｅｆａｕｌｔ１９５０（図２０Ｄ参照）を作成する。これらのグラフィカルなコンポーネントのそれぞれは、スクリーン映像に示したように、パラメータパネル１９６０に異なる態様で現れる。
【０２７９】
マクロライブラリ１９２６によるマクロの登録はまた、それぞれの変数と調和するためのＭ変数１９４６オブジェクトを作成し、利用可能なＭ変数１９４６のキャッシュにマクロを加えることを伴う。これらのＭ変数１９４６オブジェクトは、表現の実際の評価に使用される。登録プロセスはまた、マクロマネージャ１９８０オブジェクトがマクロの走行をトリガするのに使用することのできるイベントのためのソースとして、マクロＧＵＩ１９４８を登録することをも伴う。Ｍ変数１９４６は変数の種々の特性、つまりその値、デフォルトおよびソースをカプセル化する。
【０２８０】
マクロライブラリ１９２６内部フレームをリストするツリービュー７２０において、特定のマクロが選択されると、記述パネル１９５８およびパラメータパネル１９６０はグラフィカルコンポーネントおよびテキストと共に配置される。選択されたマクロは、記述テキストと種々のラベルとマクロＧＵＩ１９４８コンポーネントとを提供する。
ＲＭＭＬインタプリタ
マクロマネージャオブジェクト７３０は、マクロが選択されまたはパラメータが変えられていることを検出して、種々のデータセットと変数とを呼び出させ、評価子オブジェクト１９８４にとって利用可能にさせること、および、チャート作成された（またはツリービュー７２０上で示す）データセットが取得され変換されて、チャート７１６上に再チャート作成されまたはツリービュー上に再リストされるように送り返されることを検出する責務を有する。
【０２８１】
チャートデータ７１５は、目下のチャート７１６（または、マクロのタイプによってはアクティブなツリービュー７２０）からのデータを含む。チャートデータは、このデータを評価子オブジェクト１９８４に対する別の変数として利用可能にし、評価子オブジェクト１９８４の最終結果を得る。
【０２８２】
評価子１９８４はＲＭＭＬドキュメント１０４の＜ｃｏｄｅ＞エレメント１９２０におけるストリング表現を評価するか、または、選択されているマクロからの種々の表現を評価する。表現はトークナイザクラス１９９４によってトークンに入れられる。これらのトークンは、上述のようなＲＭＭＬ表現言語において使用される種々の演算子、変数、リテラル、関数および他の制御記号である。これらのトークンから、数式オブジェクト１９９０が再帰下向き構文によって、構文解析木を形成する。再帰下向き構文は、トークンから形成された数式ノード１９９２オブジェクトから構成される。数式ノード１９９２オブジェクトは、レゾルバオブジェクト、つまり変数レゾルバ１９８６と関数レゾルバ１９８８とを使用して、数式ノード１９９２オブジェクト自体を評価する。これらのレゾルバは評価子オブジェクト１９８４を呼び出して、これらのオブジェクトに、変数または関数の目下の値を与える。例えば、数式ノード１９８２評価プロセスは「Ａ」トークンを有してよい。評価子オブジェクト１９８４は、これがチャート上におけるシリーズＡを意味することを知り、チャート７１６内に現在見出されたデータのベクトル（これはアレイまたは他のデータ構造であってよい）を使用する。数式例外１９９６は関数の処理に関連するエラーを中継する。
【０２８３】
以上、本発明の実施形態について、図示と説明のために述べてきた。これは、すべてを尽くすものではなく、本発明を開示内容だけに限定するものではない。上記教示内容に照らして、種々の変更が可能であり、これらの変更は本発明を実施することから得られる。本発明の範囲は請求の範囲およびそれと同等のものによって規定される。
【０２８４】
【表１０】
2004506955.tif 000012
【０２８５】
【表１１】
2004506955.tif 000013
【０２８６】
【表１２】
2004506955.tif 000014
【０２８７】
【表１３】
2004506955.tif 000015
【０２８８】
【表１４】
2004506955.tif 000016
【０２８９】
【表１５】
2004506955.tif 000017
【０２９０】
【表１６】
2004506955.tif 000018
【０２９１】
【表１７】
2004506955.tif 000019
【０２９２】
【表１８】
2004506955.tif 000020
【０２９３】
【表１９】
2004506955.tif 000021
【０２９４】
【表２０】
2004506955.tif 000022
【０２９５】
【表２１】
2004506955.tif 000023
【０２９６】
【表２２】
2004506955.tif 000024
【０２９７】
【表２３】
2004506955.tif 000025
【０２９８】
【表２４】
2004506955.tif 000026
【０２９９】
【表２５】
2004506955.tif 000027
【０３００】
【表２６】
2004506955.tif 000028
【０３０１】
【表２７】
2004506955.tif 000029
【０３０２】
【表２８】
2004506955.tif 000030
【０３０３】
【表２９】
2004506955.tif 000031
【０３０４】
【表３０】
2004506955.tif 000032
【０３０５】
【表３１】
2004506955.tif 000033
【０３０６】
【表３２】
2004506955.tif 000034
【０３０７】
【表３３】
2004506955.tif 000035
【０３０８】
【表３４】
2004506955.tif 000036
【０３０９】
【表３５】
2004506955.tif 000037
【０３１０】
【表３６】
2004506955.tif 000038
【０３１１】
【表３７】
2004506955.tif 000039
【０３１２】
【表３８】
2004506955.tif 000040
【０３１３】
【表３９】
2004506955.tif 000041
【０３１４】
【表４０】
2004506955.tif 000042
【０３１５】
【表４１】
2004506955.tif 000043
【０３１６】
【表４２】
2004506955.tif 000044
【０３１７】
【表４３】
2004506955.tif 000045
【０３１８】
【表４４】
2004506955.tif 000046
【０３１９】
【表４５】
2004506955.tif 000047
【０３２０】
【表４６】
2004506955.tif 000048
【０３２１】
【表４７】
2004506955.tif 000049
【０３２２】
【表４８】
2004506955.tif 000050
【０３２３】
【表４９】
2004506955.tif 000051
【０３２４】
【表５０】
2004506955.tif 000052
【０３２５】
【表５１】
2004506955.tif 000053
【０３２６】
【表５２】
2004506955.tif 000054
【０３２７】
【表５３】
2004506955.tif 000055
【図面の簡単な説明】
【図１】
本発明の方法およびシステムによる再使用可能データマークアップ言語（ＲＤＭＬ）データビューアとその入力および出力とを示す上位レベルの概略図である。
【図２】
本発明による方法およびシステムと共に使用するのに適しているデータ処理システムを示す図である。
【図３】
図２に示されている様々なＲＤＭＬソフトウェアおよびハードウェアの相互関係を示す説明図である。
【図４】
マークアップタグをデータに付加するための図２および図３に示されているＲＤＭＬフォーマッタの使用を示す図である。
【図５】
図２および図３に示されているＲＤＭＬフォーマッタのデータベース／ドキュメントタブと管理画面とのスクリーンショットを示す図である。
【図６】
図２および図３に示されているＲＤＭＬドキュメントサーバにアクセスする時に行われる諸ステップのフローチャートを示す図である。
【図７Ａ】
図２および図３に示されているＲＤＭＬデータビューアの内部アーキテクチャを示す図である。
【図７Ｂ】
図７Ａに示されている記号の意味のレジェンドを示す図である。
【図８】
本発明の方法およびシステムによるＲＤＭＬをダウンロードし処理し表示する方法において、ＲＤＭＬデータビューアによって行われる諸ステップのフローチャートを示す図である。
【図９】
本発明の方法およびシステムによるＲＤＭＬドキュメントタイプ定義の要素を示す図である。
【図１０】
本発明の方法およびシステムによる、ラインアイテム属性を使用して表示のためにＲＤＭＬドキュメントを自動的に操作するために使用される諸ステップのフローチャートを示す図である。
【図１１】
主データ記憶装置に新たなドキュメントを格納するために図７Ａに示されているｘ値変換器によって行われる諸ステップのフローチャートを示す図である。
【図１２Ａ】
本発明の方法およびシステムによるＸ−Ｙプロットとツリービューとを示す図である。
【図１２Ｂ】
本発明の方法およびシステムによるＸ−Ｙプロットとツリービューとを示す図である。
【図１２Ｃ】
本発明の方法およびシステムによるＸ−Ｙプロットとツリービューとを示す図である。
【図１３】
図７Ａに示すとおりのＲＤＭＬデータビューアの一次データ記憶装置を示す。
【図１４Ａ】
本発明の方法およびシステムによる、図７Ａに示す通りのＲＤＭＬデータビューアのチャートビューとツリービューとを示す図である。
【図１４Ｂ】
本発明の方法およびシステムによる、図７Ａに示す通りのＲＤＭＬデータビューアのチャートビューとツリービューとを示す図である。
【図１４Ｃ】
本発明の方法およびシステムによる、図７Ａに示す通りのＲＤＭＬデータビューアのチャートビューとツリービューとを示す図である。
【図１４Ｄ】
本発明の方法およびシステムによる、図７Ａに示す通りのＲＤＭＬデータビューアのチャートビューとツリービューとを示す図である。
【図１４Ｅ】
本発明の方法およびシステムによる、図７Ａに示す通りのＲＤＭＬデータビューアのチャートビューとツリービューとを示す図である。
【図１４Ｆ】
本発明の方法およびシステムによる、図７Ａに示す通りのＲＤＭＬデータビューアのチャートビューとツリービューとを示す図である。
【図１５Ａ】
本発明の方法およびシステムによる、ツリービューにおけるラインアイテムの選択時にチャートビューにラインアイテムを追加するために、グラフィカルユーザインタフェースとチャートマネージャとチャートデータオブジェクトとによって行われる諸ステップのフローチャートを示す図である。
【図１５Ｂ】
本発明の方法およびシステムによる、ツリービューにおけるラインアイテムの選択時にチャートビューにラインアイテムを追加するために、グラフィカルユーザインタフェースとチャートマネージャとチャートデータオブジェクトとによって行われる諸ステップのフローチャートを示す図である。
【図１５Ｃ】
本発明の方法およびシステムによる、ツリービューにおけるラインアイテムの選択時にチャートビューにラインアイテムを追加するために、グラフィカルユーザインタフェースとチャートマネージャとチャートデータオブジェクトとによって行われる諸ステップのフローチャートを示す図である。
【図１６】
本発明の方法およびシステムによる、データビューアのスプレッドシートビューとチャートビューとを示す図である。
【図１７】
本発明の方法およびシステムによるデータビューアの脚注ビューとチャートビューとを示す図である。
【図１８】
本発明による再使用可能マクロマークアップ言語（ＲＭＭＬ）ドキュメントタイプ定義の要素を示す図である。
【図１９Ａ】
本発明によるＲＭＭＬドキュメント処理とＲＭＭＬグラフィカルインタフェースとＲＭＭＬマクロインタプリタとをそれぞれに示す図である。
【図１９Ｂ】
本発明によるＲＭＭＬドキュメント処理とＲＭＭＬグラフィカルインタフェースとＲＭＭＬマクロインタプリタとをそれぞれに示す図である。
【図１９Ｃ】
本発明によるＲＭＭＬドキュメント処理とＲＭＭＬグラフィカルインタフェースとＲＭＭＬマクロインタプリタとをそれぞれに示す図である。
【図２０Ａ】
本発明によるＲＭＭＬマクロパネルのスクリーンショットを示す図である。
【図２０Ｂ】
本発明によるＲＭＭＬマクロパネルのスクリーンショットを示す図である。
【図２０Ｃ】
本発明によるＲＭＭＬマクロパネルのスクリーンショットを示す図である。
【図２０Ｄ】
本発明によるＲＭＭＬマクロパネルのスクリーンショットを示す図である。
【図２１】
本発明によるスプレッドシートからの情報にタグ付けする方法で使用される諸ステップを示すフローチャートを示す図である。
【図２２Ａ】
本発明に従ってドキュメントを生成するためのスプレッドシート情報タグ付けのタグ付けの一例としてのスクリーンショットを示す。
【図２２Ｂ】
本発明に従ってドキュメントを生成するためのスプレッドシート情報タグ付けのタグ付けの一例としてのスクリーンショットを示す。
【図２２Ｃ】
本発明に従ってドキュメントを生成するためのスプレッドシート情報タグ付けのタグ付けの一例としてのスクリーンショットを示す。
【図２２Ｄ】
本発明に従ってドキュメントを生成するためのスプレッドシート情報タグ付けのタグ付けの一例としてのスクリーンショットを示す。
【図１】
2004506955.tif 000056
【図２】
2004506955.tif 000057
【図３】
2004506955.tif 000058
【図６】
2004506955.tif 000059
【図７Ａ】
2004506955.tif 000060
【図７Ｂ】
2004506955.tif 000061
【図８】
2004506955.tif 000062
【図１０】
2004506955.tif 000063
【図１１】
2004506955.tif 000064
【図１３】
2004506955.tif 000065
【図１５Ａ】
2004506955.tif 000066
【図１５Ｂ】
2004506955.tif 000067
【図１５Ｃ】
2004506955.tif 000068
【図１８】
2004506955.tif 000069
【図１９Ａ】
2004506955.tif 000070
【図１９Ｂ】
2004506955.tif 000071
【図１９Ｃ】
2004506955.tif 000072
【図２１】
2004506955.tif 000073
【国際公開パンフレット】
2004506955.tif 000074
2004506955.tif 000075
2004506955.tif 000076
2004506955.tif 000077
2004506955.tif 000078
2004506955.tif 000079
2004506955.tif 000080
2004506955.tif 000081
2004506955.tif 000082
2004506955.tif 000083
2004506955.tif 000084
2004506955.tif 000085
2004506955.tif 000086
2004506955.tif 000087
2004506955.tif 000088
2004506955.tif 000089
2004506955.tif 000090
2004506955.tif 000091
2004506955.tif 000092
2004506955.tif 000093
2004506955.tif 000094
2004506955.tif 000095
2004506955.tif 000096
2004506955.tif 000097
2004506955.tif 000098
2004506955.tif 000099
2004506955.tif 000100
2004506955.tif 000101
2004506955.tif 000102
2004506955.tif 000103
2004506955.tif 000104
2004506955.tif 000105
2004506955.tif 000106
2004506955.tif 000107
2004506955.tif 000108
2004506955.tif 000109
2004506955.tif 000110
2004506955.tif 000111
2004506955.tif 000112
2004506955.tif 000113
2004506955.tif 000114
2004506955.tif 000115
2004506955.tif 000116
2004506955.tif 000117
2004506955.tif 000118
2004506955.tif 000119
2004506955.tif 000120
2004506955.tif 000121
2004506955.tif 000122
2004506955.tif 000123
2004506955.tif 000124
2004506955.tif 000125
2004506955.tif 000126
2004506955.tif 000127
2004506955.tif 000128
2004506955.tif 000129
2004506955.tif 000130
2004506955.tif 000131
2004506955.tif 000132
2004506955.tif 000133
2004506955.tif 000134
2004506955.tif 000135
2004506955.tif 000136
2004506955.tif 000137
2004506955.tif 000138
2004506955.tif 000139
2004506955.tif 000140
2004506955.tif 000141
2004506955.tif 000142
2004506955.tif 000143
2004506955.tif 000144
2004506955.tif 000145
2004506955.tif 000146
2004506955.tif 000147
2004506955.tif 000148
2004506955.tif 000149
2004506955.tif 000150
2004506955.tif 000151
2004506955.tif 000152
2004506955.tif 000153
2004506955.tif 000154
2004506955.tif 000155
2004506955.tif 000156
2004506955.tif 000157
2004506955.tif 000158
2004506955.tif 000159
2004506955.tif 000160
2004506955.tif 000161
2004506955.tif 000162
2004506955.tif 000163
2004506955.tif 000164
2004506955.tif 000165
2004506955.tif 000166
2004506955.tif 000167
2004506955.tif 000168
2004506955.tif 000169
2004506955.tif 000170
2004506955.tif 000171
2004506955.tif 000172
2004506955.tif 000173
2004506955.tif 000174
2004506955.tif 000175
2004506955.tif 000176
2004506955.tif 000177
2004506955.tif 000178
2004506955.tif 000179
2004506955.tif 000180
2004506955.tif 000181
2004506955.tif 000182
2004506955.tif 000183
2004506955.tif 000184
2004506955.tif 000185
2004506955.tif 000186
2004506955.tif 000187
2004506955.tif 000188
2004506955.tif 000189
2004506955.tif 000190
2004506955.tif 000191
2004506955.tif 000192
2004506955.tif 000193
2004506955.tif 000194
2004506955.tif 000195
2004506955.tif 000196
2004506955.tif 000197
2004506955.tif 000198
2004506955.tif 000199
2004506955.tif 000200
2004506955.tif 000201
2004506955.tif 000202
2004506955.tif 000203
2004506955.tif 000204
2004506955.tif 000205
2004506955.tif 000206
2004506955.tif 000207
2004506955.tif 000208
2004506955.tif 000209
2004506955.tif 000210
2004506955.tif 000211
2004506955.tif 000212
2004506955.tif 000213
2004506955.tif 000214
2004506955.tif 000215
2004506955.tif 000216
2004506955.tif 000217
2004506955.tif 000218
2004506955.tif 000219
2004506955.tif 000220
2004506955.tif 000221
2004506955.tif 000222
2004506955.tif 000223
2004506955.tif 000224
2004506955.tif 000225
2004506955.tif 000226
2004506955.tif 000227
2004506955.tif 000228
2004506955.tif 000229
2004506955.tif 000230
2004506955.tif 000231
2004506955.tif 000232
2004506955.tif 000233
2004506955.tif 000234
2004506955.tif 000235
2004506955.tif 000236
2004506955.tif 000237
2004506955.tif 000238
2004506955.tif 000239
2004506955.tif 000240
2004506955.tif 000241
2004506955.tif 000242
2004506955.tif 000243
2004506955.tif 000244
2004506955.tif 000245
2004506955.tif 000246
2004506955.tif 000247
2004506955.tif 000248
2004506955.tif 000249
2004506955.tif 000250
2004506955.tif 000251
2004506955.tif 000252
2004506955.tif 000253
2004506955.tif 000254
2004506955.tif 000255
2004506955.tif 000256
2004506955.tif 000257
2004506955.tif 000258
2004506955.tif 000259
2004506955.tif 000260
2004506955.tif 000261
2004506955.tif 000262
2004506955.tif 000263
2004506955.tif 000264
2004506955.tif 000265
2004506955.tif 000266
2004506955.tif 000267
2004506955.tif 000268
2004506955.tif 000269
2004506955.tif 000270
2004506955.tif 000271
2004506955.tif 000272
2004506955.tif 000273
2004506955.tif 000274
2004506955.tif 000275
2004506955.tif 000276
2004506955.tif 000277
2004506955.tif 000278
2004506955.tif 000279
2004506955.tif 000280
2004506955.tif 000281
2004506955.tif 000282
2004506955.tif 000283
2004506955.tif 000284
2004506955.tif 000285
2004506955.tif 000286
2004506955.tif 000287
2004506955.tif 000288
2004506955.tif 000289
2004506955.tif 000290
2004506955.tif 000291
2004506955.tif 000292
2004506955.tif 000293
2004506955.tif 000294
2004506955.tif 000295
2004506955.tif 000296
2004506955.tif 000297
2004506955.tif 000298
2004506955.tif 000299
2004506955.tif 000300
2004506955.tif 000301
2004506955.tif 000302
2004506955.tif 000303
2004506955.tif 000304
2004506955.tif 000305
2004506955.tif 000306
2004506955.tif 000307
2004506955.tif 000308
2004506955.tif 000309
2004506955.tif 000310
2004506955.tif 000311
2004506955.tif 000312
2004506955.tif 000313
2004506955.tif 000314
2004506955.tif 000315
2004506955.tif 000316
2004506955.tif 000317
2004506955.tif 000318
2004506955.tif 000319
2004506955.tif 000320
2004506955.tif 000321
2004506955.tif 000322
2004506955.tif 000323
2004506955.tif 000324
2004506955.tif 000325
2004506955.tif 000326
【国際公開パンフレット（コレクトバージョン）】
2004506955.tif 000327
2004506955.tif 000328
2004506955.tif 000329
2004506955.tif 000330
2004506955.tif 000331
2004506955.tif 000332
2004506955.tif 000333
2004506955.tif 000334
2004506955.tif 000335
2004506955.tif 000336
2004506955.tif 000337
2004506955.tif 000338
2004506955.tif 000339
2004506955.tif 000340
2004506955.tif 000341
2004506955.tif 000342
2004506955.tif 000343
2004506955.tif 000344
2004506955.tif 000345
2004506955.tif 000346
2004506955.tif 000347
2004506955.tif 000348
2004506955.tif 000349
2004506955.tif 000350
2004506955.tif 000351
2004506955.tif 000352
2004506955.tif 000353
2004506955.tif 000354
2004506955.tif 000355
2004506955.tif 000356
2004506955.tif 000357
2004506955.tif 000358
2004506955.tif 000359
2004506955.tif 000360
2004506955.tif 000361
2004506955.tif 000362
2004506955.tif 000363
2004506955.tif 000364
2004506955.tif 000365
2004506955.tif 000366
2004506955.tif 000367
2004506955.tif 000368
2004506955.tif 000369
2004506955.tif 000370
2004506955.tif 000371
2004506955.tif 000372
2004506955.tif 000373
2004506955.tif 000374
2004506955.tif 000375
2004506955.tif 000376
2004506955.tif 000377
2004506955.tif 000378
2004506955.tif 000379
2004506955.tif 000380
2004506955.tif 000381
2004506955.tif 000382
2004506955.tif 000383
2004506955.tif 000384
2004506955.tif 000385
2004506955.tif 000386
2004506955.tif 000387
2004506955.tif 000388
2004506955.tif 000389
2004506955.tif 000390
2004506955.tif 000391
2004506955.tif 000392
2004506955.tif 000393
2004506955.tif 000394
2004506955.tif 000395
2004506955.tif 000396
2004506955.tif 000397
2004506955.tif 000398
2004506955.tif 000399
2004506955.tif 000400
2004506955.tif 000401
2004506955.tif 000402
2004506955.tif 000403
2004506955.tif 000404
2004506955.tif 000405
2004506955.tif 000406
2004506955.tif 000407
2004506955.tif 000408
2004506955.tif 000409
2004506955.tif 000410
2004506955.tif 000411
2004506955.tif 000412
2004506955.tif 000413
2004506955.tif 000414
2004506955.tif 000415
2004506955.tif 000416
2004506955.tif 000417
2004506955.tif 000418
2004506955.tif 000419
2004506955.tif 000420
2004506955.tif 000421
2004506955.tif 000422
2004506955.tif 000423
2004506955.tif 000424
2004506955.tif 000425
2004506955.tif 000426
2004506955.tif 000427
2004506955.tif 000428
2004506955.tif 000429
2004506955.tif 000430
2004506955.tif 000431
2004506955.tif 000432
2004506955.tif 000433
2004506955.tif 000434
2004506955.tif 000435
2004506955.tif 000436
2004506955.tif 000437
2004506955.tif 000438
2004506955.tif 000439
2004506955.tif 000440
2004506955.tif 000441
2004506955.tif 000442
2004506955.tif 000443
2004506955.tif 000444
2004506955.tif 000445
2004506955.tif 000446
2004506955.tif 000447
2004506955.tif 000448
2004506955.tif 000449
2004506955.tif 000450
2004506955.tif 000451
2004506955.tif 000452
2004506955.tif 000453
2004506955.tif 000454
2004506955.tif 000455
2004506955.tif 000456
2004506955.tif 000457
2004506955.tif 000458
2004506955.tif 000459
2004506955.tif 000460
2004506955.tif 000461
2004506955.tif 000462
2004506955.tif 000463
2004506955.tif 000464
2004506955.tif 000465
2004506955.tif 000466
2004506955.tif 000467
2004506955.tif 000468
2004506955.tif 000469
2004506955.tif 000470
2004506955.tif 000471
2004506955.tif 000472
2004506955.tif 000473
2004506955.tif 000474
2004506955.tif 000475
2004506955.tif 000476
2004506955.tif 000477
2004506955.tif 000478
2004506955.tif 000479
2004506955.tif 000480
2004506955.tif 000481
2004506955.tif 000482
2004506955.tif 000483
2004506955.tif 000484
2004506955.tif 000485
2004506955.tif 000486
2004506955.tif 000487
2004506955.tif 000488
2004506955.tif 000489
2004506955.tif 000490
2004506955.tif 000491
2004506955.tif 000492
2004506955.tif 000493
2004506955.tif 000494
2004506955.tif 000495
2004506955.tif 000496
2004506955.tif 000497
2004506955.tif 000498
2004506955.tif 000499
2004506955.tif 000500
2004506955.tif 000501
2004506955.tif 000502
2004506955.tif 000503
2004506955.tif 000504
2004506955.tif 000505
2004506955.tif 000506
2004506955.tif 000507
2004506955.tif 000508
2004506955.tif 000509
2004506955.tif 000510
2004506955.tif 000511
2004506955.tif 000512
2004506955.tif 000513
2004506955.tif 000514
2004506955.tif 000515
2004506955.tif 000516
2004506955.tif 000517
2004506955.tif 000518
2004506955.tif 000519
2004506955.tif 000520
2004506955.tif 000521
2004506955.tif 000522
2004506955.tif 000523