(57)【要約】本発明は、矛盾無く構造化されたデータモデルを提供しないＸＭＬベースの文法に対してフォーマットデータを提供するシステム及び方法を開示する。とくに、開示されたシステム及び方法は、ＸＢＲＬコンテンツのフォーマットを提供するフォーマットリンクベースを実現する。【選択図】図２
2008539487.tif 000002
【特許請求の範囲】
【請求項１】
ＸＢＲＬインスタンス文書をレンダリングするために、プロセッサにより実行される方法であって、
関連付けられたスキーマの要素記述に則して少なくとも１つのインスタンスファクトを記述したＸＢＲＬインスタンス文書を読むステップと、
前記要素記述を含む前記関連付けられたスキーマを読むステップと、
前記関連付けられたスキーマの前記要素記述と前記要素記述に則したファクトをレンダリングするためのフォーマットプロパティとの間のリンクを含むフォーマットリンクベースを読むステップと、
少なくとも１つのファクトを記述する前記要素記述にリンクされたフォーマットプロパティにしたがって、少なくとも１つのインスタンスファクトをレンダリングするステップと、
を含むことを特徴とする方法。
【請求項２】
構造化されたデータセットに対してフォーマット情報を適用するために、プロセッサにより実行される方法であって、
関連付けられたスキーマの要素により規定されるように構造化された少なくとも１つのインスタンスファクトを記述したインスタンス文書を取得するステップと、
１以上の要素のコンテキストを記述した関連付けられたスキーマを取得するステップと、
前記１以上の要素の少なくとも１つに対して関連付けられたフォーマットプロパティのセットを有するフォーマット定義文書を取得するステップと、
前記少なくとも１つのインスタンスファクトの構造を規定する要素に関連付けられたフォーマットプロパティに基づいて、前記少なくとも１つのインスタンスファクトの表現をレンダリングするステップと、
を含むことを特徴とする方法。
【請求項３】
前記レンダリングするステップは、情報をレンダリングすることにより出力文書ファイルを生成するステップを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記文書ファイルは、アドビＰＤＦ、マイクロソフトワード文書、アスキー、ＣＳＶ、及びパワーポイント文書のうちいずれか１つのファイルフォーマットであることを特徴とする請求項３に記載の方法。
【請求項５】
前記レンダリングするステップは、表示装置へデータを出力するステップを含むことを特徴とする請求項２に記載の方法。
【請求項６】
前記レンダリングするステップは、プリンタへデータを出力するステップを含むことを特徴とする請求項２に記載の方法。
【請求項７】
スキーマに関連付けられたインスタンス文書及びフォーマット定義文書は、ＸＭＬで記述されることを特徴とする請求項２に記載の方法。
【請求項８】
スキーマに関連付けられたインスタンス文書及びフォーマット定義文書は、ＸＢＲＬで記述されることを特徴とする請求項２に記載の方法。
【請求項９】
前記インスタンス文書は、ＸＢＲＬタプルにおける散文的内容のフォーマットを記述することを特徴とする請求項２に記載の方法。
【請求項１０】
ＸＢＲＬスキーマに対してフォーマット情報を適用するために、プロセッサにより実行される方法であって、
複数の要素を含むＸＢＲＬベースのスキーマを定義するステップと、
１以上の前記要素のフォーマット特性を記述するために、前記ＸＢＲＬスキーマにフォーマット文書をリンクするステップと、
フォーマットを適用する目的のために、前記要素に関連付けられたメタデータを識別するために前記ＸＢＲＬスキーマに関連付けられた１以上のリンクベースに前記フォーマット文書をリンクするステップと、を含み、
前記フォーマット文書は、前記スキーマからオブジェクトモデルへ要素をグループ化するレポート定義を含むことを特徴とする方法。
【請求項１１】
前記１以上のリンクベースは、ラベルリンクベースを含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記１以上のリンクベースは、表示リンクベースを含むことを特徴とする請求項１０に記載の方法。
【請求項１３】
マークアップ言語で記述された文書をレンダリングするために、プロセッサにより実行される方法であって、
データを含む要素を取得するために文書をパースするステップと、
データを含む前記要素を処理するために前記文書に関連付けられたスキーマをパースするステップと、
前記文書の要素のフォーマットを定義するために前記スキーマに関連付けられたフォーマットリンクベースをパースするステップと、
前記文書の１以上の前記要素を含むレポートのレイアウトを決定するためにレポート生成文書をパースするステップと、
前記文書の前記要素から、前記レポート生成文書により決定され、前記データを含むレイアウトをレンダリングするステップと、
を含むことを特徴とする方法。
【請求項１４】
前記レポート生成文書は、前記レポートのレイアウトを変更するために修正されることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記レポート生成文書は、前記フォーマットリンクベースにより定義された要素のフォーマットの一部を書き換えることを特徴とする請求項１３に記載の方法。
【請求項１６】
ＸＢＲＬインスタンス文書をレンダリングするためのプログラムであって、
関連付けられたスキーマの要素記述に則して少なくとも１つのインスタンスファクトを記述したＸＢＲＬインスタンス文書を読むステップと、
前記要素記述を含む前記関連付けられたスキーマを読むステップと、
前記関連付けられたスキーマの前記要素記述と前記要素記述に則したファクトをレンダリングするためのフォーマットプロパティとの間のリンクを含むフォーマットリンクベースを読むステップと、
少なくとも１つのファクトを記述する前記要素記述にリンクされたフォーマットプロパティにしたがって、少なくとも１つのインスタンスファクトをレンダリングするステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１７】
構造化されたデータセットに対してフォーマット情報を適用するためのプログラムであって、
関連付けられたスキーマの要素により規定されるように構造化された少なくとも１つのインスタンスファクトを記述したインスタンス文書を取得するステップと、
１以上の要素のコンテキストを記述した関連付けられたスキーマを取得するステップと、
前記１以上の要素の少なくとも１つに対して関連付けられたフォーマットプロパティのセットを有するフォーマット定義文書を取得するステップと、
前記少なくとも１つのインスタンスファクトの構造を規定する要素に関連付けられたフォーマットプロパティに基づいて、前記少なくとも１つのインスタンスファクトの表現をレンダリングするステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１８】
前記レンダリングするステップは、情報をレンダリングすることにより出力文書ファイルを生成するステップを含むことを特徴とする請求項１７に記載のプログラム。
【請求項１９】
前記文書ファイルは、アドビＰＤＦ、マイクロソフトワード文書、アスキー、ＣＳＶ、及びパワーポイント文書のうちいずれか１つのファイルフォーマットであることを特徴とする請求項１８に記載のプログラム。
【請求項２０】
前記レンダリングするステップは、表示装置へデータを出力するステップを含むことを特徴とする請求項１７に記載のプログラム。
【請求項２１】
前記レンダリングするステップは、プリンタへデータを出力するステップを含むことを特徴とする請求項１７に記載のプログラム。
【請求項２２】
スキーマに関連付けられたインスタンス文書及びフォーマット定義文書は、ＸＭＬで記述されることを特徴とする請求項１７に記載のプログラム。
【請求項２３】
スキーマに関連付けられたインスタンス文書及びフォーマット定義文書は、ＸＢＲＬで記述されることを特徴とする請求項１７に記載のプログラム。
【請求項２４】
前記インスタンス文書は、ＸＢＲＬタプルにおける散文的内容のフォーマットを記述することを特徴とする請求項１７に記載のプログラム。
【請求項２５】
ＸＢＲＬスキーマに対してフォーマット情報を適用するためのプログラムであって、
複数の要素を含むＸＢＲＬベースのスキーマを定義するステップと、
１以上の前記要素のフォーマット特性を記述するために、前記ＸＢＲＬスキーマにフォーマット文書をリンクするステップと、
フォーマットを適用する目的のために、前記要素に関連付けられたメタデータを識別するために前記ＸＢＲＬスキーマに関連付けられた１以上のリンクベースに前記フォーマット文書をリンクするステップと、コンピュータに実行させ、
前記フォーマット文書は、前記スキーマからオブジェクトモデルへ要素をグループ化するレポート定義を含むことを特徴とするプログラム。
【請求項２６】
前記１以上のリンクベースは、ラベルリンクベースを含むことを特徴とする請求項２５に記載のプログラム。
【請求項２７】
前記１以上のリンクベースは、表示リンクベースを含むことを特徴とする請求項２５に記載のプログラム。
【請求項２８】
マークアップ言語で記述された文書をレンダリングするためのプログラムであって、
データを含む要素を取得するために文書をパースするステップと、
データを含む前記要素を処理するために前記文書に関連付けられたスキーマをパースするステップと、
前記文書の要素のフォーマットを定義するために前記スキーマに関連付けられたフォーマットリンクベースをパースするステップと、
前記文書の１以上の前記要素を含むレポートのレイアウトを決定するためにレポート生成文書をパースするステップと、
前記文書の前記要素から、前記レポート生成文書により決定され、前記データを含むレイアウトをレンダリングするステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項２９】
前記レポート生成文書は、前記レポートのレイアウトを変更するために修正されることを特徴とする請求項２８に記載のプログラム。
【請求項３０】
前記レポート生成文書は、前記フォーマットリンクベースにより定義された要素のフォーマットの一部を書き換えることを特徴とする請求項２８に記載のプログラム。
【請求項３１】
ＸＢＲＬインスタンス文書をレンダリングするための装置であって、
プロセッサと、
前記プロセッサに接続されて通信する、プログラム命令を含むメモリと、
前記プロセッサにネットワークアクセスを提供するために前記プロセッサに接続されるネットワークインタフェースと、を備え、
前記プロセッサは、前記メモリに含まれるプログラム命令を実行し、
前記プログラム命令は、
関連付けられたスキーマの要素記述に則して少なくとも１つのインスタンスファクトを記述したＸＢＲＬインスタンス文書を読むステップと、
前記要素記述を含む前記関連付けられたスキーマを読むステップと、
前記関連付けられたスキーマの前記要素記述と前記要素記述に則したファクトをレンダリングするためのフォーマットプロパティとの間のリンクを含むフォーマットリンクベースを読むステップと、
少なくとも１つのファクトを記述する前記要素記述にリンクされたフォーマットプロパティにしたがって、少なくとも１つのインスタンスファクトをレンダリングするステップと、
を含むことを特徴とする装置。
【請求項３２】
構造化されたデータセットに対してフォーマット情報を適用するための装置であって、
プロセッサと、
前記プロセッサに接続されて通信する、プログラム命令を含むメモリと、
前記プロセッサにネットワークアクセスを提供するために前記プロセッサに接続されるネットワークインタフェースと、を備え、
前記プロセッサは、前記メモリに含まれるプログラム命令を実行し、
前記プログラム命令は、
関連付けられたスキーマの要素により規定されるように構造化された少なくとも１つのインスタンスファクトを記述したインスタンス文書を取得するステップと、
１以上の要素のコンテキストを記述した関連付けられたスキーマを取得するステップと、
前記１以上の要素の少なくとも１つに対して関連付けられたフォーマットプロパティのセットを有するフォーマット定義文書を取得するステップと、
前記少なくとも１つのインスタンスファクトの構造を規定する要素に関連付けられたフォーマットプロパティに基づいて、前記少なくとも１つのインスタンスファクトの表現をレンダリングするステップと、
を含むことを特徴とする装置。
【請求項３３】
前記レンダリングするステップは、情報をレンダリングすることにより出力文書ファイルを生成するステップを含むことを特徴とする請求項３２に記載の装置。
【請求項３４】
前記文書ファイルは、アドビＰＤＦ、マイクロソフトワード文書、アスキー、ＣＳＶ、及びパワーポイント文書のうちいずれか１つのファイルフォーマットであることを特徴とする請求項３３に記載の装置。
【請求項３５】
前記レンダリングするステップは、表示装置へデータを出力するステップを含むことを特徴とする請求項３２に記載の装置。
【請求項３６】
前記レンダリングするステップは、プリンタへデータを出力するステップを含むことを特徴とする請求項３２に記載の装置。
【請求項３７】
スキーマに関連付けられたインスタンス文書及びフォーマット定義文書は、ＸＭＬで記述されることを特徴とする請求項３２に記載の装置。
【請求項３８】
スキーマに関連付けられたインスタンス文書及びフォーマット定義文書は、ＸＢＲＬで記述されることを特徴とする請求項３２に記載の装置。
【請求項３９】
前記インスタンス文書は、ＸＢＲＬタプルにおける散文的内容のフォーマットを記述することを特徴とする請求項３２に記載の装置。
【請求項４０】
ＸＢＲＬスキーマに対してフォーマット情報を適用するための装置であって、
プロセッサと、
前記プロセッサに接続されて通信する、プログラム命令を含むメモリと、
前記プロセッサにネットワークアクセスを提供するために前記プロセッサに接続されるネットワークインタフェースと、を備え、
前記プロセッサは、前記メモリに含まれるプログラム命令を実行し、
前記プログラム命令は、
複数の要素を含むＸＢＲＬベースのスキーマを定義するステップと、
１以上の前記要素のフォーマット特性を記述するために、前記ＸＢＲＬスキーマにフォーマット文書をリンクするステップと、
フォーマットを適用する目的のために、前記要素に関連付けられたメタデータを識別するために前記ＸＢＲＬスキーマに関連付けられた１以上のリンクベースに前記フォーマット文書をリンクするステップと、を含み、
前記フォーマット文書は、前記スキーマからオブジェクトモデルへ要素をグループ化するレポート定義を含むことを特徴とする装置。
【請求項４１】
前記１以上のリンクベースは、ラベルリンクベースを含むことを特徴とする請求項４０に記載の装置。
【請求項４２】
前記１以上のリンクベースは、表示リンクベースを含むことを特徴とする請求項４０に記載の装置。
【請求項４３】
マークアップ言語で記述された文書をレンダリングするための装置であって、
プロセッサと、
前記プロセッサに接続されて通信する、プログラム命令を含むメモリと、
前記プロセッサにネットワークアクセスを提供するために前記プロセッサに接続されるネットワークインタフェースと、を備え、
前記プロセッサは、前記メモリに含まれるプログラム命令を実行し、
前記プログラム命令は、
データを含む要素を取得するために文書をパースするステップと、
データを含む前記要素を処理するために前記文書に関連付けられたスキーマをパースするステップと、
前記文書の要素のフォーマットを定義するために前記スキーマに関連付けられたフォーマットリンクベースをパースするステップと、
前記文書の１以上の前記要素を含むレポートのレイアウトを決定するためにレポート生成文書をパースするステップと、
前記文書の前記要素から、前記レポート生成文書により決定され、前記データを含むレイアウトをレンダリングするステップと、
を含むことを特徴とする装置。
【請求項４４】
前記レポート生成文書は、前記レポートのレイアウトを変更するために修正されることを特徴とする請求項４３に記載の装置。
【請求項４５】
前記レポート生成文書は、前記フォーマットリンクベースにより定義された要素のフォーマットの一部を書き換えることを特徴とする請求項４３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、米国仮出願（出願番号６０／６７５，２５６）からの優先権を主張し、その内容はここに参照により組み込まれる。
【０００２】
本発明は、概して、ＸＭＬ（Extensible Markup Language）データをレンダリングするための装置、方法、及びシステムに関する。とくに、本開示は、ＸＢＲＬ（Extensible Business Reporting Language）のフォーマットリンクベースの実装について説明する。
【背景技術】
【０００３】
ＸＭＬは、コンピュータシステムにより解釈可能な任意のデータを表現するための特有の言語を生成することを可能とする自由度の高いマークアップ言語である。これは、データの意味を特定するために、基礎をなすデータに付加されるタグを定義することにより完成される。例えば、コンピュータプログラムが「101 Main Street, Springfield, Ma 01101」というテキスト文字列を読み込んでも、一般にはこれが住所であると理解できない。しかしながら、このデータが住所を表現することを識別し、それぞれの住所の構成要素を識別するために、この情報に次のようなＸＭＬを用いたタグを付けることができる。
【０００４】
<address>
<street_number>101</street_number>
<street_name>Main Street</street_name>
<city>Springfield</city>
<state>Ma</state>
<zip_code>01101</zip_code>
</address>
【０００５】
タグは、ＸＭＬベースのソフトウェアが、データの各要素の重要性を識別し、それを適切に使用するために用いられ得る。特定のＸＭＬインスタンス文書における各タグの意味は、インスタンス文書に関連付けられたスキーマにより特定される。
【０００６】
ＸＭＬに基づいたデータ定義言語の一例にＸＢＲＬがある。ＸＢＲＬは、ビジネスレポートのための一般的な目的のマークアップ言語となるように設計され、その使用のためにとくに調整される。ＸＢＲＬは、従来のＸＭＬスキーマに加えて、タクソノミという更なる概念を実装する。
ＸＢＲＬタクソノミは、特定のＸＢＲＬ実装により用いられる概念を定義するためのスキーマと、スキーマにより定義される概念の間の関係を定義する一連のリンクベースを含む。ＸＢＲＬは、５つのタイプのリンクベースを提供する。（１）ラベルリンクベースは、スキーマ中の概念に様々なラベルを付す；（２）リファレンスリンクベースは、スキーマ中の概念に外部の情報ソースを付加する；（３）表示リンクベースは、スキーマ中の概念がいかにネストされ順序付けられるかを定義する；（４）計算リンクベースは、スキーマ中の概念が互いにいかに算術的に関連するかを定義する；（５）定義リンクベースは、概念間の関係及び意味を定義する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＸＭＬの問題は、データに関連するレンダリング又はフォーマットについて何ら定義を必要とすることなく、データを定義することに焦点を当てていることである。ＸＢＲＬインスタンス文書により表現されるデータは、最終的には、株主報告書や政府機関文書などの財務レポート文書にレンダリングされることを想定されていることが多いので、ＸＢＲＬにおいてとくに問題となる。
【０００８】
典型的には、ＸＭＬは、ＸＭＬコンテンツにフォーマットのデータを追加し、ＨＴＭＬなどのレンダリング用のタグをサポートするフォーマットの文書を出力するためのＸＳＬＴ（Extensible Stylesheet Language Transformations）を用いてレンダリング
される。ＸＭＬは、特定のスキーマにより定義された特定の問題ドメインの中で高度に構造化され、予測可能であるため、多くのＸＭＬ実装に対して、ＸＳＬＴは適当な解決である。ＸＳＬＴは、その構造のフォーマットを定義するための一般的なルールを実装するために、その構造をあてにすることができ、コードの生成及び再利用に有利である。例えば、上記の住所のＸＭＬの例において、住所の要素の構成要素間の関係は、かなり固定的に構造化されている。言い換えれば、住所は、いつも同じ関係を持つ同じ要素を有している。したがって、住所の要素をレンダリングするためのフォーマットを定義するＸＳＬＴ変換は、非常に単純に実装でき、ほとんどの住所の要素に広く適用可能である。しかしながら、ＸＳＬＴは、ＸＢＲＬなどのあまり構造化されていないＸＭＬ実装のレンダリングに対して最適な解決を提供しない。ここでは、ＸＳＬＴがあまり構造化されていないＸＭＬベースの言語に用いられるときに生じる問題の例として、ＸＢＲＬが用いられる。
【０００９】
ＸＢＲＬにより定義される概念は、緩く結合したデータの細粒として存在し、上記の住所の例のような典型的なＸＭＬ概念に固有の堅固な概念的関係に必ずしもしたがわない。さらに、ＸＢＲＬはメタデータを格納するためにタクソノミを使用するので、より構造化された典型的なＸＭＬデータには存在していた予測可能な構造から更に外れている。例えば、ＸＢＲＬタクソノミに関連付けられたリンクベースは、特定の使用のために拡張及び無視が可能であり、基礎となるデータについての構造的な仮定を予測不可能としている。ＸＳＬＴベースのソフトウェアは、これらの関連するリンクベース及び基礎となるデータの関係を知らないので、ＸＢＲＬをＸＳＬＴを用いてレンダリングする場合、基礎となるデータについての仮定は、ＸＳＬＴ変換にハードコードされることが多い。例えば、ＸＳＬＴは、データに関連付けられたラベルリンクベースからデータを引き出す代わりに、特定の要素のラベルを明確に定義する。これは、それぞれの変換について重大なカスタマイズとなる。基礎となるタクソノミが変更されるとＸＳＬＴも修正する必要があるので、このような特別なアプローチは、一般性の無い変換コードをもたらす。このような理由から、一連のタクソノミに基づいて一般性のある多目的なＸＳＬＴ変換を記述することは困難である。
【課題を解決するための手段】
【００１０】
これらの問題に対する解決は、ＸＢＲＬスキーマに対するフォーマットを定義するフォーマットリンクベースの実装を通してここに記述される。フォーマットは、関連付けられたスキーマの要素記述に則して少なくとも１つのインスタンスファクトを記述したＸＢＲＬインスタンス文書を読むステップと、前記要素記述を含む前記関連付けられたスキーマを読むステップと、前記関連付けられたスキーマの前記要素記述と前記要素記述に則したファクトをレンダリングするためのフォーマットプロパティとの間のリンクを含むフォーマットリンクベースを読むステップと、少なくとも１つのファクトを記述する前記要素記述にリンクされたフォーマットプロパティにしたがって、少なくとも１つのインスタンスファクトをレンダリングするステップとにより適用可能である。
【００１１】
本発明の別の実施の形態において、フォーマットは、関連付けられたスキーマの要素により規定されるように構造化された少なくとも１つのインスタンスファクトを記述したインスタンス文書を取得するステップと、１以上の要素のコンテキストを記述した関連付けられたスキーマを取得するステップと、前記１以上の要素の少なくとも１つに対して関連付けられたフォーマットプロパティのセットを有するフォーマット定義文書を取得するステップと、前記少なくとも１つのインスタンスファクトの構造を規定する要素に関連付けられたフォーマットプロパティに基づいて、前記少なくとも１つのインスタンスファクトの表現をレンダリングするステップとによりインスタンスデータに適用可能である。
【００１２】
本発明の別の実施の形態において、ＸＢＲＬベースのスキーマは、複数の要素を含むＸＢＲＬベースのスキーマを定義するステップと、１以上の前記要素のフォーマット特性を記述するために、前記ＸＢＲＬスキーマにフォーマット文書をリンクするステップと、フォーマットを適用する目的のために、前記要素に関連付けられたメタデータを識別するために前記ＸＢＲＬスキーマに関連付けられた１以上のリンクベースに前記フォーマット文書をリンクするステップと、前記スキーマからオブジェクトモデルへ要素をグループ化するレポート定義を前記フォーマット文書に含ませるステップとによりフォーマットデータを提供される。
【００１３】
本発明は、データを含む要素を取得するために文書をパースするステップと、データを含む前記要素を処理するために前記文書に関連付けられたスキーマをパースするステップと、前記文書の要素のフォーマットを定義するために前記スキーマに関連付けられたフォーマットリンクベースをパースするステップと、前記文書の１以上の前記要素を含むレポートのレイアウトを決定するためにレポート生成文書をパースするステップと、前記文書の前記要素から、前記レポート生成文書により決定され、前記データを含むレイアウトをレンダリングするステップとにより、マークアップ言語で記述された文書をレンダリングする技術を更に提供する。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明の実施の形態に係るＸＢＲＬタクソノミ１００の構成要素を示す。タクソノミは、関連付けられたスキーマ１０１を含む。スキーマ１０１は、複数のリンクベースにリンクする。典型的なＸＢＲＬタクソノミにおいては、ラベルリンクベース１０２、リファレンスリンクベース１０３、表示リンクベース１０４、計算リンクベース１０５、定義リンクベース１０６が含まれる。タクソノミは、更に、関連付けられたフォーマットリンクベース１０７にリンクする。フォーマットリンクベース１０７は、関連付けられたスキーマ１０１により定義された１以上の要素のフォーマットを定義するＸＭＬ文書により実現される。
【００１５】
図２は、本発明の実施の形態に係るスキーマ２０１、フォーマットリンクベース２０７、インスタンス文書２０８、レポート定義２０９、及びレンダリングされた出力２１０の間の関係を示す。図から分かるように、スキーマ２０１は、資産（Assets）、現金（Cash）、流動投資（Liquid Investments）、売掛債権（Accounts Receivable）、不動産（Property）、のれん代（Goodwill）、総資産（Total Assets）など、様々なビジネス概念を記述する多数の要素を定義する。図示していないが、これらの概念は、種々の要素の関連する態様を列挙する正式なＸＭＬ／ＸＢＲＬの文法を用いてスキーマ文書に記述される。
【００１６】
フォーマットリンクベース２０７は、スキーマ２０１により定義される要素を参照し、それらの要素のそれぞれに対して適切な表示フォーマットを記述する。図２に示したように、要素「Assets」は、１８ポイントの太字フォントでレンダリングされるようフォーマットされている。この例において、要素「Assets」は、レポートにおいて最も重要なカテゴリを表現するので、このようなフォーマットを有するように定義されている。その他の要素は、別の様々なフォーマットの詳細を有している。スキーマに関して、フォーマットリンクベースにより記述されるフォーマットは、後述するように、ＸＭＬベースのタグ付けにより表現される。
【００１７】
フォーマットリンクベースを実現するために用いられる利用可能なフォーマットタグは、１以上のＸＭＬ名前空間により定義される。とくに、フォーマットリンクベースの概念を実現するためのタグを定義するために、１以上の名前空間が提供される。フォーマットリンクベースは、別のＸＭＬ言語から生成された名前空間を含んでもよい。本実施の形態のシステムによるレンダリングは、定義されたタグの内容を表示装置又はプリンタなどへ直接レンダリングにするためにタグを解釈してもよいし、アスキー、ＣＳＶ（Comma Separated Values）、ＨＴＭＬ、マイクロソフト（登録商標）のワード文書、マイクロソフト（登録商標）のパワーポイント文書、又はアドビ（登録商標）のＰＤＦ文書など、別のデータフォーマットの対応するフォーマットタグへ変換するためにタグを解釈してもよい。
【００１８】
フォーマットタグを定義する際に、ＸＳＬ（eXtensible Stylesheet Language）などの既知のフォーマット機構と互換性のあるフォーマットタグを採用するのがとくに有利である。これにより、既存のＸＳＬＴソフトウェア及びＸＳＬＴ開発者の技能を利用することができ、フォーマットリンクベースの実装への移行をより容易にすることができる。
【００１９】
本実施の形態のシステムに係るフォーマットリンクベース２０７の動作を示すために用いられるコードの例を以下に示す。
<linkbase
xmlns = "http://www.xbrl.org/2003/linkbase"
xmlns:xlink = "http://www.w3.org/1999/xlink"
xmlns:fo = "http://www.w3.org/1999/XSL/Format"
xmlns:folink = "http://www.xmetal.com/2005/format-linkbase">
<folink:formatLink
xlink:type="extended"
xlink:role = "http://www.xmetal.com/2005/role/format"
id = "currentAssets">
<loc
xlink:type ="locator"
xlink:href = "schema.xsd# Assets"
xlink:label = "Assets"/>
<folink:formatArc
xlink:type = "arc"
xlink:arcrole = "http://www.xmetal.com/2005/arcrole/xbrl-format"
xlink:from = "schema.xsd# Assets"
xlink:to = "formatting_linkbase.xsd#Assets_format"/>
<folink:format
xlink:type = "resource"
xlink:role = "http://www.xmetal.com/2005/role/format"
xlink:label = "Assets_format">
<folink:properties
fo:font-weight = "bold" fo:font-size = "18pt"/>
</folink:format>
</folink:formatLink>
</linkbase>
【００２０】
「linkbase」タグは、リンクベースを定義するための標準的なＸＢＲＬのルートタグである。「linkbase」タグは、例において用いられる様々な名前空間及びそれに関連付けられた接頭辞の定義をプロパティとして含む。図から分かるように、デフォルト名前空間は「http://www.xbrl.org/2003/linkbase」である。ｘｌｉｎｋ（名前空間接頭辞「xlink」）及びＸＳＬフォーマット（名前空間接頭辞「fo」）の標準的な名前空間も定義されている。これらのそれぞれは、標準的なＸＢＲＬ／ＸＭＬパーサにより実装されている。リンクベースは、更に、フォーマットリンクベース（名前空間接頭辞「folink」）の名前空間も定義する。この名前空間により定義された項目は、本発明にしたがって設計されたパーサにより実装される。
【００２１】
「folink:formatLink」タグは、フォーマットリンクベースに由来するタグであり、フォーマットされるオブジェクトを確立する。このインスタンスにおいては、オブジェクトは、ＩＤ「currentAssets」を持つように定義される。したがって、この「folink:formatLink」タグは、「流動資産」というビジネス概念のオブジェクトモデルを生成し、そのフォーマットを定義する。「folink:formatLink」タグにより生成されるオブジェクトは、ＸＢＲＬ要素に構造を付加する事実のノードセットを生成する。このノードセットは、フォーマットの際にパースされ、トラバースされる。
【００２２】
流動資産オブジェクトの内容は、「loc」タグの使用により特定される。上記の例では、「loc」タグは、スキーマ２０７の「schema.xsd#Assets」要素を「currentAssets」オブジェクトに含まれる要素として特定するために用いられており、後の参照のためにｘｌｉｎｋのラベル「Assets」が設定されている。上記の例は部分的な実例であり、完全な実装においては、「currentAssets」オブジェクトの全ての構成要素が、関連付けられた「loc」タグにより特定され、ラベルが設定される。
【００２３】
「folink:formatArc」タグは、「Assets」要素と、フォーマットリンクベースにより定義された「Assets_format」との間のリンクされた関係を確立する。例から分かるように、「folink:formatArc」タグは、ｘｌｉｎｋのアークの実装である。アークの役割は、「xlink:arcrole」属性により定義されるように、ＸＢＲＬフォーマットを提供することである。この例における「formatArc」タグは、「schema.xsd#Assets」から「formatting_linkbase.xsd#Assets_format」へのリンクを張る。これにより、「Assets」要素のフォーマットが、フォーマットリンクベースにおけるその定義に関連付けられる。
【００２４】
要素に適用される実際のフォーマットは、「folink:format」タグにより定義される。「folink:format」タグは、「Assets」要素に関連付けられたフォーマットを設定する。このフォーマットは、上述した「folink:formatArc」タグにより定義された「Assets_format」ラベルにより識別される。フォーマットの詳細は、「folink:format」のプロパティを定義する「folink:properties」タグにより特定される。この実施例においては、実際のフォーマットタグはＸＳＬに基づいており、既存のＸＳＬに準拠したソフトウェアとの互換性を有する。他のフォーマット識別子が代わりに用いられてもよい。この例では、「Assets」要素のフォントウェイト及びサイズが定義されている。しかし、他の任意のフォーマットスタイルがタグにより定義され、適用されてもよい。
【００２５】
インスタンス文書２０８は、スキーマ２０７により定義された１以上の要素の特定のＸＢＲＬインスタンスデータを含む。この例では、データは、資産が現金１２単位分、流動投資１４単位分、売掛債権８単位分、不動産３２単位分、のれん代２０単位分を含むことを示す。したがって、総資産は８６単位分となる。図は、実際のＸＢＲＬの表記法を用いたデータを示していないが、インスタンス文書は適当なＸＢＲＬにより記述される。
【００２６】
本実施の形態は、文書全体のフォーマットのためのレイアウトを明確に記述するレポート定義文書２０９を含む。この例では、インスタンス文書に記述された組織の資産がチャート２１０に表示される。レポート文書は、記述されたレポートの詳細とその構成要素を決定するために、インスタンス文書２０８とフォーマットリンクベース２０７にリンクする。本発明の一つの実施の形態において、「report」タグは、文書の内容及びフォーマットを定義するためのフレームワークとして機能するために提供される。レポート定義文書２０９は、そのような「report」タグを、レンダリングされた出力２１０を定義するために用いることができる。具体的には、「report」タグは、列の構成や、見出しの配置など、表のレイアウトを定義するＸＳＬスタイルシートを囲む。個々の要素のフォーマットは、フォーマットリンクベースによる定義にしたがって表示される。別の実施の形態においては、フォーマットリンクベースにより定義されたフォーマットを無効にすることができるようにしてもよい。そのような例において、特定の要素に対するフォーマットの定義は、フォーマットリンクベースに定義されるのではなく、レポート定義又は別の文書において別途定義されてもよい。この場合、後者の文書における定義は、フォーマットリンクベースにおいて定義された定義より随意に優先されてもよい。これにより、必要であれば、レンダリングの出力を著者がカスタマイズしたり、再フォーマットしたりすることができる。
【００２７】
「report」タグは、フォーマットリンクベース自身においてスタイルを定義するために用いられてもよい。その場合、フォーマットリンクベースは、貸借対照表、収益表、経費表など、異なる情報の項目のために、複数の「report」定義を有してもよい。これらは、独立してレンダリングされてもよいし、他の文書に組み込まれてもよい。
【００２８】
図３（ａ）は、本発明の実施の形態に係るレンダリングシステムの実施例を示す。とくに、図３（ａ）は、供給されたデータを入力として読み込んで、全体又は一部がレンダリングされた文書を生成するソフトウェア部品である描画部３１１を示す。図３（ａ）の例において、描画部３１１は、レンダリングされたレポート３１０を生成するための入力として、スキーマ３０１、フォーマットリンクベース３０７、レポート定義３０９、及びインスタンス文書３０８を取得する。描画部は、よく知られるように、インスタンス文書により用いられる要素を定義するためにスキーマを用いる。また、スキーマの種々の要素のレンダリングプロパティを定義するためにフォーマットリンクベースを用いる。個々の要素のフォーマットスタイルに加えて、フォーマットリンクベース３０７は、特定の標準的な要素、例えば資産及び負債表のレイアウトのための「report」定義を含んでもよい。レポート定義３０９は、必要なレポート全体のレイアウトを更に記述してもよい。
【００２９】
描画部３１１自体は、様々な形式のアプリケーションプログラムに実装可能である。例えば、描画部は、ユーザの入力をほとんど受けずに予め規定された方法でレポートを生成するバッチプロセッサにより実装されてもよいし、ウェブブラウザなどの文書ビューワにより実装されてもよい。
【００３０】
描画部３１１は、ワードプロセッサ、プレゼンテーションソフトウェア、ページレイアウトプログラム、ウェブパブリッシングソフトウェアなどの文書レイアウトプログラムに実装されてもよい。描画部が文書レイアウトプログラムの一部である、又は文書レイアウトプログラムと協働して動作する場合、基本的又は初期のレンダリングはフォーマットリンクベースにより定義される一方、レポートの全体構造は文書レイアウトプログラムにより操作されてもよい。例えば、フォーマットリンクベースは、組織で承認された組織の企業構造のデータレイアウトを定義してもよい。描画部を用いる文書レイアウトプログラムは、プレスリリース又は株主報告書など、どんな文書が用意されるとしても、既に組織に承認されたスタイルにフォーマットされたデータをインポートして使用してもよい。
このような実施の形態において、文書レイアウトプログラムは、レポートの著者によりレポートのフォーマットを生成するために用いられ、レポートフォーマットは、文書レイアウトプログラムにより提供され修正されうるので、レポートフォーマット３０９は、入力して必ずしも提供されなくてもよい。
【００３１】
フォーマットリンクベース及びその関連付けられたタグの意味を解釈するレンダリングソフトウェアは、プログラムライブラリ、アプリケーションプログラミングインタフェース、又は他のアプリケーションと相互作用するミドルウェアの部品として定義されてもよい。これらの例において、コードは、フォーマットされたＸＢＲＬデータをレンダリングする必要がある任意の種別のプログラムによりアクセス可能であってもよい。
【００３２】
図３（ｂ）は、別の実施例を示す。本実施例では、描画部は、インスタンス文書３０８及びレポートフォーマット３０９とともに、タクソノミ３００全体を入力データとして取得するよう設計される。描画部は、必要とされる個々のリンクベースを利用することができる。本実施例では、スキーマ３０１により記述された様々な要素についての基礎となるメタデータに対して、直接アクセスすることができる。例えば、特定のタクソノミが、ラベルリンクベース３０２により定義された様々な言語におけるラベルを有する場合、描画部は、要求された言語についてのラベルを表示するために、これらのラベルに直接アクセスすることができる。同様に、他の言語における他のメタデータも、文書のレンダリングの質を向上させるために用いることができる。
【００３３】
図３（ｃ）は、タクソノミ３００の全てのメタデータがフォーマットリンクベース３０７にリンクされる実施例を示す。この実施例では、描画部は、最終的な出力をレンダリングするための入力として、フォーマットリンクベース３０７、インスタンス文書３０８、及びレポートフォーマット３０９のみにアクセスすればよい。フォーマットリンクベースは、スキーマ及び関連するリンクベースに存在するメタデータを提供するために、本質的にハードコードされてもよい。
【００３４】
ＸＢＲＬにおける散文的な内容の取り扱いも、フォーマットの定義において重大な問題をもたらす。とくに、ＸＢＲＬのコンテンツモデルは、混合内容の実装を許容していないことが、散文的内容をインラインフォーマットで表現することを困難にしている。株主報告書などの多くのレンダリングされたＸＢＲＬ文書は、相当量の散文的内容を含んでいるので、このことはとくに問題となる。しかしながら、フォーマットリンクベースは、散文的内容を容易に取り扱うためにＸＢＲＬを拡張する機構を提供する。
【００３５】
ＸＢＲＬは、タプルの使用により構造化された概念を定義するための機構を定義しているが、フォーマットリンクベースは、タプルにフォーマット情報をリンクさせることにより、その機構を採用し、拡張する。これにより、現状のＸＢＲＬによりサポートされる単なるプレーンテキストフォーマットよりも大幅にリッチな方法で、散文的内容をフォーマットすることができる。
【００３６】
フォーマットリンクベースは、散文的内容を、ワードやエクセルなどの現代的なオフィスプロセッシングソフトウェアの能力に匹敵する方式で構成し、フォーマットすることが可能であることが期待される。例えば、フォーマットリンクベースは、段落、リスト、見出し、表、などの基本的な文章処理能力を提供する。また、フォーマットリンクベースとともに用いれば、ＸＢＲＬフォーマット中にイタリック体のテキストを表現することができる。
【００３７】
一例において、段落を表現するために「para」というタグが用意される。「para」タグは、ＸＢＲＬタプルを表現する「run」タグを含むことができる。「run」タグは、段落のテキストを、区切られた隣接するセクションのフォーマットタグにリンクさせることができる。このようなタグの使用例を以下に示す。
<para>
<run contextRef = "prose_ex">The quick brown</run>
<bold contextRef = "prose_ex">fox</bold>
<run contextRef = "prose_ex">jumps over the lazy</run>
<italic contextRef = "prose_ex">dog.</italic>
</para>
【００３８】
表、リスト、見出しなどの他の散文的なフォーマット構造のために同様のタグが提供されてもよい。
【００３９】
付録１−５は、フォーマットリンクベースを用いたデータフォーマットの様々な実装例を説明するためのコードの例を提供する。付録１は、タクソノミの概念に対するフォーマットプロパティの連結を説明する。付録２は、レポートに含まれるデータを選択するために用いられるフォーマットリンクベースを示す。付録３は、所定のレポートに対する別のレイアウトを生成する方法を示す。付録４は、散文的内容などのインラインコンテンツのフォーマットを示す。付録５は、１０Ｑレポートを生成するための本発明の態様の使用を示す。
【００４０】
フォーマット制御部
図４は、ブロック図におけるフォーマット制御部４０１の発明の態様を示す。本実施の形態において、フォーマットコントローラ４０１は、単独で、又は他のソフトウェアと協働して、描画部としてＸＢＲＬフォーマット要求を処理する機能を提供してもよい。
【００４１】
人間及び／又は他のシステムであるユーザは、典型的には、情報処理を促進するために情報技術システム（例えば、一般にはコンピュータ）を用いる。他方、コンピュータは、情報を処理するためにプロセッサを用いる。このようなプロセッサの多くは、中央演算ユニット（ＣＰＵ）と呼ばれる。一般的な形式のプロセッサは、マイクロプロセッサと呼ばれる。典型的にはコンピュータのＣＰＵにより実行されるソフトウェアであるコンピュータオペレーティングシステムは、ユーザがコンピュータ情報技術及びリソースにアクセスし、動作させることを可能とし、助成する。情報技術システムで用いられる一般的なリソースは、コンピュータにデータを入出力するための入出力機構、データを保持する記憶装置、情報が処理されるプロセッサを含む。情報技術システムは、後のデータの取得、分析、及び操作のためにデータを収集するために用いられる。データの収集は、一般的に、データベースソフトウェアにより促進される。情報技術システムは、ユーザが様々なシステムコンポーネントにアクセスし、操作することを可能とするインタフェースを提供する。
【００４２】
一例において、フォーマットコントローラ４０１は、ユーザ入力装置４１１から１以上のユーザ、周辺装置４１１、及び／又は通信ネットワーク４０１などの主体と接続及び／又は通信してもよいが、これらに限定されない。
【００４３】
ネットワークは、一般に、クライアント、サーバ、及びグラフトポロジーにおける中間ノードの相互接続及び補間を含むと考えられる。本実施の形態において用いられる「サーバ」という語は、一般に、通信ネットワークを介した遠隔のユーザの要求を処理し、応答するコンピュータ、他の装置、ソフトウェア、又はそれらの組合せを指す。サーバは、要求した「クライアント」に情報を提供する。ここで用いられる「クライアント」という語は、一般に、要求を処理し、実行し、通信ネットワークを介してサーバから任意の応答を取得して処理することが可能なコンピュータ、他の装置、ソフトウェア、又はそれらの組合せを指す。情報及び要求を促進し、処理し、伝達元のユーザから伝達先のユーザへの情報の伝達を促進するコンピュータ、他の装置、ソフトウェア、又はそれらの組合せは、一般に「ノード」と呼ばれる。ネットワークは、一般に、伝達元から伝達先への情報の伝達を促進すると考えられる。伝達元から伝達先への情報の経路を促進する任務がとくに課されたノードは、一般に「ルータ」と呼ばれる。ローカルエリアネットワーク（ＬＡＮ）、ピコネットワーク、ワイドエリアネットワーク（ＷＡＮ）、無線ネットワーク（ＷＬＡＮ）など、多数の形態のネットワークがある。例えば、インターネットは、多数のネットワークの相互接続として一般に受け入れられており、リモートクライアント及びサーバは、相互にアクセス及び補間することができる。
【００４４】
フォーマットコントローラ４０１は、メモリ４２９に接続されたコンピュータシステム化４０２などのコンポーネントを備えた共通のコンピュータシステムに基づいてもよいが、これに限定されない。
【００４５】
コンピュータシステム化
コンピュータシステム化４０２は、クロック４３０、中央演算ユニット（ＣＰＵ）４０３、読み出し専用メモリ（ＲＯＭ）４０６、ランダムアクセスメモリ（ＲＡＭ）４０５、及び／又はインタフェースバス４０７を備える。多くの場合、これらの全ての構成は、システムバス４０４を介して相互接続し、通信するが、必須ではない。コンピュータシステム化は、内部の電源４８６に接続されてもよい。また、暗号プロセッサ４２６がシステムバスに接続されてもよい。システムクロックは、一般に水晶発振器を有し、ベース信号を提供する。クロックは、一般に、システムバスと、コンピュータシステム化に接続された他のコンポーネントのためにベース動作周波数を高く又は低くする様々なクロック周波数逓倍器に接続される。クロック及びコンピュータシステム化の様々なコンポーネントは、システムを通して情報を体系化するための信号を駆動する。このようなコンピュータシステム化を通して情報を体系化するための信号の送受信は、一般に通信と呼ばれる。これらの通信信号は更に送受信されてもよく、返信及び／又は応答信号の原因は、通信ネットワーク、入力装置、他のコンピュータシステム化、周辺装置など、そのコンピュータシステム化を越えて通信されてもよい。もちろん、上記の任意のコンポーネントは、互いに直接接続されてもよいし、ＣＰＵに接続されてもよいし、様々なコンピュータシステムにより実現されるように多数の変形例に組織化されてもよい。
【００４６】
ＣＰＵは、ユーザ及び／又はシステムが生成した要求を実行するためのプログラムモジュールを実行するために適した少なくとも１つの高速なデータプロセッサを備える。ＣＰＵは、ＡＭＤのアスロン、デュロン、及び／又はオプテロン、ＩＢＭ及び／又はモトローラのパワーＰＣ、インテルのセレロン、イタニウム、ペンティアム（登録商標）、ジーオン、及び／又はＸスケールなどのマイクロプロセッサであってもよい。ＣＰＵは、従来のデータ処理技術にしたがって格納されたプログラムコードを実行するために、伝導線を介した信号伝送によりメモリと相互作用する。このような信号伝送は、フォーマットコントローラ内及び様々なインタフェースを越えた通信を促進する。より高速な処理が必要であれば、並列、メインフレーム、及び／又はスーパーコンピュータアーキテクチャが同様に用いられてもよい。また、分散要求により携帯性が必要であれば、小型なＰＤＡが用いられてもよい。
【００４７】
電源
電源４８６は、アルカリ、水素化リチウム、リチウムイオン、ニッケルカドミウム、太陽電池など、小規模な電気回路盤装置に電力を供給するための任意の標準的な形式のものであってもよい。他の形式の交流又は直流電源が用いられてもよい。太陽電池の場合、一例において、ケースに、太陽電池が光エネルギーを捕獲するための開口が設けられてもよい。電源４８６は、フォーマットコントローラの相互接続された少なくとも１つの後述する要素に接続され、全ての後述する要素に電流を供給する。一例において、電源４８６は、システムバス４０４に接続される。他の例において、外部の電源４８６が入出力インタフェース４０８を介した接続を通じて供給される。例えば、ＵＳＢ及び／又はＩＥＥＥ１３９４接続は、接続を介してデータ及び電力の双方を伝送するので、電源として適している。
【００４８】
インタフェースアダプタ
インタフェースバス４０７は、入出力インタフェース４０８、ストレージインタフェース４０９、ネットワークインタフェース４１０など、アダプタカードの形式などの多数のインタフェースアダプタを受け付け、接続し、通信する。暗号プロセッサインタフェース４２７が同様にインタフェースバスに接続されてもよい。インターフェースバスは、インタフェースアダプタ同士又はコンピュータシステム化の他のコンポーネントとの間の通信を提供する。インタフェースアダプタは、互換性のあるインタフェースバスに適合される。インタフェースアダプタは、従来、スロット機構を介してインタフェースバスに接続される。従来のスロット機構は、「Accelerated Graphics Port (AGP)」、カードバス、「(Extended) Industry Standard Architecture ((E)ISA)」、「Micro Channel Architecture (MCA)」、「NuBus」、「Peripheral Component Interconnect (Extended) (PCI(X))」、「PCI Express」、「Personal Computer Memory Card International Association (PCMCIA)」などが用いられてもよい。
【００４９】
ストレージインタフェース４０９は、ストレージデバイス４１４、リムーバブルディスク装置など、任意のストレージデバイスを受け付け、通信し、接続する。ストレージインタフェースは、（ウルトラ）（シリアル）ＡＴＡ（ＰＩ）、（Ｅ）ＩＤＥ、ＩＥＥＥ１３９４、ファイバ・チャネル、ＳＣＳＩ、ＵＳＢなど、任意の接続プロトコルを用いてもよい。
【００５０】
ネットワークインタフェース４１０は、通信ネットワーク４１３を受け付け、通信し、接続する。通信ネットワーク４１３を介して、フォーマットコントローラは、リモートクライアント４３３ｂ（すなわち、ウェブブラウザを備えたコンピュータ）を介してユーザ４３３ａによりアクセス可能である。ネットワークインタフェースは、直接接続、イーサネット（登録商標）（thick、thin、twisted pair 10/100/1000 Base Tなど）トークンリング、「IEEE 802.11a-x」などの無線通信などの通信プロトコルが用いられてもよい。通信ネットワークは、直接接続、インターネット、「Local Area Network (LAN)」、「Metropolitan Area Network (MAN)」、「Operating Missions as Nodes on the Internet (OMNI)」、「secured custom connection」、「Wide Area Network (WAN)」、無線通信（「Wireless Application Protocol (WAP)」、「I-mode」などのプロトコルを用いたもの）などの１つ又は任意の組合せであってもよい。ネットワークインタフェースは、入出力インタフェースの特別な形式であるとみなされてもよい。さらに、複数のネットワークインタフェース４１０が様々な通信ネットワーク４１３のタイプに合わせて用いられてもよい。例えば、ブロードキャスト、マルチキャスト、及び／又はユニキャストネットワークのために複数のネットワークインタフェースが用いられてもよい。
【００５１】
入出力インタフェース
入出力インタフェース４０８は、ユーザ入力装置４１１、周辺装置４１２、暗号プロセッサ装置４２８などを受け付け、通信し、接続してもよい。入出力インタフェースは、「Apple Desktop Bus (ADB)」、「Apple Desktop Connector (ADC)」、アナログ、デジタル、モノラル、ＲＣＡ、ステレオなどの音声、「IEEE 1394a-b」、赤外線、ジョイスティック、キーボード、「midi」、光、「PC AT」、「PS/2」、パラレル、ラジオ、シリアル、ＵＳＢ、「BNC」、同軸、コンポジットデジタル、「Digital Visual Interface (DVI)」、「RCA」、無線アンテナ、「S-Video」、「VGA」などのビデオインタフェース、無線などの接続プロトコルを用いてもよい。一般的な出力装置は、ビデオインタフェースから信号を受け付けるテレビジョンセットである。また、ビデオインタフェースから信号を受け付けるインタフェース（例えば、ＤＶＩ回路及びケーブル）を備えた「Cathode Ray Tube (CRT)」又は「Liquid Crystal Display (LCD)」などのモニタを備えるビデオ表示装置が用いられてもよい。ビデオインタフェースは、コンピュータシステム化により生成された情報を合成し、合成された情報に基づいてビデオメモリフレームにビデオ信号を生成する。一般には、ビデオインタフェースは、ビデオ表示装置インタフェース（例えば、ＲＣＡ合成ビデオケーブルを受け付けるＲＣＡ合成ビデオコネクタやＤＶＩディスプレーケーブルを受け付けるＤＶＹコネクタなど）を受け付けるビデオ接続インタフェースを介して合成ビデオ情報を提供する。
【００５２】
ユーザ入力装置４１１は、カードリーダ、ドングル、指紋読み取り装置、グローブ、グラフィックタブレット、ジョイスティック、キーボード、マウス、リモートコントローラ、網膜読み取り装置、トラックボール、トラックパッドなどであってもよい。
【００５３】
周辺装置４１２は、入出力インタフェース及び／又はネットワークインタフェース、ストレージインタフェースなどにより他の装置と接続し、通信してもよい。周辺装置は、オーディオ装置、カメラ、ドングル（例えば、コピー防止、デジタル署名による安全なトランザクションを保証するため）、外部プロセッサ（追加機能のため）、ゴーグル、マイクロフォン、モニタ、ネットワークインタフェース、プリンタ、スキャナ、ストレージデバイス、ビデオ装置、ビデオ入力、バイザーなどであってもよい。
【００５４】
ユーザ入力装置及び周辺装置が用いられても、フォーマットコントローラは、埋め込みで、専用の、及び／又はモニタの無い（すなわちヘッドレス）装置として実現されてもよい。アクセスは、ネットワークインタフェース接続を介して提供されてもよい。
【００５５】
メモリ
一般的に、プロセッサが情報の蓄積及び／又は取得を行うことが可能な任意の機構及び／又は実装は、メモリ４２９とみなされる。しかしながら、メモリは代替可能な技術及びリソースであるから、多数のメモリが互いに交換して又は協調して使用可能である。フォーマット制御部及び／又はコンピュータシステム化は、様々な形態のメモリ４２９を使用可能である。例えば、コンピュータシステム化は、オンチップＣＰＵメモリ（例えばレジスタ）、ＲＡＭ、ＲＯＭ、及び他の任意のストレージデバイスの機能が、紙パンチテープ又は紙パンチカード機構により提供されるように構成されてもよい。もちろん、この例では、動作速度は非常に遅くなる。典型的な構成においては、メモリ４２９は、ＲＯＭ４０６、ＲＡＭ４０５、及びストレージデバイス４１４を含む。ストレージデバイス４１４は、任意の従来のコンピュータシステムストレージであってもよい。ストレージデバイスは、ドラム、（固定された及び／又は着脱自在な）磁気ディスクドライブ、光磁気ドライブ、光ドライブ（すなわち、ＣＤ ＲＯＭ／ＲＡＭ／Ｒ、ＲＷ、ＤＶＤ Ｒ／ＲＷなど）、及び／又は他の装置を含んでもよい。このように、コンピュータシステム化は、一般にメモリを必要とし、使用する。
【００５６】
モジュールコレクション
メモリ４２９は、オペレーティングシステムモジュール４１５（オペレーティングシステム）、情報サーバモジュール４１６（情報サーバ）、ユーザインタフェースモジュール４１７（ユーザインタフェース）、ウェブブラウザモジュール４１８（ウェブブラウザ）、データベース４１９、暗号サーバモジュール４２０（暗号サーバ）、資産インデックス追跡モジュール４３５など（すなわち、包括してモジュール集合）などのプログラム及び／又はデータベースモジュール及び／又はデータを含む。これらのモジュールは、ストレージデバイス及び／又はインタフェースバスを介してアクセス可能なストレージデバイスに保持されアクセスされる。モジュールコレクション中のモジュールなどの新規なソフトウェアモジュールは、一般に、ローカルストレージデバイス４１４に格納され、周辺装置、ＲＡＭ、通信ネットワークを介してリモートストレージ装置、ＲＯＭ、様々な形態のメモリなどにロードされ保持されてもよい。
【００５７】
オペレーティングシステム
オペレーティングシステムモジュール４１５は、フォーマットコントローラの動作を促進する実行可能なプログラムコードである。一般に、オペレーティングシステムは、入出力インタフェース、ネットワークインタフェース、周辺装置、ストレージデバイスなどのアクセスを促進する。オペレーティングシステムは、アップルのマッキントッシュＯＳＸ（サーバ）、AT&T Plan 9、Be OS、Linux、Unix（登録商標）など、高度にフォールトトレラントで、スケーラブルで、安全なシステムであってもよい。しかしながら、アップルのマッキントッシュＯＳ、Palm OS、マイクロソフトのＤＯＳ、Windows（登録商標）2000/2003/3.1/95/98/CE/Millenium/NT/XP（サーバ）など、より限定的で安全性の低いオペレーティングシステムが用いられてもよい。オペレーティングシステムは、モジュール集合における自身を含む他のモジュールと通信してもよい。オペレーティングシステムは、他のプログラムモジュール、ユーザインタフェースなどと最も頻繁に通信する。例えば、オペレーティングシステムは、プログラムモジュール、システム、ユーザ、及び／又はデータの通信、要求及び／又は応答を含み、通信し、生成し、取得し、及び／又は提供する。オペレーティングシステムは、ＣＰＵで実行されると、通信ネットワーク、データ、入出力インタフェース、周辺装置、プログラムモジュール、メモリ、ユーザ入力装置などと相互作用が可能となる。オペレーティングシステムは、通信ネットワーク４１３を介して、資産インデックス追跡コントローラが他の主体と通信することを可能とする通信プロトコルを提供してもよい。マルチキャスト、ＴＣＰ／ＩＰ、ＵＤＰ、ユニキャストなど、様々な通信プロトコルが、資産インデックス追跡コントローラによる相互作用のための副搬送波の送信機構として用いられてもよい。
【００５８】
情報サーバ
情報サーバモジュール４１６は、ＣＰＵにより実行されるプログラムコードを格納する。情報サーバは、Apache、マイクロソフトのインターネット情報サーバなど、既存のインターネット情報サーバであってもよい。情報サーバは、「Active Server Page (ASP)」、「ActiveX」、「(ANSI) (Objective-) C (++)」、「C#」、「Common Gateway Interface (CGI) scripts」、「Java（登録商標）」、「Java（登録商標）Script」、「Practical Extraction Report Language (PERL)」、「Python」「WebObjects」などの機能を介してプログラムモジュールを実行可能であってもよい。情報サーバは、ＦＴＰ、ＨＴＴＰ、ＨＴＴＰＳ、ＳＳＬなどの安全な通信プロトコルをサポートしてもよい。情報サーバは、他のプログラムモジュールとの相互作用を介して、操作されたウェブページの生成を可能とし、ウェブブラウザに対してウェブページの形式で結果を提供する。ＤＮＳによりＨＴＴＰリクエストの一部が特定の情報サーバに解決されると、その情報サーバは、ＨＴＴＰリクエストの残りに基づいて、フォーマットコントローラの特定の位置の情報へのリクエストを解決する。例えば、「http://123.124.125.126/myInformation.html」のリクエストは、ＤＮＳサーバにより、リクエストのＩＰ部「123.124.125.126」が、そのＩＰアドレスの情報サーバに解決されている。その情報サーバは、ＨＴＴＰリクエストの「/myInformation.html」の部分を更にパースし、「myInformation.html」の情報を含むメモリの位置を解決する。さらに、ポート２１を介したＦＴＰ通信など、様々なポートを介した他の情報提供プロトコルが用いられてもよい。情報サーバは、モジュール集合の自身を含む他のモジュール及び／又は機能と通信してもよい。情報サーバは、フォーマットコントローラ、オペレーティングシステム、他のプログラムモジュール、ユーザインタフェース、ウェブブラウザなどと最も頻繁に通信する。
【００５９】
また、情報サーバは、プログラムモジュール、システム、ユーザ及び／又はデータの通信、要求及び／又は応答を含み、通信し、生成し、取得し、及び／又は提供してもよい。
【００６０】
ユーザインタフェース
コンピュータインタフェースの機能は、いくつかの点で、自動車の操作インタフェースに類似する。ハンドル、ギアシフト、スピードメーターなどの自動車操作インタフェースの要素は、自動車のリソース、機能及びステータスへのアクセス、操作、及び表示を促進する。チェックボックス、カーソル、メニュー、スクローラ及びウィンドウ（一般に包括してウィジェットと呼ばれる）などのコンピュータ相互作用インタフェースの要素は、同様に、出た、コンピュータハードウェア、及びオペレーションシステムのリソース、機能、及びステータスへのアクセス、操作、及び表示を促進する。操作インタフェースは、一般にユーザインタフェースと呼ばれる。アップルのMacintosh Operating System's Aqua、マイクロソフトのWindows（登録商標）XP、又はUnix（登録商標）のX-Windows（登録商標）などのＧＵＩは、ユーザが情報に視覚的にアクセスし、表示するための基礎及び手段を提供する。
【００６１】
ユーザインタフェースモジュール４１７は、ＣＰＵにより実行されるプログラムコードを保持する。ユーザインタフェースは、アップルの「Aqua」などの「Macintosh OS」、マイクロソフトの「Windows（登録商標）(NT/XP)」、「Unix（登録商標）」の「X Windows（登録商標）（KDE、Gnomeなど）」、「mythTV」などのオペレーティングシステム及び／又はオペレーティング環境により提供される従来のＧＵＩであってもよい。ユーザインタフェースは、テキスト又はグラフィック機能を介したプログラムモジュール及び／又はシステム機能の表示、実行、相互作用、操作、及び／又は動作が可能であってもよい。ユーザインタフェースは、ユーザがコンピュータシステムに影響を与え、相互作用し、及び／又は操作するための機能を提供する。ユーザインタフェースは、モジュール集合の自身を含む他のモジュール及び／又は機能と通信してもよい。ユーザインタフェースは、オペレーティングシステム、他のプログラムモジュールなどと最も頻繁に通信する。ユーザインタフェースは、プログラムモジュール、システム、ユーザ、及び／又はデータの通信、要求、及び／又は応答を含み、通信し、生成し、取得し、及び／又は提供する。
【００６２】
ウェブブラウザ
ウェブブラウザモジュール４１８は、ＣＰＵにより実行されるプログラムコードを保持する。ウェブブラウザは、「Microsoft Internet Explorer」又は「Netscape Navigator」など、既知のハイパーテキスト表示アプリケーションであってもよい。安全なウェブ閲覧は、ＨＴＴＰＳ、ＳＳＬなどを用いた１２８ビット（又はそれ以上）の暗号化により提供される。「Java（登録商標）」、「Java（登録商標）Script」、「ActiveX」などの技術により、プログラムモジュールを実行することが可能なウェブブラウザもある。ウェブブラウザなどの情報アクセスツールは、ＰＤＡ、携帯電話、モバイル装置などに搭載されてもよい。ウェブブラウザは、モジュール集合の自身を含む他のモジュールなどと通信してもよい。ウェブブラウザは、情報サーバ、オペレーティングシステム、統合されたプログラムモジュール（例えば、プラグイン）などと、最も頻繁に通信する。例えば、ウェブブラウザは、プログラムモジュール、システム、ユーザ、及び／又はデータの通信、要求、及び／又は応答を含み、通信し、生成し、取得し、及び／又は提供する。もちろん、ウェブブラウザ及び情報サーバの代わりに、両者に類似する機能を実現する統合アプリケーションが開発されてもよい。統合アプリケーションは、同様に、資産インデックス追跡が可能なノードから、ユーザ、ユーザエージェントなどの情報の取得及び提供に影響する。統合アプリケーションは、標準的なウェブブラウザを用いるシステムでは無効とされてもよい。
【００６３】
フォーマットコントローラモジュール
フォーマットコントローラモジュール４３５は、ＣＰＵにより実行されるプログラムコードを保持する。フォーマットコントローラモジュールは、様々な通信ネットワークを介したフォーマットサービスのアクセス、取得、及び提供に影響する。
【００６４】
ノード間で情報のアクセスを可能とするフォーマットコントロールモジュールは、「(ANSI) (Objective-) C (++)」、「Apache modules」、「binary executables」、データベースアダプタ、「Java（登録商標）」、「Java（登録商標）Script」、マッピングツール、手続的オブジェクト指向開発ツール、「PERL」、「Python」、シェルスクリプト、「SQL commands」、「web application server extensions」、「WebObjects」などの標準的な開発ツールを用いることにより開発されてもよい。フォーマットコントローラモジュールは、モジュール集合の自身を含む他のモジュール及び／又は機能と通信してもよい。フォーマットコントローラモジュールは、フォーマットライブラリ、オペレーティングシステム、他のプログラムモジュールなどと最も頻繁に通信する。フォーマットコントローラモジュールは、プログラムモジュール、システム、ユーザ、及び／又はデータの通信、要求、及び／又は応答を含み、通信し、生成し、取得し、及び／又は提供する。
【００６５】
分散フォーマットコントローラモジュール
フォーマットコントローラモジュールの任意の構成及び／又は機能は、開発及び／又は展開を促進するための方法として、任意の数に結合され、統合され、及び／又は分散されてもよい。同様に、モジュール集合も、開発及び／又は展開を促進するための方法として、任意の数に結合されてもよい。これを実現するために、コンポーネントを共通のコードベースとして統合してもよいし、複数のコンポーネントを統合してオンデマンドで動的にロードする機能が設けられてもよい。
【００６６】
モジュール集合は、標準的なデータ処理及び／又は開発技術を通して無数のバリエーションで統合及び／又は分散されてもよい。プログラムモジュール集合の任意のプログラムモジュールの複数のインスタンスは、単一のノードでインスタンス化されてもよいし、負荷分散及び／又はデータ処理技術を通してパフォーマンスを向上させるために、多数のノードにわたってインスタンス化されてもよい。さらに、単一のインスタンスが複数のコントローラ及びストレージデバイス、例えばデータベースに分散されてもよい。協調する全てのプログラムモジュールインスタンス及びコントローラは、標準的なデータ処理通信技術を介して協調してもよい。
【００６７】
フォーマットコントローラの構成は、システム開発のコンテキストに依存する。予算、収容能力、位置、及び／又は基礎となるハードウェアリソースの使用などの要素は、要求及び構成の開発に影響してもよい。構成がより統合され及び／又は集積されたプログラムモジュールになったとしても、より分散された一連のプログラムモジュールになったとして、及び／又は統合され分散された構成の間で組み合わされたとしても、データは通信され、取得され、及び／又は提供されてもよい。プログラムモジュール集合から共通のコードベースに統合されたモジュールのインスタンスは、データを通信し、取得し、及び／又は提供してもよい。これは、データ参照（例えば、ポインタ）、内部メッセージ、オブジェクトインスタンス変数通信、共有メモリ空間、「variable passing」など、アプリケーション内のデータ処理通信技術を介して実現されてもよい。
【００６８】
モジュール集合のコンポーネントは、分離され、区別され、及び／又は互いに外部のものであり、他のモジュール要素とのデータの通信、取得、及び／又は提供は、「Application Program Interfaces (API) information passage」、「(distributed) Component Object Model ((D)COM)」、「(Distributed) Object Linking and Embedding ((D)OLE)」、「Common Object Request Broker Architecture (CORBA)」、処理パイプ、共有ファイルなどのアプリケーション間データ処理通信技術を介して実現されてもよい。アプリケーション間の通信のために分離されたモジュールコンポーネント間で送信されるメッセージ、又は、アプリケーション内の通信のために単一のモジュールのメモリ空間内で送信されるメッセージは、文法の生成及びパースを通じて実現される。文法は、「lex」、「yacc」、「XML」など、モジュール間又はモジュール内での通信メッセージの基礎を形成する文法生成及びパース機能を可能とする標準的な開発ツールを用いることにより開発されてもよい。
【００６９】
本開示の全体（カバーページ、タイトル、見出し、フィールド、背景技術、概要、図面の簡単な説明、詳細な説明、請求項、要約、図面、及びその他を含む）は、特許請求の範囲に記載の発明が実施されうる様々な実施の形態を説明するために示す。開示の利点及び特徴は、実施の形態の単なる代表例であり、網羅的でも排他的でもない。これらは、保護を請求される原理の理解及び教示の補助のためだけに示される。これらは、全ての保護を請求される発明の代表ではない。また、開示の特定の態様がここに議論されてきたのではない。別の実施の形態は、本発明の特定の部分のために示されてなくてもよく、さらに記述されていない部分的に利用可能な別の実施の形態は、これらの実施の形態の棄権とみなされるべきではない。それらの記述されていない多数の実施の形態は、本発明と同じ原理を組み込み、その他は等価である。したがって、他の実施の形態が利用可能であり、機能的、論理的、組織的、構造的、及び／又は位相的な変更が、本開示の範囲及び／又は精神を越えずになされることができる。本開示の全体にわたって、全ての実施例及び／又は実施の形態は、限定的ではないことを意図される。また、ここで議論されたこれらの実施の形態は、スペースと繰り返しを低減する目的でここで議論されなかった実施の形態について推論されるべきではない。例えば、任意のプログラムモジュール（モジュールコレクション）、他のコンポーネント及び／又は図面及び／又は全体に記述された任意の特徴の任意の組合せの論理的及び／又は位相的な構造は、固定的な動作順序及び／又は配置に限定されず、任意の開示された順序は例示であり、全ての等価物は順序にとらず本開示により予期される。さらに、このような特徴はシリアル実行に限られず、開示により予期されるような非同期的に、一斉に、並列に、同時に、及び／又は同期的に実行される任意の数のスレッド、プロセス、サービス、サーバなどであってもよい。これらの特徴のいくつかが同時には両立しない場合、それらは単一の実施の形態に同時に存在しなくてもよい。同様に、ある特徴は、本発明のある形態に適用可能であるが、他の形態には適用不可能である場合もある。さらに、本開示は、現状では保護を請求していない他の発明を含む。出願人は、このような発明の保護を請求し、継続出願、一部継続出願、分割出願などの更なる出願を行うことを含む、これらの現状では保護を請求していない発明の全ての権利を確保する。本開示の利点、実施の形態、実施例、機能、特徴、理論、系統化、構成、位相などの態様は、特許請求の範囲により定義される開示の限定又は特許請求の範囲と等価なものの限定とみなされるべきではない。
【図面の簡単な説明】
【００７０】
【図１】図１は、開示された発明の実施の形態に係るＸＢＲＬタクソノミを示す図である。
【図２】図２は、開示された発明の実施の形態に係るデータ及びフォーマットファイルの関係を示す図である。
【図３（ａ）】図３（ａ）は、開示された発明の実施の形態に係るタクソノミ及び描画部の例を示す図である。
【図３（ｂ）】図３（ｂ）は、開示された発明の実施の形態に係るタクソノミ及び描画部の例を示す図である。
【図３（ｃ）】図３（ｃ）は、開示された発明の実施の形態に係るタクソノミ及び描画部の例を示す図である。
【図４】図４は、本発明の実施の形態に係るコンピュータシステム化を示す。
【図１】
2008539487.tif 000003
【図２】
2008539487.tif 000004
【図３（ａ）】
2008539487.tif 000005
【図３（ｂ）】
2008539487.tif 000006
【図３（ｃ）】
2008539487.tif 000007
【図４】
2008539487.tif 000008
【国際調査報告】
2008539487.tif 000009
2008539487.tif 000010