(57)【要約】  タクソノミスキーマ２１，表示リンクベース２２，計算リンクベース２３，インスタンス２８を記憶するＸＢＲＬ文書記憶部２と，計算リンクベース２３をもとにインスタンス２８の項目要素の入力値を計算した計算値と，表示リンクベース２２をもとに計算値の項目要素に対応するインスタンス２８の入力値とを比較し，計算値と入力値との不整合を検出し，不整合が検出された計算値の項目要素を含む計算リンクベース２３の計算ツリー構造と，不整合が検出された入力値の項目要素を含む表示リンクベース２２の表示ツリー構造とを特定し，一方のツリー構造にのみに設定され，かつ入力値と計算値との差の絶対値に一致する入力値を持つ項目要素が存在する場合に，当該項目要素の過不足の状態を不整合の誤りとして推論する誤り推論部１３と，誤り推論結果を出力する推論結果表示処理部１５とを備える。
2008041310.tif 000002
【特許請求の範囲】
【請求項１】
項目要素をタグ付き構造化言語として定義したタクソノミスキーマと，前記タクソノミスキーマに定義された項目要素に入力値が格納されたコンテキストを含むインスタンス文書と，前記インスタンス文書の項目要素同士の表示処理上の階層構造を含む表示リンクベースと，前記インスタンス文書の項目要素同士の演算処理上の参照関係および階層構造を含む計算リンクベースとを記憶する文書データ記憶部を備えるコンピュータに，
前記計算リンクベースの階層構造にもとづいて前記インスタンス文書の項目要素の入力値を計算し，前記計算値と，前記表示リンクベースの階層構造にもとづいて前記計算値の項目要素に対応する前記インスタンス文書の入力値とを比較し，前記計算値および前記入力値との不整合を検出する不整合検出処理と，
前記不整合が検出された計算値の項目要素が設定されている前記計算リンクベースの計算ツリー構造を特定し，前記不整合が検出された入力値の項目要素が設定されている前記表示リンクベースの表示ツリー構造を特定し，前記計算ツリー構造と前記表示ツリー構造のそれぞれに設定されている項目要素同士を比較し，前記計算ツリー構造と前記表示ツリー構造の一方のみに設定され，かつ前記入力値と前記計算値との差の絶対値に一致する入力値を持つ項目要素が存在する場合に，当該項目要素の過不足を前記不整合の誤りとして推論する誤り推論処理とを，
実行させる
文書の誤り推論処理プログラム。
【請求項２】
前記誤り推論処理では，前記表示ツリー構造に設定された項目要素が前記計算ツリー構造に存在せず，かつ，前記入力値から前記計算値を減算した差が，前記インスタンス文書の項目要素のうち前記計算ツリー構造に存在されていないものの入力値と一致する場合に，前記計算リンクベースの要素不足の誤りと推論する処理を，
前記コンピュータに実行させる
請求項１記載の文書の誤り推論処理プログラム。
【請求項３】
前記誤り推論処理では，前記計算ツリー構造に設定された項目要素が前記表示ツリー構造に存在せず，かつ，前記入力値から前記計算値を減算した差が，前記インスタンス文書の項目要素のうち前記表示ツリー構造に存在されていないものの入力値の符号を反対にした値と一致する場合に，前記計算リンクベースの要素過剰の誤りと推論する処理を，
前記コンピュータに実行させる
請求項１記載の文書の誤り推論処理プログラム。
【請求項４】
前記誤り推論処理では，前記インスタンス文書に，同一の項目要素の組で構成されるべき２以上のコンテキストが含まれている場合に，前記計算ツリー構造に設定された項目要素であって，かつ，第１のコンテキストに当該項目要素であって前記入力値から前記計算値を減算した差と一致する入力値を持つものが設定され，かつ，第２のコンテキストに当該項目要素であって前記入力値から前記計算値を減算した差と同じ値であって符号が反対の入力値を持つものが設定されていない場合に，当該項目要素のインスタンスの誤りと推論する処理を，
前記コンピュータに実行させる
請求項１記載の文書の誤り推論処理プログラム。
【請求項５】
前記誤り推論処理の誤り推論結果として，誤りと推論された項目要素に関する情報を出力する誤り推論結果出力処理を，
前記コンピュータに実行させる
請求項１記載の文書の誤り推論処理プログラム。
【請求項６】
項目要素をタグ付き構造化言語として定義したタクソノミスキーマと，前記タクソノミスキーマに定義された項目要素に入力値が格納されたコンテキストを含むインスタンス文書と，前記インスタンス文書の項目要素同士の表示処理上の階層構造を含む表示リンクベースと，前記インスタンス文書の項目要素同士の演算処理上の参照関係および階層構造を含む計算リンクベースとを記憶する文書データ記憶部と，
前記計算リンクベースの階層構造にもとづいて前記インスタンス文書の項目要素の入力値を計算し，前記計算値と，前記表示リンクベースの階層構造にもとづいて前記計算値の項目要素に対応する前記インスタンス文書の入力値とを比較し，前記計算値および前記入力値との不整合を検出する不整合検出処理手段と，
前記不整合が検出された計算値の項目要素が設定されている前記計算リンクベースの計算ツリー構造を特定し，前記不整合が検出された入力値の項目要素が設定されている前記表示リンクベースの表示ツリー構造を特定し，前記計算ツリー構造と前記表示ツリー構造のそれぞれに設定されている項目要素同士を比較し，前記計算ツリー構造と前記表示ツリー構造の一方のみに設定され，かつ前記入力値と前記計算値との差の絶対値に一致する入力値を持つ項目要素が存在する場合に，当該項目要素の過不足を前記不整合の誤りとして推論する誤り推論処理手段とを備える
文書の誤り推論処理装置。
【請求項７】
項目要素をタグ付き構造化言語として定義したタクソノミスキーマと，前記タクソノミスキーマに定義された項目要素に入力値が格納されたコンテキストを含むインスタンス文書と，前記インスタンス文書の項目要素同士の表示処理上の階層構造を含む表示リンクベースと，前記インスタンス文書の項目要素同士の演算処理上の参照関係および階層構造を含む計算リンクベースとを記憶する文書データ記憶部を備えるコンピュータが実行する処理方法であって，
前記計算リンクベースの階層構造にもとづいて前記インスタンス文書の項目要素の入力値を計算し，前記計算値と，前記表示リンクベースの階層構造にもとづいて前記計算値の項目要素に対応する前記インスタンス文書の入力値とを比較し，前記計算値および前記入力値との不整合を検出する不整合検出処理過程と，
前記不整合が検出された計算値の項目要素が設定されている前記計算リンクベースの計算ツリー構造を特定し，前記不整合が検出された入力値の項目要素が設定されている前記表示リンクベースの表示ツリー構造を特定し，前記計算ツリー構造と前記表示ツリー構造のそれぞれに設定されている項目要素同士を比較し，前記計算ツリー構造と前記表示ツリー構造の一方のみに設定され，かつ前記入力値と前記計算値との差の絶対値に一致する入力値を持つ項目要素が存在する場合に，当該項目要素の過不足を前記不整合の誤りとして推論する誤り推論処理過程とを備える
文書の誤り推論処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，項目要素をタグ付き構造化言語によって記述する文書の処理技術に関する。より詳しくは，例えばＸＢＲＬ（eXtensible Business Reporting Language）で記述された文書間の項目要素の不整合の原因となる誤りを推論する処理に関する。
【背景技術】
【０００２】
ＸＢＲＬは，財務・経営・投資などの様々な用途に使用する財務・会計上の情報（以下，財務情報という）を記述するＸＭＬ（eXtensible Markup Language）ベースの言語である。ＸＢＲＬは，財務諸表，内部会計報告書などの財務情報の記述に適している。【０００３】
ＸＢＲＬでは，財務・会計上の個々の概念（例えば「売上高」，「売上原価」など）を構成要素として定義したタクソノミスキーマ（タクソノミ本体）と，表示処理や演算処理などの処理ごとに定義された構成要素間をリンク付けたリンクベース（リンク情報）とを用いることによって，概念の全体像を定義できるようにしている。タクソノミスキーマとリンクベースとをまとめてタクソノミ文書と呼ばれる。【０００４】
タクソノミ文書にもとづいてインスタンス文書が作成される。インスタンス文書は，各項目要素に実際の入力値が設定されたコンテキストを少なくとも１つ以上含む。インスタンス文書によって，所定の財務情報が取り扱われる。【０００５】
ＸＢＲＬは，国際組織であるＸＢＲＬ  Ｉｎｔｅｒｎａｔｉｏｎａｌによって標準化規定が定められている（非特許文献１参照）。【０００６】
図２４を用いて，財務情報を扱うＸＢＲＬ文書処理システムを説明する。ＸＢＲＬ文書処理システムは，ＸＢＲＬ文書をもとに財務報告書を作成，編集，表示，印刷するＸＢＲＬ文書処理装置１，ＸＢＲＬ文書が格納されたＸＢＲＬ文書記憶部２，および財務報告書を表示または印刷によって出力する出力装置３を備える。【０００７】
ＸＢＲＬ文書記憶部２には，財務情報を記述するためＸＢＲＬ文書として，タクソノミスキーマ２１，表示リンクベース２２，計算リンクベース２３，定義リンクベース２４，ラベルリンクベース２５，参照リンクベース２６，インスタンス２８が格納されている。【０００８】
タクソノミスキーマ２１は，タクソノミ本体であって，財務情報を記述するためにインスタンス２８で使用される語彙（項目の要素名や属性など）の定義情報である。具体的には，財務情報で使用される勘定科目など，インスタンス２８で使用される項目要素の名前や属性などが定義される。【０００９】
表示リンクベース２２は，インスタンス２８の項目要素間の表示処理における階層関係や表示順序などの設定情報である。【００１０】
計算リンクベース２３は，インスタンス２８の項目要素間の集計処理における階層関係，参照関係，データチェックなどの設定情報である。【００１１】
定義リンクベース２４は，インスタンス２８の項目要素間の階層関係（親子関係）などの論理的関係を示す情報である。【００１２】
ラベルリンクベース２５は，インスタンス２８の項目要素名を表示する場合のラベル情報である。なお，ラベル情報は，日本語，英語など多言語に対応するものである。また，データ入力・インスタンス作成時のインストラクション情報などが含まれていてもよい。【００１３】
参照リンクベース２６は，インスタンス２８の項目要素の根拠条文，関連法規，取り扱い情報などの参照情報である。【００１４】
インスタンス２８は，タクソノミスキーマ２１にもとづいて，例えば，財務報告書に必要な項目要素とその入力値が記述されたコンテキストを含むＸＭＬ文書である。【００１５】
ＸＢＲＬ文書処理装置１は，所定の財務情報について，タクソノミスキーマ２１をもとにインスタンス２８を作成・保存する。また，ＸＢＲＬ文書記憶部２からインスタンス２８をロードし，表示リンクベース２２の設定情報にもとづいてインスタンス２８の内容を出力装置３へ出力（表示または印刷）する。
【非特許文献１】http://www.xbrl-jp.org/download/XBRLFACTBOOK_ver.7.1.pdf
【発明の開示】
【発明が解決しようとする課題】
【００１６】
ＸＢＲＬ文書では，財務情報の概念である項目をタクソノミスキーマ２１によって定義するとともに，財務諸表を扱うために，財務情報の表示や計算における項目間の階層関係や参照関係をリンクベース２２〜２６として定義している。【００１７】
ＸＢＲＬ文書処理装置１は，タクソノミスキーマ２１，リンクベース２２〜２６を，それぞれ別々に作成・編集することができる。また，財務情報の実際のデータは，インスタンス２８へ入力値として与えられる。これによって，財務情報をさまざまな形式の報告書として出力したり，データを再利用したりすることができる。【００１８】
しかし，リンクベース２２〜２６，インスタンス２８は，それぞれ別々に扱われることから，相互の項目要素の関係が不整合となる場合がある。例えば，計算リンクベース２３の設定にもとづいて計算処理した計算結果と，インスタンス２８の対応する項目に設定された入力値とが一致しない場合がある。【００１９】
従来では，このような不整合が生じた場合に，人間が，インスタンス２８の出力結果と計算リンクベース２３との突き合わせ作業を行って不整合の原因を検出していた。【００２０】
しかし，ＸＢＲＬ文書のインスタンス２８には，必要な項目要素とその入力値が設定されているだけであって，項目要素間の階層関係を示す情報は設定されていない。【００２１】
さらに，インスタンス文書が出力（表示または印刷）される場合の項目要素の項目名や項目要素間の階層関係と，インスタンス文書の項目要素の各入力値が演算処理される場合の項目要素の階層関係とは，必ずしも対応しない。すなわち，表示処理における項目要素の構成を示す表示ルールベースと，演算処理における項目要素の構成を示す計算ルールベースとは，その処理における項目要素の階層構造が設定されるため，２つのルールベース間で項目要素が直接関連付けられることがない。そのため，インスタンス文書と計算ルールベースとの間で，項目要素の設定情報の整合性を検出する作業に多大な労力が費やされていた。【００２２】
本発明は，例えばＸＢＲＬ（eXtensible Business Reporting Language）のように，項目要素をタグ付き構造化言語によって記述された文書について，項目要素の定義情報にもとづいて作成された実体データに設定されている入力値と，別個に設定された各項目要素間のリンク情報にもとづく処理結果との不整合を検出し，不整合の原因となった誤り推論結果を表示する処理装置および処理方法およびそのプログラムを提供することである。
【課題を解決するための手段】
【００２３】
本発明は，項目要素をタグ付き構造化言語として定義したタクソノミスキーマと，前記タクソノミスキーマに定義された項目要素に入力値が格納されたコンテキストを含むインスタンス文書と，前記インスタンス文書の項目要素同士の表示処理上の階層構造を含む表示リンクベースと，前記インスタンス文書の項目要素同士の演算処理上の参照関係および階層構造を含む計算リンクベースとを記憶する文書データ記憶部を備えるコンピュータに，１）前記計算リンクベースの階層構造にもとづいて前記インスタンス文書の項目要素の入力値を計算し，前記計算値と，前記表示リンクベースの階層構造にもとづいて前記計算値の項目要素に対応する前記インスタンス文書の入力値とを比較し，前記計算値および前記入力値との不整合を検出する不整合検出処理と，２）前記不整合が検出された計算値の項目要素が設定されている前記計算リンクベースの計算ツリー構造を特定し，前記不整合が検出された入力値の項目要素が設定されている前記表示リンクベースの表示ツリー構造を特定し，前記計算ツリー構造と前記表示ツリー構造のそれぞれに設定されている項目要素同士を比較し，前記計算ツリー構造と前記表示ツリー構造の一方のみに設定され，かつ前記入力値と前記計算値との差の絶対値に一致する入力値を持つ項目要素が存在する場合に，当該項目要素の過不足を前記不整合の誤りとして推論する誤り推論処理とを，実行させる文書の誤り推論処理プログラムである。【００２４】
本発明のプログラムによって，前記コンピュータは，以下のように作用する。【００２５】
まず，文書データ記憶部に記憶された計算リンクベースの階層構造にもとづいてインスタンス文書の項目要素の入力値を計算する。そして，表示リンクベースの階層構造にもとづいてこの計算値の項目要素に対応するインスタンス文書の入力値を取り出し，計算値と入力値とを比較する。計算値および入力値が一致しなければ不整合を検出する。【００２６】
そして，計算リンクベースをもとに，不整合が検出された計算値の項目要素が設定されている計算ツリー構造を特定する。さらに，表示リンクベースをもとに，不整合が検出された入力値の項目要素が設定されている表示ツリー構造を特定する。そして，計算ツリー構造と表示ツリー構造のそれぞれに設定されている項目要素同士を比較する。計算ツリー構造と表示ツリー構造の一方のみに設定され，かつ入力値と計算値との差の絶対値に一致する入力値を持つインスタンス文書の項目要素が存在する場合に，当該項目要素の過不足を不整合の誤りとして推論する。【００２７】
さらに，誤り推論処理の誤り推論結果として，誤りと推論された項目要素に関する情報を出力する。【００２８】
さらに，本発明は，各処理手段によって上記の処理を実行する処理装置である。また，本発明は，コンピュータが，各処理過程において上記の処理を実行する処理方法である。【００２９】
本発明のプログラムは，コンピュータが読み取り可能な，可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記録媒体に格納することができる。また，これらの記録媒体に記録して提供され，または，通信インタフェースを介して種々の通信網を利用した送受信により提供される。
【発明の効果】
【００３０】
ＸＢＲＬ文書のインスタンス文書の項目要素の入力値と，計算リンクベースの設定にもとづく演算処理結果とは一致しなければならず，整合性を検証する必要がある。【００３１】
本発明によれば，ＸＢＲＬ文書を構成する計算リンクベースの計算結果と，インスタンス文書の入力値とが異なる原因を自動的に推論し，ユーザに表示することができる。【００３２】
これにより，従来では人手によって行われていた計算リンクベースの検証処理と不整合の原因となる誤り推論処理という作業の労力負担を大幅に軽減することができる。【００３３】
よって，ＸＢＲＬの専門家以外の者でも，ＸＢＲＬ文書の不具合を容易に検出することができるようになるため，各企業などの財務情報をＸＢＲＬで作成する場合の負荷を軽減することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施例における構成例を示す図である。
【図２】タクソノミスキーマの例を示す図である。
【図３】表示リンクベースの例を示す図である。
【図４】表示リンクベースに定義された項目要素間の関係および表示の例を示す図である。
【図５】計算リンクベースの例を示す図である。
【図６】計算リンクベースに定義された項目要素間の関係および表示の例を示す図である。
【図７】ラベルリンクベースの例を示す図である。
【図８】インスタンスの例を示す図である。
【図９】インスタンスの要素の入力値の例を示す図である。
【図１０】インスタンスの出力例を示す図である。
【図１１】タクソノミスキーマ，表示リンクベース，計算リンクベース，およびラベルリンクベースのデータ構造例を示す図である。
【図１２】第１推論ロジックを説明するための図である。
【図１３】第２推論ロジックを説明するための図である。
【図１４】第３推論ロジックを説明するための図（その１）である。
【図１５】第３推論ロジックを説明するための図（その２）である。
【図１６】第４推論ロジックを説明するための図である。
【図１７】誤り推論リストの表示例を示す図である。
【図１８】本発明の全体処理のフローチャートである。
【図１９】第１推論ロジックによる処理のフローチャートである。
【図２０】第２推論ロジックによる処理のフローチャートである。
【図２１】第３推論ロジックによる処理のフローチャートである。
【図２２】第３推論ロジックによる処理のフローチャートである。
【図２３】第４推論ロジックによる処理のフローチャートである。
【図２４】ＸＢＲＬ文書処理システムの例を示す図である。
【符号の説明】
【００３５】
１  ＸＢＲＬ文書処理装置
１０  文書の誤り推論処理装置
１１  ＸＢＲＬ文書取得部
１３  誤り推論部
１５  推論結果表示処理部
１７  ＸＢＲＬ文書保存部
２  ＸＢＲＬ文書記憶部
２１  タクソノミスキーマ
２２  表示リンクベース
２３  計算リンクベース
２４  定義リンクベース
２５  ラベルリンクベース
２６  参照リンクベース
２８  インスタンス
３  出力装置
【発明を実施するための最良の形態】
【００３６】
本発明を実施するための最良の形態を，以下の実施例を用いて説明する。【００３７】
本実施例において，本発明の文書の誤り推論処理装置は，財務報告書のＸＢＲＬ文書が作成・保存されている場合に，インスタンス文書に記述された会計上の項目（項目要素）と，会計項目の集計処理の内容を示す計算リンクベースと間の不整合を検証し，不整合の原因となった誤りと推論して，ユーザにその誤りの箇所および内容を出力する。【００３８】
図１に，本発明の実施例における構成例を示す。
文書の誤り推論処理装置１０は，ＸＢＲＬ文書取得部１１，誤り推論部１３，推論結果表示処理部１５，ＸＢＲＬ文書保存部１７，ＸＢＲＬ文書記憶部２，および出力装置３を備える。【００３９】
本実施例では，文書の誤り推論処理装置１０は，図２４に示すＸＢＲＬ文書処理装置１の内部に構成されるものとする。なお，文書の誤り推論処理装置１０は，図２４に示すＸＢＲＬ文書処理装置１とは独立して構成され，ＸＢＲＬ文書処理システムと連携するようにしてもよい。【００４０】
ＸＢＲＬ文書記憶部２は，タクソノミスキーマ２１，表示リンクベース２２，計算リンクベース２３，ラベルリンクベース２５，インスタンス２８を記憶する記憶手段である。【００４１】
タクソノミスキーマ２１は，財務報告書などの財務情報を記述するためにインスタンス２８で使用される会計項目を示す要素と，要素名，識別値，賃借勘定，期間，抽象などの属性とを定義した情報である。【００４２】
図２に，タクソノミスキーマ２１の例を示す。タクソノミスキーマ２１のｓａｍｐｌｅ．ｘｓｄにおいて，会計項目を示すｅｌｅｍｅｎｔ要素には，ｎａｍｅ，ｔｙｐｅ，ｉｄ，ｂａｌａｎｃｅ，ｐｅｒｉｏｄＴｙｐｅ，ａｂｓｔｒａｃｔなどの属性が記述される。また，他のリンクベースへの参照情報が記述される。また，別のタクソノミスキーマ，ＸＢＲＬ準拠のスキーマの定義情報などが，ｉｍｐｏｒｔ文によって記述される。【００４３】
表示リンクベース２２は，インスタンス２８の会計項目を表示または印刷（以下，単に表示とする）する際の項目要素間の階層関係や表示順序などを設定した情報である。【００４４】
図３に，表示リンクベース２２の例を示す。表示リンクベース２２のｓａｍｐｌｅ−ｐｒｅｓｅｎｔａｔｉｏｎ．ｘｍｌにおいて，ｌｉｎｋ要素には，表示内容を示す属性として，ｔｙｐｅ，ｈｒｅｆ，ｌａｂｅｌ，ｔｉｔｌｅなどの属性が，表示時の項目の構成を示すｐｒｅｓｅｎｔａｔｉｏｎＡｒｃ属性として，ａｒｃ，ｆｒｏｍ，ｔｏ，ｏｒｄｅｒなどの属性が記述される。【００４５】
なお，各財務諸表の表示形式は，ｐｒｅｓｅｎｔａｔｉｏｎＬｉｎｋ要素のｒｏｌｅ属性によって区分され，それぞれが異なるツリー構造として記述される。また，貸借対照表，損益計算書，キャッシュフロー計算書などの設定情報が，当年度分・前年度分などの年度ごと，また，連結・個別などごとに必要に応じて記述される。【００４６】
図４（Ａ）は，表示リンクベース２２に定義された一部の要素間の関係を示す図である。図４（Ａ）中，楕円は要素を，楕円同士を連結する直線はａｒｃを，楕円内の文字列はラベルを示す。図４（Ａ）に示す関係では，要素“ＡＢＣ＿Ｔｉｔｌｅ”が，要素“Ａ”，“Ｂ”，“Ｃ”，“ＡＢＣ”の順で参照することを意味する。要素“ＡＢＣ＿Ｔｉｔｌｅ”は“エー・ビー・シー見出し”と，要素“Ａ”は“エー”と，要素“Ｂ”は“ビー”と，要素“Ｃ”は“シー”と，要素“ＡＢＣ”は“エー・ビー・シー”とラベル表示される。なお，要素“ＡＢＣ＿Ｔｉｔｌｅ”は，ａｂｓｔｒａｃｔ属性が“ｔｒｕｅ”，他の要素はａｂｓｔｒａｃｔ属性が“ｆａｌｓｅ”である。【００４７】
図４（Ｂ）は，図４（Ａ）に示す表示リンクベース２２が出力装置３に表示された場合の例を示す図である。【００４８】
計算リンクベース２３は，インスタンス２８の会計項目の集計に用いる要素間の参照関係，階層構造，集計内容（加減演算），データチェックなどを設定した情報である。【００４９】
図５に，計算リンクベース２３の例を示す。計算リンクベース２３の“ｓａｍｐｌｅ−ｃａｌｃｕｌａｔｉｏｎ．ｘｍｌ”には，ｌｉｎｋ要素には，ｌｏｃ属性として，ｔｙｐｅ，ｈｒｅｆ，ｌａｂｅｌ，ｔｉｔｌｅなどの属性が，演算時の参照関係や内容を示すｃａｌｃｕｌａｔｉｏｎＡｒｃ属性として，ａｒｃ，ｆｒｏｍ，ｔｏ，ｏｒｄｅｒ，ｗｅｉｇｈｔなどの属性が記述される。【００５０】
なお，各財務諸表の集計内容は，“ｃａｌｃｕｌａｔｉｏｎＬｉｎｋ”要素の“ｒｏｌｅ”属性によって区分され，それぞれが異なるツリー構造として記述される。【００５１】
図６（Ａ）は，計算リンクベース２３に定義された一部の要素間の関係を示す図である。図６（Ａ）中，楕円は要素を，楕円同士を連結する直線はａｒｃを，楕円内の文字列はラベルを示す。図６（Ａ）に示す関係では，要素“ＡＢＣ”が，要素“Ａ”，“Ｂ”，“Ｃ”の順で，ｗｅｉｇｈｔ属性＝“１”で参照し，各要素の値を積算することを意味する。ｗｅｉｇｈｔ属性＝“１”は，参照した要素の値を１．０倍で加算することを示す。したがって，以下のような演算が行われる。【００５２】
ＡＢＣ＝Ａ＊１．０＋Ａ＊１．０＋Ｃ＊１．０
要素“ＡＢＣ”は“エー・ビー・シー合計”と，要素“Ａ”は“エー”と，要素“Ｂ”は“ビー”と，要素“Ｃ”は“シー”とラベル表示される。  図６（Ｂ）は，図６（Ａ）に示す計算リンクベース２３が出力装置３に表示された場合の例を示す図である。【００５３】
ラベルリンクベース２５は，インスタンス２８の会計項目の表示用ラベル情報である。【００５４】
図７に，ラベルリンクベース２５の例を示す。ラベルリンクベース２５は，表示リンクベース２２の要素が表示される際に使用される表示ラベル名（会計科目名）が記述される。図４（Ｂ）および図６（Ｂ）に示すように，要素“ＡＢＣ＿Ｔｉｔｌｅ”，“Ａ”，“Ｂ”，“Ｃ”，“ＡＢＣ”は設定された表示ラベルを用いて表示または印刷される。【００５５】
インスタンス２８は，タクソノミスキーマ２１の定義情報を参照して作成された，財務報告書に必要な会計項目とその入力値が記述されたＸＭＬ文書である。【００５６】
図８に，インスタンス２８の例を示す。インスタンス２８には，要素ごとに，値の単位，値などがコンテキスト単位で記述される。コンテキストは，一般的に会計年度を区別するために利用され，インスタンス２８は，複数のコンテキストを含むことができる。【００５７】
図９に，インスタンス２８に，２００５年度，２００６年度の会計年度の当月および累積のコンテキストにおいて，要素に設定されている入力値の例を示す。【００５８】
図１０に，インスタンス２８の出力例を示す。図１０は，インスタンス２８が図９に示すコンテキストおよび入力値を持つ場合に，表示リンクベース２２の設定に従って帳票形式で表示された表示例である。【００５９】
図１１に，タクソノミスキーマ２１，表示リンクベース２２，計算リンクベース２３，およびラベルリンクベース２５のデータ構造例を示す。図１１に示すように，表示リンクベース２２およびラベルリンクベース２５の要素はタクソノミスキーマ２１を参照する。【００６０】
ＸＢＲＬ文書取得部１１は，ＸＢＲＬ文書記憶部２から必要なデータを取得する処理手段である。【００６１】
誤り推論部１３は，計算リンクベース２３の階層構造にもとづいてインスタンス２８の要素の入力値を計算し，計算値と，表示リンクベース２２の階層構造にもとづいて計算値の項目要素に対応するインスタンス２８の入力値とを比較し，計算値および入力値との不整合を検出する不整合検出処理と，不整合が検出された計算値の要素が設定されている計算リンクベース２３の計算ツリー構造を特定し，不整合が検出された入力値の項目要素が設定されている表示リンクベース２２の表示ツリー構造を特定し，計算ツリー構造と表示ツリー構造のそれぞれに設定されている要素同士を比較し，計算ツリー構造と表示ツリー構造の一方のみに設定され，かつ入力値と計算値との差の絶対値に一致する入力値を持つ要素が存在する場合に，当該要素の過不足を不整合の誤りとして推論する誤り推論処理とを実行する処理手段である。【００６２】
誤り推論部１３は，表示ツリー構造に設定された要素が，計算ツリー構造に存在せず，かつ，入力値から計算値を減算した差が，インスタンス２８の要素のうちの前記計算ツリー構造に存在されていないものの入力値と一致する場合に，計算リンクベース２３の要素不足の誤りと推論する。【００６３】
また，誤り推論部１３は，計算ツリー構造に設定された項目要素が，表示ツリー構造に存在せず，かつ，入力値から計算値を減算した差が，インスタンス２８の要素のうち前記表示ツリー構造に存在されていないものの入力値の符号を反対にした値と一致する場合に，計算リンクベース２３の要素過剰の誤りと推論する。【００６４】
また，誤り推論部１３は，インスタンス２８に，同一の項目要素の組で構成されるべき２以上のコンテキストが含まれている場合に，計算ツリー構造に設定された要素であって，かつ，第１のコンテキストに当該要素であって入力値から計算値を減算した差と一致する入力値を持つものが設定され，かつ，第２のコンテキストに当該要素であって入力値から計算値を減算した差と同じ値であって符号が反対の入力値を持つものが設定されていない場合に，当該要素のインスタンスの誤りと推論する。【００６５】
推論結果表示処理部１５は，誤り推論部１３の推論結果を，出力装置３に出力する処理手段である。出力装置３は，表示装置や印刷装置などである。【００６６】
ＸＢＲＬ文書保存部１７は，出力装置３に表示された推論結果を確認したユーザが入力したデータによって更新された計算リンクベース２３，インスタンス２８を，ＸＢＲＬ文書記憶部２に保存する処理手段である。【００６７】
以下に，誤り推論部１３で実行される推論ロジックを，より詳細に説明する。【００６８】
〔第１推論ロジック〕
第１推論ロジックでは，表示リンクベース２２に設定されている要素が，対応する計算リンクベース２３に設定されていない場合に，その要素は，計算リンクベース２３の設定漏れの可能性が高いと考え，計算リンクベース２３の要素不足の誤りと推論する。これにより，計算リンクベース２３に不足する要素が存在することが推論できる。【００６９】
誤り推論部１３は，タクソノミスキーマ２１を参照して，表示リンクベース２２に設定されている要素を抽出する。【００７０】
そして，表示リンクベース２２から抽出された各要素が，計算リンクベース２３に設定されているかを調べる。表示リンクベース２２の抽出された要素が計算リンクベース２３の要素中にない場合に，その要素を設定漏れの要素として第１推論結果リストに追加する。なお，第１推論結果リストは，後述する第３推論ロジックで使用される。【００７１】
図１２に示す内容の表示リンクベース２２および計算リンクベース２３が記憶されている場合を仮定する。表示リンクベース２２の要素「営業外収益」（ａｂｓｔｒａｃｔ＝“ｔｒｕｅ”）の下位の要素として設定されている要素「賃貸料収入」（ａｂｓｔｒａｃｔ＝“ｆａｌｓｅ”）を抽出する。なお，図２のタクソノミスキーマ２１の例では，ａｂｓｔｒａｃｔ＝“ｆａｌｓｅ”は省略されている。要素「賃貸料収入」（ａｂｓｔｒａｃｔ＝“ｆａｌｓｅ”）が計算リンクベース２３の要素中にない場合に，この要素「賃貸料収入」が，“計算リンクに要素不足”として第１推論結果リストに追加される。【００７２】
〔第２推論ロジック〕
第２推論ロジックは，計算リンクベース２３に設定されている要素が，対応する表示リンクベース２２に設定されていない場合に，その要素は，計算リンクベース２３に誤って設定された可能性が高いと考え，計算リンクベース２３の要素過剰の誤りと推論する。これにより，計算リンクベース２３に過剰な要素が存在することが推論できる。【００７３】
誤り推論部１３は，タクソノミスキーマ２１を参照して，計算リンクベース２３に設定されている要素を抽出する。【００７４】
そして，計算リンクベース２３から抽出された各要素を表示リンクベース２２に設定されているかを調べる。計算リンクベース２３の抽出された要素が表示リンクベース２２の要素中にない場合に，その要素を過剰設定の要素として第２推論結果リストに追加する。なお，第２推論結果リストは，後述する第３推論ロジックで使用される。【００７５】
図１３に示す内容の表示リンクベース２２および計算リンクベース２３が記憶されている場合を仮定する。計算リンクベース２３の要素「営業外収益」（ａｂｓｔｒａｃｔ＝“ｔｒｕｅ”）の下位の要素として設定されている要素「賃貸料収入」（ａｂｓｔｒａｃｔ＝“ｆａｌｓｅ”）が表示リンクベース２２の要素中にない場合に，この要素「賃貸料収入」が“計算リンクに過剰要素”として第２推論結果リストに追加される。【００７６】
〔第３推論ロジック〕
同じインスタンス２８に対する表示リンクベース２２と計算リンクベース２３は，要素の階層構造が異なるために，要素同士を直接比較することが困難である。第３推論ロジックでは，第１推論ロジックおよび第２推論ロジックの処理結果を用いて，不足または過剰な要素の位置を推論する。【００７７】
誤り推論部１３は，計算リンクベース２３の設定情報にしたがって，インスタンス２８の各要素の入力値を用いて計算を行う。この計算値とインスタンス２８の該当する要素（集計項目）に設定された入力値とを比較する。【００７８】
計算値と入力値とが一致しない値があれば，入力値から計算値を減算した値（差）と同じ値を持つ入力値が設定され，かつ親の要素名が一致するインスタンス２８の入力値の要素，すなわち対応するツリー構造に設定されている要素，を特定する。【００７９】
特定した要素が，計算リンクベース２３の対応するツリー構造に設定されていれば，第１推論結果リストまたは第２推論結果リストを参照する。第１推論結果リストまたは第２推論結果リストに特定した要素が存在すれば，この要素について，要素名，親の要素名，入力値，事象（計算リンクベースに要素不足または要素過剰）などの情報を，誤り推論リストに追加する。【００８０】
図１４に，第３推論ロジックの処理の例を示す。【００８１】
インスタンス２８で，「有価証券利息」（入力値＝１００），「有価証券売却益」（入力値＝３００），「賃貸料収入」（入力値＝２００），「営業外収益計」（入力値＝６００）の４つの要素が設定されているとする。一方，計算リンクベース２３では，要素「営業外収益計」には，子要素「有価証券利息」（ｗｅｉｇｈｔ＝１），要素「有価証券売却益」（ｗｅｉｇｈｔ＝１）を参照するように設定されているとする。【００８２】
計算リンクベース２３の設定情報にしたがって，インスタンス２８の入力値が計算される。【００８３】
「営業外収益計」の計算値＝「有価証券利息」入力値１００＊１．０＋「有価証券売却益」入力値３００＊１．０＝４００
一方，「営業外収益計」の入力値＝６００である。入力値（６００）≠計算値（４００）であって，その差＝２００となる。【００８４】
インスタンス２８の入力値と計算値とが一致しなかったので，表示リンクベース２２をもとに，インスタンス２８に設定された要素から，親の要素＝「営業外収益計」である要素として，「有価証券利息」，「有価証券売却益」，および「賃貸料収入」が抽出され，さらに，各要素に設定された入力値が，計算値と入力値との差と等しい要素「賃貸料収入」が特定される。【００８５】
さらに，要素「賃貸料収入」が，計算リンクベース２３の入力値を計算したツリー構造に設定されているかをチェックする。【００８６】
特定された要素が該当するツリー構造に設定されていなければ，第１推論結果リストを参照する。既に表示リンクベース２２と計算リンクベース２３との設定情報が比較されて，第１推論結果リストには，計算リンクベース２３の要素「賃貸料収入」が追加されている。したがって，抽出された要素「賃貸料収入」は，第１推論結果リストに存在するので，この要素の不足が誤りであると推論される。そして，要素「賃貸料収入」，親の要素（「営業外収益計」），コンテキスト（「Ｃｏｎｔｅｘｔ２００６」），入力値（２００），事象（計算リンクベースに要素不足）などの情報が，誤り推論リストに追加される。【００８７】
図１５に，第３推論ロジックの処理の例を示す。【００８８】
インスタンス２８で，コンテキスト「Ｃｏｎｔｅｘｔ２００６」には，「有価証券利息」（入力値＝１００），「有価証券売却益」（入力値＝３００），「賃貸料収入」（入力値＝２００），「営業外収益計」（入力値＝４００）の４つの要素が設定されているとする。【００８９】
一方，計算リンクベース２３では，要素「営業外収益計」には，要素「有価証券利息」（ｗｅｉｇｈｔ＝１），要素「有価証券売却益」（ｗｅｉｇｈｔ＝１），要素「賃貸料収入」（ｗｅｉｇｈｔ＝１）を参照するように設定されているとする。【００９０】
計算リンクベース２３の設定情報にしたがって，インスタンス２８の入力値が計算される。【００９１】
「営業外収益計」の計算値
＝「有価証券利息」入力値１００＊１．０＋「有価証券売却益」入力値３００＊１．０＋「賃貸料収入」入力値２００＊１．０
＝６００
一方，「営業外収益計」の入力値＝４００である。入力値（４００）≠計算値（６００）であって，その差＝−２００となる。【００９２】
インスタンス２８の入力値と計算値とが一致しなかったので，表示リンクベース２２をもとに，インスタンス２８に設定された要素から，親の要素＝「営業外収益計」である要素として，「有価証券利息」，「有価証券売却益」が抽出され，さらに，各要素に設定された入力値が，計算値と入力値との差と等しい要素「賃貸料収入」が特定される。【００９３】
さらに，要素「賃貸料収入」が，表示リンクベース２２の入力値を計算したツリー構造に設定されているかをチェックする。【００９４】
要素「賃貸料収入」が，該当するツリー構造に設定されていれば，第２推論結果リストを参照する。既に表示リンクベース２２と計算リンクベース２３との設定情報が比較されて，第２推論結果リストには，計算リンクベース２３の要素「賃貸料収入」が追加されている。したがって，要素「賃貸料収入」は，第２推論結果リストに存在するので，この要素の過剰が誤りであると推論される。そして，要素「賃貸料収入」，親の要素（「営業外収益計」），コンテキスト（「Ｃｏｎｔｅｘｔ２００６」），入力値（２００），事象（計算リンクベースに要素過剰）などの情報が誤り推論リストに追加される。【００９５】
〔第４推論ロジック〕
第４推論ロジックでは，インスタンス２８に，同じ項目要素が設定された複数のコンテキストＣｘ，Ｃｙが含まれている場合に実行される。コンテキストＣｘに，計算リンクベース２３に設定されている要素であって同一のコンテキストＣｙに設定されていない要素が存在し，かつ，コンテキストＣｘに存在する要素の入力値が，計算値と入力値との差と一致するときは，この要素を，誤ったコンテキストに設定された要素であると推論する。【００９６】
誤り推論部１３は，あるコンテキストＣｘについて計算値と入力値とが一致しない場合に，その差と同じ値を持つ入力値が設定され，かつ設定されたコンテキストＣｘ以外のコンテキストＣｙの要素であるものを特定する。さらに，特定した要素が計算リンクベース２３の該当するツリー構造に設定され，コンテキストＣｘに存在していなければ，インスタンスの要素のコンテキストの誤りと推論する。【００９７】
図１６に，第４推論ロジックの処理の例を示す。【００９８】
インスタンス２８で，コンテキスト「Ｃｏｎｔｅｘｔ２００６」には，「有価証券利息」（入力値＝１００），「有価証券売却益」（入力値＝３００），「営業外収益計」（入力値＝６００）の３つの要素が設定されているとする。また，コンテキスト「Ｃｏｎｔｅｘｔ２００５」には，「有価証券利息」（入力値＝２００），「有価証券売却益」（入力値＝３００），「賃貸料収入」（入力値＝２００），「営業外収益計」（入力値＝５００）の４つの要素が設定されているとする。【００９９】
一方，計算リンクベース２３では，要素「営業外収益計」には，要素「有価証券利息」（ｗｅｉｇｈｔ＝１），要素「有価証券売却益」（ｗｅｉｇｈｔ＝１），要素「賃貸料収入」（ｗｅｉｇｈｔ＝１）を参照するように設定されているとする。【０１００】
計算リンクベース２３の設定情報にしたがって，インスタンス２８の入力値が計算される。【０１０１】
コンテキスト「Ｃｏｎｔｅｘｔ２００６」の「営業外収益計」の計算値
＝「有価証券利息」入力値１００＊１．０＋「有価証券売却益」入力値３００＊１．０
＝４００
一方，「営業外収益計」の入力値＝６００である。入力値（６００）≠計算値（
４００）であって，その差＝２００となる。【０１０２】
インスタンス２８の入力値と計算値とが一致しなかったので，入力値と計算値の差（２００）と一致する入力値を持つ他の要素であって，かつ自コンテキストに存在せず，他のコンテキストに存在する要素を特定する。【０１０３】
インスタンス２８に設定された要素から，親の要素＝「営業外収益計」である要素として，「有価証券利息」，「有価証券売却益」，および「賃貸料収入」が抽出され，さらに，前記の条件に合致する要素として，コンテキスト「Ｃｏｎｔｅｘｔ２００５」の「賃貸料収入」が特定される。【０１０４】
さらに，特定された要素「賃貸料収入」が，計算リンクベース２３の入力値を計算したツリー構造に設定されているかをチェックする。【０１０５】
特定された要素が該当するツリー構造に設定されているので，この要素がコンテキスト違いの誤りであると推論される。そして，要素「賃貸料収入」，親の要素（「営業外収益計」），コンテキスト（「Ｃｏｎｔｅｘｔ２００５」），入力値（２００），事象（コンテキストの誤り）などの情報が誤り推論リストに追加される。【０１０６】
前記の推論処理が終了すると，推論結果表示処理部１５は，誤り推論リストを出力装置３へ出力する。【０１０７】
図１７に，誤り推論リストの出力例を示す。誤り推論リストは，推論された誤りの事象を示すエラー事象，誤りが存在するファイル名を示す拡張リンクロール名，誤りの原因となった要素の親要素名，要素名，コンテキスト，および入力値，推論された誤りの説明などの項目で構成される。【０１０８】
図１８〜図２３に，本発明の処理フローチャートを示す。【０１０９】
図１８は，本発明の全体処理のフローチャートである。【０１１０】
ＸＢＲＬ文書取得部１１は，ＸＢＲＬ文書記憶部２から，タクソノミスキーマ２１，表示リンクベース２２，計算リンクベース２３，インスタンス２８をロードする（ステップＳ１）。【０１１１】
誤り推論部１３は，計算リンクベース２３の設定情報をもとに，インスタンス２８の入力値を用いて計算し（ステップＳ２），その計算値（Ｘｃ）と該当する入力値（Ｘｉ）とを比較する（ステップＳ３）。計算値（Ｘｃ）と入力値（Ｘｉ）に差異があれば（ステップＳ４のＹＥＳ），誤り推論処理を行う（ステップＳ５）。【０１１２】
誤り推論部１３は，前述の第１推論ロジック〜第４推論ロジックを実行する。これらの推論ロジックは，組み合わせて実行される。【０１１３】
そして，推論結果表示処理部１５は，推論結果として誤り推論リストを出力装置３に表示する（ステップＳ６）。表示された誤り推論リストにもとづいて計算リンクベース２３またはインスタンス２８が修正される（ステップＳ７）。【０１１４】
その後，計算値（Ｘｃ）と入力値（Ｘｉ）に差異がなければ（ステップＳ４のＮＯ），ＸＢＲＬ文書保存部１７は，計算リンクベース２３またはインスタンス２８をＸＢＲＬ文書記憶部２に保存する（ステップＳ８）。【０１１５】
図１９は，第１推論ロジックによる処理のフローチャートである。【０１１６】
誤り推論部１３は，処理していない表示リンクベース２２に拡張リンクロール（ファイル）が存在するかを調べ（ステップＳ５１１），拡張リンクロールが存在すれば（ステップＳ５１１のＹＥＳ），拡張リンクロールの値（Ｒ）を取得する（ステップＳ５１２）。【０１１７】
さらに，処理中の拡張リンクロールに，処理していない要素が存在するかを調べ（ステップＳ５１３），処理していない要素が存在すれば（ステップＳ５１３のＹＥＳ），要素（Ｅ）を選択する（ステップＳ５１４）。処理していない要素が存在しなければ（ステップＳ５１３のＮＯ），ステップＳ５１１の処理へ戻る。【０１１８】
要素（Ｅ）のａｂｓｔｒａｃｔ属性が“ｔｒｕｅ”であるかを調べ（ステップＳ５１５），“ｔｒｕｅ”でなければ（ステップＳ５１５のＮＯ），計算リンクベース２３において，Ｒの拡張リンクロールのツリー構造中に要素（Ｅ）が含まれるかを調べる（ステップＳ５１６）。要素（Ｅ）が含まれていなければ（ステップＳ５１６のＮＯ），第１推論結果リストに，要素（Ｅ），拡張リンクロール（Ｒ），エラー事象（計算リンクに要素不足）を格納し（ステップＳ５１７），ステップＳ５１３の処理へ戻る。【０１１９】
一方，要素（Ｅ）のａｂｓｔｒａｃｔ属性が“ｔｒｕｅ”であるか（ステップＳ５１５のＹＥＳ），または，Ｒの拡張リンクロールのツリー構造中に要素（Ｅ）が含まれていれば（ステップＳ５１６のＹＥＳ），ステップＳ５１３の処理へ戻る。【０１２０】
そして，処理していない表示リンクベース２２に拡張リンクロールが存在しなければ（ステップＳ５１１のＮＯ），第１推論ロジックを終了する。【０１２１】
図２０は，第２推論ロジックによる処理のフローチャートである。【０１２２】
誤り推論部１３は，処理していない計算リンクベース２３に拡張リンクロールが存在するかを調べ（ステップＳ５２１），拡張リンクロールが存在すれば（ステップＳ５２１のＹＥＳ），拡張リンクロールの値（Ｒ）を取得する（ステップＳ５２２）。【０１２３】
さらに，処理中の拡張リンクロールに，処理していない要素が存在するかを調べ（ステップＳ５２３），処理していない要素が存在すれば（ステップＳ５２３のＹＥＳ），要素（Ｅ）を選択する（ステップＳ５２４）。処理していない要素が存在しなければ（ステップＳ５２３のＮＯ），ステップＳ５２１の処理へ戻る。【０１２４】
表示リンクベース２２において，Ｒの拡張リンクロールのツリー構造中に要素（Ｅ）が含まれるかを調べる（ステップＳ５２５）。要素（Ｅ）が含まれていなければ（ステップＳ５２５のＮＯ），第２推論結果リストに，要素（Ｅ），拡張リンクロール（Ｒ），エラー事象（計算リンクに要素過剰）を格納し（ステップＳ５２６），ステップＳ５２３の処理へ戻る。一方，Ｒの拡張リンクロールのツリー構造中に要素（Ｅ）が含まれていれば（ステップＳ５２５のＹＥＳ），ステップＳ５２３の処理へ戻る。【０１２５】
そして，処理していない計算リンクベース２３に拡張リンクロールが存在しなければ（ステップＳ５２１のＮＯ），第２推論ロジックを終了する。【０１２６】
図２１および図２２は，第３推論ロジックによる処理のフローチャートである。【０１２７】
誤り推論部１３は，処理していないインスタンス２８の入力値（Ｘｉ）（要素の親要素（Ｅｉ）とする）が存在するかを調べる。この処理を，全てのインスタンス２８の値について繰り返す（ステップＳ５３１）。【０１２８】
インスタンス２８の入力値（Ｘｉ）が存在すれば（ステップＳ５３１のＹＥＳ），さらに，入力値（Ｘｉ）と計算値（Ｘｃ）とが等しくないかを調べる（ステップＳ５３２）。入力値（Ｘｉ）と計算値（Ｘｃ）とが等しければ（ステップＳ５３２のＮＯ），ステップＳ５３１の処理へ戻る。入力値（Ｘｉ）と計算値（Ｘｃ）とが等しくなければ（ステップＳ５３２のＹＥＳ），入力値（Ｘｉ）のコンテキスト（Ｃｉ）を取得し（ステップＳ５３３），入力値と計算値との差（Ｘｄ＝Ｘｉ−Ｘｃ）を計算する（ステップＳ５３４）。【０１２９】
さらに，処理していないインスタンス２８の入力値（Ｘｘ）が存在するかを調べる。この処理を，全てのインスタンス２８の値について繰り返す（ステップＳ５３５）。インスタンス２８の入力値（Ｘｘ）が存在すれば（ステップＳ５３５のＹＥＳ），以下のいずれかの条件
＜ＸｄとＸｘのｂａｌａｎｃｅ属性が同じ，かつ，Ｘｄ＝Ｘｘ，かつ，コンテキスト＝Ｃｉの要素（Ｅｄ）が存在する＞，または，
＜ＸｄとＸｘのｂａｌａｎｃｅ属性が異なる，かつ，−Ｘｄ＝Ｘｘ，かつ，コンテキスト＝Ｃｉの要素（Ｅｄ）が存在する＞
を満たすかを判定する（ステップＳ５３６）。【０１３０】
前記条件を満たす場合に（ステップＳステップＳ５３６のＹＥＳ），さらに，要素（Ｅｄ）が，計算値を算出した計算リンクベース２３の拡張リンクロールのツリー構造に設定されていないかを調べる（ステップＳ５３７）。要素（Ｅｄ）が，該当する拡張リンクロールのツリー構造に設定されていなければ（ステップＳ５３７のＹＥＳ），さらに，第１推論結果リストに，“要素名（Ｅｄ），拡張リンクロール（Ｒ），エラー事象（計算リンクに要素不足）”が存在するかを調べる（ステップＳ５３８）。【０１３１】
第１推論処理結果一覧に，該当するデータが存在すれば（ステップＳ５３８のＹＥＳ），誤り推論リストに，“親要素（Ｅｉ），要素（Ｅｄ），拡張リンクロール（Ｒ），コンテキスト（Ｃｉ），入力値（Ｘｘ），エラー事象（計算リンクに要素不足）”を格納する（ステップＳ５３９）。【０１３２】
一方，ステップＳ５３６の判定条件を満たさないか（ステップＳ５３６のＮＯ），または，要素（Ｅｄ）が該当するツリー構造に設定されているか（ステップＳ５３７のＮＯ），または，第１推論結果リストに，該当するデータが存在しなければ（ステップＳ５３８のＮＯ），ステップＳ５３５の処理へ戻る。【０１３３】
また，インスタンス２８の入力値（Ｘｘ）が存在しなければ（ステップＳ５３５のＮＯ），処理していないインスタンス２８の入力値（Ｘｙ）（要素の親要素（Ｅｉ）とする）が存在するかを調べる。この処理を，全てのインスタンス２８の値について繰り返す（ステップＳ５３１０）。【０１３４】
入力値（Ｘｙ）が存在すれば（ステップＳ５３１０のＹＥＳ），以下のいずれかの条件
＜ＸｄとＸｙのｂａｌａｎｃｅ属性が同じ，かつ，−Ｘｄ＝Ｘｙ，かつ，コンテキスト＝Ｃｉの要素（Ｅｄ）が存在する＞，または，
＜ＸｄとＸｙのｂａｌａｎｃｅ属性が異なる，かつ，Ｘｄ＝Ｘｙ，かつ，コンテキスト＝Ｃｉの要素（Ｅｄ）が存在する＞
を満たすかを判定する（ステップＳ５３１１）。【０１３５】
前記条件を満たす場合に（ステップＳ５３１１のＹＥＳ），さらに，要素（Ｅｄ）が，計算値を算出した計算リンクベース２３の拡張リンクロールのツリー構造に設定されているかを調べる（ステップＳ５３１２）。要素（Ｅｄ）が，該当する拡張リンクロールのツリー構造に設定されていれば（ステップＳ５３１２のＹＥＳ），さらに，第２推論結果リストに，“要素名（Ｅｄ），拡張リンクロール（Ｒ），エラー事象（計算リンクに要素過剰）”が存在するかを調べる（ステップＳ５３１３）。【０１３６】
第２推論結果リストに，該当するデータが存在すれば（ステップＳ５３１３のＹＥＳ），誤り推論リストに，“親要素（Ｅｉ），要素（Ｅｄ），拡張リンクロール（Ｒ），コンテキスト（Ｃｉ），入力値（Ｘｙ），エラー事象（計算リンクに要素過剰）”を格納する（ステップＳ５３１４）。【０１３７】
一方，ステップＳ５３１１の判定条件を満たさないか（ステップＳ５３１１のＮＯ），または，要素（Ｅｄ）が該当するツリー構造に設定されていないか（ステップＳ５３１２のＮＯ），または，第２推論結果リストに，該当するデータが存在しなければ（ステップＳ５３１３のＮＯ），ステップＳ５３１０の処理へ戻る。【０１３８】
そして，処理していないインスタンス２８の入力値（Ｘｙ）が存在しなければ（ステップＳ５３１０のＮＯ），ステップＳ５３１の処理へ戻る。【０１３９】
さらに，ステップＳ５３１において，処理していないインスタンス２８の入力値（Ｘｉ）が存在しなければ（ステップＳ５３１のＮＯ），第３推論ロジックを終了する。【０１４０】
図２３は，第４推論ロジックによる処理のフローチャートである。【０１４１】
誤り推論部１３は，処理していないインスタンス２８の入力値（Ｘｉ）（要素の親要素（Ｅｉ）とする）が存在するかを調べる。この処理を，全てのインスタンス２８の値について繰り返す（ステップＳ５４１）。【０１４２】
インスタンス２８の入力値（Ｘｉ）が存在すれば（ステップＳ５４１のＹＥＳ），さらに，入力値（Ｘｉ）と計算値（Ｘｃ）とが等しくないかを調べる（ステップＳ５４２）。入力値（Ｘｉ）と計算値（Ｘｃ）とが等しければ（ステップＳ５４２のＮＯ），ステップＳ５４１の処理へ戻る。入力値（Ｘｉ）と計算値（Ｘｃ）とが等しくなければ（ステップＳ５４２のＹＥＳ），入力値（Ｘｉ）のコンテキスト（Ｃｉ）を取得し（ステップＳ５４３），入力値と計算値との差（Ｘｄ＝Ｘｉ−Ｘｃ）を計算する（ステップＳ５４４）。【０１４３】
さらに，処理していないインスタンス２８の入力値（Ｘｘ）が存在するかを調べる。この処理を，全てのインスタンス２８の値について繰り返す（ステップＳ５４５）。処理していないインスタンス２８の入力値（Ｘｘ）が存在すれば（ステップＳ５４５のＹＥＳ），以下のいずれかの条件
＜ＸｄとＸｘのｂａｌａｎｃｅ属性が同じ，かつ，Ｘｄ＝Ｘｘ，かつ，コンテキスト≠Ｃｉの要素（Ｅｄ）が存在する＞，または，
＜ＸｄとＸｘのｂａｌａｎｃｅ属性が異なる，かつ，−Ｘｄ＝Ｘｘ，かつ，コンテキスト≠Ｃｉの要素（Ｅｄ）が存在する＞
を満たすかを判定する（ステップＳ５４６）。【０１４４】
前記条件を満たす場合に（ステップＳ５４６のＹＥＳ），さらに，要素（Ｅｄ）が，計算値を算出した計算リンクベース２３の拡張リンクロールのツリー構造に設定されているかを調べる（ステップＳ５４７）。要素（Ｅｄ）が，該当する拡張リンクロールのツリー構造に設定されていれば（ステップＳ５４７のＹＥＳ），誤り推論リストに，“親要素（Ｅｉ），要素（Ｅｄ），拡張リンクロール（Ｒ），コンテキスト（Ｃｉ），入力値（Ｘｘ），エラー事象（コンテキストの誤り）”を格納する（ステップＳ５４８）。【０１４５】
一方，処理していないインスタンス２８の入力値（Ｘｘ）が存在しなければ（ステップＳ５４５のＮＯ），ステップＳ５４１の処理へ戻る。【０１４６】
さらに，処理していないインスタンス２８の入力値（Ｘｉ）が存在しなければ（ステップＳ５４１のＮＯ），第４推論ロジックの処理を終了する。【０１４７】
以上，本発明をその実施の形態により説明したが，本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【産業上の利用可能性】
【０１４８】
本発明は，官公庁や金融機関などへ財務報告提出するために，ＸＢＲＬを利用した財務諸表などの財務情報の報告文書作成処理に利用することが可能である。
【図１】
2008041310.tif 000003
【図２】
2008041310.tif 000004
【図３】
2008041310.tif 000005
【図４】
2008041310.tif 000006
【図５】
2008041310.tif 000007
【図６】
2008041310.tif 000008
【図７】
2008041310.tif 000009
【図８】
2008041310.tif 000010
【図９】
2008041310.tif 000011
【図１０】
2008041310.tif 000012
【図１１】
2008041310.tif 000013
【図１２】
2008041310.tif 000014
【図１３】
2008041310.tif 000015
【図１４】
2008041310.tif 000016
【図１５】
2008041310.tif 000017
【図１６】
2008041310.tif 000018
【図１７】
2008041310.tif 000019
【図１８】
2008041310.tif 000020
【図１９】
2008041310.tif 000021
【図２０】
2008041310.tif 000022
【図２１】
2008041310.tif 000023
【図２２】
2008041310.tif 000024
【図２３】
2008041310.tif 000025
【図２４】
2008041310.tif 000026
【手続補正書】
【提出日】平成21年4月9日(2009.4.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
項目要素をタグ付き構造化言語として定義したタクソノミスキーマと，前記タクソノミスキーマに定義された項目要素に入力値が格納されたコンテキストを含むインスタンス文書と，前記インスタンス文書の項目要素同士の表示処理上の階層構造を含む表示リンクベースと，前記インスタンス文書の項目要素同士の演算処理上の参照関係および階層構造を含む計算リンクベースとを記憶する文書データ記憶部を備えるコンピュータに，
前記計算リンクベースの階層構造にもとづいて前記インスタンス文書の項目要素の入力値を計算し，前記計算値と前記計算値の項目要素に対応する前記インスタンス文書の入力値とを比較し，前記計算値および前記入力値との不整合を検出する不整合検出処理と，
前記不整合が検出された計算値の項目要素が設定されている前記計算リンクベースの計算ツリー構造を特定し，前記不整合が検出された入力値の項目要素が設定されている前記表示リンクベースの表示ツリー構造を特定し，前記計算ツリー構造と前記表示ツリー構造のそれぞれに設定されている項目要素同士を比較し，前記計算ツリー構造と前記表示ツリー構造の一方のみに設定され，かつ前記入力値と前記計算値との差の絶対値に一致する入力値を持つ項目要素が存在する場合に，当該項目要素の過不足を前記不整合の誤りとして推論する誤り推論処理とを，
実行させる
文書の誤り推論処理プログラム。
【請求項２】
前記誤り推論処理では，前記表示ツリー構造に設定された項目要素が前記計算ツリー構造に存在せず，かつ，前記入力値から前記計算値を減算した差が，前記インスタンス文書の項目要素のうち前記計算ツリー構造に存在されていないものの入力値と一致する場合に，前記計算リンクベースの要素不足の誤りと推論する処理を，
前記コンピュータに実行させる
請求項１記載の文書の誤り推論処理プログラム。
【請求項３】
前記誤り推論処理では，前記計算ツリー構造に設定された項目要素が前記表示ツリー構造に存在せず，かつ，前記入力値から前記計算値を減算した差が，前記インスタンス文書の項目要素のうち前記表示ツリー構造に存在されていないものの入力値の符号を反対にした値と一致する場合に，前記計算リンクベースの要素過剰の誤りと推論する処理を，
前記コンピュータに実行させる
請求項１記載の文書の誤り推論処理プログラム。
【請求項４】
前記誤り推論処理では，前記インスタンス文書に，同一の項目要素の組で構成されるべき２以上のコンテキストが含まれている場合に，前記計算ツリー構造に設定された項目要素であって，かつ，第１のコンテキストに当該項目要素であって前記入力値から前記計算値を減算した差と一致する入力値を持つものが設定され，かつ，第２のコンテキストに当該項目要素であって前記入力値から前記計算値を減算した差と同じ値であって符号が反対の入力値を持つものが設定されていない場合に，当該項目要素のコンテキストの誤りと推論する処理を，
前記コンピュータに実行させる
請求項１記載の文書の誤り推論処理プログラム。
【請求項５】
前記誤り推論処理の誤り推論結果として，誤りと推論された項目要素に関する情報を出力する誤り推論結果出力処理を，
前記コンピュータに実行させる
請求項１記載の文書の誤り推論処理プログラム。
【請求項６】
項目要素をタグ付き構造化言語として定義したタクソノミスキーマと，前記タクソノミスキーマに定義された項目要素に入力値が格納されたコンテキストを含むインスタンス文書と，前記インスタンス文書の項目要素同士の表示処理上の階層構造を含む表示リンクベースと，前記インスタンス文書の項目要素同士の演算処理上の参照関係および階層構造を含む計算リンクベースとを記憶する文書データ記憶部と，
前記計算リンクベースの階層構造にもとづいて前記インスタンス文書の項目要素の入力値を計算し，前記計算値と前記計算値の項目要素に対応する前記インスタンス文書の入力値とを比較し，前記計算値および前記入力値との不整合を検出する不整合検出処理手段と，
前記不整合が検出された計算値の項目要素が設定されている前記計算リンクベースの計算ツリー構造を特定し，前記不整合が検出された入力値の項目要素が設定されている前記表示リンクベースの表示ツリー構造を特定し，前記計算ツリー構造と前記表示ツリー構造のそれぞれに設定されている項目要素同士を比較し，前記計算ツリー構造と前記表示ツリー構造の一方のみに設定され，かつ前記入力値と前記計算値との差の絶対値に一致する入力値を持つ項目要素が存在する場合に，当該項目要素の過不足を前記不整合の誤りとして推論する誤り推論処理手段とを備える
文書の誤り推論処理装置。
【請求項７】
項目要素をタグ付き構造化言語として定義したタクソノミスキーマと，前記タクソノミスキーマに定義された項目要素に入力値が格納されたコンテキストを含むインスタンス文書と，前記インスタンス文書の項目要素同士の表示処理上の階層構造を含む表示リンクベースと，前記インスタンス文書の項目要素同士の演算処理上の参照関係および階層構造を含む計算リンクベースとを記憶する文書データ記憶部を備えるコンピュータが実行する処理方法であって，
前記計算リンクベースの階層構造にもとづいて前記インスタンス文書の項目要素の入力値を計算し，前記計算値と前記計算値の項目要素に対応する前記インスタンス文書の入力値とを比較し，前記計算値および前記入力値との不整合を検出する不整合検出処理過程と，
前記不整合が検出された計算値の項目要素が設定されている前記計算リンクベースの計算ツリー構造を特定し，前記不整合が検出された入力値の項目要素が設定されている前記表示リンクベースの表示ツリー構造を特定し，前記計算ツリー構造と前記表示ツリー構造のそれぞれに設定されている項目要素同士を比較し，前記計算ツリー構造と前記表示ツリー構造の一方のみに設定され，かつ前記入力値と前記計算値との差の絶対値に一致する入力値を持つ項目要素が存在する場合に，当該項目要素の過不足を前記不整合の誤りとして推論する誤り推論処理過程とを備える
文書の誤り推論処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
本発明は，項目要素をタグ付き構造化言語として定義したタクソノミスキーマと，前記タクソノミスキーマに定義された項目要素に入力値が格納されたコンテキストを含むインスタンス文書と，前記インスタンス文書の項目要素同士の表示処理上の階層構造を含む表示リンクベースと，前記インスタンス文書の項目要素同士の演算処理上の参照関係および階層構造を含む計算リンクベースとを記憶する文書データ記憶部を備えるコンピュータに，１）前記計算リンクベースの階層構造にもとづいて前記インスタンス文書の項目要素の入力値を計算し，前記計算値と前記計算値の項目要素に対応する前記インスタンス文書の入力値とを比較し，前記計算値および前記入力値との不整合を検出する不整合検出処理と，２）前記不整合が検出された計算値の項目要素が設定されている前記計算リンクベースの計算ツリー構造を特定し，前記不整合が検出された入力値の項目要素が設定されている前記表示リンクベースの表示ツリー構造を特定し，前記計算ツリー構造と前記表示ツリー構造のそれぞれに設定されている項目要素同士を比較し，前記計算ツリー構造と前記表示ツリー構造の一方のみに設定され，かつ前記入力値と前記計算値との差の絶対値に一致する入力値を持つ項目要素が存在する場合に，当該項目要素の過不足を前記不整合の誤りとして推論する誤り推論処理とを，実行させる文書の誤り推論処理プログラムである。
【国際調査報告】
2008041310.tif 000027
2008041310.tif 000028
2008041310.tif 000029
2008041310.tif 000030