(57)【特許請求の範囲】
【請求項１】
財務データから表示データを生成するスクリプトを検証するための処理をコンピュータに実行させるための表示情報検証プログラムであって、
前記スクリプトから前記財務データに含まれる数値を加工する演算命令又は前記財務データに含まれる文字列を変換する変換命令を探索する探索ステップと、
前記探索ステップにより検出された前記演算命令又は前記変換命令が前記財務データを改ざんするとみなされる命令であるか否かを判定するデータ改ざん判定ステップと、
をコンピュータに実行させるための表示情報検証プログラム。
【請求項２】
財務データから表示データを生成するスクリプトを検証するための処理をコンピュータに実行させるための表示情報検証プログラムであって、
前記スクリプトに含まれ且つ表示形式を決定する命令に基づき、表示中の特定の箇所におけるデータのデータ項目名を特定する項目名特定ステップと、
前記スクリプトから当該特定の箇所にデータを表示する表示命令を探索する探索ステップと、
前記探索ステップにより検出された前記表示命令と前記項目名特定ステップにより特定された前記データ項目名とに基づき、前記表示命令が表示の改ざんをするとみなされる命令か否か判定する表示改ざん判定ステップと、
をコンピュータに実行させるための表示情報検証プログラム。
【請求項３】
財務データから表示データを生成するスクリプトを検証するための処理をコンピュータに実行させるための表示情報検証プログラムであって、
前記財務データから特定のデータ項目名及び当該特定のデータ項目名に対応するデータを抽出する抽出ステップと、
前記抽出ステップにより抽出された前記特定のデータ項目名に基づき、前記スクリプトから前記特定のデータ項目名に対応するデータを取得し且つ表示する命令を探索する探索ステップと、
前記探索ステップの探索結果から前記財務データが隠蔽されるか否かを判定する隠蔽判定ステップと、
をコンピュータに実行させるための表示情報検証プログラム。
【請求項４】
財務データから表示データを生成するスクリプトを検証するための処理をコンピュータに実行させるための表示情報検証プログラムであって、
前記財務データから特定のデータ項目名及び当該特定のデータ項目名に対応するデータを抽出する抽出ステップと、
前記抽出ステップにより抽出された前記特定のデータ項目名に基づき、前記スクリプトから前記財務データに含まれないデータを表示する命令を探索する探索ステップと、
前記探索ステップの探索結果から前記財務データに含まれないデータが過剰表示されるか否かを判定する過剰判定ステップと、
をコンピュータに実行させるための表示情報検証プログラム。
【請求項５】
財務データに対応する表示データを検証するための処理をコンピュータに実行させるための表示情報検証プログラムであって、
前記財務データから、データ項目名及び当該データ項目名に対応する対応データを抽出し、前記データ項目名と前記対応データとの全ての組み合わせを含む財務データ解析情報を記憶装置に格納する財務データ解析ステップと、
前記表示データに含まれ且つ表示形式を決定する命令に基づき、前記表示データから、データ項目名及び当該データ項目名に対応する対応データを抽出し、前記データ項目名と前記対応データとの全ての組み合わせを含む表示データ解析情報を前記記憶装置に格納する表示データ解析ステップと、
前記記憶装置に格納された前記財務データ解析情報と前記表示データ解析情報とを比較し、データの隠蔽、データの過剰表示、データの改ざん及び表示の改ざんのうち少なくとも１つが前記表示データ内に存在するか否かを判定する表示データ判定ステップと、
をコンピュータに実行させるための表示情報検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、財務データと当該財務データの表示に関する情報とを有する場合において、財務データの表示内容を検証する技術に関する。
【背景技術】
【０００２】
従来、各企業が財務情報を電子データにて金融庁などに提出する場合、Ｅｘｃｅｌ／ＰＤＦ（Portable Document Format）／ＨＴＭＬ（Hyper Text Markup Language）など（以下、まとめて表示データと呼ぶ）の形式で提出していた。また、金融機関が金融監督機関に財務情報を電子データにて提出する場合や企業が融資を受ける際に融資元に財務情報を電子データにて提出する場合も同様である。財務情報では、データそのものだけでなく表示形式も重要な要素であり、例えば有価証券報告書では、データを計算するルールだけでなく、そのデータを表示するときのルールも含めて証券取引法で決められている。しかし、従来の表示データは、表示を目的としたものであり、データの再利用性が悪いというデメリットがある。【０００３】
これに対し、近年では、財務情報の円滑な流通を図るため、ＸＭＬ（eXtensible Markup Language）をベースとしたＸＢＲＬ（eXtensible Business Reporting Language）の仕様がＸＢＲＬ Internationalにより制定され、ＸＢＲＬの仕様に基づいた財務データの利用が銀行などの金融機関を中心に進みつつある。ＸＢＲＬの詳細については、インターネット＜ＵＲＬ：http://www.xbrl-jp.org/＞などを参照のこと。ＸＢＲＬでは、例えば、売上高や営業利益といったデータそのものはインスタンスと呼ばれるファイルに含まれ、例えば、表示構造や表示方法等はタクソノミーと呼ばれるファイルに含まれる。また、例えば、特開２００３−３１６７６５号公報には、財務情報を含むテキスト文書から、インスタンス及びタクソノミーを生成する技術が開示されている。【０００４】
しかし、タクソノミーには表示構造や表示方法がすべて含まれているわけではなく、例えば、有価証券報告書に沿った表示を行うためには、有価証券報告書専用の表示情報や表示方法をタクソノミーに追加する必要がある。さらに、ＸＢＲＬでは、各企業がタクソノミーを拡張することで独自の財務項目を追加できる仕組みを提供しているが、各企業がタクソノミーを独自に拡張した場合、インスタンスとタクソノミーとだけでは各企業の意図通りに表示することが困難な場合もある。【０００５】
これらを解決するために、財務情報を含む財務データを申請する申請者が、表示データを生成するためのスクリプト（例えば、ＸＳＬＴ（XML Stylesheet Language Transformations））又は従来通りの表示データを、財務データと一緒に提出することが考えられる。【０００６】
しかし、財務データと一緒に提出される表示に関する情報（すなわち、スクリプト又は表示データ）には、財務データと整合が取れている保証はないため、例えば、申請者の誤入力等の要因で表示に関する情報に誤りがあると、財務データ内の財務情報と異なる財務情報が表示されることになる。また、例えば、申請者が、公表したくないようなデータを隠蔽したり、業績を良く見せようとデータを改ざんしたりすることも可能である。
【特許文献１】特開２００３−３１６７６５号公報
【非特許文献１】XBRL Japan、[online]、XBRL Japan、[平成１７年１２月２６日検索]、インターネット＜ＵＲＬ：http://www.xbrl-jp.org/＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上で述べたように、表示に関する情報により財務データの表示内容が決定される場合、申請者の誤入力等の要因で財務データ内の財務情報と異なる財務情報が表示され、例えば、一般投資家や銀行などの参照者が、誤りのある財務情報を参照する可能性がある。【０００８】
従って、本発明の目的は、財務データの表示に関する情報により財務データの表示内容が決定される場合に、財務データ内の財務情報と同一の財務情報が表示されるかを確認するための技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明の第１の態様に係る表示情報検証方法は、財務データと当該財務データのためのスクリプトとから財務データの表示データを生成する場合における表示情報検証方法であって、スクリプトから財務データに含まれる数値を加工する演算命令又は財務データに含まれる文字列を変換する変換命令を探索する探索ステップと、探索ステップにより検出された演算命令又は変換命令が財務データを改ざんするとみなされる命令であるか否かを判定するデータ改ざん判定ステップとを含む。【００１０】
このようにすれば、スクリプト内からデータを改ざんするとみなされる命令を検出することができ、データの改ざんを含む表示を避けるようにすることができる。また、例えば、予め内部に格納され且つ使用が許可されている命令（例えば、１００での除算）の情報を用いることで、使用が許可されていない演算命令（例えば、数値を嵩上げする乗算）又は変換命令（例えば、ＸＳＬＴのtranslate）のみを検出することができる。【００１１】
本発明の第２の態様に係る表示情報検証方法は、スクリプトに含まれ且つ表示形式を決定する命令に基づき、表示中の特定の箇所におけるデータのデータ項目名を特定する項目名特定ステップと、スクリプトから当該特定の箇所にデータを表示する表示命令を探索する探索ステップと、探索ステップにより検出された表示命令と項目名特定ステップにより特定されたデータ項目名とに基づき、表示命令が表示の改ざんをするとみなされる命令か否か判定する表示改ざん判定ステップとを含む。【００１２】
このようにすれば、例えば、表中の各位置に表示されるデータ項目を特定することができる。そして、各表示命令（例えば、ＸＳＬＴのxsl:value-of）の内容を基に、データを本来表示すべき箇所に表示しているかを確認すれば、表示の改ざんを含む表示を避けるようにすることができる。【００１３】
本発明の第３の態様に係る表示情報検証方法は、財務データから特定のデータ項目名及び当該特定のデータ項目名に対応するデータを抽出する抽出ステップと、抽出ステップにより抽出された特定のデータ項目名に基づき、スクリプトから特定のデータ項目名に対応するデータを取得し且つ表示する命令を探索する探索ステップと、探索ステップの探索結果から財務データが隠蔽されるか否かを判定する隠蔽判定ステップとを含む。【００１４】
このようにすれば、財務データ内に含まれるが、表示されない隠蔽データを検出することができ、データの隠蔽を含む表示を避けるようにすることができる。【００１５】
本発明の第４の態様に係る表示情報検証方法は、財務データから特定のデータ項目名及び当該特定のデータ項目名に対応するデータを抽出する抽出ステップと、抽出ステップにより抽出された特定のデータ項目名に基づき、スクリプトから財務データに含まれないデータを表示する命令を探索する探索ステップと、探索ステップの探索結果から財務データに含まれないデータが過剰表示されるか否かを判定する過剰判定ステップとを含む。【００１６】
このようにすれば、財務データに含まれない数値や文字列を表示する命令を検出することができ、過剰表示を避けるようにすることができる。また、例えば、予め内部に格納され且つ使用が許可された文字（例えば、円）の情報を用いることで、使用が許可されていない文字（例えば、好業績）を表示する命令のみを検出することができる。【００１７】
本発明の第５の態様に係る表示情報検証方法は、財務データと当該財務データの表示データとを有する場合における表示情報検証方法であって、財務データから、データ項目名及び当該データ項目名に対応する対応データを抽出し、データ項目名と対応データとの全ての組み合わせを含む財務データ解析情報を記憶装置に格納する財務データ解析ステップと、表示データに含まれ且つ表示形式を決定する命令に基づき、表示データから、データ項目名及び当該データ項目名に対応する対応データを抽出し、データ項目名と上記対応データとの全ての組み合わせを含む表示データ解析情報を記憶装置に格納する表示データ解析ステップと、記憶装置に格納された財務データ解析情報と表示データ解析情報とを比較し、データの隠蔽、データの過剰表示、データの改ざん及び表示の改ざんのうち少なくとも１つが表示データ内に存在するか否かを判定する表示データ判定ステップとを含む。
【００１８】
このようにすれば、データの隠蔽、データの過剰表示、データの改ざんのうち少なくとも１つを検出することができ、誤表示を避けるようにすることができる。【００１９】
また、上記表示データ解析ステップが、データ項目名又は対応データに対して表示形式を指定する所定の命令がある場合に、表示データ解析情報におけるデータ項目名と対応データとの組み合わせに関連付けて所定の命令の情報を記憶装置に格納するステップを含み、上記表示データ判定ステップが、記憶装置に格納された所定の命令の情報に基づき、表示の改ざんが表示データ内に存在するか否かを判定するステップを含むようにしてもよい。このようにすれば、表示の改ざんをするとみなされる命令を検出することができ、表示の改ざんを含む表示を避けるようにすることができる。【００２０】
また、上記表示データ判定ステップが、財務データ解析情報のみに含まれる組み合わせがある場合、データの隠蔽があると判定するステップを含むようにしてもよい。このようにすれば、財務データ内に含まれるが、表示されない隠蔽データを検出することができる。【００２１】
また、上記表示データ判定ステップが、表示データ解析情報のみに含まれる組み合わせがある場合、データの過剰表示があると判定するステップを含むようにしてもよい。このようにすれば、財務データに含まれないデータを検出することができる。【００２２】
また、上記表示データ判定ステップが、財務データ解析情報に含まれる第１の組み合わせにおける対応データと、表示データ解析情報に含まれ且つ第１の組み合わせに含まれるデータ項目名と同一のデータ項目名を含む第２の組み合わせにおける対応データとが不一致である場合、データの改ざんがあると判定するステップを含むようにしてもよい。このようにすれば、財務データ内のデータと表示データ内のデータとが同一かどうか確認することができる。【００２３】
また、上記表示データ判定ステップが、表示データ解析情報に含まれる所定の命令の各々を比較する比較ステップと、比較ステップで他のデータ項目名又は他の対応データと異なる書式又は表示形式での表示を生じさせる所定の命令がある場合、表示の改ざんがあると判定するステップを含むようにしてもよい。このようにすれば、例えば、ＨＴＭＬであれば、フォントサイズを小さくするようなfontタグや、表中に表示すべきデータを誤って表外に表示するようなtableタグ（例えば、＜/table＞タグ）を検出することができる。【００２４】
また、データの隠蔽、データの過剰表示、データの改ざん及び表示の改ざんのうち少なくとも１つが存在する場合、表示データ内における隠蔽箇所、過剰箇所、データ改ざん箇所及び表示改ざん箇所のうち存在するものの情報を詐称候補情報として検証結果格納部に格納するステップと、検証結果格納部に格納された詐称候補情報に基づき、表示中における詐称候補の箇所を強調表示するように表示データを更新する表示データ更新ステップとをさらに含むようにしてもよい。このようにすれば、誤表示を参照者に分かるように表示することができる。【００２５】
さらに、上記表示データ更新ステップが、詐称候補情報に基づき、財務データから本来表示すべき正規のデータを抽出し、本来表示すべき正規のデータを強調表示するように表示データを更新するステップを含むようにしてもよい。このようにすれば、参照者が財務データに含まれる財務情報と同一の財務情報を参照することができる。【００２６】
また、本発明の第２又は第５の態様において、上記表示形式を決定する命令が、表又はリストを生成する命令の場合もある。例えば、ＨＴＭＬであれば、ｔａｂｌｅタグ、ｔｒタグ、ｔｈタグ、ｔｄタグに従い、表中の各セルのデータ項目名及び当該データ項目名の対応データを特定したり、抽出したりすることができる。【００２７】
なお、本発明に係る表示情報検証方法をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【図面の簡単な説明】
【００２８】
【図１】図１は、本発明の実施の形態のシステム概要図である。
【図２】図２は、本発明の実施の形態に係る処理フローを示す図である。
【図３】図３は、ＸＢＲＬのインスタンスの一例を示す図である。
【図４】図４は、ＸＢＲＬのタクソノミーの一例を示す図である。
【図５】図５は、ＸＢＲＬのタクソノミーの一例を示す図である。
【図６】図６は、ＸＢＲＬのタクソノミーの一例を示す図である。
【図７】図７は、表示データを生成するＸＳＬＴ形式のスクリプトの一例を示す図である。
【図８】図８は、表示データの表示例を示す図である。
【図９】図９は、検証処理の処理フローを示す図である。
【図１０】図１０は、隠蔽検証処理の処理フローを示す図である。
【図１１】図１１は、隠蔽を含むＸＳＬＴ形式のスクリプトの一例を示す図である。
【図１２】図１２（ａ）は、隠蔽を含む表示データの表示例を示す図である。  図１２（ｂ）は、過剰表示を含む表示データの表示例を示す図である。  図１２（ｃ）は、データ改ざんを含む表示データの表示例を示す図である。  図１２（ｄ）及び（ｅ）は、表示改ざんを含む表示データの表示例を示す図である。
【図１３】図１３は、過剰検証処理の処理フローを示す図である。
【図１４】図１４は、過剰表示を含むＸＳＬＴ形式のスクリプトの一例を示す図である。
【図１５】図１５は、データ改ざん検証処理の処理フローを示す図である。
【図１６】図１６は、データ改ざんを含むＸＳＬＴ形式のスクリプトの一例を示す図である。
【図１７】図１７は、表示改ざん検証処理の処理フローを示す図である。
【図１８】図１８は、表示改ざんを含むＸＳＬＴ形式のスクリプトの一例を示す図である。
【図１９】図１９は、表示改ざんを含むＸＳＬＴ形式のスクリプトの一例を示す図である。
【図２０】図２０は、検証処理の処理フローを示す図である。
【図２１】図２１は、財務データから抽出したデータ項目名及び対応するデータを組み合わせた一例を示す図である。
【図２２】図２２は、ＨＴＭＬ形式の表示データの一例を示す図である。
【図２３】図２３は、表示データから抽出したデータ項目名及び対応するデータを組み合わせた一例を示す図である。
【図２４】図２４は、隠蔽を含むＨＴＭＬ形式の表示データの一例を示す図である。
【図２５】図２５は、表示データから抽出したデータ項目名及び対応するデータを組み合わせた一例を示す図である。
【図２６】図２６は、過剰表示を含むＨＴＭＬ形式の表示データの一例を示す図である。
【図２７】図２７は、表示データから抽出したデータ項目名及び対応するデータを組み合わせた一例を示す図である。
【図２８】図２８は、データ改ざんを含むＨＴＭＬ形式の表示データの一例を示す図である。
【図２９】図２９は、表示データから抽出したデータ項目名及び対応するデータを組み合わせた一例を示す図である。
【図３０】図３０は、表示改ざんを含むＨＴＭＬ形式の表示データの一例を示す図である。
【図３１】図３１は、表示データから抽出したデータ項目名及び対応するデータを組み合わせた一例を示す図である。
【図３２】図３２は、データ比較処理の処理フローを示す図である。
【図３３】図３３は、本発明の実施の形態に係る処理フローを示す図である。
【図３４】図３４（ａ）乃至（ｄ）は、詐称候補箇所を強調表示した表示例を示す図である。
【図３５】図３５は、本発明の実施の形態に係る処理フローを示す図である。
【図３６】図３６は、コンピュータの機能ブロック図である。
【発明を実施するための最良の形態】
【００２９】
図１に本発明の一実施の形態に係るシステム概要図を示す。図１において、ネットワーク１には、財務データ及び表示に関する情報を送信する複数の申請者端末３と、表示データ要求を送信する複数の参照者端末５と、サーバ７とが接続されている。【００３０】
サーバ７は、申請者端末３からの財務データ及び表示に関する情報を受信するデータ受信部７１と、データ受信部７１が受信した財務データを格納する財務データ格納部７２と、データ受信部７１が受信した表示に関する情報と表示データ生成処理部７５が生成した表示データとを格納する表示情報格納部７３と、財務データ格納部７２に格納された財務データと表示情報格納部７３に格納された表示に関する情報とを基に検証処理を行う検証処理部７４と、財務データ格納部７２に格納された財務データと表示情報格納部７３に格納された表示に関する情報とから表示データを生成する表示データ生成処理部７５と、表示データ要求を受信した際に表示情報格納部７３に格納された表示データを参照者端末５に送信する要求受信部７６とを有する。【００３１】
さらに、検証処理部７４は、検証に用いる情報を格納する検証情報ＤＢ７４１と、データの隠蔽を検証する隠蔽検証処理部７４２と、検証情報ＤＢ７４１に格納された情報を参照してデータの過剰表示を検証する過剰検証処理部７４３と、検証情報ＤＢ７４１に格納された情報を参照してデータの改ざんを検証するデータ改ざん検証処理部７４４と、表示の改ざんを検証する表示改ざん検証処理部７４５と、検証情報ＤＢ７４１に格納された情報を参照して表示データを検証する表示データ検証処理部７４６と、検証結果を格納する検証結果格納部７４７と、検証結果格納部７４７に格納された検証結果を申請者端末３に送信する判定部７４８とを有する。【００３２】
次に、図２を用いて図１に示したシステムの全体の処理フローについて説明する。まず、申請者端末３は、例えば、各企業の担当者により操作され、財務データ及び表示に関する情報をサーバ７へ送信する（ステップＳ１）。サーバ７のデータ受信部７１は、財務データ及び表示に関する情報を受信すると、財務データを財務データ格納部７２、表示に関する情報を表示情報格納部７３に格納する（ステップＳ３）。サーバ７の検証処理部７４は、財務データ格納部７２に格納された財務データと表示情報格納部７３に格納された表示に関する情報とを用いて検証処理を行い、検証結果を申請者端末３へ送信する（ステップＳ５）。ステップＳ５の検証処理の詳細については後で述べる。申請者端末３は検証結果を受信すると、検証結果を表示装置に表示する（ステップＳ７）。検証結果がＯＫ以外の場合（ステップＳ１１：Ｎｏルート）、企業の担当者は、表示に関する情報の修正を行い、申請者端末３は、表示に関する情報の修正を受け付ける（ステップＳ１３）。検証結果がＯＫの場合、サーバ７に財務データ及び表示に関する情報が正常に登録されたことになり、処理は終了する（ステップＳ１１：Ｙｅｓルート）。一方、表示に関する情報の修正を受け付けると、申請者端末３は、財務データ及び修正後の表示に関する情報を、再度、サーバ７に送信する（ステップＳ１）。一方、サーバ７は、検証処理の結果がＯＫ以外の場合（ステップＳ９：Ｎｏルート）、申請者端末３から財務データ及び修正後の表示に関する情報を受信すると、再度、検証処理を行う（ステップＳ３及びＳ５）。なお、検証処理で問題が検出された場合には、財務データ及び表示に関する情報を破棄することもある。検証結果がＯＫの場合（ステップＳ９：Ｙｅｓルート）、表示に関する情報がスクリプトか否かを表示データ生成処理部７５が判定する（ステップＳ１５）。表示に関する情報がスクリプトの場合（ステップＳ１５：Ｙｅｓルート）、表示データ生成処理部７５は、財務データ格納部７２に格納された財務データと表示情報格納部７３に格納されたスクリプトとから表示データを生成し、表示情報格納部７３に格納する（ステップＳ１７）。表示に関する情報が表示データの場合、表示データは表示情報格納部７３に格納されているので処理を終了する（ステップＳ１５：Ｎｏルート）。【００３３】
図３乃至６に申請者端末３から受信する財務データの一例を示す。本実施の形態では、財務データはＸＢＲＬの仕様に基づいて作成されたものとする。図３はインスタンスの一例であり、売上高と営業利益とが定義されている。図３において、context要素３０１は「X01」を２００３年、context要素３０２は「X02」を２００４年として定義している。また、データ３０３及びデータ３０５内の「p0:consolidatedResultsOfOperations.sales」は売上高、データ３０４及びデータ３０６内の「p0:consolidatedResultsOfOperations.operatingIncome」は営業利益であることを示す。従って、データ３０３は２００３年の売上高を３００００、データ３０４は２００３年の営業利益を２００００、データ３０５は２００４年の売上高を４００００、データ３０６は２００４年の営業利益を１５０００としてそれぞれ定義している。さらに、図４では会計概念の一覧を定義しており、図５及び図６でそれぞれの会計概念に対するラベルを定義している。例えば、図５内のラベル定義５０１が「p0:consolidatedResultsOfOperations.operatingIncome」を営業利益と対応付けており、図６内のラベル定義６０１が「p0:consolidatedResultsOfOperations.sales」を売上高と対応付けている。【００３４】
また、図３乃至図６に示した財務データの表示データを生成するスクリプトの一例を図７に示す。なお、本実施の形態では、スクリプトはＸＳＬＴで記述され、ＨＴＭＬ形式の表示データを生成するものとする。さらに、図７で示したスクリプトから生成される表示データの表示例を図８に示す。図８では、売上高及び営業利益の行と、２００４及び２００３の列とから構成され、インスタンスで定義された数値を対応するセルにそれぞれ表示している。【００３５】
次に、図９乃至図１９を用いて表示に関する情報がスクリプトの場合の検証処理（ステップＳ５）の詳細について説明する。表示に関する情報が表示データの場合の検証処理の詳細については後で述べる。検証処理部７４は、財務データ格納部７２に格納された財務データと、表示情報格納部７３に格納されたスクリプトとを用いて図９に示すような処理を行う。まず、検証処理部７４内の隠蔽検証処理部７４２が隠蔽検証処理を実施する（ステップＳ２３）。隠蔽検証処理の詳細については図１０を用いて説明する。まず、隠蔽検証処理部７４２は財務データからデータ項目名及び対応するデータを抽出する（ステップＳ３３）。上でも述べたように、財務データ内では、「p0:consolidatedResultsOfOperations.sales」が売上高、「p0:consolidatedResultsOfOperations.operatingIncome」が営業利益、「X01」が２００３年、「X02」が２００４年として定義されている。従って、データ項目名及び対応するデータとして、図３で示した財務データ内のデータ３０３から「売上高、２００３、３００００」が抽出される。次に、抽出したデータ項目名及び対応するデータを取得し且つ表示する命令があるかスクリプト内を探索する（ステップＳ３５）。例えば、ＸＳＬＴでは、xsl:value-ofが表示命令、selectが取得命令に相当するため、xsl:value-of及びselectを含む命令を探索する。そして、検出したxsl:value-of及びselectを含む命令が、２００３年の売上高のデータを取得しているか判定する。具体的には、売上高は「p0:consolidatedResultsOfOperations.sales」、２００３年は「X01」で定義されているため、取得命令に「p0:consolidatedResultsOfOperations.sales」及び「X01」が含まれるか否かで判定する。従って、図７で示したスクリプト内の＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.sales[(@contextRef = 'X01') and (@unitRef = 'U1')]"/＞が２００３年の売上高のデータを取得し且つ表示する命令として検出される。もし、スクリプト内に抽出したデータ項目名及び対応するデータを取得し且つ表示する命令がない場合（ステップＳ３５：Ｎｏルート）、スクリプト内に隠蔽箇所があると判断し、隠蔽箇所の情報（例えば、隠蔽されるデータ項目名及び対応するデータ）を検証結果格納部７４７に格納する（ステップＳ３７）。スクリプト内に抽出したデータ項目名及び対応するデータを取得し且つ表示する命令がある場合（ステップＳ３５：Ｙｅｓルート）、財務データ内に全てのデータ項目名について検証したか判定する（ステップＳ３９）。【００３６】
図３の例では、データ３０４、データ３０５、データ３０６について未検証であるため、ステップＳ３３の処理に戻る（ステップＳ３９：Ｎｏルート）。そして、図１０の処理フローに従い、データ３０４、データ３０５、データ３０６の検証を順番に行う。データ３０４の検証処理では、データ項目名及び対応するデータとして「営業利益、２００３、２００００」が抽出され、図７のスクリプト内の＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.operatingIncome[(@contextRef = 'X01') and (@unitRef = 'U1')]"/＞が抽出したデータ項目名及び対応するデータを取得し且つ表示する命令として検出される。また、データ３０５の検証処理では、データ項目名及び対応するデータとして「売上高、２００４、４００００」が抽出され、図７のスクリプト内の＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.sales[(@contextRef = 'X02') and (@unitRef = 'U1')]"/＞が抽出したデータ項目名及び対応するデータを取得し且つ表示する命令として検出される。また、データ３０６の検証処理では、データ項目名及び対応するデータとして「営業利益、２００４、１５０００」が抽出され、図７のスクリプト内の＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.operatingIncome[(@contextRef = 'X02') and (@unitRef = 'U1')]"/＞が抽出したデータ項目名及び対応するデータを取得し且つ表示する命令として検出される。財務データ内の全てのデータ項目名について検証が完了した場合（ステップＳ３９：Ｙｅｓルート）、隠蔽検証処理を終了して元の処理に戻る。【００３７】
また、図１１にデータを隠蔽するとみなされる命令が存在するスクリプトの一例を示し、図１２（ａ）に図１１のスクリプトで表示データを生成した場合の表示の一例を示す。図７のスクリプトと図１１のスクリプトとを比較すると、図１１のスクリプトには、２００３年及び２００４年の営業利益を取得し且つ表示する命令が存在しない。具体的には、図７の＜tr＞＜td＞営業利益＜/td＞＜td＞＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.operatingIncome[(@contextRef = 'X02') and (@unitRef = 'U1')]"/＞円＜/td＞＜td＞＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.operatingIncome[(@contextRef = 'X01') and (@unitRef = 'U1')]"/＞円＜/td＞＜/tr＞は、図１１のスクリプトには存在しない。従って、図１２（ａ）に示す表示例では、売上高の行のみ表示され、営業利益の行が表示されない。【００３８】
図１０で示すような処理を行えば、財務データ内に含まれるが、表示されないデータを検出することができ、データの隠蔽を含む表示を避けるようにすることができる。【００３９】
図９の処理フローの説明に戻って、検証処理部７４内の過剰検証処理部７４３が過剰検証処理を実施する（ステップＳ２５）。過剰検証処理の詳細については、図１３を用いて説明する。まず、過剰検証処理部７４３は財務データから全てのデータ項目名と対応するデータとを抽出する（ステップＳ４１）。図３の財務データの例では、「売上高、２００３、３００００」、「営業利益、２００３、２００００」、「売上高、２００４、４００００」、「営業利益、２００４、１５０００」の４組が抽出される。この抽出データ以外のデータを表示する過剰表示命令があるかスクリプト内を探索する（ステップＳ４３）。例えば、図７のスクリプトでは、上から順に「2004」、「2003」、「売上高」、「＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.sales[(@contextRef = 'X02') and (@unitRef = 'U1')]"/＞」、「円」、「＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.sales[(@contextRef = 'X01') and (@unitRef = 'U1')]"/＞」、「円」、「営業利益」、「＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.operatingIncome[(@contextRef = 'X02') and (@unitRef = 'U1')]"/＞」、「円」、「＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.operatingIncome[(@contextRef = 'X01') and (@unitRef = 'U1')]"/＞」、「円」を表示するthタグ又はtdタグが存在する。従って、このthタグ又はtdタグの内容が、抽出データの内容であるか否かを判定する。「2004」、「2003」、「売上高」、「営業利益」については、抽出データに含まれる内容である。また、「p0:consolidatedResultsOfOperations.sales」が売上高、「p0:consolidatedResultsOfOperations.operatingIncome」が営業利益、「X01」が２００３年、「X02」が２００４年で定義されているため、「＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.sales[(@contextRef = 'X02') and (@unitRef = 'U1')]"/＞」は２００４年の売上高、「＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.sales[(@contextRef = 'X01') and (@unitRef = 'U1')]"/＞」は２００３年の売上高、「＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.operatingIncome[(@contextRef = 'X02') and (@unitRef = 'U1')]"/＞」は２００４年の営業利益、「＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.operatingIncome[(@contextRef = 'X01') and (@unitRef = 'U1')]"/＞」は２００３年の営業利益の内容となり、抽出データに含まれる内容である。また、「円」については抽出データには含まれないため、「円」を表示するtdタグは過剰表示命令と判定される。過剰表示命令がある場合（ステップＳ４３：Ｙｅｓルート）、過剰表示命令により表示されるデータが許可された内容かどうかを判定する（ステップＳ４５）。許可された内容かどうかは、検証情報ＤＢ７４１に格納された情報に基づき判断する。検証情報ＤＢ７４１には、例えば、「円」や「単位」等の使用が許可される文字が登録されているものとする。逆に、検証情報ＤＢ７４１には、使用不可の文字が登録されていることもある。従って、「円」を表示するtdタグは、使用が許可された内容であるため、過剰表示命令でないと判断され、過剰検証処理を終了して元の処理に戻る（ステップＳ４５：Ｙｅｓルート）。もし、過剰表示命令により表示されるデータが許可されない内容の場合（ステップＳ４５：Ｎｏルート）、スクリプト内に過剰箇所があると判断し、過剰箇所の情報（例えば、過剰表示命���により表示されるデータ項目名及び対応するデータ）を検証結果格納部７４７に格納する（ステップＳ４７）。一方、スクリプト内を検索して、過剰表示命令がない場合（ステップＳ４３：Ｎｏルート）、過剰検証処理を終了して元の処理に戻る。【００４０】
また、図１４に過剰箇所が存在するスクリプトの一例を示し、図１２（ｂ）に図１４のスクリプトで表示データを生成した場合の表示の一例を示す。図７のスクリプトと図１４のスクリプトとを比較すると、図１４のスクリプトにのみ、２００３年及び２００４年の当期純利益を表示するtdタグが存在する。具体的には、図１４の過剰箇所１４０１の＜td＞当期純利益＜/td＞＜td＞13000円＜/td＞＜td＞15000円＜/td＞は、図７のスクリプトには存在しない。従って、図１２（ｂ）に示す表示例では、財務データに存在しない当期純利益の行が表示される。【００４１】
図１３で示すような処理を行えば、財務データに含まれない数値や文字列を表示する命令を検出することができ、過剰表示を避けるようにすることができる。また、例えば、予め内部に格納され且つ使用が許可された文字の情報を用いることで、使用が許可されていない文字を表示する命令のみを検出することができる。【００４２】
図９の処理フローの説明に戻って、検証処理部７４のデータ改ざん検証処理部７４４がデータ改ざん検証処理を実施する（ステップＳ２７）。データ改ざん検証処理の詳細については、図１５を用いて説明する。まず、データ改ざん検証処理部７４４は、財務データに含まれる数値を加工する演算命令又は財務データに含まれる文字列を変換する変換命令があるかスクリプト内を探索する（ステップＳ４９）。演算命令又は変換命令がない場合（ステップＳ４９：Ｎｏルート）、データ改ざん検証処理を終了して元の処理に戻る。一方、演算命令又は変換命令がある場合（ステップＳ４９：Ｙｅｓルート）、使用が許可された演算命令又は変換命令であるかを判定する（ステップＳ５１）。使用が許可された演算命令又は変換命令であるかどうかは、検証情報ＤＢ７４１に格納された情報に基づき判断する。検証情報ＤＢ７４１には、例えば、単位を１００万とするための１００万での除算等、使用が許可される演算が格納される。使用が許可された演算命令又は変換命令であれば、データ改ざん検証処理を終了して元の処理に戻る（ステップＳ５１：Ｙｅｓルート）。使用が許可されない演算命令又は変換命令の場合（ステップＳ５１：Ｎｏルート）、スクリプト内にデータ改ざん箇所があると判断し、データ改ざん箇所の情報（例えば、データ改ざんを含むデータ項目名及び対応するデータ）を検証結果格納部７４７に格納する（ステップＳ５３）。【００４３】
また、図１６にデータ改ざん箇所が存在するスクリプトの一例を示し、図１２（ｃ）に図１６のスクリプトで表示データを生成した場合の表示の一例を示す。図７のスクリプトと図１６のスクリプトとを比較すると、図１６のスクリプトの２００４年の営業利益を表示する命令＜xsl:value-of select="2 * /xbrli:xbrl/p0:consolidatedResultsOfOperations.operatingIncome[(@contextRef = 'X02') and (@unitRef = 'U1')]"/＞において、財務データを加工する演算命令「2 *」が存在する。従って、図１２（ｃ）に示す表示例では、本来１５０００円と表示されるはずの２００４年の営業利益が、３００００円と表示される。【００４４】
図１５で示すような処理を行えば、スクリプト内からデータを改ざんするとされる命令を検出することができ、データの改ざんを含む表示を避けるようにすることができる。また、例えば、予め内部に格納され且つ使用が許可されている命令の情報を用いることで、使用が許可されていない演算命令のみを検出することができる。【００４５】
図９の処理フローの説明に戻って、検証処理部７４の表示改ざん検証処理部７４５が表示改ざん検証処理を実施する（ステップＳ２９）。表示改ざん検証処理については、図１７を用いて説明する。まず、表示改ざん検証処理部７４５は、スクリプトから各列の項目名を取得する（ステップＳ５５）。図７の例では、thタグ（すなわち、＜th＞＜/th＞＜th＞2004＜/th＞＜th＞2003＜/th＞）に基づき、２列目が２００４年、３列目が２００３年であると判断できる。次に、スクリプトから１行分の出力箇所を取得する（ステップＳ５７）。具体的には、＜tr＞タグと＜/tr＞タグとの間にある＜td＞売上高＜/td＞＜td＞＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.sales[(@contextRef = 'X02') and (@unitRef = 'U1')]"/＞円＜/td＞＜td＞＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.sales[(@contextRef = 'X01') and (@unitRef = 'U1')]"/＞円＜/td＞を最初の出力箇所として取得する。次に、出力箇所から該当する行のデータ項目名を抽出し、データ項目名に対応する要素名を特定する（ステップＳ５９）。図７の例では、表構造に従い、出力箇所の最初のtdタグで表示される内容を、該当する行のデータ項目名として抽出する。従って、売上高をデータ項目名として抽出する。また、財務データを参照して売上高に対応する要素名を特定する。上でも述べたように、売上高と対応付けられている要素名は「p0:consolidatedResultsOfOperations.sales」である。次に、出力箇所から表示命令を１つ抽出する（ステップＳ６１）。図７の例では、＜td＞＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.sales[(@contextRef = 'X02') and (@unitRef = 'U1')]"/＞円＜/td＞が抽出される。さらに、抽出した表示命令が表示するデータ項目名を特定する（ステップＳ６３）。これは２列目のデータを表示する表示命令であり、データ項目名は２００４年の売上高と特定する。そして、抽出した表示命令の表示するデータが、２００４年の売上高であるか否かを判定する（ステップＳ６５）。抽出した表示命令の「p0:consolidatedResultsOfOperations.sales」から売上高であることは明らかである。また、図３のインスタンスでは、「X02」を２００４年として定義しており、抽出した表示命令の「(@contextRef = 'X02')」から２００４年のデータであることも明らかである。従って、抽出した表示命令が２００４年の売上高のデータを表示すると判断する。抽出した表示命令の表示するデータが要素名及びデータ項目名の示すデータである場合（ステップＳ６５：Ｙｅｓルート）、出力箇所に含まれる全ての表示命令について検証が完了したか判定する（ステップＳ６９）。未検証の表示命令が存在する場合は、ステップＳ６１の処理に戻る（ステップＳ６９：Ｎｏルート）。【００４６】
続いて、図７の例では、＜td＞＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.sales[(@contextRef = 'X01') and (@unitRef = 'U1')]"/＞円＜/td＞が抽出される。これは３列目のデータを表示する表示命令であり、データ項目名は２００３年の売上高となる。抽出した表示命令の「p0:consolidatedResultsOfOperations.sales」から売上高であることは明らかである。また、図３のインスタンスでは、「X01」を２００３年として定義しており、抽出した表示命令の「(@contextRef = 'X01')」から２００３年のデータであることも明らかである。従って、抽出した表示命令が２００３年の売上高のデータを表示すると判断する。一方、抽出した表示命令の表示するデータが要素名及びデータ項目名の示すデータでない場合（ステップＳ６５：Ｎｏルート）、スクリプト内に表示改ざん箇所があると判断し、表示改ざん箇所の情報（例えば、表示改ざんを含むデータ項目名及び対応するデータ）を検証結果格納部７４７に格納する（ステップＳ６７）。なお、表示命令に書式（例えば、フォントのサイズ、フォントの色等）の指定があり、他のデータと異なる書式で表示する表示命令がある場合、表示改ざんがあるとみなすこともある。出力箇所に含まれる全ての表示命令について検証が完了した場合（ステップＳ６９：Ｙｅｓルート）、全ての行の出力箇所の検証が完了したか判定する（ステップＳ７１）。全ての行の出力箇所の検証が完了した場合、表示改ざん検証処理を終了して元の処理に戻る（ステップＳ７１：Ｙｅｓルート）。【００４７】
図７の例では、未検証の出力箇所があるため、ステップＳ５７の処理に戻り（ステップＳ７１：Ｎｏルート）、次の出力箇所として、＜td＞営業利益＜/td＞＜td＞＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.operatingIncome[(@contextRef = 'X02') and (@unitRef = 'U1')]"/＞円＜/td＞＜td＞＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.operatingIncome[(@contextRef = 'X01') and (@unitRef = 'U1')]"/＞円＜/td＞を取得する。先ほどの処理フローと同様に、営業利益を項目名とし、「p0:consolidatedResultsOfOperations.operatingIncome」を要素名とする。また、出力箇所から＜td＞＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.operatingIncome[(@contextRef = 'X02') and (@unitRef = 'U1')]"/＞円＜/td＞を抽出し、データ項目名を２００４年の営業利益と特定する。抽出した表示命令の「p0:consolidatedResultsOfOperations.operatingIncome」から営業利益、「(@contextRef = 'X02')」から２００４年のデータであることは明らかである。続いて、＜td＞＜xsl:value-of select="/xbrli:xbrl/p0:consolidatedResultsOfOperations.operatingIncome[(@contextRef = 'X01') and (@unitRef = 'U1')]"/＞円＜/td＞を抽出し、データ項目名を２００３年の営業利益と特定する。抽出した表示命令の「p0:consolidatedResultsOfOperations.operatingIncome」から営業利益、「(@contextRef = 'X01')」から２００３年のデータであることは明らかである。【００４８】
また、図１８及び図１９に表示改ざん箇所が存在するスクリプトの一例を示し、図１２（ｄ）に図１８のスクリプトで表示データを生成した場合、図１２（ｅ）に図１９のスクリプトで表示データを生成した場合の表示の一例を示す。図１８のスクリプトでは、営業利益を表示する前に＜/table＞タグがあるため、図１２（ｄ）に示す表示例では営業利益が表外に表示されることになる。また、図１９のスクリプトでは、営業利益の表示命令に＜font color="FFFFFF"＞タグがあり、白で表示されるが、背景色と同色のため、図１２（ｅ）では、データが見えなくなってしまっている。【００４９】
図１７で示すような処理を行えば、表中の各位置に表示されるデータ項目を特定することができ、データを本来表示すべき箇所に表示しているかを確認すれば、表示の改ざんを含む表示を避けるようにすることができる。【００５０】
図９の処理フローの説明に戻って、検証処理部７４の判定部７４８が検証結果格納部７４７に基づき、検証結果を申請者端末３に送信する（ステップＳ３１）。なお、スクリプトに問題がある場合、問題のある箇所を特定する情報（例えば、隠蔽されるデータ項目名及び対応するデータ）を検証結果に含めて送信してもよい。【００５１】
図２０乃至図３２を用いて表示に関する情報が表示データの場合の検証処理の詳細を説明する。検証処理部７４の表示データ検証処理部７４６は、財務データ格納部７２に格納された財務データと、表示情報格納部７３に格納された表示データとを用いて図２０に示すような処理を行う。まず、財務データから、データ項目名及び当該データ項目名の対応データを抽出し、抽出したデータ項目名と対応データとの全てを組み合わせた一覧を記憶装置に格納する（ステップＳ８１）。図２１に、図３の財務データから抽出したデータ項目名及び対応するデータを組み合わせた一覧の一例を示す。図２１の例では、「売上高、２００３、３００００」、「営業利益、２００３、２００００」、「売上高、２００４、４００００」、「営業利益、２００４、１５０００」の４組のデータが抽出される。【００５２】
次に、財務データから抽出したデータ項目名と同一のデータ項目名を表示する表示命令を表示データ内から抽出する（ステップＳ８３）。図２２に、図３の財務データに対する表示データの一例を示す。例えば、財務データからデータ項目名として「売上高」と「営業利益」とが抽出されている場合、まず、図２２の表示データ内の＜td＞売上高＜/td＞を抽出する。【００５３】
次に、抽出した表示命令の属する表示構造を判別する（ステップＳ８５）。図２２の例では、抽出した表示命令（すなわち、＜td＞売上高＜/td＞）は、＜table＞と＜/table＞との間に存在するため、表構造に属すると判断する。【００５４】
次に、表示構造に従い、表示データからデータ項目名の対応データを抽出し、抽出したデータ項目名及び対応するデータを組み合わせた一覧を記憶装置に格納する（ステップＳ８７）。例えば、表構造の場合、thタグ（すなわち、＜th＞＜/th＞＜th＞2004＜/th＞＜th＞2003＜/th＞）から、２列目を２００４年、３列目を２００３年のデータと特定し、売上高の２００４年のデータと２００３年のデータとを表示データから抽出する。図２２の例では、tdタグ（すなわち、＜td＞売上高＜/td＞＜td＞40000円＜/td＞＜td＞30000円＜/td＞）から４００００円（すなわち、２００４年の売上高）、３００００円（すなわち、２００３年の売上高）を抽出し、これらを組み合わせた一覧を記憶装置に格納する。また、データの表示形式を指定する命令（例えば、＜font size＞、＜font color＞）が存在する場合は、表示形式を指定する命令をデータ項目名及び対応するデータの組み合わせに関連付けて記憶装置に格納する。なお、図２２には図示していないが、例えば、tableタグが複数存在する場合は、全てのtableタグを対象に処理が行われる。【００５５】
次に、全ての表示命令について処理が完了したか判定する（ステップＳ８９）。図２１の例では、営業利益の表示命令について未処理であるため、ステップＳ８５に戻る（ステップＳ８９：Ｎｏルート）。営業利益についても同様にステップＳ８５乃至ステップＳ８７の処理を行い、表示データから１５０００円（すなわち、２００４年の営業利益）、２００００円（すなわち、２００３年の営業利益）を抽出し、これらを組み合わせた一覧を記憶装置に格納する。図２３に、図２２の表示データから抽出したデータ項目名及び対応するデータを組み合わせた一覧の一例を示す。図２３の例では、「売上高、２００４、４００００円」、「売上高、２００３、３００００円」、「営業利益、２００４、１５０００円」、「営業利益、２００３、２００００円」の４組のデータを含む。
【００５６】
また、表示データに問題がある場合の例を図２４乃至図３１に示す。図２４は、隠蔽を含む表示データの一例である。図２２の例と比較すると、図２４の例には、営業利益を表示する表示命令（すなわち、＜td＞営業利益＜/td＞＜td＞15000円＜/td＞＜td＞20000円＜/td＞）が存在しない。図２５に、図２４の表示データから抽出したデータ項目名及び対応するデータを組み合わせた一覧の一例を示す。図２５では、「売上高、２００４、４００００円」、「売上高、２００３、３００００円」の２組のデータを含む。【００５７】
図２６は、過剰表示を含む表示データの一例である。図２２の例と比較すると、図２６には、当期純利益を表示する表示命令（すなわち、＜td＞当期純利益＜/td＞＜td＞13000円＜/td＞＜td＞15000円＜/td＞）が存在する。図２７に、図２６の表示データから抽出したデータ項目名及び対応するデータを組み合わせた一覧の一例を示す。図２７では、「売上高、２００４、４００００円」、「売上高、２００３、３００００円」、「営業利益、２００４、１５０００円」、「営業利益、２００３、２００００円」、「当期純利益、２００４、１３０００円」、「当期純利益、２００３、１５０００円」の６組のデータを含む。【００５８】
図２８は、データ改ざんを含む表示データの一例である。図２２の例では、２００４年の営業利益が１５０００円であるのに対し、図２８では、２００４年の営業利益が３００００円になっている。図２９に、図２８の表示データから抽出したデータ項目名及び対応するデータを組み合わせた一覧の一例を示す。図２９では、「売上高、２００４、４００００円」、「売上高、２００３、３００００円」、「営業利益、２００４、３００００円」、「営業利益、２００３、２００００円」の４組のデータを含む。【００５９】
図３０は、表示改ざんを含む表示データの一例である。図２２の例と比較すると、図３０の例には、営業利益にフォントの色を指定する命令（すなわち、＜font color="FFFFFF"＞）が存在する。図３１に、図３０の表示データから抽出したデータ項目名及び対応するデータを組み合わせた一覧の一例を示す。図３１では、「売上高、２００４、４００００円」、「売上高、２００３、３００００円」、「営業利益、２００４、１５０００円、font color="FFFFFF"」、「営業利益、２００３、２００００円、font color="FFFFFF"」の４組のデータを含む。【００６０】
一方、全ての表示命令について処理が完了した場合（ステップＳ８９：Ｙｅｓルート）、表示データ検証処理部７４６はデータ比較処理を行う（ステップＳ９１）。データ比較処理の詳細については、図３２を用いて説明する。まず、財務データから生成した一覧と表示データから生成した一覧とを比較し、財務データから生成した一覧にのみ含まれる組み合わせがあるか否か判定する（ステップＳ９５）。例えば、図２１の一覧（すなわち、財務データから生成した一覧）と図２５の一覧（すなわち、隠蔽を含む表示データから生成した一覧）とを比較した場合、「営業利益、２００３、２００００」と「営業利益、２００４、１５０００」との組み合わせは図２１の一覧にのみ含まれる。このように財務データから生成した一覧にのみ含まれる組み合わせがある場合（ステップＳ９５：Ｙｅｓルート）、表示データ内に隠蔽箇所があると判断し、隠蔽箇所の情報（例えば、隠蔽されるデータ項目名及び対応するデータ）を検証結果格納部７４７に格納する（ステップＳ９７）。
【００６１】
同様に、財務データから生成した一覧と表示データから生成した一覧とを比較し、表示データから生成した一覧にのみ含まれる組み合わせがあるか否か判定する（ステップＳ９９）。例えば、図２１の一覧と図２７の一覧（すなわち、過剰表示を含む表示データから生成した一覧）とを比較した場合、「当期純利益、２００４、１３０００円」と「当期純利益、２００３、１５０００円」との組み合わせは図２７の一覧にのみ含まれる。このように表示データから生成した一覧にのみ含まれる組み合わせがある場合（ステップＳ９９：Ｙｅｓルート）、表示データ内に過剰箇所があると判断し、過剰箇所の情報（例えば、過剰表示のデータ項目名及び対応するデータ）を検証結果格納部７４７に格納する（ステップＳ１０１）。
【００６２】
次に、財務データから生成した一覧に含まれる組み合わせのデータと、表示データから生成した一覧に含まれる組み合わせのデータとを比較し、データが一致するか判定する（ステップＳ１０３）。例えば、図２１の一覧と図２９の一覧（すなわち、データ改ざんを含む表示データから生成した一覧）とを比較した場合、２００４年の営業利益のデータは「１５０００」と「３００００」とで異なっている。このように、データが異なる場合（ステップＳ１０３：Ｙｅｓルート）、表示データ内にデータ改ざん箇所があると判断し、データ改ざん箇所の情報（例えば、データ改ざんのあるデータ項目名及び対応するデータ）を検証結果格納部７４７に格納する（ステップＳ１０５）。【００６３】
さらに、表示データから生成した一覧に含まれる表示形式を指定する命令の各々を比較し、他のデータ項目名及び対応するデータと異なる書式（例えば、フォントのサイズ、フォントの色）又は表示形式（例えば、表外の表示）での表示を生じさせる命令があるか否か判定する（ステップＳ１０７）。例えば、図３１の一覧（すなわち、表示改ざんを含む表示データから生成した一覧）に含まれる表示形式を指定する命令の各々を比較した場合、「font color="FFFFFF"」を含む組み合わせと含まない組み合わせが存在する。このように、他のデータ項目名又は対応するデータと異なる表示形式での表示を生じさせる命令がある場合（ステップＳ１０７：Ｙｅｓルート）、表示改ざん箇所の情報（例えば、表示改ざんのあるデータ項目名及び対応するデータ）を検証結果格納部７４７に格納する（ステップＳ１０９）。【００６４】
図２０の処理フローの説明に戻って、検証処理部７４の判定部７４８が検証結果格納部７４７に基づき、検証結果を申請者端末３に送信する（ステップＳ９３）。なお、表示データに問題がある場合、問題のある箇所を特定する情報（例えば、隠蔽されるデータ項目名及び対応するデータ）を検証結果に含めて送信してもよい。【００６５】
図２０及び図３２に示すような処理を行えば、データの隠蔽、データの過剰表示、データの改ざん、表示の改ざんのうち少なくとも１つを検出することができ、誤表示を避けるようにすることができる。【００６６】
また、図示していないが、申請者端末３が財務データのみをサーバ７に送信する場合もある。この場合、サーバ７のデータ受信部７１は受信した財務データを財務データ格納部７２に格納し、表示データ生成処理部７５が、表示データから適切な表示データを生成し、申請者端末３に送信する。申請者端末３は表示データを受信し、表示装置に表示する。申請者は、表示データに問題がないか確認し、確認結果を申請者端末３に入力する。確認結果を受け付けると申請者端末３は確認結果をサーバ７に送信する。表示データに問題がある場合（例えば、確認結果が「問題あり」）、申請者は表示データを修正し、修正後の表示データを申請者端末３に入力する。修正後の表示データを受け付けると申請者端末３は、財務データ及び修正後の表示データをサーバ７に送信する。一方、サーバ７は、確認結果がＯＫであれば、表示データを表示情報格納部７３に格納する。確認結果が「問題あり」の場合、財務データ及び修正後の表示データを受信すると、表示データの検証処理を行う。検証処理については上で述べた処理と同様であるため、省略する。【００６７】
また、図３３に示すように検証結果を申請者端末３に送信しない場合もある。まず、申請者端末３は、財務データ及び表示に関する情報をサーバ７に送信する（ステップＳ１１１）。サーバ７のデータ受信部７１は、財務データ及び表示に関する情報を受信すると、財務データを財務データ格納部７２、表示に関する情報を表示情報格納部７３に格納する（ステップＳ１１３）。サーバ７の検証処理部７４は、財務データ格納部７２に格納された財務データと表示情報格納部７３に格納された表示に関する情報とを用いて検証処理を行う（ステップＳ１１５）。なお、図９及び図２０で示す処理フローでは、検証結果を送信する処理（ステップＳ３１及び９３）が存在するが、図３３に示す処理フローにおいては検証結果は送信しないものとする。その他の検証処理については、上で述べた処理と同様であるため、省略する。もし、表示に関する情報がスクリプトの場合（ステップＳ１１７：Ｙｅｓルート）、表示データ生成処理部７５は、財務データとスクリプトとから表示データを生成し、表示情報格納部７３に格納する（ステップＳ１１９）。そして、検証結果がＯＫの場合（ステップＳ１２１：Ｙｅｓルート）、処理を終了する。一方、検証結果がＯＫ以外の場合（ステップＳ１２１：Ｎｏルート）、表示データ生成処理部７５は、検証結果格納部７４７に格納された隠蔽箇所の情報、過剰箇所の情報、データ改ざん箇所の情報、表示改ざん箇所の情報のうち少なくとも１つに基づき、詐称候補箇所（すなわち、隠蔽箇所、過剰箇所、データ改ざん箇所、表示改ざん箇所）が強調表示になるように表示データを書き換える（ステップＳ１２３）。詐称候補箇所を強調表示にした表示例を図３４（ａ）乃至（ｄ）に示す。図３４（ａ）は、営業利益が隠蔽されている場合の表示例であり、営業利益が表示に使われていないことが分かるように表外に表示している。また、図３４（ｂ）は、当期純利益が過剰表示されている場合の表示例であり、過剰表示である当期純利益の行を網掛けで表示している。また、図３４（ｃ）は、２００４年の営業利益のデータの改ざんがある場合の表示例であり、２００４年の営業利益のセルを網掛けで表示し、財務データの値（すなわち、１５０００）も表示している。また、図３４（ｄ）は、営業利益の表示の改ざんがある場合の表示例であり、表外に表示されている営業利益に対して注意のマークを表示している。このように強調表示することで、表示中にある何らかの問題を参照者が見つけやすくすることができる。【００６８】
図３５にサーバ７に格納された表示データを参照する場合の処理フローを示す。まず、参照者端末５は、表示データ要求をサーバ７に送信する（ステップＳ１３１）。表示データ要求を受信したサーバ７の要求受信部７６は、要求された表示データを表示情報格納部７３から取得し、参照者端末５に送信する（ステップＳ１３３及びＳ１３５）。表示データを受信した参照者端末５は、表示データを表示装置に表示する（ステップＳ１３７）。【００６９】
以上述べたように、本実施の形態によれば、財務データの表示に関する情報により財務データの表示内容が決定される場合でも、財務データ内の財務情報と同一の財務情報が表示されるかを確認するので、誤表示を避けるようにすることができ、信頼性の高い財務情報を提供することができる。【００７０】
以上本発明の一実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、財務データに限らず、データとデータの表示内容を特定する情報とを別々に用いるような場合について適用可能である。【００７１】
また、図１に示した機能ブロック図は、一例であって、必ずしも実際のプログラムモジュールの構成に合致しない場合もある。さらに、隠蔽検証処理と過剰検証処理とデータ改ざん検証処理と表示改ざん検証処理とについては並列実行可能である。そのほか処理結果が変わらない範囲において処理順番の入れ替えが可能なステップも存在する。【００７２】
また、上で述べた検証処理又はその一部を実行するプログラムを申請者に配布して、サーバ７に送信する前に申請者が検証を行い、申請者端末３から財務データ及び検証後の表示に関する情報をサーバ７に送信するようにしてもよい。【００７３】
なお、サーバ７、申請者端末３、参照者端末５については、図３６のようなコンピュータ装置であって、メモリ２５０１（記憶装置）とＣＰＵ２５０３（処理装置）とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本発明の実施の形態では、上で述べた処理を実施するためのアプリケーション・プログラムはリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【図１】
0004698685.tif 000002
【図２】
0004698685.tif 000003
【図３】
0004698685.tif 000004
【図４】
0004698685.tif 000005
【図５】
0004698685.tif 000006
【図６】
0004698685.tif 000007
【図７】
0004698685.tif 000008
【図８】
0004698685.tif 000009
【図９】
0004698685.tif 000010
【図１０】
0004698685.tif 000011
【図１１】
0004698685.tif 000012
【図１２】
0004698685.tif 000013
【図１３】
0004698685.tif 000014
【図１４】
0004698685.tif 000015
【図１５】
0004698685.tif 000016
【図１６】
0004698685.tif 000017
【図１７】
0004698685.tif 000018
【図１８】
0004698685.tif 000019
【図１９】
0004698685.tif 000020
【図２０】
0004698685.tif 000021
【図２１】
0004698685.tif 000022
【図２２】
0004698685.tif 000023
【図２３】
0004698685.tif 000024
【図２４】
0004698685.tif 000025
【図２５】
0004698685.tif 000026
【図２６】
0004698685.tif 000027
【図２７】
0004698685.tif 000028
【図２８】
0004698685.tif 000029
【図２９】
0004698685.tif 000030
【図３０】
0004698685.tif 000031
【図３１】
0004698685.tif 000032
【図３２】
0004698685.tif 000033
【図３３】
0004698685.tif 000034
【図３４】
0004698685.tif 000035
【図３５】
0004698685.tif 000036
【図３６】
0004698685.tif 000037