(57)【要約】  【課題】  タクソノミの解析結果を再利用する。  【解決手段】  代替文書構造定義ファイル記憶手段はタクソノミファイルに規定されている要素の定義データを、要素定義データオブジェクトと関係定義データオブジェクトに分けて記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを含む。エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む。処理切替手段は、読み込み対象となるタクソノミ名が与えられると、対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成する。したがって、前記展開後文書構造定義データを迅速に生成することができる。  【選択図】  図１ｂ
2005242855.tif 000002
【特許請求の範囲】
【請求項１】
要素宣言ファイル、親子関係定義ファイル、ラベル関係定義ファイル、および表示関係定義ファイルで構成され、ＸＢＲＬ文書を処理するためのタクソノミファイルを記憶するタクソノミファイル記憶手段からタクソノミファイルを読み出す読み出し手段、
前記要素宣言ファイルに規定されている要素の定義データおよび前記ラベル関係定義ファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトに記憶するとともに、前記親子関係定義ファイルおよび前記表示関係定義ファイルに規定されている要素間の関係データを関係定義データオブジェクトに記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成する展開後文書構造定義データ作成手段、
前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成する代替文書構造定義ファイル生成手段、
前記生成した代替文書構造定義ファイルを、前記タクソノミファイルが保存されているタクソノミ保管場所特定情報と対応づけて記憶する代替文書構造定義ファイル記憶手段、
読み込み対象となるタクソノミファイルを特定する読み込み対象タクソノミ保管場所特定データが与えられると、前記代替文書構造定義ファイル記憶手段に、同じタクソノミ保管場所特定情報の代替文書構造定義ファイルが存在するか否か判断し、同じタクソノミ保管場所特定データが存在する場合には、対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成し、同じタクソノミ保管場所特定データが存在しない場合には、前記読み込み対象タクソノミ保管場所特定データで特定されるタクソノミを、前記読み出し手段に読み出させる処理切替手段、
を備えたタクソノミ解析装置。
【請求項２】
ＸＢＲＬ文書を処理するための定義データであるタクソノミファイルを記憶するタクソノミファイル記憶手段から、指定されたタクソノミファイルを読み出す読み出し手段、
前記タクソノミファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトと関係定義データオブジェクトに分けて記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成する展開後文書構造定義データ作成手段、
前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成する代替文書構造定義ファイル生成手段、
前記生成した代替文書構造定義ファイルを、前記タクソノミファイルが保存されているタクソノミ保管場所特定情報と対応づけて記憶する代替文書構造定義ファイル記憶手段、
読み込み対象となるタクソノミファイルを特定する読み込み対象タクソノミ保管場所特定データが与えられると、前記代替文書構造定義ファイル記憶手段に、同じタクソノミ保管場所特定情報の代替文書構造定義ファイルが存在するか否か判断し、同じタクソノミ保管場所特定データが存在する場合には、対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成し、同じタクソノミ保管場所特定データが存在しない場合には、前記読み込み対象タクソノミ保管場所特定データで特定されるタクソノミを、前記読み出し手段に読み出させる処理切替手段、
を備えたタクソノミ解析装置。
【請求項３】
請求項１または請求項２のタクソノミ解析装置において、
前記代替文書構造定義ファイルの前記リンクデータは、総リンク数と各リンクの番号およびリンク元、リンク先の要素特定番号が記憶されており、前記処理切替手段は、これらを用いて前記展開後文書構造定義データを生成すること、
を特徴とするもの。
【請求項４】
ＸＢＲＬ文書を処理するための定義データであるタクソノミファイルを記憶するタクソノミファイル記憶手段から、指定されたタクソノミファイルを読み出す読み出し手段、
前記タクソノミファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトと関係定義データオブジェクトに分けて記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成する展開後文書構造定義データ作成手段、
前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成する代替文書構造定義ファイル生成手段、
前記生成した代替文書構造定義ファイルを、前記タクソノミファイルが保存されているタクソノミ保管場所特定情報と対応づけて記憶する代替文書構造定義ファイル記憶手段、
を備えたタクソノミ解析装置。
【請求項５】
ＸＢＲＬ文書を処理するための定義データであるタクソノミファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトと関係定義データオブジェクトに分けて記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを、前記タクソノミファイルが保存されているタクソノミ保管場所特定情報と対応づけて記憶する代替文書構造定義ファイル記憶手段、
読み込み対象となるタクソノミファイルを特定する読み込み対象タクソノミ保管場所特定データが与えられると、前記代替文書構造定義ファイル記憶手段から対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成する手段、
を備えたタクソノミ解析装置。
【請求項６】
あるタクソノミ保管場所に存在するタクソノミの階層構造を解析した解析結果をそのタクソノミ保管場所特定データと対応づけて記憶する記憶手段であって、前記解析結果は、各タグの階層構造をタグ定義群部および各タグ間の連結関係を示す連結関係定義群部で表した展開後文書構造定義データである展開後文書構造定義データ記憶手段、
指定されたタクソノミを読み込み、これを解析し、当該タクソノミに他のタクソノミを拡張する拡張タクソノミである宣言文が含まれている場合は、前記他のタクソノミと同じタクソノミ保管場所特定データを有する前記展開後文書構造定義データが、前記展開後文書構造定義データ記憶手段に記憶されているか否か判断し、既に記憶されている場合には、当該展開後文書構造定義データを読み出して、その階層構造を形成するとともに、前記拡張タクソノミによって、これを拡張した展開後文書構造定義データを生成する生成手段、
前記生成された展開後文書構造定義データを、前記拡張タクソノミ用の前記展開後文書構造定義データとして、そのタクソノミ保管場所特定データと対応づけて、前記展開後文書構造定義データ記憶手段に書き込む書き込み手段、
を備えたタクソノミ解析装置。
【請求項７】
コンピュータを、タクソノミ解析装置として機能させるためのプログラムであって、以下の処理をコンピュータに実行させるためのプログラム、
Ａ）ＸＢＲＬ文書を処理するための定義データであるタクソノミファイルを記憶するタクソノミファイル記憶領域から、指定されたタクソノミファイルを読み出し、
Ｂ）前記タクソノミファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトと関係定義データオブジェクトに分けて展開後文書構造定義データ記憶領域に記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成し、
Ｃ）前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成し、
Ｄ）前記生成した代替文書構造定義ファイルを、前記タクソノミファイルが保存されているタクソノミ保管場所特定情報と対応づけて記憶領域に記憶し、
Ｅ）読み込み対象となるタクソノミファイルを特定する読み込み対象タクソノミ保管場所特定データが与えられると、前記記憶領域に、同じタクソノミ保管場所特定情報の代替文書構造定義ファイルが存在するか否か判断し、同じタクソノミ保管場所特定データが存在する場合には、当該記憶領域から対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成し、同じタクソノミ保管場所特定データが存在しない場合には、前記読み込み対象タクソノミ保管場所特定データで特定されるタクソノミを読み出す。
【請求項８】
コンピュータによって、タクソノミ解析をおこなう方法であって、コンピュータが以下のステップを処理するタクソノミ解析方法。
Ａ）ＸＢＲＬ文書を処理するための定義データであるタクソノミファイルを記憶するタクソノミファイル記憶領域から、指定されたタクソノミファイルを読み出し、
Ｂ）前記タクソノミファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトと関係定義データオブジェクトに分けて展開後文書構造定義データ記憶領域に記憶させ、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成し、
Ｃ）前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成し、
Ｄ）前記生成した代替文書構造定義ファイルを、前記タクソノミファイルが保存されているタクソノミ保管場所特定情報と対応づけて記憶領域に記憶し、
Ｅ）読み込み対象となるタクソノミファイルを特定する読み込み対象タクソノミ保管場所特定データが与えられると、前記記憶領域に、同じタクソノミ保管場所特定情報の代替文書構造定義ファイルが存在するか否か判断し、同じタクソノミ保管場所特定データが存在する場合には、当該記憶領域から対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成し、同じタクソノミ保管場所特定データが存在しない場合には、前記読み込み対象タクソノミ保管場所特定データで特定されるタクソノミを読み出す。
【請求項９】
階層構造自己記述型文書を処理するための処理規程定義ファイルを記憶する処理規程定義ファイル記憶手段から、指定された処理規程ファイルを読み出す読み出し手段、
前記処理規程定義ファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトと関係定義データオブジェクトに分けて記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成する展開後文書構造定義データ作成手段、
前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成する代替文書構造定義ファイル生成手段、
前記生成した代替文書構造定義ファイルを、前記処理規程定義ファイルが保存されている処理規程定義データ保管場所特定情報と対応づけて記憶する代替文書構造定義ファイル記憶手段、
読み込み対象となる処理規程定義ファイルを特定する読み込み対象処理規程定義データ保管場所特定データが与えられると、前記代替文書構造定義ファイル記憶手段に、同じ処理規程定義データ保管場所特定情報の代替文書構造定義ファイルが存在するか否か判断し、同じ処理規程定義データ保管場所特定データが存在する場合には、対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成し、同じ処理規程定義データ保管場所特定データが存在しない場合には、前記読み込み対象処理規程定義データ保管場所特定データで特定される処理規程定義データを、前記読み出し手段に読み出させる処理切替手段、
を備えた階層構造自己記述型文書の処理規程定義データ解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、解析装置に関し、特に、再利用に適したデータ構造に関する。
【背景技術】
【０００２】
特許文献１には、会計分野においてXBRL（eXtensible Business Reporting Language）を用いて報告書を作成することが開示されている。
【０００３】
【特許文献１】特開２００３−３１６７６５号  かかるXBRLを用いた報告書を作成するのに、これを定義する文書構造定義データ（以下タクソノミという）が指定され、かかるタクソノミの指示に従い、生成される。タクソノミの構成について説明する。図１Ａは要素宣言ファイルで、図１Ｂは親子関係定義ファイル、図１Ｃはラベル関係定義ファイル、図１Ｄは表示関係定義ファイルである。
【０００４】
要素宣言ファイルは、構造化文書の中で記述できる文書要素を列挙して宣言するものである。この場合、"schema target Namespace"タグは、かかる要素宣言ファイルが格納されている名前空間を規定している。”element”タグは、それぞれの名前をname属性で指定している。"linkbaseRef"タグは、リンクされている親子関係定義ファイル、ラベル関係定義ファイル、表示関係定義ファイルの各ファイル名が規定されている。
【０００５】
親子関係定義ファイルには、要素宣言ファイルの各要素に対する親子関係を宣言するものである。”link”タグで記述され、親となる文書要素の名前を”from”属性で指定し、子となる文書要素の名前を”to”属性で指定する。各要素の親子関係が定義されている。link from "bs" to ="asset-total"は、要素”bs”が親で、要素”asset-total”が子供であることを意味している。このように、２つの要素間の親子関係を定義することにより、すべての要素の階層構造を定義している。
【０００６】
ラベル関係定義ファイルは、要素宣言ファイルの各要素に対する日本語の表示ラベルを宣言するものである。”link”タグで記述し、文書要素の名前を”from”属性で指定し、日本語ラベルを”to”属性で指定する。
【０００７】
図１Ｄは表示関係定義ファイルである。要素宣言ファイルの各要素に対する処理を宣言するものである。この場合、type="presentation"であるので、表示関係を示しており”link”タグは、表示の元要素をfrom属性で指定し、先要素をto属性で指定される。
【０００８】
かかるタクソノミを用いたデータ処理について簡単に説明する。コンピュータは、まず、指定されたＵＲＬにアクセスして、要素宣言ファイルを読み込んで、ある要素を注目要素として、当該要素の子要素を読み出して、各要素について、指定された処理を行う。この場合であれば、指定された処理は”表示”であるので、かかる処理を行う宣言が存在するか否か判断し、存在する場合には当該要素についてかかる処理を行う。この処理を順次繰り返すと、ツリー構造が表示される。
【０００９】
しかしながら、上記タクソノミを用いたデータ処理については、以下のような問題があった。タクソノミの解析には、図１Ａ〜図１Ｄに示す各ファイルから、ある要素について子供の要素を解析し、その部分について指定された処理を行い、これを各要素について繰り返すので、仮に同じタクソノミを用いた処理を行う場合でも、その都度、当該タクソノミを読み出して、前記解析処理が必要となる。
【００１０】
このような一旦解析したタクソノミの再利用という技術課題は、あるタクソノミに別途拡張する部分だけを定義した拡張タクソノミを、いくつか用意して、両者を合体させる処理をおこなう場合には、特に要望されるはずである。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
この発明は、上記問題を解決し、解析後のタクソノミの構造を再利用することができる解析装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
１）本発明にかかるタクソノミ解析装置は、1)要素宣言ファイル、親子関係定義ファイル、ラベル関係定義ファイル、および表示関係定義ファイルで構成され、ＸＢＲＬ文書を処理するためのタクソノミファイルを記憶するタクソノミファイル記憶手段からタクソノミファイルを読み出す読み出し手段、2)前記要素宣言ファイルに規定されている要素の定義データおよび前記ラベル関係定義ファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトに記憶するとともに、前記親子関係定義ファイルおよび前記表示関係定義ファイルに規定されている要素間の関係データを関係定義データオブジェクトに記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成する展開後文書構造定義データ作成手段、3)前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成する代替文書構造定義ファイル生成手段、4)前記生成した代替文書構造定義ファイルを、前記タクソノミファイルが保存されているタクソノミ保管場所特定情報と対応づけて記憶する代替文書構造定義ファイル記憶手段、5)読み込み対象となるタクソノミファイルを特定する読み込み対象タクソノミ保管場所特定データが与えられると、前記代替文書構造定義ファイル記憶手段に、同じタクソノミ保管場所特定情報の代替文書構造定義ファイルが存在するか否か判断し、同じタクソノミ保管場所特定データが存在する場合には、対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成し、同じタクソノミ保管場所特定データが存在しない場合には、前記読み込み対象タクソノミ保管場所特定データで特定されるタクソノミを、前記読み出し手段に読み出させる処理切替手段を備えている。
【００１３】
このように、前記タクソノミから生成した展開後文章構造定義データをさらに、前記代替文書構造定義ファイルとして記憶しておくことにより、同じタクソノミが特定された場合には、これの再利用が容易となる。
【００１４】
２）本発明にかかるタクソノミ解析装置は、1)ＸＢＲＬ文書を処理するための定義データであるタクソノミファイルを記憶するタクソノミファイル記憶手段から、指定されたタクソノミファイルを読み出す読み出し手段、2)前記タクソノミファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトと関係定義データオブジェクトに分けて記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成する展開後文書構造定義データ作成手段、3)前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成する代替文書構造定義ファイル生成手段、4)前記生成した代替文書構造定義ファイルを、前記タクソノミファイルが保存されているタクソノミ保管場所特定情報と対応づけて記憶する代替文書構造定義ファイル記憶手段、5)読み込み対象となるタクソノミファイルを特定する読み込み対象タクソノミ保管場所特定データが与えられると、前記代替文書構造定義ファイル記憶手段に、同じタクソノミ保管場所特定情報の代替文書構造定義ファイルが存在するか否か判断し、同じタクソノミ保管場所特定データが存在する場合には、対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成し、同じタクソノミ保管場所特定データが存在しない場合には、前記読み込み対象タクソノミ保管場所特定データで特定されるタクソノミを、前記読み出し手段に読み出させる処理切替手段を備えている。
【００１５】
このように、前記タクソノミから生成した展開後文章構造定義データをさらに、前記代替文書構造定義ファイルとして記憶しておくことにより、同じタクソノミが特定された場合には、これの再利用が容易となる。
【００１６】
３）本発明にかかるタクソノミ解析装置においては、前記代替文書構造定義ファイルの前記リンクデータは、総リンク数と各リンクの番号およびリンク元、リンク先の要素特定番号が記憶されており、前記処理切替手段は、これらを用いて前記展開後文書構造定義データを生成する。したがって、前記代替文書構造定義ファイルから、前記展開後文書構造定義データの生成が容易となる。
【００１７】
４）本発明にかかるタクソノミ解析装置は、1)ＸＢＲＬ文書を処理するための定義データであるタクソノミファイルを記憶するタクソノミファイル記憶手段から、指定されたタクソノミファイルを読み出す読み出し手段、2)前記タクソノミファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトと関係定義データオブジェクトに分けて記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成する展開後文書構造定義データ作成手段、3)前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成する代替文書構造定義ファイル生成手段、4)前記生成した代替文書構造定義ファイルを、前記タクソノミファイルが保存されているタクソノミ保管場所特定情報と対応づけて記憶する代替文書構造定義ファイル記憶手段を備えている。
【００１８】
このように、前記タクソノミから生成した展開後文章構造定義データをさらに、前記代替文書構造定義ファイルとして記憶しておくことにより、同じタクソノミが特定された場合には、これを読み出すことにより、これを再利用することができる。
【００１９】
５）本発明にかかるタクソノミ解析装置は、1)ＸＢＲＬ文書を処理するための定義データであるタクソノミファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトと関係定義データオブジェクトに分けて記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを、前記タクソノミファイルが保存されているタクソノミ保管場所特定情報と対応づけて記憶する代替文書構造定義ファイル記憶手段、2)読み込み対象となるタクソノミファイルを特定する読み込み対象タクソノミ保管場所特定データが与えられると、前記代替文書構造定義ファイル記憶手段から対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成する手段を備えている。したがって、同じタクソノミが特定された場合に、前記展開後文書構造定義データを生成することができる。したがって、一旦解析したタクソノミファイルの解析が不要となる
６）本発明にかかるタクソノミ解析装置は、1)あるタクソノミ保管場所に存在するタクソノミの階層構造を解析した解析結果をそのタクソノミ保管場所特定データと対応づけて記憶する記憶手段であって、前記解析結果は、各タグの階層構造をタグ定義群部および各タグ間の連結関係を示す連結関係定義群部で表した展開後文書構造定義データである展開後文書構造定義データ記憶手段、2)指定されたタクソノミを読み込み、これを解析し、当該タクソノミに他のタクソノミを拡張する拡張タクソノミである宣言文が含まれている場合は、前記他のタクソノミと同じタクソノミ保管場所特定データを有する前記展開後文書構造定義データが、前記展開後文書構造定義データ記憶手段に記憶されているか否か判断し、既に記憶されている場合には、当該展開後文書構造定義データを読み出して、その階層構造を形成するとともに、前記拡張タクソノミによって、これを拡張した展開後文書構造定義データを生成する生成手段、3)前記生成された展開後文書構造定義データを、前記拡張タクソノミ用の前記展開後文書構造定義データとして、そのタクソノミ保管場所特定データと対応づけて、前記展開後文書構造定義データ記憶手段に書き込む書き込み手段を備えている。したがって、一旦解析したタクソノミを用いる拡張タクソノミの解析処理を迅速におこなうことができる。
【００２０】
７）本発明にかかるプログラムは、コンピュータを、タクソノミ解析装置として機能させるためのプログラムであって、以下の処理をコンピュータに実行させるためのプログラムである。Ａ）ＸＢＲＬ文書を処理するための定義データであるタクソノミファイルを記憶するタクソノミファイル記憶領域から、指定されたタクソノミファイルを読み出し、Ｂ）前記タクソノミファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトと関係定義データオブジェクトに分けて展開後文書構造定義データ記憶領域に記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成し、Ｃ）前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成し、Ｄ）前記生成した代替文書構造定義ファイルを、前記タクソノミファイルが保存されているタクソノミ保管場所特定情報と対応づけて記憶領域に記憶し、Ｅ）読み込み対象となるタクソノミファイルを特定する読み込み対象タクソノミ保管場所特定データが与えられると、前記記憶領域に、同じタクソノミ保管場所特定情報の代替文書構造定義ファイルが存在するか否か判断し、同じタクソノミ保管場所特定データが存在する場合には、当該記憶領域から対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成し、同じタクソノミ保管場所特定データが存在しない場合には、前記読み込み対象タクソノミ保管場所特定データで特定されるタクソノミを読み出す。
【００２１】
このように、前記タクソノミから生成した展開後文章構造定義データをさらに、前記代替文書構造定義ファイルに変換して記憶しておくことにより、同じタクソノミが特定された場合には、これの再利用が容易となる。
【００２２】
８）本発明にかかるタクソノミ解析方法は、コンピュータによって、タクソノミ解析をおこなう方法であって、コンピュータが以下のステップを処理するタクソノミ解析方法。Ａ）ＸＢＲＬ文書を処理するための定義データであるタクソノミファイルを記憶するタクソノミファイル記憶領域から、指定されたタクソノミファイルを読み出し、Ｂ）前記タクソノミファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトと関係定義データオブジェクトに分けて展開後文書構造定義データ記憶領域に記憶させ、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成し、Ｃ）前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成し、Ｄ）前記生成した代替文書構造定義ファイルを、前記タクソノミファイルが保存されているタクソノミ保管場所特定情報と対応づけて記憶領域に記憶し、Ｅ）読み込み対象となるタクソノミファイルを特定する読み込み対象タクソノミ保管場所特定データが与えられると、前記記憶領域に、同じタクソノミ保管場所特定情報の代替文書構造定義ファイルが存在するか否か判断し、同じタクソノミ保管場所特定データが存在する場合には、当該記憶領域から対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成し、同じタクソノミ保管場所特定データが存在しない場合には、前記読み込み対象タクソノミ保管場所特定データで特定されるタクソノミを読み出す。
【００２３】
このように、前記タクソノミから生成した展開後文章構造定義データをさらに、前記代替文書構造定義ファイルに変換して記憶しておくことにより、同じタクソノミが特定された場合には、これの再利用が容易となる。
【００２４】
９）本発明にかかる階層構造自己記述型文書の処理規程定義データ解析装置は、1)階層構造自己記述型文書を処理するための処理規程定義ファイルを記憶する処理規程定義ファイル記憶手段から、指定された処理規程ファイルを読み出す読み出し手段、2)前記処理規程定義ファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトと関係定義データオブジェクトに分けて記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成する展開後文書構造定義データ作成手段、3)前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成する代替文書構造定義ファイル生成手段、4)前記生成した代替文書構造定義ファイルを、前記処理規程定義ファイルが保存されている処理規程定義データ保管場所特定情報と対応づけて記憶する代替文書構造定義ファイル記憶手段、5)読み込み対象となる処理規程定義ファイルを特定する読み込み対象処理規程定義データ保管場所特定データが与えられると、前記代替文書構造定義ファイル記憶手段に、同じ処理規程定義データ保管場所特定情報の代替文書構造定義ファイルが存在するか否か判断し、同じ処理規程定義データ保管場所特定データが存在する場合には、対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成し、同じ処理規程定義データ保管場所特定データが存在しない場合には、前記読み込み対象処理規程定義データ保管場所特定データで特定される処理規程定義データを、前記読み出し手段に読み出させる処理切替手段を備えている。
【００２５】
このように、前記処理規程定義データから生成した展開後文章構造定義データをさらに、前記代替文書構造定義ファイルに変換して記憶しておくことにより、同じ処理規程定義データが特定された場合には、これの再利用が容易となる。
【００２６】
なお、本明細書において「タクソノミ」とは、ＸＢＲＬ文書を処理を特定する辞書データであり、各勘定科目の関係や計算方法、表示順序などインスタンス文書に関する定義をいう。
【００２７】
また、「階層構造自己記述型文書」とは、各要素データに当該要素データの属性を表す属性ラベルが付加されており、文書内における他の属性ラベルに対する配置位置関係によって各属性ラベルが付加された要素データが階層構造で定義されるデータをいい、たとえば、ＸＭＬ文書が該当する。
【発明を実施するための最良の形態】
【００２８】
１．機能ブロック図の説明
本発明の一実施形態を図面に基づいて説明する。図１に示すシステム１は、タクソノミ保存サーバ２２０、解析処理サーバ２００，ユーザコンピュータ３００、４００を備えている。ユーザコンピュータ３００から、解析命令が与えられると、タクソノミ保存サーバ２２０にアクセスし、当該タクソノミを解析し、解析結果をファイル化して、保存するとともに、解析命令が与えられたユーザコンピュータ３００に送信する。ユーザコンピュータ３００は解析処理が不要となる。また、解析処理サーバ２００には一旦解析したタクソノミが保存されているので、同じタクソノミの場合には、タクソノミ保存サーバ２２０からタクソノミを取得して解析することなく、すでに解析した解析結果をユーザコンピュータ３００に与えることができる。
【００２９】
解析処理サーバ２００は、図１ｂに示すように、読み出し手段３、展開後文書構造定義データ作成手段５、代替文書構造定義ファイル生成手段７，代替文書構造定義ファイル記憶手段９，および処理切替手段１１を備えている。
【００３０】
タクソノミ保存サーバ２２０は、タクソノミファイル記憶手段２を有している。タクソノミファイル記憶手段２は、要素宣言ファイル、親子関係定義ファイル、ラベル関係定義ファイル、および表示関係定義ファイルで構成され、ＸＢＲＬ文書を処理するためのタクソノミファイルを記憶する。
【００３１】
読み出し手段３は、タクソノミファイル記憶手段２から、指定されたタクソノミファイルを読み出す。本実施形態においては、ＵＲＬによって特定するようにした。展開後文書構造定義データ作成手段５は、前記要素宣言ファイルに規定されている要素の定義データおよび前記ラベル関係定義ファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトに記憶するとともに、前記親子関係定義ファイルおよび前記表示関係定義ファイルに規定されている要素間の関係データを関係定義データオブジェクトに記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成する。
【００３２】
代替文書構造定義ファイル生成手段７は、前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成する。
【００３３】
代替文書構造定義ファイル記憶手段９は、前記生成した代替文書構造定義ファイルを、前記タクソノミファイルが保存されているタクソノミ保管場所特定情報と対応づけて記憶する。処理切替手段１１は、読み込み対象となるタクソノミファイルを特定する読み込み対象タクソノミ保管場所特定データが与えられると、前記代替文書構造定義ファイル記憶手段９に、同じタクソノミ保管場所特定情報の代替文書構造定義ファイルが存在するか否か判断し、同じタクソノミ保管場所特定データが存在する場合には、対応する代替文書構造定義ファイルを読み出して、展開後文書構造定義データを生成し、同じタクソノミ保管場所特定データが存在しない場合には、前記読み込み対象タクソノミ保管場所特定データで特定されるタクソノミを、読み出し手段３に読み出させる。
【００３４】
このように、展開後文書構造定義データは、前記要素宣言ファイルに規定されている要素の定義データおよび前記ラベル関係定義ファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトに記憶するとともに、前記親子関係定義ファイルおよび前記表示関係定義ファイルに規定されている要素間の関係データを関係定義データオブジェクトに記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続している。また、代替文書構造定義ファイルは、前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む。
【００３５】
したがって、代替文書構造定義ファイルには相互ポインタを用いたのと同様にして、前記エレメントデータと前記リンクデータとを関連づけて記憶しておくことができる。したがって、これを読み出すだけで、前記展開後文書構造定義データを迅速に生成することができる。
【００３６】
２．ハードウェア構成
図１に示す解析処理サーバ２００のハードウェア構成について、図２を用いて説明する。図２は、ＣＰＵを用いて構成したハードウェア構成の一例である。
【００３７】
解析処理サーバ２００は、ＣＰＵ２３、メモリ２７、ハードディスク２６、モニタ３０、ＣＤＤ（ＣＤＲＯＭドライブ）２５、入力デバイス２８、通信ボード３１およびバスライン２９を備えている。ＣＰＵ２３は、ハードディスク２６に記憶された各プログラムにしたがいバスライン２９を介して、各部を制御する。
【００３８】
ハードディスク２６は、オペレーティングシステムプログラム（以下ＯＳと略す）記憶部２６o、解析プログラム記憶部２６p、解析結果記憶部２６ｑを有する。
【００３９】
オペレーティングシステムプログラム（ＯＳ）２６oは、本実施形態においては、Linux（商標）を採用したがこれに限定されるものではない。
【００４０】
解析プログラム記憶部２６ｑには、与えられたタクソノミを解析して、解析結果を出力する。詳しくは後述する。
【００４１】
なお、上記プログラムは、ＣＤＤ２５を介して、プログラムが記憶されたＣＤＲＯＭ２５ａから読み出されてハードディスク２６にインストールされたものである。なお、ＣＤＲＯＭ以外に、フレキシブルディスク（ＦＤ）、ＩＣカード等のプログラムをコンピュータ可読の記録媒体から、ハードディスクにインストールさせるようにしてもよい。さらに、通信回線を用いてダウンロードするようにしてもよい。
【００４２】
本実施形態においては、プログラムをＣＤＲＯＭからハードディスク２６にインストールさせることにより、ＣＤＲＯＭに記憶させたプログラムを間接的にコンピュータに実行させるようにしている。しかし、これに限定されることなく、ＣＤＲＯＭに記憶させたプログラムをＣＤＤ２５から直接的に実行するようにしてもよい。なお、コンピュータによって、実行可能なプログラムとしては、そのままインストールするだけで直接実行可能なものはもちろん、一旦他の形態等に変換が必要なもの（例えば、データ圧縮されているものを、解凍する等）、さらには、他のモジュール部分と組合して実行可能なものも含む。
【００４３】
ハードディスク２６の解析結果記憶部２６ｑには、後述するように、タクソノミを解析した解析結果をメモリ展開しやすい形式で解析結果データがそのタクソノミを特定する特定情報と対応づけて記憶されている。本実施形態においては、タクソノミを特定する特定情報として各タクソノミのＵＲＩを用いた。かかる解析結果データについては後述する。
【００４４】
３．フローチャート
つぎに、解析処理サーバ２００における処理について説明する。以下では、ユーザコンピュータ３００，４００にはそれぞれ、図３に示すような報告書作成プログラムが記憶されており、一旦、解析したタクソノミを再利用する場合について説明する。なお、ユーザコンピュータ３００，４００のハードウェア構成については一般のパソコンと同様であるので説明は省略する。
【００４５】
ユーザコンピュータ３００の操作者は、使用タクソノミのＵＲＩ、そのインスタンス文書、および処理内容（たとえば、表作成命令など）を入力する（図３ステップＳ３０１）。ユーザコンピュータ３００は、前記ＵＲＩで特定されるタクソノミの解析命令を、解析処理サーバ２００に送信する（ステップＳ３０３）。
【００４６】
解析処理サーバ２００は、かかる解析命令を受けると、図４に示す解析プログラムを実行する。以下、図４を用いて説明する。なお、使用するタクソノミについては、更新される可能性があるので、どのバージョンのものかを特定するために、ＵＲＩ中に更新日が含まれている（たとえば、http://www.iasb.org.uk/xbrl/2004-02-01/）。
【００４７】
解析処理サーバ２００のＣＰＵ２３は、指定されたタクソノミを解析した結果がすでに解析結果記憶部２６ｑ（図２参照）に記憶されているか否か判断する（図４ステップＳ１）。解析結果記憶部２６ｑには、一度解析したタクソノミについては、そのタクソノミについてのＵＲＩが解析結果データと対応づけて記憶されている。ＣＰＵ２３は、指定されたタクソノミについて、タクソノミ保存サーバ２２０に保存されているタクソノミを取得して、同じＵＲＩのタクソノミ解析結果が存在するか否かを判断させればよい。
【００４８】
この場合には、かかる解析結果は存在しないので、ＣＰＵ２３は指定されたＵＲＩに基づき、タクソノミ保存サーバ２２０にアクセスして、タクソノミを取得する（ステップＳ７）。ここでは、図５に示す４種類のタクソノミファイルを取得したものとする。この場合、図５Ａに示す要素宣言ファイル、図５Ｂに示す親子関係定義ファイル、図５Ｃに示すラベル関係定義ファイル、図５Ｄに示す表示関係定義ファイルを取得したものとする。
【００４９】
ＣＰＵ２３は、取得したタクソノミが拡張タクソノミか否か判断する（図４ステップＳ９）。拡張タクソノミか否かは、要素宣言ファイルに拡張宣言である"extention"タグが存在するか否かで判断することができる。図５に示すタクソノミについては、この場合、上記タグが存在しないので、拡張タクソノミではないと判断して、解析処理を行う（図４ステップＳ１０）。
【００５０】
解析処理について図６を用いて説明する。ＣＰＵ２３は、各タクソノミファイルからデータを読み出し（図６ステップＳ４１）、まず、要素定義群データの生成処理をおこなう（ステップＳ４３）。ステップＳ４３の処理の詳細について、図７を用いて説明する。
【００５１】
ＣＰＵ２３は、第１次対象エレメント番号を初期化し（図７ステップＳ５１）、要素宣言ファイルのｉ番目の要素（エレメント）について、”ｎａｍｅ”，”ｔｙｐｅ”，ｎａｍｅｓｐａｃｅ”，”ｂａｌａｎｃｅ”を抽出し、ｉ番目のエレメントとしてメモリに記憶する（ステップＳ５３）。これにより、図８に示す要素定義データ５１０がメモリに記憶される。
【００５２】
ＣＰＵ２３は、最終エレメントまで処理を終了したか否か判断し（図７ステップＳ５５）し、最終エレメントでなければ第１次対象エレメント番号をインクリメントし（ステップＳ５７）、ステップＳ５３の処理をおこなう。これにより、図８に示す要素定義データ５１１が記憶される。かかる処理を要素宣言ファイルの最終エレメントまで繰り返される。
【００５３】
ＣＰＵ２３は、最終エレメントまで処理を終了すると、第２次対象ラベル番号ｈを初期化し（ステップＳ５９）、ラベル関係定義ファイルのｈ番目の要素（エレメント）について、”ｎａｍｅ”，”ラベル”を抽出し、ｈ＋ｉ番目のエレメントとしてメモリに記憶する（ステップＳ６１）。これにより、図８に示す要素定義データ５１７がメモリに記憶される。
【００５４】
ＣＰＵ２３は、最終エレメントまで処理を終了したか否か判断し（図７ステップＳ６３）し、最終エレメントでなければ第２次対象エレメント番号ｈをインクリメントし（ステップＳ６５）、ステップＳ６１の処理をおこなう。これにより、図８に示す要素定義データ５１８が記憶される。かかる処理をラベル関係定義ファイルの最終のエレメントまで繰り返される。これにより、図８に示す要素定義群データがメモリに記憶される。
【００５５】
ＣＰＵ２３は要素定義群データの生成が終了すると、関係定義群データの生成をおこなう（図６ステップＳ４５）。関係定義群データの生成処理について、図９を用いて説明する。
【００５６】
ＣＰＵ２３は、第１次対象リンク番号ｊを初期化し（ステップＳ５１）、親子関係定義ファイルのｊ番目のリンクデータについて、親子関係を抽出し、ｊ番目の関係定義データとしてメモリに記憶する（ステップＳ５３）。本実施形態においては、親子関係として、項目”ｔｙｐｅ”，”ｓｒｃ”，”ｄｓｔ”を採用した。項目”ｔｙｐｅ”は、当該関係定義データの種類を特定するものであり、この場合、親子関係定義ファイルでは、"define"が定義されているので、それが記録される。また、項目”ｓｒｃ”は親子関係における親を，項目”ｄｓｔ”は親子関係における子供を特定するものであり。この場合、０番目のリンクデータは、「link from "bs" to ="asset-total"」であり、これは、要素”bs”が親で、要素”asset-total”が子供であることを意味している。したがって項目”ｓｒｃ”，”ｄｓｔ”には、それぞれ”bs”、”asset-total”がｊ番目の関係定義データとして記憶される。これにより、図８に示す関係定義データ５３０がメモリに記憶される。
【００５７】
ＣＰＵ２３は、最終リンクデータまで処理を終了したか否か判断し（図９ステップＳ７５）し、最終リンクデータでなければ第１次対象リンク番号ｊをインクリメントし（ステップＳ７７）、ステップＳ７３の処理をおこなう。これにより、図８に示す関係定義群データ５３１が記憶される。かかる処理が親子関係定義ファイルの最終リンクデータまで繰り返される。
【００５８】
ＣＰＵ２３は、最終エレメントまで処理を終了すると、第２次対象リンク番号ｋを初期化し（ステップＳ８１）、表示関係定義ファイルのｋ番目のリンクデータについて、リンク表示関係を抽出し、ｋ＋ｊ番目の関係定義データとしてメモリに記憶する（ステップＳ８１）。本実施形態においては、リンク表示関係として、項目”ｔｙｐｅ”，”ｓｒｃ”，”ｄｓｔ”に加えて、”order”を採用した。項目”order”は、表示の際のどの順位に表示するかを定めるフラグである。たとえば、”order”＝１であれば、同じ親の下位に位置するリンクについて、１番目に、”order”＝２であれば、２番目に・・というように表示するためのものである。
【００５９】
この場合、表示関係定義ファイルのｋ番目（０番目）のリンクデータは、「link from "bs" to ="asset-total  order=”１”」であるので、これが読み出され、また、表示関係定義ファイルでは、"presentation"が定義されているので、ｋ＋ｊ番目のリンクデータとして、これらの情報が記憶される。これにより、図８に示す関係定義データ５３６がメモリに記憶される。
【００６０】
ＣＰＵ２３は、最終リンクデータまで処理を終了したか否か判断し（図９ステップＳ８３）し、最終リンクデータでなければ第２次対象リンク番号ｋをインクリメントし（ステップＳ８５）、ステップＳ８１の処理をおこなう。これにより、図８に示す関係定義データ５３７が記憶される。かかる処理が表示関係定義ファイルの最終リンクデータまで繰り返される。
【００６１】
ＣＰＵ２３は、最終リンクデータまで処理を終了すると、第３次対象リンク番号ｍを初期化し（ステップＳ８７）、ラベル関係定義ファイルのｍ番目のリンクデータについて、親子関係を抽出し、ｋ＋ｊ＋ｍ番目のリンクデータとしメモリに記憶する（ステップＳ８９）。この場合、ラベル関係定義ファイルでは、"label"が定義されている。また０番目のリンクデータは、「link from "bs" to ="貸借対照表”」であるので、これが読み出され、メモリに記憶される。これにより、図８に示す関係定義データ５４２が記憶される。
【００６２】
ＣＰＵ２３は、最終リンクデータまで処理を終了したか否か判断し（図９ステップＳ９１）し、最終リンクデータでなければ第３次対象リンク番号ｍをインクリメントし（ステップＳ９３）、ステップＳ８９の処理をおこなう。かかる処理がラベル関係定義ファイルの最終リンクデータまで繰り返される。ＣＰＵ２３は、最終リンクデータまで処理を終了すると、関係定義群データ生成処理を終了する。
【００６３】
関係定義群データ生成処理が終了すると、ＣＰＵ２３は、要素定義群データと関係定義群データとの連結処理をおこなう（図６ステップＳ４７）。連結処理について、図１０を用いて説明する。ＣＰＵ２３は、処理番号ｎを初期化し（ステップＳ１０１）、関係定義群データのｎ番目の関係定義データについて、要素定義データから検索して、ポインタをセットする（ステップＳ１０３）。たとえば、０番目の関係定義データ５３０は、項目”ｓｒｃ”が”bs”であるので、要素定義群データの中から、"name"が”bs”の要素定義データ５１０と、相互に参照できるように相互ポインタがセットされる。また、項目”ｄｓｔ”についても同様に、"name"が”asset-total”の要素定義データ５１１と相互ポインタがセットされる。
【００６４】
ＣＰＵ２３は、最終の関係定義データまで処理を終了したか否か判断し（図１０ステップＳ１０５）し、最終関係定義データでなければ処理番号ｎをインクリメントし（ステップＳ１０７）、ステップＳ１０１の処理をおこなう。かかる処理が関係定義データの最終まで繰り返される。このようにして、要素定義データと関係定義データとの連結処理がおこなわれる。
【００６５】
つぎに、ＣＰＵ２３は、解析結果のファイル出力処理をおこなう（図４ステップＳ２１）。解析結果をファイルに記憶する処理について、図１１を用いて説明する。かかるデータ変換処理は、メモリに展開した状態をできる限り崩さず、かつ、再利用の際に余分な解析処理が不要となるようにするためのものであり、ポインタで接続した要素定義データと関係定義群データとの関係を記憶する。
【００６６】
ＣＰＵ２３は、エレメントの総数を決定して、記憶する（ステップＳ１２１）。かかる総数は、図８に示す要素定義データの数をカウントすればよい。また、最終の要素定義データの番号から求めるようにしてもよい。この場合は、エレメントの総数は”１４”となる。これにより、図１２の行６１１のデータが記憶される。
【００６７】
つぎに、ＣＰＵ２３は、対象エレメント番号ｐを初期化し（図１１ステップＳ１２３）、ｐ番目の要素定義データについてつながっている関係定義データを全て抽出する。この場合、図８によると、０番目の要素定義データ５３０には、関係定義データ５３０、５３６、５３９（図示せず）、５４２がつながっているので、これらが抽出される。
【００６８】
ＣＰＵ２３は、ｐ番目の要素定義データに接続されている関係定義データの総数を決定する（ステップＳ１２７）。リンク総数はステップＳ１２３で抽出した関係定義データの総数とすればよい。この場合は、リンク総数は”４”となる。
【００６９】
つぎに、関係定義群データのうち、対応する関係定義データのリンクデータ番号を決定する（ステップＳ１２９）。この場合、対応する関係定義データは、関係定義データ５３０、５３６、５３９（図示せず）、５４２であるので、リンクデータの番号は、それぞれ、”０”、”６”、”９”、”１２”となる。
【００７０】
ＣＰＵ２３は、ｐ番目の要素定義データから”ｎａｍｅ”，”ｔｙｐｅ”，ｎａｍｅｓｐａｃｅ”，”ｂａｌａｎｃｅ”を読み出す（ステップＳ１３１）。
【００７１】
ＣＰＵ２３は、ステップＳ１２７で決定した関係定義データの総数、関係定義データのリンクデータ番号、ステップＳ１３１で読み出した定義データをｐ番目のエレメントデータとして追記する（ステップＳ１３３）。これにより、図１２の行６１２のデータが記憶される。
【００７２】
ＣＰＵ２３は、最終エレメントデータについて処理終了したかを判断する（図１１ステップＳ１３５）。この場合、終了していないので、対象エレメント番号ｐをインクリメントし、ステップＳ１２５以下の処理を繰り返す。このようにして、図８に示す要素定義データの部分を、図１２に示す形式のデータに変換して記憶する。
【００７３】
つぎに、ＣＰＵ２３は、図８に示す関係定義データの部分の変換処理をおこなう。まず、ＣＰＵ２３は、関係定義データの総数を決定し、記憶する（ステップＳ１３９）。これは、たとえば、図８に示す関係定義データの数をカウントすればよい。この場合は、総数は”１９”となる。これにより、図１３の行７１１のデータが記憶される。
【００７４】
つぎに、ＣＰＵ２３は、対象番号ｑを初期化し（図１１ステップＳ１３９）、ｑ番目の関係定義データから要素を抽出する。この場合であれば、０番目の関係定義データ５３０では、親要素"bs"、子供要素”asset-total”であるので、要素定義データ５１０、５１１が抽出される。ＣＰＵ２３は、この要素定義データ５１０、５１１から”ｔｙｐｅ”，ｎａｍｅｓｐａｃｅ”、”ｎａｍｅ”を抽出し（ステップＳ１４５）、ｑ番目のリンクデータとして、追記する（ステップＳ１４７）。これにより、図１３の行７１２に示すデータが生成される。なお、行７１２において、”link.0.srcname=http://www.iasb.org.uk/xbrl/2004-02-01/|bs”は、親要素の名前空間（namespace）とその要素名（name)を合体させて生成したものである。”link.0.dstname=http://www.iasb.org.uk/xbrl/2004-02-01/|asset-total”も同様に、子要素の名前空間（namespace）とその要素名（name)を合体させて生成したものである。
【００７５】
ＣＰＵ２３は、最終の関係定義データについて処理終了したかを判断する（ステップＳ１４９）。この場合、終了していないので、対象番号ｑをインクリメントし、ステップＳ１４３以下の処理を繰り返す。このようにして、図８に示す関係定義データの部分を、図１３に示す形式のデータに変換して記憶する。最終の関係定義データについての処理が終了すると、ＣＰＵ２３は、図１２に示すデータと図１３に示すデータを１のファイル（以下、代替文書構造定義ファイルという）として、当該タクソノミのＵＲＩと対応づけて記憶する（ステップＳ１５３）。この場合であれば、”http://www.iasb.org.uk/xbrl/2004-02-01/”のタクソノミの解析結果ファイルとして図１１，図１２に示すデータが記憶される。
【００７６】
ＣＰＵ２３は、このようにして得られた代替文書構造定義ファイルを、ユーザコンピュータ３００に送信する（図４ステップＳ２３）。ユーザコンピュータ３００は、解析処理サーバに解析命令を与えたあと、解析結果を受け取ったか否か判断している（図３ステップＳ３０５）。したがって、下記解析結果を受け取ると、これを展開する処理を実行する（ステップＳ３０７）。
【００７７】
かかる展開処理について、図１４を用いて説明する。ユーザコンピュータ３００は、要素定義データを書き込む領域と関係定義データを書き込む領域を準備する（ステップＳ４０１）。この段階では領域数は不明であるので、無限大で設定しておけばよい。
【００７８】
ユーザコンピュータ３００は、処理番号ｒを初期化し（ステップＳ４０３）、ｒ番目のエレメント番号のエレメントについて、リンクカウント数を抽出する（ステップＳ４０５）。この場合であれば、エレメント０としてリンクカウント”４”が読み込まれる。つぎに、リンク先の番号を読み出す（ステップＳ４０７）。この場合、リンク先の番号として、”０”、”６”、”９”、”１２”が読み出される。
【００７９】
ユーザコンピュータ３００は、当該ｒ番目のエレメントから、前記読み出されたリンク先番号の関係定義データの領域に対して、ポインタをセットする（ステップＳ４０９）。また、当該ｒ番目のエレメントの中味データとして、”ｎａｍｅ”，”ｔｙｐｅ”，”ｂａｌａｎｃｅ”を読み込んで、書き込む（ステップＳ４１１）。
【００８０】
ユーザコンピュータ３００は、処理番号ｒをインクリメントし（ステップＳ４１２）、処理番号ｒがエレメント総数を超えるか否か判断し（ステップＳ４１３）、越えていなければ、ステップＳ４０５以下の処理を繰り返す。
【００８１】
処理番号ｒが、エレメント総数を超えた場合には、処理番号ｓを初期化し（ステップＳ４２３）、ｓ番目の番号のリンクデータについて、リンク元のエレメントとリンク先のエレメントの番号を抽出する（ステップＳ４２５）。この場合であれば、０番目のリンクデータについては、リンク元として、エレメント０が、リンク先として、エレメント１であることがわかる。ＣＰＵ２３は、かかるエレメント番号のエレメントに対して、ポインタをセットする（ステップＳ４２７）。これにより、相互にポインタがセットされた状態となる。
【００８２】
つぎに、ｒ番目の関係定義データについて、リンク元およびリンク先のエレメントの”ｎａｍｅ”，”ｔｙｐｅ”、その他記憶されている付加情報を中味情報として書き込む（ステップＳ４２９）。
【００８３】
処理番号ｓをインクリメントし（ステップＳ４３２）、処理番号ｓがリンク総数を超えるか否か判断し（ステップＳ４３３）、越えていなければ、ステップＳ４２５以下の処理を繰り返す。
【００８４】
処理番号ｒが、エレメント総数を超えた場合には、処理を終了する。これにより、展開処理が終了する。
【００８５】
ユーザコンピュータ３００は、展開処理が終了すると、与えられたインスタンス文書および処理命令（この場合表示命令）に基づき、報告書を生成する（図３ステップＳ３０９）。かかる報告書の作成処理については従来と同様であるので、説明は省略する。
【００８６】
なお、図１３に示す当該要素の名前空間（namespace)については、一旦ファイル化された後は特に用いるものではないので、最初にファイル出力するときに省略するようにしてもよい。
【００８７】
つぎに、ユーザコンピュータ４００にてかかる代替文書構造定義ファイルを用いて報告書作成処理が実行される場合について説明する。
【００８８】
ユーザコンピュータ４００の操作者は、使用タクソノミのＵＲＩ、そのインスタンス文書、および処理内容（たとえば、表作成など）を入力する（図３ステップＳ３０１）。ここでは、”http://www.iasb.org.uk/xbrl/2004-02-01/”のタクソノミ解析命令が与えられたものとする。ユーザコンピュータ４００は、前記ＵＲＩで特定されるタクソノミの解析命令を、解析処理サーバ２００に送信する（ステップＳ３０３）。
【００８９】
解析処理サーバ２００のＣＰＵ２３は、指定されたタクソノミを解析した結果がすでに解析結果記憶部２６ｑ（図２参照）に記憶されているか否か判断する（図４ステップＳ１）。この場合、解析結果記憶部２６ｑには、”http://www.iasb.org.uk/xbrl/2004-02-01/”の解析結果データが記憶されている。ＣＰＵ２３は、指定されたタクソノミのＵＲＩと同じＵＲＩのタクソノミ解析結果が存在するか否か判断する。以下では、指定されたタクソノミと同じタクソノミの解析結果が保存されている場合について説明する。
【００９０】
この場合、指定されたタクソノミが記憶されているので、その代替文書構造定義ファイルを読み込む（図４ステップＳ３）。ＣＰＵ２３は、かかるファイルをファイル送信する（ステップＳ２３）。ユーザコンピュータ３００は、かかるファイルを受け取ると、解析結果を展開する（ステップＳ３０７）。解析結果の展開処理については既に説明したので省略する。そして、ユーザコンピュータ３００は、報告書作成処理を実行する（ステップＳ３０９）。
【００９１】
このように、このような解析結果ファイルが一旦保存されると、同じタクソノミについて解析命令が与えられた場合、これを再利用することにより、解析命令が与えられたユーザコンピュータに迅速に解析結果を送信することができる。
【００９２】
また、あるタクソノミを基礎として、これを一部変更する拡張タクソノミを用いた活用が提案されている。このような拡張タクソノミについても、本解析処理サーバは有効である。
【００９３】
たとえば、ユーザコンピュータ３００から指定されたＵＲＩ”http://www.sg.org.sg/xbrl/2004-02-01/にて、図１５に示すようなタクソノミファイルを取得したものとする。このタクソノミは、タクソノミ”http://www.iasb.org.uk/xbrl/2004-02-01/”を基礎として、これを拡張するものである。具体的には、タクソノミ”http://www.iasb.org.uk/xbrl/2004-02-01/””の階層構造が、図１６Ａに示すような階層構造である場合、図１６Ｂに示すような階層構造とする差分データが指定されたタクソノミである。
【００９４】
この場合の処理について、図４を用いて説明する。指定されたタクソノミは、この場合記憶されていないので、ＣＰＵ２３は、ステップＳ１からステップＳ７に進み、指定されたＵＲＩ”http://www.sg.org.sg/xbrl/2004-02-01/から、図１５に示すタクソノミファイルを取得する（ステップＳ７）。
【００９５】
ＣＰＵ２３は、取得したタクソノミが他のタクソノミの参照が必要な拡張タクソノミであるか否か判断する（ステップＳ９）。拡張タクソノミであるか否かは、要素宣言ファイルに拡張宣言である"extention"タグが存在するか否かで判断することができる。図１５に示すタクソノミについては、上記タグが存在するので、拡張タクソノミであると判断して、拡張の元となる用いるタクソノミが既に解析済みか否か判断する（ステップＳ１１）。これは、解析結果記憶部２６ｑに記憶されているか否かを判断すればよい。この場合、”http://www.iasb.org.uk/xbrl/2004-02-01/”で特定されるタクソノミについては、すでに解析結果記憶部２６ｑに存在するので、代替文書構造定義ファイルを読み出し（ステップＳ２７）、これをメモリに展開する（ステップＳ２９）。かかる展開処理については既に説明したので説明は省略する。これにより、図８に示す状態がメモリに展開される。
【００９６】
ＣＰＵ２３は 拡張の元となる用いるタクソノミがすべて展開済みか否か判断する（ステップＳ１７）。この場合、既に展開済みであるので、拡張処理をおこなう（ステップＳ１９）。
【００９７】
かかる拡張処理については、基本的には、解析処理と同様である。ただ、図８に示すように、既に要素定義データが記憶されているので、現在の要素定義データの最終番号を取得して、その後ろに要素定義データを追加するように処理をおこなう。この場合であれば、１４の要素定義データが存在するので、これに追記される。関係定義データについても同様である。そして連結処理をおこなう。これも既に説明したので省略する。
【００９８】
これにより、図１７に示すように、複数の要素定義データおよび複数の関係定義データが追加される。
【００９９】
また、図１５に示す拡張タクソノミには、拡張元タクソノミの階層構造について一部無効とする命令が含まれている。このような場合に、該当する要素定義データ、関係定義データ、ポインタなどを削除することも考えられるが、本実施形態においては、かかるデータは残したまま、両者の連結関係を分断することにより、かかる階層構造が存在しないように取り扱われるデータとした。具体的には、この場合であれば、図１５Ｂに示す親子関係定義ファイルにおける行８１１の ”invalidate=”true””の部分である。これは、”asset-total”と”asset-nonCur-tot”とのリンクを無効とするというリンク定義である。かかる定義がある場合には、ＣＰＵ２３は、関係定義データのうち、これらを親子とするリンクについて無効フラグをセットする処理をおこなう。これにより、図１７において、関係定義データ５３２に、無効フラグ”invalidate”が、”true”であることが追記される。
【０１００】
拡張処理が終了すると、ＣＰＵ２３は、これをファイル出力する（図４ステップＳ２１）。図１８，図１９に拡張タクソノミの代替文書構造定義ファイルを示す。図１２，１３の代替文書構造定義ファイルと比べると、行８３１，８３３，８３５，８３７，８４１，８３２，８４３が変更されている。このファイルが出力される（ステップＳ２３）。
【０１０１】
なお、拡張タクソノミによっては複数の拡張元タクソノミを用いる場合があり、その一部だけが解析結果記憶部２６ｑに記憶されている場合がある。この場合には、図４ステップＳ１７にて、全て展開済みでないと判断され、ステップＳ１１からステップＳ１３に進み、対象のタクソノミが読み出され、これが解析される（ステップＳ１５）。
【０１０２】
なお、拡張タクソノミ自身についても解析結果は記憶されるので、同じ拡張タクソノミであれば、再度解析処理は不要となる。
【０１０３】
本実施形態においては、XBRL文書を処理する際に、処理対象となるインスタンス文書に対応するタクソノミを、代替文書構造定義ファイルに変換して保持している。したがって、処理の高速化を図ることができる。かかる代替文書構造定義ファイルでは、メモリに展開後、要素定義オブジェクト、関係定義オブジェクト間を相互にポインタで連結している。したがって、検索がいずれの方向からでも可能となる。
【０１０４】
このように、定義、リンク、ラベル、処理内容を示す各タクソノミファイルを解析し、解析結果をファイル化するときに、エレメント情報とリンク情報にわけ、かつ、双方からポインタをセットできるように、エレメント情報側にも、リンク情報側にも、参照先データを記憶している。したがって、前記タクソノミファイルで規定された階層構造を再度解析することなく、解析結果を出力することができる。
【０１０５】
４．他の実施形態
上記実施形態では、ユーザコンピュータに報告書作成プログラムが存在する場合について説明したが、解析サーバにこの報告書作成プログラムを記憶させ、ユーザコンピュータからは使用するタクソノミ、そのインスタンス文書、および処理内容を受け取って、解析サーバ内にて解析処理を解析プログラムに実行させ、作成した報告書をユーザコンピュータに送信するようにしてもよい。この場合には、当然、メモリ上に展開したまま、報告書作成処理をおこなえばよい。
【０１０６】
なお、上記実施形態では、要素宣言ファイル、親子関係定義ファイル、ラベル関係定義ファイル、および表示関係定義ファイルで構成されたタクソノミファイルを例として説明したが、これ以外のＸＢＲＬ文書についても同様に適用することができる。たとえば、表示関係定義ファイルに代えて、計算関係定義ファイルや参照定義ファイルとしたり、表示関係定義ファイルに加えて、計算関係定義ファイルおよび／または参照定義ファイルを採用したりしてもよい。
【０１０７】
また、前記タクソノミファイルに規定されている要素の定義データを、各要素毎に、要素定義データオブジェクトと関係定義データオブジェクトに分けて記憶し、かつ、各オブジェクト間の接続状態を相互ポインタで接続した展開後文書構造定義データを作成して、前記展開後文書構造定義データについて、前記各要素定義オブジェクトをエレメントデータとして、前記各関係定義データオブジェクトをリンクデータとするとともに、前記エレメントデータには、前記エレメントデータと関連するリンクデータのリンクデータ番号を含み、前記リンクデータには、リンクする親エレメントと子エレメントのエレメント番号を含む代替文書構造定義ファイルを生成するようにしてもよい。
【０１０８】
また、上記実施形態では、タクソノミがどのバージョンのものかを特定するために、ＵＲＩ中に更新日を記憶する例について説明したが、更新日ではなく、更新日時でもよい。また、更新履歴番号などこれらを一意に特定できるものであればどのようなものであってもよい。
【０１０９】
さらに、ＸＢＲＬ文書だけでなく、ＸＭＬ文書などの、階層構造自己記述型文書についても同様に適用することができる。
【０１１０】
上記実施形態においては、図１ｂに示す機能を実現する為に、ＣＰＵを用い、ソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路等のハードウェアによって実現してもよい。
【０１１１】
なお、上記プログラムの一部の処理をオペレーティングシステム（ＯＳ）にさせるようにしてもよい。
【図面の簡単な説明】
【０１１２】
【図１】本発明にかかるシステムの全体概要図である。
【図１ｂ】本発明にかかるシステムの機能ブロック図である。
【図２】図１に示す解析処理サーバ２００をＣＰＵを用いて実現したハードウエア構成の一例を示す図である。
【図３】ユーザコンピュータ３００における処理フローチャートである。
【図４】解析処理サーバ２００における処理フローチャートである。
【図５】タクソノミのデータ構造を示す。
【図６】解析処理サーバ２００における解析処理フローチャートである。
【図７】解析処理サーバ２００における解析処理フローチャートである。
【図８】タクソノミの解析結果をメモリに展開した状態を示す。
【図９】関係定義データ群の生成処理フローチャートである。
【図１０】連結処理のフローチャートである。
【図１１】ファイル出力処理のフローチャートである。
【図１２】ファイル出力結果の一例である。
【図１３】ファイル出力結果の一例である。
【図１４】出力したファイルからメモリに展開するフローチャートである。  集成画面の一例である。
【図１５】拡張タクソノミのデータ構造を示す。
【図１６】基準タクソノミと拡張タクソノミの階層構造を示す。
【図１７】拡張タクソノミによって、拡張後のメモリ展開状態を示す。
【図１８】ファイル出力結果の一例である。
【図１９】ファイル出力結果の一例である。
【符号の説明】
【０１１３】
２３・・・ＣＰＵ
２７・・・メモリ
【図１】
2005242855.tif 000003
【図１ｂ】
2005242855.tif 000004
【図２】
2005242855.tif 000005
【図３】
2005242855.tif 000006
【図４】
2005242855.tif 000007
【図５】
2005242855.tif 000008
【図６】
2005242855.tif 000009
【図７】
2005242855.tif 000010
【図８】
2005242855.tif 000011
【図９】
2005242855.tif 000012
【図１０】
2005242855.tif 000013
【図１１】
2005242855.tif 000014
【図１２】
2005242855.tif 000015
【図１３】
2005242855.tif 000016
【図１４】
2005242855.tif 000017
【図１５】
2005242855.tif 000018
【図１６】
2005242855.tif 000019
【図１７】
2005242855.tif 000020
【図１８】
2005242855.tif 000021
【図１９】
2005242855.tif 000022