(57)【要約】  【課題】複数繰り返し項目を入力する必要がある場合に、ひな形の一部分を繰り返し出力させる制御文などをひな形内に記述する必要がない階層構造情報生成の提供  【解決手段】図４Ｂに示すように、マッピング情報は、代入要素名記述領域、出現番号記述領域、及び繰り返し要素名記述領域を有している。代入要素名記述領域には、各マッピング情報に対応する入力情報をＸＭＬ文書のどのタグの値として代入するのかを記述する。出現番号記述領域には、繰り返し要素指定領域で指定される繰り返し要素の繰り返し回数を記述する。繰り返し要素名記述領域には、ＸＭＬ文書に繰り返して出力するタグを記述する。階層構造情報生成装置は、繰り返し要素名記述領域に記述されているタグに基づいてＸＭＬ文書を生成する。この際、階層構造情報生成装置は、出現番号記述領域に記述されている回数だけタグを繰り返し出力したＸＭＬ文書を生成する。【選択図】図４
2006139764.tif 000002
【特許請求の範囲】
【請求項１】
階層構造を形成する項目に入力情報を対応付けた階層構造情報を生成する階層構造情報生成装置であって、
前記階層構造情報生成装置は、
１又は複数の項目が形成する階層構造を示す基本階層構造情報を取得する基本階層構造情報取得手段、
前記入力情報はいずれの項目に対応するのかを指定する項目指定部、及び、前記項目指定部に対応する項目をいずれの階層において繰り返し出力するのかを指定する繰り返し指定部を有する対応付け情報を取得する対応付け情報取得手段、
前記基本階層構造情報から前記項目を取得する項目取得手段、
前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応するか否かを判断する項目判断手段、
前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応すれば、当該対応付け情報の前記繰り返し指定部で指定された階層を繰り返し階層と判断する繰り返し階層判断手段、
前記繰り返し階層に対応する項目を繰り返し項目として前記基本階層構造情報から取得する繰り返し項目取得手段、
前記繰り返し項目に基づいて階層構造情報を生成する階層構造情報生成手段、
を有すること、
を特徴とする階層構造情報生成装置。
【請求項２】
請求項１に係る階層構造情報生成装置において、さらに、
前記基本階層構造情報を記憶する基本階層構造情報記憶手段、
を有する階層構造情報生成装置。
【請求項３】
請求項１又は請求項２に係る階層構造情報生成装置のいずれかにおいて、さらに、
前記対応付け情報を記憶する対応付け情報記憶手段、
を有する階層構造情報生成装置。
【請求項４】
請求項１〜請求項３に係る階層構造情報生成装置のいずれかにおいて、
前記対応付け情報は、さらに、
前記項目指定部に対応する項目を何回繰り返し出力するのかを指定する繰り返し回数指定部、
を有し、
前記階層構造情報生成装置は、さらに、
前記繰り返し回数指定部を取得する繰り返し回数指定部取得手段、
を有し、
前記階層構造情報生成手段は、さらに、
取得した繰り返し回数指定部の値だけ前記繰り返し項目を繰り返し出力した階層構造情報を生成すること、
を特徴とする階層構造情報生成装置。
【請求項５】
請求項４に係る階層構造情報生成装置において、
前記繰り返し回数指定部取得手段は、さらに、
前記繰り返し回数指定部に値が設定されていないと判断すると、前記繰り返し回数指定部の値として「１」を設定すること、
を特徴とする階層構造情報生成装置。
【請求項６】
請求項１〜請求項５に係る階層構造情報生成装置のいずれかにおいて、さらに、
前記繰り返し指定部に値が設定されているか否かを判断する繰り返し指定部判断手段、
を有し、
前記繰り返し階層判断手段は、さらに、
前記繰り返し指定部に値が設定されていると判断すると、前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応すれば、当該対応付け情報の前記繰り返し指定部で指定された階層を繰り返し階層と判断し、また、前記繰り返し指定部に値が設定されていないと判断すると、当該項目指定部で指定された項目に対して予め定められた階層を繰り返し階層と判断すること、
を特徴とする階層構造情報生成装置。
【請求項７】
請求項１〜請求項６に係る階層構造情報生成装置のいずれかにおいて、
一の前記入力情報に対して一の前記対応付け情報が対応付けられており、
前記階層構造情報生成装置は、さらに、
前記入力情報を取得する入力情報取得手段、
生成された階層構造情報において、前記対応付け情報の前記項目指定部に対応する項目に、当該対応付け情報に対応する前記入力情報を設定する入力情報設定手段、
を有する階層構造情報生成装置。
【請求項８】
請求項７に係る階層構造情報生成装置において、
前記入力情報は、
当該入力情報を記述するための入力情報記述領域を有する入力情報記述ファイルに記述されており、
前記入力情報記述領域は、行及び列によって特定され、
前記対応付け情報は、
当該対応付け情報を記述するための対応付け情報記述領域を有する対応付け情報記述ファイルに記述されており、
前記対応付け情報記述領域は、行及び列によって特定され、
前記入力情報及び前記対応付け情報は、
前記入力情報記述ファイル及び前記入力情報記述ファイルにおける行及び列の位置関係に基づいて対応付けされていること、
を特徴とする階層構造情報生成装置。
【請求項９】
請求項８に係る階層構造情報生成装置において、
前記階層構造情報生成装置は、さらに、
ある行及びある列で特定される前記入力情報記述領域に記述されている入力情報である第１の入力情報が、当該行の前の行及び同じ列の前記入力情報記述領域に記述されている入力情報である第２の入力情報と同一であるか否かを判断する入力情報判断手段、
を有し、
前記階層構造情報生成装置は、さらに、
前記第１の入力情報と第２の入力情報とが同一であれば、前記第１の入力情報に対応する前記対応付け情報の前記項目指定部で指定されている項目については、前記階層構造情報生成手段及び前記入力情報代入手段における処理を行わないこと、
を特徴とする階層構造情報生成装置。
【請求項１０】
請求項９に係る階層構造情報生成装置において、
前記階層構造情報生成装置は、さらに、
前記対応付け情報の前記項目指定部に記述されている項目ついて、当該対応付け情報の前記繰り返し指定部の値が同一である項目を同一グループと判断するグループ判断手段、
前記同一グループに属する項目を前記項目指定部に有する対応付け情報に対応する入力情報の全てついて、ある行の値がその前の行の値と同一であるか否かを判断するグループ入力情報判断手段、
を有し、
前記階層構造情報生成装置は、さらに、
前記入力情報の全てついて、ある行の値がその前の行の値と同一であれば、前記入力情報に対応する前記対応付け情報の前記項目指定部で指定されている項目については、前記階層構造情報生成手段及び前記入力情報代入手段における処理を行わないこと、
を特徴とする階層構造情報生成装置。
【請求項１１】
階層構造を形成する項目に入力情報を対応付けるための階層構造情報を生成する階層構造情報生成プログラムであって、
前記階層構造情報生成プログラムは、
コンピュータに、
１又は複数の項目が形成する階層構造を示す基本階層構造情報を取得させ、
前記入力情報はいずれの項目に対応するのかを指定する項目指定部、及び、前記項目指定部に対応する項目をいずれの前記階層において繰り返し出力するのかを指定する繰り返し指定部を有する対応付け情報を取得させ、
前記基本階層構造情報から前記項目を取得させ、
前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応するか否かを判断させ、
前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応すれば、当該対応付け情報の前記繰り返し指定部で指定された階層を繰り返し階層と判断させ、
前記繰り返し階層に対応する項目を繰り返し項目として前記基本階層構造から取得させ、
前記繰り返し項目に基づいて階層構造情報を生成させること、
を特徴とする階層構造情報生成プログラム。
【請求項１２】
請求項１１に係る階層構造情報生成プログラムにおいて、
前記階層構造情報生成プログラムは、
コンピュータに、さらに、
前記基本階層構造情報を記憶する基本階層構造情報記憶手段から前記前記基本階層構造情報を取得させること、
を特徴とする階層構造情報生成プログラム。
【請求項１３】
請求項１１又は請求項１２に係る階層構造情報生成プログラムのいずれかにおいて、
前記階層構造情報生成プログラムは、
コンピュータに、さらに、
前記対応付け情報を記憶する対応付け情報記憶手段から前記前記基本階層構造情報を取得させること、
を特徴とする階層構造情報生成プログラム。
【請求項１４】
請求項１１〜請求項１３に係る階層構造情報生成プログラムのいずれかにおいて、
前記階層構造情報生成プログラムは、
コンピュータに、さらに、
前記項目指定部に対応する項目を何回繰り返し出力するのかを指定する繰り返し回数指定部を有する対応付け情報から、当該繰り返し回数指定部を取得させ、
前記繰り返し項目を取得した繰り返し回数指定部の値だけ繰り返し出力した階層構造情報を生成させること、
を特徴とする階層構造情報生成プログラム。
【請求項１５】
請求項１４に係る階層構造情報生成プログラムにおいて、
前記階層構造情報生成プログラムは、
コンピュータに、さらに、
前記繰り返し回数指定部に値が設定されていないと判断すると、前記繰り返し回数指定部の値として「１」を設定させること、
を特徴とする階層構造情報生成プログラム。
【請求項１６】
請求項１１〜請求項１５に係る階層構造情報生成プログラムのいずれかにおいて、
前記階層構造情報生成プログラムは、
コンピュータに、さらに、
前記繰り返し指定部に値が設定されているか否かを判断させ、
前記繰り返し指定部に値が設定されていると判断すると、前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応すれば、当該対応付け情報の前記繰り返し指定部で指定された階層を繰り返し階層と判断させ、また、前記繰り返し指定部に値が設定されていないと判断すると、当該項目指定部で指定された項目に対して予め定められた階層を繰り返し階層と判断させること、
を特徴とする階層構造情報生成プログラム。
【請求項１７】
請求項１１〜請求項１６に係る階層構造情報生成プログラムのいずれかにおいて、
前記階層構造情報生成プログラムは、
コンピュータに、さらに、
一の前記入力情報に対して一の前記対応付け情報が対応付けられている前記入力情報を取得させ、
生成された階層構造情報において、取得した繰り返し項目のうち、前記対応付け情報の項目指定部に対応する項目に、当該対応付け情報に対応する入力情報を設定させること、
を特徴とする階層構造情報生成プログラム。
【請求項１８】
請求項１７に係る階層構造情報生成プログラムにおいて、
前記入力情報は、
当該入力情報を記述するための入力情報記述領域を有する入力情報記述ファイルに記述されており、
前記入力情報記述領域は、行及び列によって特定され、
前記対応付け情報は、
当該対応付け情報を記述するための対応付け情報記述領域を有する対応付け情報記述ファイルに記述されており、
前記対応付け情報記述領域は、行及び列によって特定され、
前記入力情報及び前記対応付け情報は、
前記入力情報記述ファイル及び前記入力情報記述ファイルにおける行及び列の位置関係に基づいて対応付けされていること、
を特徴とする階層構造情報生成プログラム。
【請求項１９】
請求項１７又は請求項１８に係る階層構造情報生成プログラムのいずれかにおいて、
前記階層構造情報生成プログラムは、
コンピュータに、さらに、
ある行及びある列で特定される前記入力情報記述領域に記述されている入力情報である第１の入力情報が、当該行の前の行の同じ列の前記入力情報記述領域に記述されている入力情報である第２の入力情報と同一であるか否かを判断させ、
前記第１の入力情報と第２の入力情報とが同一であれば、前記第１の入力情報に対応する前記対応付け情報の項目指定部で指定されている項目については、階層構造情報生成手段及び入力情報代入手段における処理を行わせないこと、
を特徴とする階層構造情報生成プログラム。
【請求項２０】
請求項１７〜請求項１９に係る階層構造情報生成プログラムのいずれかにおいて、
前記階層構造情報生成プログラムは、
コンピュータに、さらに、
前記対応付け情報の項目指定部に記述されている項目ついて、当該対応付け情報の繰り返し指定部の値が同一である項目を同一グループと判断させ、
前記同一グループに属する項目を前記項目指定部に有する対応付け情報に対応する入力情報の全てついて、ある行の値がその前の行の値と同一であるか否かを判断させ、
前記入力情報の全てついて、ある行の値がその前の行の値と同一であれば、前記入力情報に対応する前記対応付け情報の項目指定部で指定されている項目については、階層構造情報生成手段及び入力情報代入手段における処理を行わせないこと、
を特徴とする階層構造情報生成プログラム。
【請求項２１】
階層構造を形成する項目に入力情報を対応付けるための階層構造情報を生成するために利用される対応付け情報データ構造であって、
前記対応付け情報データ構造は、
前記入力情報はいずれの項目に対応するのかを指定する項目指定部、
前記項目指定部に対応する項目をいずれの前記階層において繰り返し出力するのかを指定する繰り返し指定部、
を有する対応付け情報データ構造。
【請求項２２】
請求項２１に係る対応付け情報データ構造において、さらに、
前記項目指定部に対応する項目を何回繰り返し出力するのかを指定する繰り返し回数指定部、
を有する対応付け情報データ構造。
【請求項２３】
コンピュータを用いて、階層構造を形成する項目に入力情報を対応付けるための階層構造情報を生成する階層構造情報生成方法であって、
前記コンピュータが、１又は複数の項目が形成する階層構造を示す基本階層構造情報を取得し、
前記コンピュータが、前記入力情報はいずれの項目に対応するのかを指定する項目指定部、及び、前記項目指定部に対応する項目をいずれの前記階層において繰り返し出力するのかを指定する繰り返し指定部を有する対応付け情報を取得し、
前記コンピュータが、前記基本階層構造情報から前記項目を取得し、
前記コンピュータが、前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応するか否かを判断し、
前記コンピュータが、前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応すれば、当該対応付け情報の前記繰り返し指定部で指定された階層を繰り返し階層と判断し、
前記コンピュータが、前記繰り返し階層に対応する項目を繰り返し項目として前記基本階層構造から取得し、
前記コンピュータが、前記繰り返し項目に基づいて階層構造情報を生成すること、
を特徴とする階層構造情報生成方法。
【請求項２４】
請求項２３に係る階層構造情報生成方法において、さらに、
前記コンピュータが、前記基本階層構造情報を記憶する基本階層構造情報記憶手段から当該基本階層構造情報を取得すること、
を有する階層構造情報生成方法。
【請求項２５】
請求項２３又は請求項２４に係る階層構造情報生成方法のいずれかにおいて、さらに、
前記コンピュータが、前記対応付け情報を記憶する対応付け情報記憶手段から当該基本階層構造情報を取得すること、
を有する階層構造情報生成方法。
【請求項２６】
請求項２３〜請求項２５に係る階層構造情報生成方法のいずれかにおいて、
前記コンピュータが、さらに、
前記項目指定部に対応する項目を何回繰り返し出力するのかを指定する繰り返し回数指定部を有する対応付け情報から当該繰り返し回数指定部を取得し、
前記コンピュータが、前記繰り返し項目を取得した繰り返し回数指定部の値だけ繰り返し出力した階層構造情報を生成すること、
を特徴とする階層構造情報生成方法。
【請求項２７】
請求項２６に係る階層構造情報生成方法において、
前記コンピュータが、前記繰り返し回数指定部に値が設定されていないと判断すると、前記繰り返し回数指定部の値として「１」を設定すること、
を特徴とする階層構造情報生成方法。
【請求項２８】
請求項２３〜請求項２７に係る階層構造情報生成方法のいずれかにおいて、さらに、
前記コンピュータが、前記繰り返し指定部に値が設定されているか否かを判断し、
前記コンピュータが、前記繰り返し指定部に値が設定されていると判断すると、前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応すれば、当該対応付け情報の前記繰り返し指定部で指定された階層を繰り返し階層と判断させ、また、
前記コンピュータが、前記繰り返し指定部に値が設定されていないと判断すると、当該項目指定部で指定された項目に対して予め定められた階層を繰り返し階層と判断すること、
を特徴とする階層構造情報生成方法。
【請求項２９】
請求項２３〜請求項２８に係る階層構造情報生成方法のいずれかにおいて、
前記コンピュータが、一の前記入力情報に対して一の前記対応付け情報が対応付けられている前記入力情報を取得し、
前記コンピュータが、生成された階層構造情報において、取得した繰り返し項目のうち、前記対応付け情報の項目指定部に対応する項目に、当該対応付け情報に対応する入力情報を設定すること、
を特徴とする階層構造情報生成方法。
【請求項３０】
請求項２９に係る階層構造情報生成方法において、
前記入力情報は、
当該入力情報を記述するための入力情報記述領域を有する入力情報記述ファイルに記述されており、
前記入力情報記述領域は、行及び列によって特定され、
前記対応付け情報は、
当該対応付け情報を記述するための対応付け情報記述領域を有する対応付け情報記述ファイルに記述されており、
前記対応付け情報記述領域は、行及び列によって特定され、
前記入力情報及び前記対応付け情報は、
前記入力情報記述ファイル及び前記入力情報記述ファイルにおける行及び列の位置関係に基づいて対応付けされていること、
を特徴とする階層構造情報生成方法。
【請求項３１】
請求項２９又は請求項３０に係る階層構造情報生成方法のいずれかにおいて、さらに、
前記コンピュータが、ある行及びある列で特定される前記入力情報記述領域に記述されている入力情報である第１の入力情報が、当該行の前の行の同じ列の前記入力情報記述領域に記述されている入力情報である第２の入力情報と同一であるか否かを判断し、
前記コンピュータが、前記第１の入力情報と第２の入力情報とが同一であれば、前記第１の入力情報に対応する前記対応付け情報の項目指定部で指定されている項目については、階層構造情報生成手段及び入力情報代入手段における処理を行わないこと、
を特徴とする階層構造情報生成方法。
【請求項３２】
請求項２９〜請求項３１に係る階層構造情報生成装置のいずれかにおいて、さらに、
前記コンピュータが、前記対応付け情報の項目指定部に記述されている項目ついて、当該対応付け情報の繰り返し指定部の値が同一である項目を同一グループと判断し、
前記コンピュータが、前記同一グループに属する項目を前記項目指定部に有する対応付け情報に対応する入力情報の全てついて、ある行の値がその前の行の値と同一であるか否かを判断し、
前記コンピュータが、前記入力情報の全てついて、ある行の値がその前の行の値と同一であれば、前記入力情報に対応する前記対応付け情報の項目指定部で指定されている項目については、階層構造情報生成手段及び入力情報代入手段における処理を行わないこと、
を特徴とする階層構造情報生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層構造情報生成装置であって、特に、複数繰り返しデータを容易に入力することができるものに関する。
【背景技術】
【０００２】
個々の値を保持するデータ要素と、データ要素間の上位−下位関係に基づく階層構造をなす構造化文書を対象とし、一群の値を入力に取り、これらの値を構造化文書の各データ要素に割り当てることにより、データを保持した構造化文書を出力する構造化文書のマッピング方式がある。このようなマッピング方式において、従来、入力値を出力先データ要素へ変換および転記するための手続とデータ構造を記述することにより、構造化文書のマッピング処理を記述できるプログラミング言語が提供され、使用されてきた。
【０００３】
さらに、出力する構造化文書の雛型と、雛型上に個々の値の挿入位置を指示するプレイスホルダをあらかじめ定義しておくことにより、変換および転記の手続を雛型の定義に基づいて自動実行するテンプレート機能が、前記プログラミング言語とともに提供され、使用されてきた。
【０００４】
このようなテンプレート機能を用いることによって、入力値を出力先データ要素へ変換および転記するための手続を逐一記述する必要がなくなり、プログラミング言語によりマッピング処理を記述する手間を軽減することができる。
【０００５】
従来の構造化文書のマッピング方法を示す図３６に示す。従来の構造化文書のマッピング方法は、入力値系列１０５（例えば、ＣＳＶファイル）、マッピングシステム１０６、構造化文書１０７、雛形１０８により実現される。
【０００６】
従来の構造化文書のマッピング方法では、入力値系列１０５の各データを構造化文書１０７に出力する際に、部分的に雛型１０８の適用を制御する必要が生ずる場合は、ひな形１０８を記述する際に、ひな形１０８の適用を制御するための制御文を記述する。
【０００７】
【特許文献１】特開平１１−２７２６６７
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前述のテンプレート機能を用いたプログラミング言語によるマッピング処理には、次のような問題点がある。伝票処理における明細行データのような、同じ意味で実現値が異なる複数繰り返しデータの入力に対し雛型上のひとつのプレイスホルダを対応付けて、雛形の一部分を繰り返し出力させることが必要な場合には、手続的な制御文をプログラミング言語で記述することで部分的な雛型の適用を制御する必要が生じる。このため、プログラミング言語を記述する手間がかかるという問題点があった。また、雛型と制御文の記述が混在することにより記述の見読性を損なうという問題があった。
【０００９】
本発明は、複数繰り返しデータの入力に対しても、ひな形の一部分を繰り返し出力させる制御文などをひな形内に記述する必要がなく、単純なひな形のみの記述と比べても記述の手間が増大せず、また、ひな形とプログラミング言語による制御文の記述とが混在することによる見読性の減損も発生しない階層構造情報生成装置の提供を目的とする。
【課題を解決するための手段】
【００１０】
本発明に関する課題を解決するための手段および発明の効果を以下に示す。
【００１１】
本発明では、１又は複数の項目が形成する階層構造を示す基本階層構造情報を取得し、入力情報はいずれの項目に対応するのかを指定する項目指定部、及び、前記項目指定部に対応する項目をいずれの前記階層において繰り返し出力するのかを指定する繰り返し指定部を有する対応付け情報を取得し、前記基本階層構造情報から前記項目を取得し、前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応するか否かを判断し、前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応すれば、当該対応付け情報の前記繰り返し指定部で指定された階層を繰り返し階層と判断し、前記繰り返し階層に対応する項目を繰り返し項目として前記基本階層構造から取得し、前記繰り返し項目に基づいて階層構造情報を生成する。
【００１２】
これにより、複数繰り返し項目を入力する必要がある場合に、ひな形の一部分を繰り返し出力させる制御文などをひな形内に記述する必要がない。よって、繰り返しを有する階層構造情報を容易に生成することができる。
【００１３】
また、ひな形とプログラミング言語による制御文の記述とが混在することがない。よって、ひな形における見読性の減損も発生しない
本発明では、前記基本階層構造情報を記憶する基本階層構造情報記憶手段から当該基本階層構造情報を取得する。これにより、基本階層構造情報を容易に取得することができる。
【００１４】
本発明では、前記対応付け情報を記憶する対応付け情報記憶手段から当該基本階層構造情報を取得する。これにより、対応付け情報を容易に取得することができる。
【００１５】
本発明では、前記項目指定部に対応する項目を何回繰り返し出力するのかを指定する繰り返し回数指定部を有する対応付け情報から当該繰り返し回数指定部を取得し、取得した繰り返し回数指定部の値だけ前記繰り返し項目を繰り返し出力した階層構造情報を生成する。
【００１６】
これにより、前記項目指定部で指定された項目を、当該項目指定部に対応する繰り返し指定部で指定された階層において、容易に繰り返し出力することができる。
【００１７】
本発明では、前記繰り返し回数指定部に値が設定されていないと判断すると、前記繰り返し回数指定部の値として「１」を設定する。これにより、対応付け情報において繰り返し回数を指定する手間を省くことができる。
【００１８】
本発明では、前記繰り返し指定部に値が設定されているか否かを判断し、前記繰り返し指定部に値が設定されていると判断すると、前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応すれば、当該対応付け情報の前記繰り返し指定部で指定された階層を繰り返し階層と判断させ、また、前記繰り返し指定部に値が設定されていないと判断すると、当該項目指定部で指定された項目に対して予め定められた階層を繰り返し階層と判断する。
【００１９】
これにより、項目指定部を設定する手間を省くことができる。
【００２０】
本発明では、一の前記入力情報に対して一の前記対応付け情報が対応付けられている前記入力情報を取得し、生成された階層構造情報において、取得した繰り返し項目のうち、前記対応付け情報の項目指定部に対応する項目に、当該対応付け情報に対応する入力情報を設定する。これにより、項目に入力情報を容易に設定することができる。
【００２１】
本発明では、前記入力情報は、当該入力情報を記述するための入力情報記述領域を有する入力情報記述ファイルに記述されており、前記入力情報記述領域は、行及び列によって特定され、前記対応付け情報は、当該対応付け情報を記述するための対応付け情報記述領域を有する対応付け情報記述ファイルに記述されており、前記対応付け情報記述領域は、行及び列によって特定され、前記入力情報及び前記対応付け情報は、前記入力情報記述ファイル及び前記入力情報記述ファイルにおける行及び列の位置関係に基づいて対応付けされている。
【００２２】
これにより、容易に、入力情報と対応付け情報とを対応付けることができる。
【００２３】
本発明では、ある行及びある列で特定される前記入力情報記述領域に記述されている入力情報である第１の入力情報が、当該行の前の行の同じ列の前記入力情報記述領域に記述されている入力情報である第２の入力情報と同一であるか否かを判断し、前記第１の入力情報と第２の入力情報とが同一であれば、前記第１の入力情報に対応する前記対応付け情報の項目指定部で指定されている項目については、階層構造情報生成手段及び入力情報代入手段における処理を行わない。
【００２４】
これにより、所定の入力情報の値が現在の行と前の行と同じ場合に所定の処理を省くことができる。
【００２５】
本発明では、前記対応付け情報の項目指定部に記述されている項目ついて、当該対応付け情報の繰り返し指定部の値が同一である項目を同一グループと判断し、前記同一グループに属する項目を前記項目指定部に有する対応付け情報に対応する入力情報の全てついて、ある行の値がその前の行の値と同一であるか否かを判断し、前記入力情報の全てついて、ある行の値がその前の行の値と同一であれば、前記入力情報に対応する前記対応付け情報の項目指定部で指定されている項目については、階層構造情報生成手段及び入力情報代入手段における処理を行わない。
【００２６】
これにより、同一グループに属する項目について、対応する入力情報の値が現在の行と前の行と同じ場合に所定の処理を省くことができる。
【００２７】
ここで、請求項に記載されている要素と実施例における要素との対応関係を示す。階層構造情報生成装置は階層構造情報生成装置２１に対応する。
【００２８】
基本階層構造取得手段はＣＰＵ２１１及びメモリ２１２に、基本階層構造情報記憶手段はハードディスク２１３に、対応付け情報取得手段はＣＰＵ２１１及びメモリ２１２に、対応付け情報記憶手段はハードディスク２１３に、項目取得手段はＣＰＵ２１１及びメモリ２１２に、項目判断手段はＣＰＵ２１１及びメモリ２１２に、繰り返し階層判断手段はＣＰＵ２１１及びメモリ２１２に、繰り返し項目取得手段はＣＰＵ２１１及びメモリ２１２に、階層構造情報生成手段はＣＰＵ２１１及びメモリ２１２に、繰り返し回数指定部取得手段はＣＰＵ２１１及びメモリ２１２に、繰り返し指定部判断手段はＣＰＵ２１１及びメモリ２１２に、入力情報取得手段はＣＰＵ２１１及びメモリ２１２に、入力情報設定手段はＣＰＵ２１１及びメモリ２１２に、入力情報判断手段はＣＰＵ２１１及びメモリ２１２に、グループ判断手段はＣＰＵ２１１及びメモリ２１２に、グループ入力情報判断手段はＣＰＵ２１１及びメモリ２１２に、それぞれ該当する。
【００２９】
階層構造情報はＸＭＬ文書に、入力情報は入力情報Ｉ１、Ｉ３、Ｉ１１、Ｉ１５に、基本階層構造情報はひな形情報Ｘ１、Ｘ３、Ｘ１１、Ｘ１５に、対応付け情報はマッピング情報Ｍ１、Ｍ３、Ｍ５、Ｍ１１、Ｍ１５に、それぞれ対応する。
【００３０】
また、項目指定部は代入要素名記述領域に、繰り返し指定部は繰り返し要素名記述領域に、繰り返し回数指定部は出現番号記述領域に、それぞれ対応する。
【００３１】
さらに、入力情報記述ファイルは入力情報ファイルＦＩ１、ＦＩ３、ＦＩ１１、ＦＩ１５に、入力情報記述領域は入力情報ファイルＦＩ１、ＦＩ３、ＦＩ１１、ＦＩ１５のそれぞれの入力情報記述領域に、対応付け情報記述ファイルはマッピング情報ファイルＦＭ１、ＦＭ３、ＦＭ５、ＦＭ１１、ＦＭ１５に、対応付け情報記述領域はマッピング情報ファイルＦＭ１、ＦＭ３、ＦＭ５、ＦＭ１１、ＦＭ１５のそれぞれのマッピング情報記述領域に、それぞれ対応する。
【００３２】
階層構造を形成する項目はＸＭＬで記述されたタグに、繰り返し階層は繰り返し要素に対応するタグが属する階層に、繰り返し項目はリピートタグに、それぞれ対応する。
【発明を実施するための最良の形態】
【００３３】
本発明における階層構造情報生成装置の実施例を以下において説明する。
【実施例１】
【００３４】
1.  概要
本発明に係る階層構造情報生成装置の実施例１に係る機能ブロック図を図１に示す。階層構造情報生成装置は、基本階層構造取得手段ｍ１１、基本階層構造情報記憶手段ｍ１２、対応付け情報取得手段ｍ１３、対応付け情報記憶手段ｍ１４、項目取得手段ｍ１５、項目判断手段ｍ１７、繰り返し階層判断手段ｍ１９、繰り返し項目取得手段ｍ２１、階層構造情報生成手段ｍ２３、入力情報取得手段ｍ２５、入力情報設定手段ｍ２７、繰り返し回数指定部取得手段ｍ３１、及び繰り返し指定部判断手段ｍ３３を有している。
【００３５】
基本階層構造取得手段ｍ１１は、１又は複数の項目が形成する階層構造を示す基本階層構造情報を取得する。
【００３６】
基本階層構造情報記憶手段ｍ１２は、前記基本階層構造情報を記憶する。
【００３７】
対応付け情報取得手段ｍ１３は、前記入力情報はいずれの項目に対応するのかを指定する項目指定部、及び、前記項目指定部に対応する項目をいずれの階層において繰り返し出力するのかを指定する繰り返し指定部を有する対応付け情報を取得する。
【００３８】
対応付け情報記憶手段ｍ１４、前記対応付け情報を記憶する。
【００３９】
項目取得手段ｍ１５は、前記基本階層構造情報から前記項目を取得する。
【００４０】
項目判断手段ｍ１７は、前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応するか否かを判断する。
【００４１】
繰り返し階層判断手段ｍ１９は、前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応すれば、当該対応付け情報の前記繰り返し指定部で指定された階層を繰り返し階層と判断する。また、繰り返し階層判断手段ｍ１９は、前記繰り返し指定部に値が設定されていると判断すると、前記対応付け情報の前記項目指定部で指定された項目が前記基本階層構造情報から取得した項目に対応すれば、当該対応付け情報の前記繰り返し指定部で指定された階層を繰り返し階層と判断し、また、前記繰り返し指定部に値が設定されていないと判断すると、当該項目指定部で指定された項目に対して予め定められた階層を繰り返し階層と判断する。
【００４２】
繰り返し項目取得手段ｍ２１は、前記繰り返し階層に対応する項目を繰り返し項目として前記基本階層構造情報から取得する。
【００４３】
階層構造情報生成手段ｍ２３は、前記繰り返し項目に基づいて階層構造情報を生成する。また、階層構造情報生成手段ｍ２３は、取得した繰り返し回数指定部の値だけ前記繰り返し項目を繰り返し出力した階層構造情報を生成する。
【００４４】
入力情報取得手段ｍ２５は、前記入力情報を取得する。
【００４５】
入力情報設定手段ｍ２７は、生成された階層構造情報において、取得した繰り返し項目のうち、前記対応付け情報の項目指定部に対応する項目に、当該対応付け情報に対応する入力情報を設定する。
【００４６】
繰り返し回数指定部取得手段ｍ３１は、前記項目指定部に対応する項目を何回繰り返し出力するのかを指定する繰り返し回数指定部を有する対応付け情報から、前記繰り返し回数指定部を取得する。また、繰り返し回数指定部取得手段ｍ３１は、前記繰り返し回数指定部に値が設定されていないと判断すると、前記繰り返し回数指定部の値として「１」を設定する。
【００４７】
繰り返し指定部判断手段ｍ３３は、前記繰り返し指定部に値が設定されているか否かを判断する。
【００４８】
2.  ハードウェア構成
構造化文書生成装置２１のハードウェア構成を図２に基づいて説明する。構造化文書生成装置２１は、ＣＰＵ２１１、メモリ２１２、及びハードディスク２１３を備えている。また、構造化文書生成装置２１には、キーボード２１４、マウス２１５、ディスプレイ２１６、およびＣＤ−ＲＯＭドライブ２１７が接続されている。
【００４９】
ＣＰＵ２１１は、ハードディスク２１３に記録されているオペレーティング・システム（ＯＳ）、構造化文書生成プログラム等その他のアプリケーションに基づいた処理を行う。メモリ２１２は、ＣＰＵ２１１に対して作業領域を提供する。ハードディスク２１３は、オペレーティング・システム（ＯＳ）、構造化文書生成プログラム等その他のアプリケーションを記録保持する。なお、ハードディスク２１３に記録されるひな形情報及びマッピング情報については後述する。ＣＤ−ＲＯＭドライブ２１７は、ＣＤ−ＲＯＭ２１８から入力情報を読み取る。また、ＣＤ−ＲＯＭドライブ２１７は、ＣＤ−ＲＯＭ２１９から階層構造情報生成プログラム等のデータを読み取る。
【００５０】
キーボード２１４、マウス２１５は、外部からの命令を受け付ける。ディスプレイ２１６は、ユーザーインターフェイス等の画像を表示する。
【００５１】
3.  データ
構造化文書生成装置２１のハードディスク２１３に記録されているひな形情報、マッピング情報、及びＣＤ−ＲＯＭドライブ２１７を介して取得する入力情報について説明する。
【００５２】
3.1.  ひな形情報
ひな形情報とは、１又は複数のタグが形成する基本的な階層構造を示すものである。ひな形情報が有する階層構造に基づいて、入力情報に対応するＸＭＬ文書が生成される。ひな形情報は、ひな形情報ファイルに記述されている。
【００５３】
本実施例におけるひな形情報Ｘ１について、図３を用いて説明する。ひな形情報Ｘ１は、ＸＭＬ(eXtend Markup Language)を用いて記述したものである。ひな形情報Ｘ１は、＜Ｔ＞＜／Ｔ＞、＜Ａ＞＜／Ａ＞で示される複数のタグを有している。
【００５４】
また、各タグは、階層構造を形成している。ひな形情報Ｘ１では、最上位階層に属するタグは、＜Ｔ＞＜／Ｔ＞である。最上位階層の直近下位の階層に属するタグは、＜Ａ＞＜／Ａ＞である。
【００５５】
なお、タグは「＜」と「＞」との間にタグ名称記述領域を有している。例えば、タグ＜Ａ＞では、タグ名称記述領域の値は「Ａ」となる。
【００５６】
3.2.  マッピング情報
マッピング情報とは、入力情報の値がＸＭＬ文書のどのタグに対応するものであるのかを示す情報である。マッピング情報は、マッピング情報ファイルに記述されている。
【００５７】
本実施例におけるマッピング情報ファイルＦＭ１のデータ構造を図４Ａに示す。マッピング情報ファイルは、一又は複数のマッピング情報記述領域を有している。各マッピング情報記述領域は、カラムにより特定される。マッピング情報記述領域には、マッピング情報が記述される。
【００５８】
マッピング情報のデータ構造を図４Ｂに示す。マッピング情報は、代入要素名記述領域、出現番号記述領域、及び繰り返し要素名記述領域を有している。代入要素名記述領域には、各入力情報をＸＭＬ文書のどのタグの値として代入するのかを記述する。
【００５９】
出現番号記述領域には、繰り返し要素指定領域で指定される繰り返し要素の繰り返し回数を記述する。なお、本実施形態においては、出現番号記述領域を記号「（」と記号「）」との間に設けている。このように、所定の記号を用いて出現番号記述領域を区別することによって、マッピング情報における出現番号記述領域の位置を明確にすることができる。
【００６０】
繰り返し要素名記述領域には、ＸＭＬ文書に繰り返して出力するタグを代表するタグを記述する。なお、本実施形態においては、繰り返し要素名記述領域と出現番号記述領域との間に記号「＠」を記述している。このように、所定の記号を用いて繰り返し要素名記述領域を区別することによって、マッピング情報における繰り返し要素名記述領域の位置を明確にすることができる。
【００６１】
本実施例におけるマッピング情報ファイルＦＭ１は、図４Ｃに示すように、２つのマッピング情報記述領域を有している。カラム１に対応するマッピング情報記述領域には、マッピング情報Ｍ１「Ａ（１）」が、カラム２に対応するマッピング情報記述領域には、マッピング情報Ｍ１「Ａ（２）＠Ｔ」が、それぞれ記述されている。
【００６２】
3.3.  入力情報
入力情報とは、ＸＭＬ文書のタグに対して実際に代入される値を示す情報である。入力情報は、入力情報ファイルに記述される。
【００６３】
入力情報ファイルＦＩ１のデータ構造を図５Ａに示す。入力情報ファイルＦＩ１は、一又は複数の入力情報記述領域を有している。各入力情報記述領域は、カラムにより特定される。また、各入力情報記述領域は、同一行に、直列的に設けられている。入力情報記述領域には入力情報が記述される。
【００６４】
本実施例における入力情報ファイルＦＩ１は、図５Ｂに示すように、２つ入力情報記述領域を有している。カラム１に対応する入力情報記述領域には、入力情報Ｉ１「１００」が、カラム２に対応する入力情報記述領域には、入力情報Ｉ１「２００」が、それぞれ記述されている。
【００６５】
なお、入力情報ファイルＦＩ１の入力情報記述領域は、マッピング情報ファイルＦＭ１のマッピング情報記述領域と対応している。つまり、入力情報ファイルＦＩ１のカラム１に対応する入力情報Ｉ１「１００」は、マッピング情報ファイルＦＭ１のカラム１に対応するマッピング情報Ｍ１「Ａ（１）」に対応し、入力情報ファイルＦＩ１のカラム２に対応する入力情報Ｉ１「２００」は、マッピング情報ファイルＦＭ１のカラム１に対応するマッピング情報Ｍ１「Ａ（２）＠Ｔ」に、それぞれ対応する。
【００６６】
4.  構造化文書生成装置２１の動作
4.1.  基本処理
4.1.1  処理の概要
構造化文書生成装置２１のＣＰＵ２１１が構造化文書生成プログラムに基づいて行う動作について、図６〜図８を用いて説明する。
【００６７】
図６に示すように、構造化文書生成装置２１のＣＰＵ２１１は、ハードディスク２１３に記憶しているひな形情報ファイルＦＸ１から、最上位の階層に属するタグを取得する（Ｓ６００）。そして、ＣＰＵ２１１は、取得したタグをＸＭＬ文書に出力する（Ｓ６０１）。
【００６８】
ＣＰＵ２１１は、ハードディスク２１３に記憶しているマッピング情報ファイルＦＭ１から一のマッピング情報Ｍ１を取得する（Ｓ６０２）。ＣＰＵ２１１は、ステップＳ６０１で取得したタグが、ステップＳ６０２で取得したマッピング情報の代入要素名記述領域に存在するか否かを判断する（Ｓ６０３）。
【００６９】
ＣＰＵ２１１は、ステップＳ６０３において、取得したタグがマッピング情報Ｍ１の代入要素名記述領域に存在すると判断すると、親要素推定処理を実行する（Ｓ６０５）。その後、ＣＰＵ２１１は、繰り返し要素適用処理を実行する（Ｓ６０７）。
【００７０】
一方、ＣＰＵ２１１は、ステップＳ６０３において、取得したタグがマッピング情報の代入要素名に存在しないと判断すると、マッピング情報ファイルＦＭ１に記述されている全てのマッピング情報Ｍ１について、当該判断を行ったか否かを判断する（Ｓ６０９）。
【００７１】
ＣＰＵ２１１は、全てのマッピング情報Ｍ１について、ステップＳ６０３の判断を行っていないと判断すると、他の一のマッピング情報Ｍ１を取得する（Ｓ６０２）。そして、ＣＰＵ２１１は、ステップＳ６０３〜Ｓ６０９までの処理を実行する。
【００７２】
ＣＰＵ２１１は、ステップＳ６０９において、全てのマッピング情報について、ステップＳ６０３の判断を行ったと判断すると、ステップＳ６０１で取得したタグに対する同一若しくは下位の階層に属するタグがひな形情報Ｘ１に存在するか否かを判断する（Ｓ６１１）。そして、ＣＰＵ２１１は、ステップＳ６０１で取得したタグに対して同一若しくは下位の階層に属するタグを取得する（Ｓ６１３）。ＣＰＵ２１１は、ステップＳ６１３で取得したタグについて、ステップＳ６０３以下の処理を実行する。ＣＰＵ２１１は、ステップＳ６１１において、ステップＳ６０１で取得したタグに対して同一若しくは下位の階層に属するタグがひな形情報に存在しないと判断すると、処理を終了する。
【００７３】
4.1.2  具体例
ここで、ひな形情報Ｘ１（図３参照）及びマッピング情報Ｍ１（図４参照）を例にして、ＣＰＵ２１１の動作を具体的に示す。以下においては、図６を適時参照されたし。
【００７４】
ＣＰＵ２１１は、ひな形情報Ｘ１における最上位階層に属するタグ＜Ｔ＞＜／Ｔ＞を取得する（Ｓ６００）。そして、ＣＰＵ２１１は、取得したタグ＜Ｔ＞＜／Ｔ＞をＸＭＬ文書に出力する（Ｓ６０１）。
【００７５】
ＣＰＵ２１１は、ハードディスク２１３に記憶されているマッピング情報ファイルＦＭ１から一のマッピング情報Ｍ１「Ａ（１）」を取得する（Ｓ６０２）。ＣＰＵ２１１は、取得したマッピング情報Ｍ１「Ａ（１）」の代入要素名記述領域に記述されている値「Ａ」とステップＳ６０１で取得したタグ＜Ｔ＞のタグ名称記述領域に記述されている値「Ｔ」とが一致するかを判断する（Ｓ６０３）。この場合、ＣＰＵ２１１は、代入要素名記述領域に記述されている値「Ａ」とタグ＜Ｔ＞のタグ名称記述領域に記述されている値「Ｔ」とは一致しないと判断する。
【００７６】
ＣＰＵ２１１は、他のマッピング情報Ｍ１「Ａ（２）＠Ｔ」については、ステップＳ６０３の判断を行っていないと判断する（Ｓ６０９）。次ぎに、ＣＰＵ２１１は、マッピング情報Ｍ１「Ａ（２）＠Ｔ」を取得する（Ｓ６０２）。ＣＰＵ２１１は、前回に取得したマッピング情報Ｍ１「Ａ（１）」と同様に、代入要素名記述領域に記述されている値「Ａ」とタグ＜Ｔ＞のタグ名称記述領域に記述されている値「Ｔ」とは一致しないと判断する（Ｓ６０２）。そして、ＣＰＵ２１１は、マッピング情報ファイルＦＭ１に記述されている全てのマッピング情報Ｍ１について、ステップＳ６０３の判断を行ったと判断する（Ｓ６０９）。
【００７７】
次ぎに、ＣＰＵ２１１は、タグ＜Ｔ＞に対して同一若しくは下位の階層に属するタグの有無を判断する（Ｓ６１１）。この場合には、ＣＰＵ２１１は、タグ＜Ｔ＞に対する下位の階層に属するタグ＜Ａ＞が存在すると判断する。そして、ＣＰＵ２１１は、タグ＜Ａ＞を取得する（Ｓ６１３）。
【００７８】
ＣＰＵ２１１は、タグ＜Ｔ＞の場合と同様に、マッピング情報ファイルＦＭ１から一のマッピング情報Ｍ１「Ａ（１）」を取得する（Ｓ６０２）。そして、ＣＰＵ２１１は、取得したマッピング情報Ｍ１「Ａ（１）」の代入要素名記述領域に記述されている値「Ａ」とステップＳ６０１で取得したタグ＜Ａ＞のタグ名称記述領域に記述されている値「Ａ」とが一致するかを判断する（Ｓ６０３）。この場合、ＣＰＵ２１１は、代入要素名記述領域に記述されている値「Ａ」とタグ＜Ｔ＞のタグ名称記述領域に記述されている値「Ａ」とは一致すると判断する。
【００７９】
そして、ＣＰＵ２１１は、マッピング情報Ｍ１「Ａ（１）」について、親要素推定処理（Ｓ６０５）及び繰り返し要素適用処理（Ｓ６０７）を実行する。
【００８０】
なお、ＣＰＵ２１１は、他のマッピング情報Ｍ１「Ａ（２）＠Ｔ」についても、同様に、親要素推定処理（Ｓ６０５）及び繰り返し要素適用処理（Ｓ６０７）を実行する。
【００８１】
4.2.  親要素推定処理
4.2.1  処理の概要
次ぎに、図７のフローチャートを用いて、親要素推定処理（Ｓ６０５：図６）について説明する。
【００８２】
ＣＰＵ２１１は、対象とするマッピング情報Ｍ１の繰り返し要素名記述領域に繰り返し要素名が設定されているか否かを判断する（Ｓ７０１）。ＣＰＵ２１１は、繰り返し要素名記述領域に繰り返し要素名が設定されていると判断すると、当該繰り返し要素名を取得する（Ｓ７０２）。そして、ＣＰＵ２１１は、ひな形情報から、取得した繰り返し要素名をタグ名称記述領域に有するタグを抽出する（Ｓ７０３）。ＣＰＵ２１１は、抽出したタグを繰り返し要素として設定する（Ｓ７０４）。
【００８３】
一方、ＣＰＵ２１１は、繰り返し要素名記述領域に値が設定されていないと判断すると、マッピング情報Ｍ１の代入要素名記述領域に記述されている代入要素名に対応するタグをひな形情報から取得する（Ｓ７０５）。そして、ＣＰＵ２１１は、取得したタグについて直近上位の階層に位置するタグを取得する（Ｓ７０７）。ＣＰＵ２１１は、取得したタグを繰り返し要素として設定する（Ｓ７０９）。
【００８４】
なお、ＣＰＵ２１１は、繰り返し要素をモリ２１２へ一時的に記憶保持する。
【００８５】
4.2.2  具体例
ここで、ひな形情報Ｘ１（図３参照）及びマッピング情報Ｍ１（図４参照）を例にして、親要素推定処理を具体的に示す。以下においては、図７を適時参照されたし。
【００８６】
ＣＰＵ２１１は、マッピング情報Ｍ１「Ａ（１）」については、繰り返し要素名記述領域に値が設定されていないと判断し（Ｓ７０１）、代入要素名記述領域に記述されている代入要素名「Ａ」に対応するタグをひな形情報Ｘ１から取得する（Ｓ７０５）。そして、ＣＰＵ２１１は、タグ＜Ａ＞を取得し、取得したタグ＜Ａ＞について直近上位の階層に位置するタグ＜Ｔ＞を取得する（Ｓ７０７）。ＣＰＵ２１１は、取得したタグ＜Ｔ＞を繰り返し要素として設定する（Ｓ７０９）。
【００８７】
また、ＣＰＵ２１１は、マッピング情報Ｍ１「Ａ（２）＠Ｔ」については、繰り返し要素名記述領域に値が設定されていると判断し（Ｓ７０１）、当該繰り返し要素名「Ｔ」を取得する（Ｓ７０２）。そして、ＣＰＵ２１１は、ひな形情報Ｘ１から、取得した繰り返し要素名「Ｔ」をタグ名称記述領域に有するタグ＜Ｔ＞を抽出する（Ｓ７０３）。ＣＰＵ２１１は、抽出したタグ＜Ｔ＞を繰り返し要素として設定する（Ｓ７０４）。
【００８８】
4.3.  繰り返し要素適用処理
4.3.1  処理の概要
次ぎに、図８及び図９のフローチャートを用いて、図６に示す繰り返し要素適用処理（Ｓ６０７）について説明する。
【００８９】
ＣＰＵ２１１は、対象とするマッピング情報の出現番号記述領域に値が設定されているか否かを判断する（Ｓ８００）。ＣＰＵ２１１は、出現番号記述領域に値が設定されていると判断すると、対象とするマッピング情報の出現番号記述領域の値を取得する（Ｓ８０１）。
【００９０】
一方、ＣＰＵ２１１は、出現番号記述領域に値が設定されていないと判断すると、出現番号記述領域の値を「１」として取得する（Ｓ８０２）。
【００９１】
そして、ＣＰＵ２１１は、メモリ２１２から繰り返し要素の値を取得する（Ｓ８０３）。ＣＰＵ２１１は、取得した繰り返し要素に対応するタグが属する階層（繰り返し階層）及び当該繰り返し階層より下位の階層に属する全てのタグをリピートタグとしてひな形情報ファイルＦＭ１から取得する（Ｓ８０５）。
【００９２】
そして、ＣＰＵ２１１は、ＸＭＬ文書において、リピートタグが、ステップＳ８０１で取得した出現番号記述領域の値分だけ繰り返されて出力されているか否かを判断する（Ｓ８０７）。
【００９３】
ＣＰＵ２１１は、ステップＳ８０７において、リピートタグが、ステップＳ８０１で取得した出現番号記述領域の値分だけ繰り返されて出力されていないと判断すると、繰り返し要素として記憶したタグと同一階層となるように、リピートタグを出現番号記述領域の値だけ繰り返して出力する（Ｓ８０９）。なお、リピートタグを出力するにあたり、既に出力済みのタグが存在する場合には、当該タグについては出力しない。
【００９４】
図９に移って、ＣＰＵ２１１は、ステップＳ８０７において、リピートタグが、ステップＳ８０１で取得した出現番号記述領域の値分だけ繰り返されて出力されていると判断すると、リピートタグの最上位階層に属するタグを取得する（Ｓ８１１）。ＣＰＵ２１１は、取得したタグのタグ名称記述領域の値が、対象とするマッピング情報Ｍ１の代入要素名記述領域の値に一致するかどうかを判断する（Ｓ８１３）。ＣＰＵ２１１は、取得したタグが対象とするマッピング情報Ｍ１の代入要素名に一致していると判断すると、当該マッピング情報Ｍ１に対応する入力情報Ｉ１を入力情報ファイルＦＩ１から取得する（Ｓ８１５）。そして、ＣＰＵ２１１は、リピートタグを繰り返し出力したＸＭＬ文書（図８：Ｓ８０９参照）において、ステップＳ８１３において同一と判断したタグに対応する値として、取得した入力情報Ｉ１の値を設定する（Ｓ８１７）。
【００９５】
また、ＣＰＵ２１１は、ステップＳ８１３において、取得したタグのタグ名称記述領域の値が対象とするマッピング情報Ｍ１の代入要素名記述領域の値に一致していないと判断すると、ＣＰＵ２１１は、ステップＳ８１１で取得したタグに対して同一若しくは下位の階層に属するタグがひな形情報Ｘ１に存在するか否かを判断する（Ｓ８１９）。ＣＰＵ２１１は、同一若しくは下位の階層に属するタグがひな形情報Ｘ１に存在すると判断すると、同一若しくは下位の階層に属するタグを取得する（Ｓ８２１）。ＣＰＵ２１１は、取得したタグについて、ステップＳ８１３以下の処理を実行する。
【００９６】
4.3.2  具体例
ここで、ひな形情報Ｘ１（図３参照）及びマッピング情報Ｍ１（図４参照）を例にして、繰り返し要素適用処理を具体的に示す。以下においては、図８、図９を適時参照されたし。
【００９７】
まず、ＣＰＵ２１１がステップＳ６０２において最初に取得するマッピング情報Ｍ１「Ａ（１）」を例に示す。
【００９８】
ＣＰＵ２１１は、マッピング情報Ｍ１「Ａ（１）」の出現番号記述領域の値「１」を取得する（Ｓ８０１）。そして、ＣＰＵ２１１は、マッピング情報Ｍ１「Ａ（１）」に対応する繰り返し要素の値「＜Ｔ＞」をメモリ２１２から取得する（Ｓ８０３）。ＣＰＵ２１１は、取得した繰り返し要素に対応するタグ「＜Ｔ＞」が属する階層（繰り返し階層）及び当該繰り返し階層より下位の階層に属するタグ「＜Ｔ＞＜Ａ＞＜／Ａ＞＜／Ｔ＞」をリピートタグとしてひな形情報ファイルＦＸ１から取得する（Ｓ８０５）。
【００９９】
そして、ＣＰＵ２１１は、ＸＭＬ文書において、リピートタグ「＜Ｔ＞＜Ａ＞＜／Ａ＞＜／Ｔ＞」が、ステップＳ８０１で取得した出現番号記述領域の値「１」だけ繰り返されて出力されているか否かを判断する（Ｓ８０７）。なお、マッピング情報Ｍ１「Ａ（１）」は、ステップＳ６０２（図６参照）において、最初に取得されるマッピング情報であるため、この段階では、ＸＭＬ文書には何も記述されていない。
【０１００】
ＣＰＵ２１１は、ステップＳ８０７において、リピートタグ「＜Ｔ＞＜Ａ＞＜／Ａ＞＜／Ｔ＞」が、ＸＭＬ文書内に、ステップＳ８０１で取得した出現番号記述領域の値「１」だけ繰り返し出力されていないと判断すると、繰り返し要素として記憶したタグと同一階層となるように、リピートタグを出現番号記述領域の値だけ、ＸＭＬ文書内に、繰り返して出力する（Ｓ８０９）。なお、リピートタグ「＜Ｔ＞＜Ａ＞＜／Ａ＞＜／Ｔ＞」を出力するにあたり、既にタグ「＜Ｔ＞＜／Ｔ＞」は出力済みであるので、当該タグについては重複した出力は行わない。
【０１０１】
そして、ＣＰＵ２１１は、リピートタグ「＜Ｔ＞＜Ａ＞＜／Ａ＞＜／Ｔ＞」の最上位階層に属するタグ「＜Ｔ＞」を取得する（Ｓ８１１）。ＣＰＵ２１１は、取得したタグ「＜Ｔ＞」が現在対象とするマッピング情報「Ａ（１）」の代入要素名記述領域の値「Ａ」に一致するかどうかを判断する（Ｓ８１３）。
【０１０２】
ＣＰＵ２１１は、ステップＳ８１３において、取得したタグ「＜Ｔ＞」のタグ名称記述領域の値「Ｔ」が対象とするマッピング情報「Ａ（１）」の代入要素名記述領域の値「Ａ」に一致していないと判断すると、ＣＰＵ２１１は、ステップＳ８１１で取得したタグ「＜Ｔ＞」に対する下位の階層に属するタグがひな形情報に存在するか否かを判断する（Ｓ８１９）。ひな形情報Ｘ１には下位の階層に属するタグ「＜Ａ＞」が存在するので、ＣＰＵ２１１は、タグ「＜Ａ＞」を取得する（Ｓ８２１）。
【０１０３】
そして、ＣＰＵ２１１は、取得したタグ「＜Ａ＞」が対象とするマッピング情報「Ａ（１）」の代入要素名「Ａ」に一致していると判断すると、当該マッピング情報「Ａ（１）」に対応する入力情報「１００」を取得する（Ｓ８１５）。そして、ＣＰＵ２１１は、ステップＳ８０９で生成したＸＭＬ文書において、ステップＳ８１３において同一と判断したタグ「＜Ａ＞」に対応する値として、取得した入力情報の値「１００」を設定する（Ｓ８１７）。この段階でのＸＭＬ文書を図１０Ａに示す。
【０１０４】
次ぎに、ＣＰＵ２１１がマッピング情報Ｍ１「Ａ（１）」に次いで取得するマッピング情報Ｍ１「Ａ（２）＠Ｔ」を例に示す。
【０１０５】
ＣＰＵ２１１は、マッピング情報Ｍ１「Ａ（２）＠Ｔ」の出現番号記述領域の値「２」を取得する（Ｓ８０１）。そして、ＣＰＵ２１１は、マッピング情報Ｍ１「Ａ（２）＠Ｔ」に対応する繰り返し要素の値「＜Ｔ＞」をメモリ２１２から取得する（Ｓ８０３）。ＣＰＵ２１１は、取得した繰り返し要素に対応するタグ「＜Ｔ＞」が属する階層以下の階層に属するタグ「＜Ｔ＞＜Ａ＞＜／Ａ＞＜／Ｔ＞」をひな形情報Ｘ１から取得する（Ｓ８０５）。
【０１０６】
そして、ＣＰＵ２１１は、ＸＭＬ文書において、リピートタグ「＜Ｔ＞＜Ａ＞＜／Ａ＞＜／Ｔ＞」が、ステップＳ８０１で取得した出現番号記述領域の値「２」だけ繰り返されて出力されているか否かを判断する（Ｓ８０７）。
【０１０７】
この段階では、図１０Ａに示すように、ＸＭＬ文書にはタグ「＜Ｔ＞＜Ａ＞＜／Ａ＞＜／Ｔ＞」が１回分だけ記述されている。従って、ＣＰＵ２１１は、ステップＳ８０７において、リピートタグ「＜Ｔ＞＜Ａ＞＜／Ａ＞＜／Ｔ＞」が、ＸＭＬ文書内に、ステップＳ８０１で取得した出現番号記述領域の値「２」だけ繰り返し出力されていないと判断すると、繰り返し要素として記憶したタグ「＜Ｔ＞」と同一階層となるように、リピートタグ「＜Ｔ＞＜Ａ＞＜／Ａ＞＜／Ｔ＞」を出現番号記述領域の値「２」となるように、ＸＭＬ文書内に、繰り返して出力する（Ｓ８０９）。この段階でのＸＭＬ文書を図１０Ｂに示す。
【実施例２】
【０１０８】
1.  概要
前述の実施例１においては、入力情報は、１行により構成されていた。しかし、本実施例における入力情報は、複数行を有しているものである。また、ひな形情報及びマッピング情報が実施例１とは異なる。ひな形情報、マッピング情報及び入力情報については、以下において説明する。
【０１０９】
本実施例においては、実施例１と同様のハードウェア構成である。なお、以下においては、実施例１と同様の構成及び処理については、実施例１と同じ番号を付している。
【０１１０】
本発明に係る階層構造情報生成装置の実施例２に係る機能ブロック図を図１１に示す。階層構造情報生成装置は、基本階層構造取得手段ｍ１１、基本階層構造記憶手段ｍ１２、対応付け情報取得手段ｍ１３、対応付け情報記憶手段ｍ１４、項目取得手段ｍ１５、項目判断手段ｍ１７、繰り返し指定部取得手段ｍ１９、繰り返し項目取得手段ｍ２１、階層構造情報生成手段ｍ２３、入力情報取得手段ｍ２５、入力情報代入手段ｍ２７、繰り返し回数取得手段ｍ３１、繰り返し指定部存在判断手段ｍ３３、及び入力情報判断手段ｍ４１を有している。
【０１１１】
入力情報判断手段ｍ４１は、ある行及びある列で特定される前記入力情報記述領域に記述されている入力情報である第１の入力情報が、当該行の前の行及び同じ列の前記入力情報記述領域に記述されている入力情報である第２の入力情報と同一であるか否かを判断する。
【０１１２】
2.  データ
本実施例における構造化文書生成装置２１のハードディスク２１３に記録されているひな形情報、マッピング情報、及びＣＤ−ＲＯＭドライブ２１７を介して取得する入力情報について説明する。
【０１１３】
2.1.  ひな形情報
本実施例におけるひな形情報Ｘ３について、図１２を用いて説明する。ひな形情報Ｘ３は、ＸＭＬを用いて記述したものである。ひな形情報Ｘ３は、ひな形情報ファイルＦＸ３に記述される。
【０１１４】
ひな形情報Ｘ３は、＜Ｔ１＞＜／Ｔ１＞、＜Ａ＞＜／Ａ＞、＜Ｔ２＞＜／Ｔ２＞、＜Ｂ＞＜／Ｂ＞で示される複数のタグを有している。
【０１１５】
また、各タグは、階層構造を形成している。ひな形情報Ｘ３では、最上位階層に属するタグは、＜Ｔ１＞＜／Ｔ１＞である。最上位階層の直近下位の階層に属するタグは、＜Ａ＞＜／Ａ＞、＜Ｔ２＞＜／Ｔ２＞である。最下位の階層に属するタグは、＜Ｂ＞＜／Ｂ＞である。
【０１１６】
2.2.  マッピング情報
本実施例におけるマッピング情報Ｍ３について、図１３を用いて説明する。マッピング情報Ｍ３は、マッピング情報ファイルＦＭ３に記述される。
【０１１７】
本実施例におけるマッピング情報ファイルＦＭ３には、２つのカラム（カラム１、カラム２）を設定されている。マッピング情報ファイルＦＭ３のカラム１にはマッピング情報Ｍ３「Ａ＠Ｔ１」が、カラム２にはマッピング情報Ｍ３「Ｂ＠Ｔ１」が、それぞれ設定されている。
【０１１８】
なお、本実施例におけるマッピング情報の出現番号記述領域（図４Ｂ参照）には、値が設定されていない。
【０１１９】
2.3.  入力情報
入力情報ファイルＦＩ３のデータ構造を図１４Ａに示す。入力情報ファイルＦＩ３は、複数の行を有している。また、入力情報ファイルＦＩ３は、行及びカラムによって特定される複数の入力情報記述領域を有している。入力情報記述領域には、入力情報が記述される。
【０１２０】
本実施例における入力情報ファイルＦＩ３を図１４Ｂに示す。入力情報ファイルＦＩ３は、２つの行を有している。入力情報ファイルＦＩ３の各行には２つのカラム（カラム１、カラム２）が設定されている。
【０１２１】
入力情報ファイルＦＩ３の行１カラム１には入力情報Ｉ３「１００」が、行１カラム２には入力情報Ｉ３「２００」が、行２カラム１には入力情報Ｉ３「１００」が、行２カラム２には入力情報Ｉ３「３００」が、それぞれ設定されている。
【０１２２】
なお、実施例１と同様に、入力情報ファイルＦＩ３の各カラムで特定される入力情報記述領域は、マッピング情報ファイルＦＭ３の各カラムで特定されるマッピング情報Ｍ３と対応している。つまり、入力情報ファイルＦＩ３の行１カラム１に設定されている入力情報Ｉ３「１００」及び行２カラム１に設定されている入力情報Ｉ３「１００」は、マッピング情報ファイルＦＭ３のカラム１に設定されているマッピング情報Ｍ３「Ａ＠Ｔ１」に対応し、入力情報ファイルＦＩ３の行１カラム２に設定されている入力情報Ｉ３「２００」及び行２カラム２に設定されている入力情報Ｉ３「３００」は、マッピング情報ファイルＦＭ３のカラム２に設定されているマッピング情報Ｍ３「Ｂ＠Ｔ１」に、それぞれ対応する。
【０１２３】
3.  構造化文書生成装置２１の動作
3.1.  基本処理
3.1.1  処理の概要
本実施例における構造化文書生成装置２１のＣＰＵ２１１の動作について図１５に示すフローチャートを用いて説明する。ＣＰＵ２１１は、入力情報ファイルＦＩ３から最初の行に対応する値を取得する（Ｓ１４０１）。
【０１２４】
その後、ＣＰＵ２１１は、取得した行に関する入力情報Ｉ３に基づいてＸＭＬ文書を生成すべく、実施例１と同様に、ステップＳ６０１〜ステップＳ６１３の処理を実行する。ステップＳ６０１〜ステップＳ６１３間での処理について、実施例１と同様であるので、詳細な記述は省略する。
【０１２５】
ＣＰＵ２１１は、ステップＳ１４０１で取得した行の次の行の値を入力情報ファイルＦＩ３から取得する（Ｓ１４０３）。ＣＰＵ２１１は、ステップＳ１４０３で取得した行の値に対しては、繰り返し制御処理を実行する（Ｓ１４０５）。繰り返し制御処理については後述する。
【０１２６】
ＣＰＵ２１１は、入力情報の最初の行を除く全ての行に対して、ステップＳ１４０３、Ｓ１４０５の処理を実行する（Ｓ１４０７）。
【０１２７】
3.1.2  具体例
ここで、ひな形情報Ｘ３（図１２参照）、マッピング情報Ｍ３（図１３参照）、及び入力情報Ｉ３（図１４参照）を例にして、基本処理を具体的に示す。以下においては、図１５を適時参照されたし。
【０１２８】
ＣＰＵ２１１は、入力情報ファイルＦＩ３から行１に設定されている入力情報Ｉ３「１００，２００」を取得する（Ｓ１４０１）。そして、ＣＰＵ２１１は、マッピング情報Ｍ３「Ａ＠Ｔ１」、「Ｂ＠Ｔ１」について、ステップＳ６０１〜ステップＳ６１３の処理を実行する。この段階での、ＸＭＬ文書の階層構造を図１９Ａに示す。
【０１２９】
ＣＰＵ２１１は、ステップＳ１４０１で取得した行１の入力情報Ｉ３「１００，２００」の次の行である行２に入力情報Ｉ３「１００，３００」を入力情報ファイルＦＩ３から取得する（Ｓ１４０３）。ＣＰＵ２１１は、取得した行２の入力情報Ｉ３「１００，３００」に対しては、繰り返し制御処理を実行する（Ｓ１４０５）。この段階での、ＸＭＬ文書の階層構造を図１９Ｂに示す。
【０１３０】
3.2.  繰り返し制御処理
3.2.1  処理の概要
次ぎに、図１６〜図１８のフローチャートを用いて、図１５に示す繰り返し制御処理（Ｓ１４０５）について説明する。
【０１３１】
図１６に示すように、ＣＰＵ２１１は、ステップＳ１４０５（図１５参照）で取得した行の入力情報Ｉ３に対して、ステップＳ６０１〜ステップＳ６０５までの処理（図６参照）を実行する。
【０１３２】
ＣＰＵ２１１は、ステップＳ６０５において親要素推定処理が終了すると、ステップＳ６０１で取得したマッピング情報Ｍ３に対応するステップＳ１４０３で取得した行の入力情報Ｉ３の値が、当該マッピング情報Ｍ３に対応する前行の入力情報Ｉ３の値と異なるか否かを判断する（Ｓ１５０１）。ＣＰＵ２１１は、対象とするマッピング情報Ｍ５に対応する現在行の入力情報Ｉ３の値が前行の入力情報Ｉ３の値と異ならない、つまり同一であると判断すると、同一値情報を設定する（Ｓ１５０３）。そして、図１８に移って、ＣＰＵ２１１は、ステップＳ６０１で取得した最上位の階層に属するタグ若しくはステップＳ６１３で取得したタグと同一若しくは下位の階層に属するタグがひな形情報Ｘ３に存在するか否かを判断する（Ｓ６１１）。ＣＰＵ２１１は、同一若しくは下位の階層に属するタグが存在すると判断すると、当該タグを取得する（Ｓ６１３）。ＣＰＵ２１１は、取得したタグについてステップＳ６０２以下の処理を実行する。
【０１３３】
図１６に戻って、ステップＳ１５０１において、ＣＰＵ２１１は、ステップＳ６０１で取得したマッピング情報Ｍ３に対応するステップＳ１４０３で取得した行の入力情報Ｉ３の値が、当該マッピング情報Ｍ３に対応する前行の入力情報Ｉ３の値と異なると判断すると、メモリ２１２から繰り返し要素の値を取得する（Ｓ８０３）。ＣＰＵ２１１は、取得した繰り返し要素に対応するタグが属する階層以下の階層（以下、繰り返し階層とする。）に属する全てのタグをひな形情報ファイルＦＸ３から取得する（Ｓ８０５）。ＣＰＵ２１１は、繰り返し要素として記憶したタグと同一階層となるように、リピートタグを繰り返して出力する（Ｓ８０９’）。
【０１３４】
図１７に移って、次ぎに、ＣＰＵ２１１は、メモリ２１２に同一値情報が設定されているか否かを判断する（Ｓ１６０１）。ＣＰＵ２１１は、同一値情報が設定されていると判断すると、設定されている同一値情報をメモリ２１２から取得する（Ｓ１６０３）。ＣＰＵ２１１は、ステップＳ８０９’で出力したタグのうち、同一値情報に対応するタグに対して、当該タグに対応する入力値情報Ｉ３を設定する（Ｓ１６０５）。
【０１３５】
そして、ＣＰＵ２１１は、ステップＳ８０５（図１６参照）で取得したタグから一のタグを取得する（Ｓ１６０７）。ＣＰＵ２１１は、取得したタグのタグ名称記述領域の値とマッピング情報の代入要素名記述領域の値とが同一となるマッピング情報が存在するか否かを判断する（Ｓ１６０９）。
【０１３６】
ＣＰＵ２１１は、対応するマッピング情報が存在すると判断すると、当該マッピング情報に対応する入力情報を取得する（Ｓ１６１１）。そして、ＣＰＵ２１１は、繰り返し要素に対応するタグが属する階層以下の階層に属するタグを繰り返し出力したＸＭＬ文書において、ステップＳ１６０９において同一と判断したタグに対応する値として、取得した入力情報の値を設定する（Ｓ１６１３）。
【０１３７】
ＣＰＵ２１１は、リピートタグに含まれる全てのタグについて、ステップＳ１６０７〜Ｓ１６１３の処理を実行する（Ｓ１６１５）。
【０１３８】
図１８に移って、さらに、ＣＰＵ２１１は、リピートタグに含まれる全てのタグについて、ステップＳ１６０７〜Ｓ１６１５の処理が終了した判断すると、全てのマッピング情報について、当該判断を行ったか否かを判断する（Ｓ６０９）。
【０１３９】
ＣＰＵ２１１は、全てのマッピング情報について、ステップＳ６０２以降の判断を行っていないと判断すると、他の一のマッピング情報を取得する（Ｓ６０２：図１６参照）。そして、ＣＰＵ２１１は、ステップＳ６０３以下の処理を実行する。
【０１４０】
ＣＰＵ２１１は、図１８におけるステップＳ６０９において、全てのマッピング情報について、ステップＳ６０２以降の判断を行ったと判断すると、ステップＳ６０１若しくはステップＳ６１３で取得したタグに対して同一若しくは下位の階層に属するタグがひな形情報Ｘ３に存在するか否かを判断する（Ｓ６１１）。そして、ＣＰＵ２１１は、ステップＳ６０１等で取得したタグに対して同一若しくは下位の階層に属するタグを取得する（Ｓ６１３）。ＣＰＵ２１１は、取得したタグについて、ステップＳ６０２以下の処理を実行する。ＣＰＵ２１１は、ステップＳ６１１において、ステップＳ６０１等で取得したタグに対する下位の階層に属するタグがひな形情報Ｘ３に存在しないと判断すると、処理を終了する。
【０１４１】
3.2.2  具体例
ここで、ひな形情報Ｘ３（図１２参照）、マッピング情報Ｍ３（図１３参照）、及び入力情報Ｉ３（図１４参照）を例にして、繰り返し制御処理を具体的に示す。以下においては、図１６〜図１８を適時参照されたし。なお、入力情報ファイルＦＩ３の行１の入力情報Ｉ３に関する処理が終了した段階でのＸＭＬ文書を図１９Ａに示す。
【０１４２】
その後、ＣＰＵ２１１は、入力情報ファイルＦＩ３から行２の入力情報Ｉ３「１００，３００」を取得する（図１５：ステップＳ１４０３参照）。
【０１４３】
ＣＰＵ２１１は、ひな形情報ファイルＦＸ３から最上位の階層に属するタグ「＜Ｔ１＞」を取得する（Ｓ６００）。次に、ＣＰＵ２１１は、マッピング情報ファイルＦＭ３からマッピング情報Ｍ３「Ａ＠Ｔ１」を取得する（Ｓ６０２）。ＣＰＵ２１１は、タグ「＜Ｔ１＞」のタグ名称記述領域の値「Ｔ１」とマッピング情報Ｍ３「Ａ＠Ｔ１」の代入要素名記述領域の値「Ａ］とが同一でないので（Ｓ６０３）、次のマッピング情報Ｍ３「Ｂ＠Ｔ１」をマッピング情報ファイルＦＭ３から取得する（Ｓ６０９、Ｓ６０２）。ＣＰＵ２１１は、タグ「＜Ｔ１＞」のタグ名称記述領域の値「Ｔ１」とマッピング情報Ｍ３「Ｂ＠Ｔ１」の代入要素名記述領域の値「Ｂ」とが同一でないので（Ｓ６０３）、タグ「＜Ｔ１＞」に対して下位の階層の属するタグ「＜Ａ＞」をひな形情報ファイルＦＸ３から取得する（Ｓ６０９、Ｓ６１１、Ｓ６１３、Ｓ６０２）。
【０１４４】
ＣＰＵ２１１は、マッピング情報ファイルＦＭ３からマッピング情報Ｍ３「Ａ＠Ｔ１」を取得する（Ｓ６０２）。ＣＰＵ２１１は、タグ「＜Ａ＞」のタグ名称記述領域の値「Ａ」とマッピング情報Ｍ３「Ａ＠Ｔ１」の代入要素名記述領域の値「Ａ］とが同一であるので（Ｓ６０３）、親要素推定処理を実行する（Ｓ６０５）。
【０１４５】
ＣＰＵ２１１は、親要素推定処理終了段階で、繰り返し要素を「＜Ｔ１＞」と判断している。なお、親要素推定処理についての記載は省略する。
【０１４６】
ＣＰＵ２１１は、ステップＳ６０２で取得したマッピング情報「Ａ＠Ｔ１」に対応するステップＳ１４０３で取得した行２の入力情報Ｉ３の値「１００」が、対応する行１の入力情報Ｉ３の値「１００」と同じであると判断し（Ｓ１５０１）、同一値情報「＜Ａ＞」を設定する（Ｓ１５０３）。
【０１４７】
ＣＰＵ２１１は、マッピング情報Ｍ３「Ｂ＠Ｔ１」を取得し（Ｓ６０９、Ｓ６０２）、タグ「＜Ａ＞」のタグ名称記述領域の値「Ａ」がマッピング情報Ｍ３「Ｂ＠Ｔ１」の代入要素名記述領域に存在しないと判断する（Ｓ６０３）。
【０１４８】
そして、ＣＰＵ２１１は、ひな形情報Ｘ３においてタグ「＜Ａ＞」と同一階層に属するタグ「＜Ｔ２＞」についても、同様の処理を実行する。
【０１４９】
次に、ＣＰＵ２１１は、タグ「＜Ｔ２＞」の下位の階層に属するタグ「＜Ｂ＞」をひな形情報ファイルＦＸ３から取得する（Ｓ６１３）。ＣＰＵ２１１は、まず、マッピング情報Ｍ３「Ａ＠Ｔ１」を取得し、タグ「＜Ｂ＞」のタグ名称記述領域の値「Ｂ」がマッピング情報Ｍ３「Ａ＠Ｔ１」の代入要素名記述領域に存在しないと判断する（Ｓ６０３）。
【０１５０】
そして、ＣＰＵ２１１は、マッピング情報Ｍ３「Ｂ＠Ｔ１」を取得する（Ｓ６０９、Ｓ６０２）。ＣＰＵ２１１は、タグ「＜Ｂ＞」のタグ名称記述領域の値「Ｂ」がマッピング情報Ｍ３「Ｂ＠Ｔ１」の代入要素名記述領域に存在すると判断し（Ｓ６０３）、親要素推定処理を実行する（Ｓ６０５）。
【０１５１】
ＣＰＵ２１１は、親要素推定処理終了段階で、繰り返し要素を「＜Ｔ１＞」と判断している。
【０１５２】
ＣＰＵ２１１は、ステップＳ６０２で取得したマッピング情報Ｍ３「Ｂ＠Ｔ１」に対応するステップＳ１４０３で入力情報ファイルＦＩ３から取得した行２の入力情報Ｉ３の値「３００」が、行１の入力情報Ｉ３の値「２００」と異なると判断し（Ｓ１５０１）、メモリ２１２から繰り返し要素の値「＜Ｔ１＞」を取得する（Ｓ８０３）。ＣＰＵ２１１は、取得した繰り返し要素「＜Ｔ１＞」に対応する繰り返し階層に属する全てのタグ「＜Ｔ１＞＜Ａ＞＜／Ａ＞＜Ｔ２＞＜Ｂ＞＜／Ｂ＞＜／Ｔ２＞＜／Ｔ１＞」をひな形情報ファイルＦＸ３から取得する（Ｓ８０５）。ＣＰＵ２１１は、繰り返し要素として記憶したタグ「＜Ｔ１＞」と同一階層となるように、リピートタグ「＜Ｔ１＞＜Ａ＞＜／Ａ＞＜Ｔ２＞＜Ｂ＞＜／Ｂ＞＜／Ｔ２＞＜／Ｔ１＞」を繰り返してＸＭＬ文書に出力する（Ｓ８０９’）。この段階での、ＸＭＬ文書は図１９Ｂとなる。
【０１５３】
次ぎに、ＣＰＵ２１１は、メモリ２１２に同一値情報が設定されているか否かを判断する（Ｓ１６０１）。ＣＰＵ２１１は、同一値情報が設定されていると判断すると、設定されている同一値情報「＜Ａ＞」をメモリ２１２から取得する（Ｓ１６０３）。ＣＰＵ２１１は、ステップＳ８０９’で出力したタグ「＜Ｔ１＞＜Ａ＞＜／Ａ＞＜Ｔ２＞＜Ｂ＞＜／Ｂ＞＜／Ｔ２＞＜／Ｔ１＞」のうち、同一値情報「＜Ａ＞」に対応するタグに対して、入力情報ファイルＦＩ３の行２カラム１の「１００」を設定する（Ｓ１６０３）。この段階でのＸＭＬ文書を図１９Ｃに示す。
【０１５４】
そして、ＣＰＵ２１１は、リピートタグから一のタグ「＜Ｔ１＞」を取得する（Ｓ１６０７）。ＣＰＵ２１１は、取得したタグ「＜Ｔ１＞」のタグ名称記述領域の値「Ｔ１」と現在対象としているマッピング情報Ｍ３「Ｂ＠Ｔ１」の代入要素名記述領域の値「Ｂ」とは同一でないと判断し（Ｓ１６０９）、下位の階層に属するタグを取得する（Ｓ１６１５）。
【０１５５】
ＣＰＵ２１１は、タグ「＜Ａ＞」、「＜Ｔ２＞」についても、同様に、タグ名称記述領域の値「Ａ」、「Ｔ２」と現在対象としているマッピング情報Ｍ３「Ｂ＠Ｔ１」の代入要素名記述領域の値「Ｂ」とは同一でないと判断し、下位の階層に属するタグを取得する（Ｓ１６０７、Ｓ１６０９、Ｓ１６１５）。
【０１５６】
そして、ＣＰＵ２１１は、タグ「＜Ｂ＞」を取得すると（Ｓ１６０７）、取得したタグ「＜Ｂ＞」のタグ名称記述領域の値「Ｂ」と現在対象としているマッピング情報Ｍ３「Ｂ＠Ｔ１」の代入要素名記述領域の値「Ｂ」とは同一であると判断し（Ｓ１６０９）、マッピング情報Ｍ３「Ｂ＠Ｔ１」に対応する入力情報Ｉ３「３００」を取得する（Ｓ１６１１）。ＣＰＵ２１１は、取得した入力情報Ｉ３「３００」をタグ「＜Ｂ＞」に対応する値として設定する（Ｓ１６１３）。この段階でのＸＭＬ文書を図１９Ｄに示す。
【実施例３】
【０１５７】
1.  概要
前述の実施例２においては、マッピング情報の繰り返し要素名記述領域の値がいずれも等しい場合を示した。
【０１５８】
本実施例においては、マッピング情報の繰り返し要素名記述領域の値が異なる場合の構造情報生成装置の動作を説明する。
【０１５９】
なお、本実施例においては、実施例２と同様のハードウェア構成である。また、構造情報生成装置２１の動作についても、実施例２と同様である。以下においては、実施例２と同様の構成及び処理については、実施例２と同じ番号を付している。
【０１６０】
2.  データ
本実施例における構造化文書生成装置２１のハードディスク２１３に記録されているひな形情報、マッピング情報、及びＣＤ−ＲＯＭドライブ２１７を介して取得する入力情報について説明する。
【０１６１】
2.1.  ひな形情報
本実施例におけるひな形情報は、実施例２におけるひな形情報Ｘ３と同様である（図１２参照）。
【０１６２】
2.2.  マッピング情報
本実施例におけるマッピング情報Ｍ５について、図２０を用いて説明する。本実施例におけるマッピング情報ファイルＦＭ５には、２つのカラム（カラム１、カラム２）が設定されている。マッピング情報ファイルＦＭ５のカラム１にはマッピング情報Ｍ５「Ａ＠Ｔ１」が、カラム２にはマッピング情報Ｍ５「Ｂ＠Ｔ２」が、それぞれ設定されている。
【０１６３】
マッピング情報ファイルＦＭ５のカラム１に記述されているマッピング情報Ｍ５「Ａ＠Ｔ１」の繰り返し要素名記述領域には値「Ｔ１」が記述されている。一方、マッピング情報ファイルＦＭ５のカラム２に記述されているマッピング情報Ｍ５「Ａ＠Ｔ２」の繰り返し要素名記述領域には値「Ｔ２」が記述されている。
【０１６４】
2.3.  入力情報
本実施例における入力情報Ｉ３は、実施例２におけるひな形情報Ｘ３と同様である（図１４参照）。
【０１６５】
なお、実施例２と同様に、入力情報ファイルＦＩ３の各カラムで特定される入力情報記述領域は、マッピング情報ファイルＦＭ５の各カラムで特定されるマッピング情報Ｍ５と対応している。つまり、入力情報ファイルＦＩ３の行１カラム１に設定されている入力情報Ｉ３「１００」及び行２カラム１に設定されている入力情報Ｉ３「１００」は、マッピング情報ファイルＦＭ５のカラム１に設定されているマッピング情報Ｍ３「Ａ＠Ｔ１」に対応し、入力情報ファイルＦＩ３の行１カラム２に設定されている入力情報Ｉ３「２００」及び行２カラム２に設定されている入力情報Ｉ３「３００」は、マッピング情報ファイルＦＭ５のカラム２に設定されているマッピング情報Ｍ５「Ｂ＠Ｔ２」に、それぞれ対応する。
【０１６６】
3.  構造化文書生成装置２１の動作
前述の通り、本実施形態における構造化文書の動作は、実施例２と同様である。従って、以降においては、前述のひな形情報Ｘ３、マッピング情報Ｍ５、及び入力情報Ｉ３を用いた、具体的な構造情報生成装置２１の動作について説明する。なお、図７〜図９、図１５〜図１８を適時参照されたし。
【０１６７】
構造情報生成装置２１のＣＰＵ２１１は、入力情報ファイルＦＩ３の行１の入力情報Ｉ３については、実施例１と同様の処理を行う。入力情報ファイルＦＩ３の行１の入力情報Ｉ３に関する処理が終了した段階でのＸＭＬ文書を図２１Ａに示す。
【０１６８】
その後、ＣＰＵ２１１は、入力情報ファイルＦＩ３から行２の入力情報Ｉ３「１００，３００」を取得する（図１５：ステップＳ１４０３参照）。
【０１６９】
ＣＰＵ２１１は、ひな形情報ファイルＦＸ３から最上位の階層に属するタグ「＜Ｔ１＞」を取得する（Ｓ６０１）。次に、ＣＰＵ２１１は、マッピング情報ファイルＦＭ５からマッピング情報Ｍ５「Ａ＠Ｔ１」を取得する（Ｓ６０２）。ＣＰＵ２１１は、タグ「＜Ｔ１＞」のタグ名称記述領域の値「Ｔ１」とマッピング情報Ｍ５「Ａ＠Ｔ１」の代入要素名記述領域の値「Ａ］とが同一でないので（Ｓ６０３）、次のマッピング情報Ｍ５「Ｂ＠Ｔ１」をマッピング情報ファイルＦＭ５から取得する（Ｓ６０９、Ｓ６０２）。ＣＰＵ２１１は、タグ「＜Ｔ１＞」のタグ名称記述領域の値「Ｔ１」とマッピング情報Ｍ５「Ｂ＠Ｔ１」の代入要素名記述領域の値「Ｂ」とが同一でないので（Ｓ６０３）、タグ「＜Ｔ１＞」に対して下位の階層の属するタグ「＜Ａ＞」をひな形情報ファイルＦＸ３から取得する（Ｓ６０９、Ｓ６１１、Ｓ６１３、Ｓ６０２）。
【０１７０】
ＣＰＵ２１１は、マッピング情報ファイルＦＭ５からマッピング情報Ｍ５「Ａ＠Ｔ１」を取得する（Ｓ６０２）。ＣＰＵ２１１は、タグ「＜Ａ＞」のタグ名称記述領域の値「Ａ」とマッピング情報Ｍ５「Ａ＠Ｔ１」の代入要素名記述領域の値「Ａ］とが同一であるので（Ｓ６０３）、親要素推定処理を実行する（Ｓ６０５）。なお、親要素推定処理の記載については省略する。
【０１７１】
ＣＰＵ２１１は、親要素推定処理終了段階で、繰り返し要素を「＜Ｔ１＞」と判断している。
【０１７２】
ＣＰＵ２１１は、ステップＳ６０２で取得したマッピング情報「Ａ＠Ｔ１」に対応するステップＳ１４０３で取得した行２の入力情報Ｉ３の値「１００」が、対応する行１の入力情報Ｉ３の値「１００」と同じであると判断し（Ｓ１５０１）、同一値情報「＜Ａ＞」を設定する（Ｓ１５０３）。
【０１７３】
ＣＰＵ２１１は、マッピング情報Ｍ５「Ｂ＠Ｔ２」を取得し（Ｓ６０９、Ｓ６０２）、タグ「＜Ａ＞」のタグ名称記述領域の値「Ａ」がマッピング情報Ｍ５「Ｂ＠Ｔ２」の代入要素名記述領域に存在しないと判断する（Ｓ６０３）。
【０１７４】
そして、ＣＰＵ２１１は、ひな形情報Ｘ３においてタグ「＜Ａ＞」と同一階層に属するタグ「＜Ｔ２＞」についても、同様の処理を実行する。
【０１７５】
次に、ＣＰＵ２１１は、タグ「＜Ｔ２＞」の下位の階層に属するタグ「＜Ｂ＞」をひな形情報ファイルＦＸ３から取得する（Ｓ６１３）。ＣＰＵ２１１は、まず、マッピング情報Ｍ５「Ａ＠Ｔ１」を取得し、タグ「＜Ｂ＞」のタグ名称記述領域の値「Ｂ」がマッピング情報Ｍ５「Ａ＠Ｔ１」の代入要素名記述領域に存在しないと判断する（Ｓ６０３）。
【０１７６】
そして、ＣＰＵ２１１は、マッピング情報Ｍ５「Ｂ＠Ｔ２」を取得する（Ｓ６０９、Ｓ６０２）。ＣＰＵ２１１は、タグ「＜Ｂ＞」のタグ名称記述領域の値「Ｂ」がマッピング情報Ｍ５「Ｂ＠Ｔ２」の代入要素名記述領域に存在すると判断し（Ｓ６０３）、親要素推定処理を実行する（Ｓ６０５）。
【０１７７】
ＣＰＵ２１１は、親要素推定処理終了段階で、繰り返し要素を「＜Ｔ２＞」と判断している。
【０１７８】
ＣＰＵ２１１は、ステップＳ６０２で取得したマッピング情報Ｍ５「Ｂ＠Ｔ２」に対応するステップＳ１４０３で入力情報ファイルＦＩ３から取得した行２の入力情報Ｉ３の値「３００」が、行１の入力情報Ｉ３の値「２００」と異なると判断し（Ｓ１５０１）、メモリ２１２から繰り返し要素の値「＜Ｔ２＞」を取得する（Ｓ８０３）。ＣＰＵ２１１は、取得した繰り返し要素「＜Ｔ２＞」に対応する繰り返し階層に属する全てのタグ「＜Ｔ２＞＜Ｂ＞＜／Ｂ＞＜／Ｔ２＞」をひな形情報ファイルＦＸ３から取得する（Ｓ８０５）。ＣＰＵ２１１は、繰り返し要素として記憶したタグ「＜Ｔ２＞」と同一階層となるように、リピートタグ「＜Ｔ２＞＜Ｂ＞＜／Ｂ＞＜／Ｔ２＞」を繰り返してＸＭＬ文書に出力する（Ｓ８０９’）。この段階での、ＸＭＬ文書は図２１Ｂとなる。
【０１７９】
次ぎに、ＣＰＵ２１１は、メモリ２１２に同一値情報が設定されているか否かを判断する（Ｓ１６０１）。ＣＰＵ２１１は、同一値情報が設定されていると判断すると、設定されている同一値情報「＜Ａ＞」をメモリ２１２から取得する（Ｓ１６０３）。ＣＰＵ２１１は、ステップＳ８０９’で出力したタグ「＜Ｔ２＞＜Ｂ＞＜／Ｂ＞＜／Ｔ２＞」には、同一値情報「＜Ａ＞」に対応するタグが存在しないと判断し、ステップＳ１６０３の処理を実行しない。
【０１８０】
そして、ＣＰＵ２１１は、リピートタグから一のタグ「＜Ｔ２＞」を取得する（Ｓ１６０７）。ＣＰＵ２１１は、取得したタグ「＜Ｔ２＞」のタグ名称記述領域の値「Ｔ２」と現在対象としているマッピング情報Ｍ５「Ｂ＠Ｔ２」の代入要素名記述領域の値「Ｂ」とは同一でないと判断し（Ｓ１６０９）、下位の階層に属するタグを取得する（Ｓ１６１５）。
【０１８１】
そして、ＣＰＵ２１１は、タグ「＜Ｂ＞」を取得すると（Ｓ１６０７）、取得したタグ「＜Ｂ＞」のタグ名称記述領域の値「Ｂ」と現在対象としているマッピング情報Ｍ５「Ｂ＠Ｔ２」の代入要素名記述領域の値「Ｂ」とは同一であると判断し（Ｓ１６０９）、マッピング情報Ｍ５「Ｂ＠Ｔ２」に対応する入力情報Ｉ３「３００」を取得する（Ｓ１６１１）。ＣＰＵ２１１は、取得した入力情報Ｉ３「３００」をタグ「＜Ｂ＞」に対応する値として設定する（Ｓ１６１３）。この段階でのＸＭＬ文書を図２１Ｃに示す。
【実施例４】
【０１８２】
1.  概要
実施例４は、前述の実施例１におけるひな形情報Ｘ１、マッピング情報Ｍ１、及び入力情報Ｉ１を具体的にしたものである。
【０１８３】
本実施例における構造情報生成装置の基本的なハードウェア構成及び動作については、実施例１と同様である。
【０１８４】
2.  データ
本実施例における構造化文書生成装置２１のハードディスク２１３に記録されているひな形情報、マッピング情報、及び入力情報について説明する。
【０１８５】
2.1.  ひな形情報
本実施例におけるひな形情報Ｘ１１について、図２２を用いて説明する。ひな形情報Ｘ１１は、ＸＭＬを用いて記述したものである。ひな形情報Ｘ１１は、ひな形情報ファイルＦＸ１１に記述される。
【０１８６】
ひな形情報Ｘ１１は、＜仕訳＞＜／仕訳＞、＜仕訳明細＞＜／仕訳明細＞、＜貸借＞＜／貸借＞、＜勘定科目＞＜／勘定科目＞、＜コード＞＜／コード＞、＜名称＞＜／名称＞、＜金額＞＜／金額＞で示される複数のタグを有している。
【０１８７】
また、各タグは、階層構造を形成している。ひな形情報Ｘ１１では、最上位階層に属するタグは、＜仕訳＞＜／仕訳＞である。最上位階層の直近下位の階層に属するタグは、＜仕訳明細＞＜／仕訳明細＞である。その直近下位の階層に属するタグは、＜貸借＞＜／貸借＞、＜勘定科目＞＜／勘定科目＞、＜金額＞＜／金額＞である。最下位の階層に属するタグは、＜コード＞＜／コード＞、＜名称＞＜／名称＞である。
【０１８８】
2.2.  マッピング情報
本実施例におけるマッピング情報Ｍ１１について、図２３を用いて説明する。マッピング情報Ｍ１１は、マッピング情報ファイルＦＭ１１に記述されている。
【０１８９】
本実施例におけるマッピング情報ファイルＦＭ１１には、１つの行（行１）、８つのカラム（カラム１〜８）が設定されている。マッピング情報ファイルＦＭ１１のカラム１にはマッピング情報Ｍ１１「名称（１）＠仕訳明細」が、カラム２にはマッピング情報Ｍ１１「金額（１）」が、カラム３にはマッピング情報Ｍ１１「貸借（１）」が、カラム４にはマッピング情報Ｍ１１「コード（１）＠仕訳明細」が、カラム５にはマッピング情報Ｍ１１「名称（２）＠仕訳明細」が、カラム６にはマッピング情報Ｍ１１「金額（２）」が、カラム７にはマッピング情報Ｍ１１「貸借（２）」が、カラム８にはマッピング情報Ｍ１１「コード（２）＠仕訳明細」が、それぞれ設定されている。
【０１９０】
マッピング情報ファイルＦＭ１１のカラム１に記述されているマッピング情報Ｍ１１「名称（１）＠仕訳明細」、カラム４に記述されているマッピング情報Ｍ１１「コード（１）＠仕訳明細」、カラム５に記述されているマッピング情報Ｍ１１「名称（２）＠仕訳明細」、カラム８に記述されているマッピング情報Ｍ１１「名称（２）＠仕訳明細」、それぞれの繰り返し要素名記述領域には値「仕訳明細」が記述されている。一方、マッピング情報ファイルＦＭ１３のカラム２に記述されているマッピング情報Ｍ１１「金額（１）」、カラム３に記述されているマッピング情報Ｍ１１「貸借（１）」、カラム６に記述されているマッピング情報Ｍ１１「金額（２）」、カラム７に記述されているマッピング情報Ｍ１１「貸借（２）」、それぞれの繰り返し要素名記述領域には何も記述されていない。
【０１９１】
また、カラム１〜カラム４に記述されているマッピング情報Ｍ１１「名称（１）＠仕訳明細」、「金額（１）」、「貸借（１）」、「コード（１）＠仕訳明細」、それぞれの出現番号記述領域には値「１」が記述されている。一方、カラム５〜カラム８に記述されているマッピング情報Ｍ１１「名称（２）＠仕訳明細」、「金額（２）」、「貸借（２）」、「コード（２）＠仕訳明細」、それぞれの出現番号記述領域には値「２」が記述されている。
【０１９２】
2.3.  入力情報
本実施例における入力情報Ｉ１１について、図２４を用いて説明する。入力情報Ｉ１１は、入力情報ファイルＦＩ１３に記述されている。
【０１９３】
本実施例における入力情報ファイルＦＩ１１には、１つの行（行１）、８つのカラム（カラム１〜８）が設定されている。入力情報ファイルＦＩ１１のカラム１には入力情報Ｉ１３「売掛金」が、カラム２には入力情報Ｉ１１「１００００」が、カラム３には入力情報Ｉ１１「借方」が、カラム４には入力情報Ｉ１１「００００１」が、カラム５には入力情報Ｉ１１「商品」が、カラム６には入力情報Ｉ１１「１００００」が、カラム７には入力情報Ｉ１１「貸方」が、カラム８には入力情報Ｉ１１「００１００」が、それぞれ設定されている。
【０１９４】
なお、入力情報ファイルＦＩ１１のカラムで特定される入力情報Ｉ１１は、マッピング情報ファイルＦＭ１１のカラムで特定されるマッピング情報Ｍ１１と対応している。つまり、入力情報ファイルＦＩ１１のカラム１に設定されている入力情報Ｉ１１「売掛金」は、マッピング情報ファイルＦＭ１１のカラム１に設定されているマッピング情報Ｍ１１「名称（１）＠仕訳明細」に対応している。他の入力情報Ｉ１１、マッピング情報Ｍ１１についても同様である。
【０１９５】
3.  構造化文書生成装置２１の動作
前述の通り、本実施形態における構造化文書の動作は、実施例１と同様である。以降においては、前述のひな形情報Ｘ１１、マッピング情報Ｍ１１、及び入力情報Ｉ１１を用いた、具体的な構造情報生成装置２１の動作について説明する。なお、図６〜図９を適時参照されたし。
【０１９６】
ＣＰＵ２１１は、ひな形情報Ｘ１１における最上位階層に属するタグ＜仕訳＞を取得する（Ｓ６００）。そして、ＣＰＵ２１１は、取得したタグ＜仕訳＞及びタグ＜仕訳＞と対をなすタグ＜／仕訳＞をＸＭＬ文書へ出力する（Ｓ６０１）。
【０１９７】
次に、ＣＰＵ２１１は、ハードディスク２１３に記憶されているマッピング情報ファイルＦＭ１１から一のマッピング情報Ｍ１１「名称（１）＠仕訳明細」を取得する（Ｓ６０２）。ＣＰＵ２１１は、取得したマッピング情報Ｍ１１「名称（１）＠仕訳明細」の代入要素名記述領域に記述されている値「名称」とステップＳ６０１で取得したタグ＜仕訳＞のタグ名称記述領域に記述されている値「仕訳」とが一致するかを判断する（Ｓ６０３）。この場合、ＣＰＵ２１１は、代入要素名記述領域に記述されている値「名称」とタグ＜仕訳＞のタグ名称記述領域に記述されている値「仕訳」とは一致しないと判断する。
【０１９８】
ＣＰＵ２１１は、他のマッピング情報Ｍ１１「金額（１）」については、ステップＳ６０３の判断を行っていないと判断する（Ｓ６０９）。次ぎに、ＣＰＵ２１１は、マッピング情報Ｍ１１「金額（１）」を取得する（Ｓ６０２）。ＣＰＵ２１１は、前回に取得したマッピング情報Ｍ１１「名称（１）＠仕訳明細」と同様に、代入要素名記述領域に記述されている値「金額」とタグ＜仕訳＞のタグ名称記述領域に記述されている値「仕訳」とは一致しないと判断する。
【０１９９】
ＣＰＵ２１１は、他のマッピング情報Ｍ１１についても、同様にステップＳ６０１〜Ｓ６０３の処理を実行する。ＣＰＵ２１１は、マッピング情報ファイルＦＭ１１に記述されている全てのマッピング情報Ｍ１１について、ステップＳ６０１〜Ｓ６０３の判断を行う。
【０２００】
ＣＰＵ２１１は、全てのマッピング情報Ｍ１１について、ステップＳ６０１〜Ｓ６０３の判断を行ったと判断すると（Ｓ６０９）、タグ＜仕訳＞に対する同一若しくは下位の階層に属するタグの有無を判断する。この場合には、ＣＰＵ２１１は、タグ＜仕訳明細＞に対する下位の階層に属するタグ＜仕訳＞が存在すると判断する（Ｓ６１１）。そして、ＣＰＵ２１１は、タグ＜仕訳＞を取得する（Ｓ６１３）。ＣＰＵ２１１は、タグ「＜仕訳明細＞」についても、同様に、全てのマッピング情報Ｍ１１対してステップＳ６０２〜Ｓ６０３、Ｓ６０９の処理を実行する。
【０２０１】
次に、ＣＰＵ２１１は、タグ＜仕訳明細＞の下位の階層に属するタグ＜貸借＞を取得する（Ｓ６１１、Ｓ６１３）。ＣＰＵ２１１は、マッピング情報ファイルＦＭ１１から一のマッピング情報Ｍ１１「名称（１）＠仕訳明細」を取得する（Ｓ６０２）。ＣＰＵ２１１は、取得したマッピング情報Ｍ１１「名称（１）＠仕訳明細」の代入要素名記述領域に記述されている値「名称」と取得したタグ＜貸借＞のタグ名称記述領域に記述されている値「貸借」とが一致するかを判断する（Ｓ６０３）。この場合、ＣＰＵ２１１は、代入要素名記述領域に記述されている値「名称」とタグ＜貸借＞のタグ名称記述領域に記述されている値「貸借」とは一致しないと判断する。
【０２０２】
ＣＰＵ２１１は、他のマッピング情報Ｍ１１「金額（１）」については、ステップＳ６０３の判断を行っていないと判断し（Ｓ６０９）、マッピング情報Ｍ１１「金額（１）」を取得する（Ｓ６０２）。ＣＰＵ２１１は、取得したマッピング情報Ｍ１１「金額（１）」の代入要素名記述領域に記述されている値「金額」と取得したタグ＜貸借＞のタグ名称記述領域に記述されている値「貸借」とは一致しないと判断する（Ｓ６０３）。
【０２０３】
ＣＰＵ２１１は、次のマッピング情報Ｍ１１「貸借（１）」を取得し（Ｓ６０９、Ｓ６０２）、取得したマッピング情報Ｍ１１「貸借（１）」の代入要素名記述領域に記述されている値「貸借」とステップＳ６０１で取得したタグ＜貸借＞のタグ名称記述領域に記述されている値「貸借」とは一致すると判断する（Ｓ６０３）。
【０２０４】
そして、ＣＰＵ２１１は、マッピング情報Ｍ１１「貸借（１）」について、親要素推定処理（Ｓ６０５）を実行する。ＣＰＵ２１１は、マッピング情報Ｍ１１「貸借（１）」については、繰り返し要素名記述領域に値が設定されていないと判断し（Ｓ７０１）、代入要素名記述領域に記述されている代入要素名「貸借」に対応するタグをひな形情報Ｘ１１から取得する（Ｓ７０５）。そして、ＣＰＵ２１１は、タグ＜貸借＞を取得し、取得したタグ＜貸借＞について直近上位の階層に位置するタグ＜仕訳明細＞を取得する（Ｓ７０７）。ＣＰＵ２１１は、取得したタグ＜仕訳明細＞を繰り返し要素として設定する（Ｓ７０９）。
【０２０５】
次に、ＣＰＵ２１１は、繰り返し要素適用処理（Ｓ６０７）を実行する。ＣＰＵ２１１は、マッピング情報Ｍ１１「貸借（１）」の出現番号記述領域の値「１」を取得する（Ｓ８０１）。そして、ＣＰＵ２１１は、マッピング情報Ｍ１１「貸借（１）」に対応する繰り返し要素の値「＜仕訳明細＞」をメモリ２１２から取得する（Ｓ８０３）。ＣＰＵ２１１は、取得した繰り返し要素に対応するタグ「＜仕訳明細＞」が属する階層以下の階層に属するタグ「＜仕訳明細＞＜貸借＞＜／貸借＞＜勘定科目＞＜コード＞＜／コード＞＜名称＞＜／名称＞＜／勘定科目＞＜金額＞＜／金額＞＜／仕訳明細＞」をひな形情報ファイルＦＸ１１から取得する（Ｓ８０５）。
【０２０６】
そして、ＣＰＵ２１１は、ＸＭＬ文書において、リピートタグ「＜仕訳明細＞＜貸借＞＜／貸借＞＜勘定科目＞＜コード＞＜／コード＞＜名称＞＜／名称＞＜／勘定科目＞＜金額＞＜／金額＞＜／仕訳明細＞」が、ステップＳ８０１で取得した出現番号記述領域の値「１」だけ繰り返されて出力されているか否かを判断する（Ｓ８０７）。なお、マッピング情報Ｍ１１「貸借（１）」は、ステップＳ６０２（図６参照）において、最初に取得されるマッピング情報であるため、この段階では、ＸＭＬ文書には何も記述されていない。
【０２０７】
ＣＰＵ２１１は、ステップＳ８０７において、リピートタグ「＜仕訳明細＞＜貸借＞＜／貸借＞＜勘定科目＞＜コード＞＜／コード＞＜名称＞＜／名称＞＜／勘定科目＞＜金額＞＜／金額＞＜／仕訳明細＞」が、ＸＭＬ文書内に、ステップＳ８０１で取得した出現番号記述領域の値「１」だけ繰り返し出力されていないと判断すると、繰り返し要素として記憶したタグと同一階層となるように、リピートタグを出現番号記述領域の値となるように、ＸＭＬ文書内に、繰り返して出力する（Ｓ８０９）。この段階でのＸＭＬ文書を図２５Ａに示す。
【０２０８】
そして、ＣＰＵ２１１は、リピートタグ「＜仕訳明細＞＜貸借＞＜／貸借＞＜勘定科目＞＜コード＞＜／コード＞＜名称＞＜／名称＞＜／勘定科目＞＜金額＞＜／金額＞＜／仕訳明細＞」の最上位階層に属するタグ「＜仕訳明細＞」を取得する（Ｓ８１１）。ＣＰＵ２１１は、取得したタグ「＜仕訳明細＞」のタグ名称記述領域の値「仕訳明細」が現在対象とするマッピング情報「貸借（１）」の代入要素名記述領域の値「貸借」に一致するかどうかを判断する（Ｓ８１３）。
【０２０９】
ＣＰＵ２１１は、ステップＳ８１３において、取得したタグ「＜仕訳明細＞」のタグ名称記述領域の値「仕訳明細」が対象とするマッピング情報「貸借（１）」の代入要素名記述領域の値「貸借」に一致していないと判断すると、ＣＰＵ２１１は、ステップＳ８１１取得したタグ「＜仕訳明細＞」に対する下位の階層に属するタグがひな形情報に存在するか否かを判断する（Ｓ８１９）。ひな形情報Ｘ１１には、下位の階層に属するタグ「＜貸借＞」が存在するので、ＣＰＵ２１１は、タグ「＜貸借＞」を取得する（Ｓ８２１）。
【０２１０】
そして、ＣＰＵ２１１は、取得したタグ「＜貸借＞」が対象とするマッピング情報の代入要素名「貸借」に一致していると判断すると、当該マッピング情報「貸借（１）」に対応する入力情報Ｉ１１「借方」を取得する（Ｓ８１５）。そして、ＣＰＵ２１１は、ステップＳ８０９で生成したＸＭＬ文書において、ステップＳ８１３において同一と判断したタグ「＜貸借＞」に対応する値として、取得した入力情報Ｉ１１「借方」を設定する（Ｓ８１７）。この段階でのＸＭＬ文書を図２５Ｂに示す。
【０２１１】
次ぎに、ＣＰＵ２１１は、タグ「＜貸借＞」に対して、同一階層に属するタグ「＜勘定科目＞」を取得する（Ｓ６１１、Ｓ６１３）。ＣＰＵ２１１は、取得したタグ「＜勘定科目＞」に対して、ステップＳ６０２〜Ｓ６０９の処理を実行する。
【０２１２】
次ぎに、ＣＰＵ２１１は、タグ「＜勘定科目＞」に対して、同一階層に属するタグ「＜金額＞」を取得する（Ｓ６１１、Ｓ６１３）。ＣＰＵ２１１は、取得したタグ「＜金額＞」に対して、マッピング情報Ｍ１１「名称（１）＠仕訳明細」についてステップＳ６０２〜Ｓ６０９の処理を実行する。
【０２１３】
ＣＰＵ２１１は、次のマッピング情報Ｍ１１「金額（１）」を取得し（Ｓ６０９、Ｓ６０２）、取得したマッピング情報Ｍ１１「金額（１）」の代入要素名記述領域に記述されている値「金額」とステップＳ６１３で取得したタグ＜金額＞のタグ名称記述領域に記述されている値「金額」とは一致すると判断する（Ｓ６０３）。
【０２１４】
そして、ＣＰＵ２１１は、マッピング情報Ｍ１１「金額（１）」について、親要素推定処理（Ｓ６０５）を実行する。親要素推定処理の結果、ＣＰＵ２１１は、タグ＜仕訳明細＞を繰り返し要素として設定する（Ｓ７０９）。
【０２１５】
次に、ＣＰＵ２１１は、繰り返し要素適用処理（Ｓ６０７）を実行する。ＣＰＵ２１１は、マッピング情報Ｍ１１「金額（１）」の出現番号記述領域の値「１」を取得する（Ｓ８０１）。そして、ＣＰＵ２１１は、マッピング情報Ｍ１１「金額（１）」に対応する繰り返し要素の値「＜仕訳明細＞」をメモリ２１２から取得する（Ｓ８０３）。ＣＰＵ２１１は、取得した繰り返し要素に対応するタグ「＜仕訳明細＞」が属する階層以下の階層に属するタグ「＜仕訳明細＞＜貸借＞＜／貸借＞＜勘定科目＞＜コード＞＜／コード＞＜名称＞＜／名称＞＜／勘定科目＞＜金額＞＜／金額＞＜／仕訳明細＞」をひな形情報Ｘ１１から取得する（Ｓ８０５）。
【０２１６】
そして、ＣＰＵ２１１は、ＸＭＬ文書において、リピートタグ「＜仕訳明細＞＜貸借＞＜／貸借＞＜勘定科目＞＜コード＞＜／コード＞＜名称＞＜／名称＞＜／勘定科目＞＜金額＞＜／金額＞＜／仕訳明細＞」が、ステップＳ８０１で取得した出現番号記述領域の値「１」だけ繰り返されて出力されているか否かを判断する（Ｓ８０７）。ＣＰＵ２１１は、ステップＳ８０７において、リピートタグ「＜仕訳明細＞＜貸借＞＜／貸借＞＜勘定科目＞＜コード＞＜／コード＞＜名称＞＜／名称＞＜／勘定科目＞＜金額＞＜／金額＞＜／仕訳明細＞」が、ＸＭＬ文書内に、ステップＳ８０１で取得した出現番号記述領域の値「１」だけ繰り返し出力されていると判断すると（図２５Ａ参照）、リピートタグの最上位階層に属するタグ「＜仕訳明細＞」を取得する（Ｓ８１１）。ＣＰＵ２１１は、取得したタグ「＜仕訳明細＞」のタグ名称記述領域の値「仕訳明細」が現在対象とするマッピング情報「金額（１）」の代入要素名記述領域の値「金額」に一致するかどうかを判断する（Ｓ８１３）。
【０２１７】
ＣＰＵ２１１は、ステップＳ８１３において、取得したタグ「＜仕訳明細＞」のタグ名称記述領域の値「仕訳明細」が対象とするマッピング情報「金額（１）」の代入要素名記述領域の値「金額」に一致していないと判断すると、ＣＰＵ２１１は、ステップＳ８１１取得したタグ「＜仕訳明細＞」に対する下位の階層に属するタグがひな形情報に存在するか否かを判断する（Ｓ８１９）。ひな形情報Ｘ１１には、下位の階層に属するタグ「＜貸借＞」が存在するので、ＣＰＵ２１１は、タグ「＜貸借＞」を取得する（Ｓ８２１）。ＣＰＵ２１１は、取得したタグ「＜貸借＞」について、ステップＳ８１３〜Ｓ８１７の処理を行う。
【０２１８】
そして、ＣＰＵ２１１は、タグ「＜金額＞」を取得する（Ｓ８１９、Ｓ８２１）。ＣＰＵ２１１は、取得したタグ「＜金額＞」が対象とするマッピング情報の代入要素名「金額」に一致していると判断すると、当該マッピング情報「金額（１）」に対応する入力情報Ｉ１１「１００００」を取得する（Ｓ８１５）。そして、ＣＰＵ２１１は、ステップＳ８０９で生成したＸＭＬ文書において、ステップＳ８１３において同一と判断したタグ「＜金額＞」に対応する値として、取得した入力情報Ｉ１１「１００００」を設定する（Ｓ８１７）。この段階でのＸＭＬ文書を図２５Ｃに示す。
【０２１９】
ＣＰＵ２１１は、リピートタグの他のタグについても同様に、ステップＳ８１３〜Ｓ８１７の処理を実行する（Ｓ８１９、Ｓ８２１）。
【０２２０】
ＣＰＵ２１１は、他のマッピング情報Ｍ１１についても同様の処理を行う。最終的に生成されるＸＭＬ文書を図２６に示す。
【実施例５】
【０２２１】
1.  概要
前述の実施例３においては、マッピング情報の繰り返し要素名記述領域の値がいずれも等しい場合を示した。本実施例における構造化文書生成装置２１は、マッピング情報を繰り返し要素名記述領域の値で分類することによって、容易にＸＭＬ文書を生成する。
【０２２２】
なお、本実施例においては、実施例３と同様のハードウェア構成である。以下においては、実施例２と同様の構成及び処理については、実施例２と同じ番号を付している。
【０２２３】
本実施例における階層構造情報生成装置の機能ブロック図を図２７に示す。階層構造情報生成装置は、基本階層構造取得手段ｍ１１、基本階層構造記憶手段ｍ１２、対応付け情報取得手段ｍ１３、対応付け情報記憶手段ｍ１４、項目取得手段ｍ１５、項目判断手段ｍ１７、繰り返し指定部取得手段ｍ１９、繰り返し項目取得手段ｍ２１、階層構造情報生成手段ｍ２３、入力情報取得手段ｍ２５、入力情報代入手段ｍ２７、繰り返し回数取得手段ｍ３１、繰り返し指定部存在判断手段ｍ３３、入力情報判断手段ｍ４１、グループ判断手段ｍ５１、及びグループ入力情報判断手段ｍ５３を有している。
【０２２４】
同一グループ判断手段ｍ５１は、前記対応付け情報の項目指定部に記述されている項目ついて、当該対応付け情報の繰り返し指定部の値が同一である項目を同一グループと判断する。グループ入力情報判断手段ｍ５３は、前記同一グループに属する項目を前記項目指定部に有する対応付け情報に対応する入力情報の全てついて、ある行の値がその前の行の値と同一であるか否かを判断する。
【０２２５】
2.  データ
本実施例における構造化文書生成装置２１のハードディスク２１３に記録されているひな形情報、マッピング情報、及びＣＤ−ＲＯＭドライブ２１７を介して取得する入力情報について説明する。
【０２２６】
2.1.  ひな形情報
本実施例におけるひな形情報Ｘ１５について、図２８を用いて説明する。ひな形情報Ｘ１５は、ＸＭＬを用いて記述したものである。ひな形情報Ｘ１５は、＜販売＞＜／販売＞、＜発送日＞＜／発送日＞、＜納品先＞＜／納品先＞、＜納品先コード＞＜／納品先コード＞、＜納品先名称＞＜／納品先名称＞、＜明細＞＜／明細＞、＜商品＞＜／商品＞、＜商品コード＞＜／商品コード＞、＜商品名称＞＜／商品名称＞、＜数量＞＜／数量＞、＜単価＞＜／単価＞、＜注文日＞＜／注文日＞で示される複数のタグを有している。
【０２２７】
各タグは、階層構造を形成している。ひな形情報Ｘ１５では、最上位階層に属するタグは、＜販売＞＜／販売＞である。最上位階層の直近下位の階層に属するタグは、＜発送日＞＜／発送日＞、＜納品先＞＜／納品先＞、＜明細＞＜／明細＞である。さらに、タグ＜納品先＞＜／納品先＞に対する下位の階層に＜納品先コード＞＜／納品先コード＞、＜納品先名称＞＜／納品先名称＞のタグが存在する。また、タグ＜明細＞＜／明細＞に対する下位の階層に＜商品＞＜／商品＞、＜数量＞＜／数量＞、＜単価＞＜／単価＞、＜注文日＞＜／注文日＞のタグが存在する。さらに、タグ＜商品＞＜／商品＞に対する下位の階層に＜商品コード＞＜／商品コード＞、＜商品名称＞＜／商品名称＞のタグが存在する。
【０２２８】
2.2.  マッピング情報
本実施例におけるマッピング情報Ｍ１５について、図２９を用いて説明する。マッピング情報Ｍ１５は、マッピング情報ファイルＦＭ１５に記載されている。
【０２２９】
本実施例におけるマッピング情報ファイルＦＭ１５には、８つのカラム（カラム１、カラム２・・・、カラム８）が設定されている。カラム１には「商品名称＠明細」が、カラム２には「数量」が、カラム３には「単価」が、カラム４には「商品コード＠明細」が、カラム５には「注文日」が、カラム６には「納品先名称＠販売」が、カラム７には「納品先コード＠販売」が、カラム８には「発送日」が、それぞれ設定されている。
【０２３０】
マッピング情報Ｍ１５のカラム１、カラム４に記述されている「商品名称＠明細」、「商品コード＠明細」の繰り返し要素名記述領域には値「明細」が記述されている。マッピング情報Ｍ１５のカラム６、カラム７に記述されている「納品先名称＠販売」、「納品先コード＠販売」の繰り返し要素名記述領域には値「販売」が記述されている。マッピング情報Ｍ１５のカラム２、カラム３、カラム５、カラム８に記述されている「数量」、「単価」、「注文日」、「発送日」の繰り返し要素名記述領域には値が設定されていない。
【０２３１】
2.3.  入力情報
本実施例における入力情報Ｉ１５について、図３０を用いて説明する。入力情報Ｉ１５は、入力情報ファイルＦＩ１５に記述されている。
【０２３２】
入力情報ファイルＦＩ１５は、複数の行により構成されており、各行には８つのカラム（カラム１、カラム２、・・・、カラム８）が設定されている。カラム１には「商品名称」、カラム２には「数量」、カラム３には「単価」、カラム４には「商品コード」、カラム５には「注文日」、カラム６には「納品先」、カラム７には「納品先コード」、カラム８には「発送日」の値が、それぞれ設定されている。
【０２３３】
なお、入力情報Ｉ１５における各カラムは、マッピング情報Ｍ１５における各カラムと対応している。つまり、入力情報Ｉ１５のカラム１の値は、マッピング情報Ｍ１５のカラム１の値「商品名称＠明細」に対応し、入力情報Ｉ１５のカラム２の値は、マッピング情報Ｍ１５のカラム２の値「数量」に、・・・、それぞれ対応する。
【０２３４】
3.  構造化文書生成装置２１の動作
3.1.  基本処理
本実施例における構造化文書生成装置２１のＣＰＵ２１１の動作について、図３１に示すフローチャートを用いて説明する。本実施例におけるＣＰＵ２１１の動作は、基本的には、実施例２における動作（図１５参照）と同様である。ただし、ＣＰＵ２１１は、入力情報ファイルＦＭ１５から最初の行に対応する値を取得する処理（Ｓ１４０１）の前に、グループ処理（Ｓ３００１）を実行する。また、実施例２における繰り返し制御処理に代わって、第２の繰り返し制御処理を実行する（Ｓ３００３）。以下においては、実施例２と異なる点であるグループ処理及び第２の繰り返し制御処理について説明する。
【０２３５】
3.2.  グループ処理
ＣＰＵ２１１が行うグループ処理について図３２を用いて説明する。ＣＰＵ２１１は、マッピング情報ファイルＦＭ１５から一のマッピング情報Ｍ１５を取得する（Ｓ３１０１）。ＣＰＵ２１１は、取得したマッピング情報Ｍ１５について、親要素推定処理を実行する（Ｓ６０５）。なお、ここで実行する親要素推定処理は、実施例１における親要素推定処理と同様である（図７参照）。
【０２３６】
ＣＰＵ２１１は、推定した親要素を繰り返し要素として、ステップＳ７０３若しくはステップＳ７０７（図７参照）で取得したタグと対応付けてグループテーブルに記述する（Ｓ３１０３）。
【０２３７】
ここで、グループテーブルについて図３３を用いて説明する。グループテーブルとは、ひな形情報Ｘ１５が有するタグと当該タグの繰り返し要素とを関連付けたテーブルである。
【０２３８】
グループテーブルは、ひな形情報が有するタグを記述するタグ記述領域、タグ記述領域に記述されたタグの繰り返し要素を記述する繰り返し要素名記述領域、タグ記述領域に記述されたタグに対応する入力情報Ｉ１５であって、現在、処理の対象としている行に含まれる入力情報Ｉ１５の値を記述する現在行値記述領域、及び前回、処理の対象としていた行に含まれる入力情報Ｉ１５の値を記述する前行値記述領域を有している。
【０２３９】
ＣＰＵ２１１は、全てのマッピング情報Ｍ１５について、これまでの処理を繰り返し（Ｓ３１０５）、グループテーブルを生成する。
【０２４０】
3.2.1  具体例
ここで、ひな形情報Ｘ１５（図２８参照）、マッピング情報Ｍ１５（図２９参照）、及び入力情報Ｉ１５（図３０参照）を例にして、グループ処理を具体的に示す。以下においては、図３２を適時参照されたし。
【０２４１】
ＣＰＵ２１１は、マッピング情報ファイルＦＭ１５から一のマッピング情報Ｍ１５「商品名称＠明細」を取得する（Ｓ３１０１）。ＣＰＵ２１１は、取得したマッピング情報Ｍ１５「商品名称＠明細」について、親要素推定処理を実行する（Ｓ６０５）。ＣＰＵ２１１は、マッピング情報Ｍ１５「商品名称＠明細」の繰り返し要素を「明細」と判断する。
【０２４２】
そして、ＣＰＵ２１１は、マッピング情報Ｍ１５「商品名称＠明細」と繰り返し要素「明細」とを応付けてグループテーブルに記述する（Ｓ３１０３）。
【０２４３】
ＣＰＵ２１１は、他のマッピング情報についても同様の処理を行い、グループテーブルを生成する。なお、ＣＰＵ２１１は、グループテーブルを最初に生成した段階では、現在行値記述領域及び前行値記述領域の値を「０」に設定する。
【０２４４】
3.3.  第２の繰り返し制御処理
ＣＰＵ２１１が行う第２の繰り返し制御処理について図３４を用いて説明する。ＣＰＵ２１１は、グループテーブルの現在行値記述領域の値を現在行の値に更新する（Ｓ３２０１）。具体的には、ＣＰＵ２１１は、前行値記述領域の値をクリアし、グループテーブルの現在行値記述領域の値を前行値記述領域に記述する。そして、ＣＰＵ２１１は、入力情報Ｉ１５から現在、対象としている行の値を取得し、グループテーブルのタグ記述領域に記述しているタグと対応付けて記述する。
【０２４５】
その後、ＣＰＵ２１１は、ハードディスク２１３に記憶しているひな形情報ファイルＦＸ１５から、最上位の階層に属するタグを取得する（Ｓ６００）。ＣＰＵ２１１は、取得したタグがグループテーブルのタグ記述領域に記述されているか否かを判断する（Ｓ３２０３）。
【０２４６】
ＣＰＵ２１１は、取得したタグがグループテーブルのタグ記述領域に記述されていると判断すると、取得したタグの繰り返し要素名記述領域の値と同じ値を有するタグを一グループとして、当該グループの前行値記述領域の値と現在行値記述領域の値が異なるか否かを判断する（Ｓ３２０５）。ＣＰＵ２１１は、対象とするグループの前行値記述領域の値と現在行値記述領域の値が異なると判断すると、ステップＳ８０３以降の処理を実行する。
【０２４７】
ＣＰＵ２１１は、ステップＳ３２０３において、取得したタグがグループテーブルのタグ記述領域に記述されていないと判断すると、他のタグを取得する（図１８：Ｓ６１１、Ｓ６１３参照）。
【０２４８】
また、ＣＰＵ２１１は、ステップＳ３２０５において、対象とするグループの前行値記述領域の値と現在行値記述領域の値が同一であると判断すると、当該グループについて同一値情報を生成する（Ｓ１５０３）。
【０２４９】
なお、ステップＳ８０９’、Ｓ１５０３以降の処理については、実施例２と同様である（図１７、図１８参照）。
【０２５０】
3.3.1  具体例
ここで、ひな形情報Ｘ１５（図２８参照）、マッピング情報Ｍ１５（図２９参照）、及び入力情報Ｉ１５（図３０参照）を例にして、第２の繰り返し制御処理を具体的に示す。以下においては、図３４を適時参照されたし。
【０２５１】
ＣＰＵ２１１は、第２の繰り返し制御処理に入る前に、既に入力情報ファイルＦＩ１５の最初の行の入力情報Ｉ１５に関する処理は終了している。この段階でのＸＭＬ文書を図３５Ａに、また、グループテーブルを図３３Ｂに示す。
【０２５２】
ＣＰＵ２１１は、入力情報ファイルＦＩ１５から次の行の入力情報Ｉ１５を取得すると（Ｓ１４０３：図３１参照）、グループテーブルの現在行値記述領域の値をステップＳ１４０３で取得した入力情報のうち対応するものの値で更新する（Ｓ３２０１）。
【０２５３】
具体的には、グループテーブルの前行値記述領域の値をクリアし、現在行値記述領域の値「２００５／４／２６、０００１０２、Ａ会社、０００２００、ＰＣ−Ａ、１、１５００００、２００５／０４／２４」を前行値記述領域に記述する。そして、入力情報ファイルＦＩ１５から現在、対象としている行の入力情報Ｉ１５の値「ＰＣ−Ｂ、１、１２００００、０００３００、２００５／４／２５、Ａ会社、０００１０２、２００５／０４／２６」を取得し、グループテーブルのタグ記述領域に記述しているタグ「＜商品名称＞、＜数量＞、＜単価＞、＜商品コード＞、＜注文日＞、＜納品先名称＞、＜納品先コード＞、＜発送日＞」と対応付けて記述する。この段階でのグループテーブルを図３３Ｃに示す。
【０２５４】
その後、ＣＰＵ２１１は、ひな形情報ファイルＦＸ１５から、最上位の階層に属するタグ「＜販売＞」を取得する（Ｓ６０１）。ＣＰＵ２１１は、取得したタグ「＜販売＞」がグループテーブルのタグ記述領域に記述されているか否かを判断する（Ｓ３２０３）。
【０２５５】
取得したタグ「＜販売＞」がグループテーブルのタグ記述領域に記述されていないので、ＣＰＵ２１１は、次のタグ「＜発送日＞」を取得する。
【０２５６】
ＣＰＵ２１１は、取得したタグ「＜発送日＞」がグループテーブルのタグ記述領域に記述されていると判断すると、取得したタグ「＜発送日＞」の繰り返し要素名記述領域の値「＜販売＞」と同じ値を有するタグ「＜発送日＞」、「＜納品先名称＞」、「＜納品先コード＞」を一グループとして、当該グループの前行値記述領域の値「２００５／０４／２６、Ａ会社、０００１０２」と現在行値記述領域の値「２００５／０４／２６、Ａ会社、０００１０２」が異なるか否かを判断する（Ｓ３２０５）。ＣＰＵ２１１は、対象とするグループの前行値記述領域の値と現在行値記述領域の値が同一と判断すると、タグ「＜発送日＞」について同一値情報を設定する（Ｓ１５０３）。
【０２５７】
次に、ＣＰＵ２１１は、タグ「＜納品先＞」を取得する（Ｓ６１１、Ｓ６１３：図１８参照）。ＣＰＵ２１１は、タグ「＜納品先＞」についてはグループテーブルのタグ名称記述領域に設定されていないと判断し（Ｓ３２０３）、次のタグ「＜納品先コード＞」を取得する（Ｓ６１１、Ｓ６１３：図１８参照）。タグ「＜納品先コード＞」については、タグ「＜発送日＞」と同様に、同一値情報を設定する（Ｓ３２０３、Ｓ３２０５、Ｓ１５０３）。なお、次のタグ「＜納品先名称＞」についても、同様である。
【０２５８】
さらに、ＣＰＵ２１１は、タグ「＜明細＞」、「＜商品＞」については、グループテーブルのタグ名称記述領域に設定されていないと判断する（Ｓ３２０３）。
【０２５９】
そして、ＣＰＵ２１１は、次のタグ「＜商品コード＞」を取得する。ＣＰＵ２１１は、取得したタグ「＜商品コード＞」がグループテーブルのタグ記述領域に記述されていると判断すると、取得したタグ「＜商品コード＞」の繰り返し要素名記述領域の値「＜明細＞」と同じ値を有するタグ「＜商品コード＞」、「＜商品名称＞」、「＜数量＞」「＜単価＞」、「＜注文日＞」を一グループとして、当該グループの前行値記述領域の値「０００２００、ＰＣ−Ａ、１、１５００００、２００５／０４／２４」と現在行値記述領域の値「０００３００、ＰＣ−Ｂ、１、１２００００、２００５／０４／２５」が異なるか否かを判断する（Ｓ３２０５）。ＣＰＵ２１１は、対象とするグループの前行値記述領域の値と現在行値記述領域の値が異なると判断すると、ステップＳ８０３以降の処理を実行する。
【０２６０】
ＣＰＵ２１１は、タグ「＜商品コード＞」に関する処理を終了すると、他のタグについて、同様の処理を行う。入力情報ファイルＦＩ１５の最初の行の入力情報Ｉ１５について第２の繰り返し制御処理が終了した段階でのＸＭＬ文書を図３５Ｂに示す。
【０２６１】
［その他の実施例］
（１）ＸＭＬ文書
前述の実施例１〜実施例５においては、階層構造情報としてＸＭＬ文書を例示したが、階層構造を有する情報であれば、例示のものに限定されない。例えば、ＨＴＭＬ等であってもよい。
【０２６２】
（２）ひな形情報、マッピング情報、入力情報
前述の実施例１〜実施例５においては、ひな形情報Ｘ１・・・を記述するひな形情報ファイルＦＭ１・・・、マッピング情報Ｍ１・・・を記述するマッピング情報ファイルＦＭ１・・・、及び、入力情報Ｉ１・・・を記述する入力情報ファイルＦＩ１・・・は、それぞれハードディスク２１３に記憶されているとした。しかし、ひな形情報、マッピング情報、入力情報を取得できる形態であれば、例示のものに限定されない。例えば、通信によりひな形情報、マッピング情報を取得するようにしてもよい。
【０２６３】
また、前述の実施例１〜実施例５においては、マッピング情報における出現番号記述領域を記号「（）」によって、また、繰り返し要素名記述領域を記号「＠」によって、それぞれ他の記述領域と区別するようにした。しかし、ある記述領域を他の記述領域から区別できる方法であれば、例示のものに限定されない。例えば、他の記号「＊」、「／」等を用いて区別するようにしてもよい。
【０２６４】
（３）出現番号記述領域が存在しない場合
前述の実施例１〜実施例５においては、マッピング情報の出現番号記述領域に値を有しない場合には、出現番号の値として「１」を設定するとした。しかし、出現番号記述領域に値を有しない場合には、繰り返し回数の値をユーザに対して問いかけるようにしてもよい。
【０２６５】
（４）繰り返し要素名記述領域が存在しない場合
前述の実施例１〜実施例５においては、マッピング情報の繰り返し要素名記述領域に値が存在しない場合には、繰り返し要素名記述領域に対応する代入要素名記述領域に記述されているタグに対して直近上位となるタグを繰り返し要素として設定した。しかし、繰り返し要素名記述領域に値が存在しない場合には、いずれのタグを繰り返し要素とするのかをユーザに対して問いかけるようにしてもよい。
【０２６６】
（５）マッピング情報と入力情報との対応関係
前述の実施例１〜実施例５においては、マッピング情報ファイルにおける行とコラムで特定されるマッピング情報記述領域の位置、及び、入力情報記述ファイルおける行とコラムで特定される入力情報記述領域の位置とを対応付けることによって、マッピング情報と入力情報との対応関係を形成した。しかし、マッピング情報と入力情報とを対応付けできるものでれば、これに限定されない。例えば、マッピング情報と入力情報とを対応付けするためのファイルを用意しておき、このファイルを参照しながら両者を対応付けるようにしてもよい。
【０２６７】
（６）グループテーブル
前述の実施例５においては、グループテーブルを用いて、各マッピング情報の代入要素名記述領域に記述されているタグを、当該マッピング情報の繰り返し要素名記述領域に記述されているタグでグループ分けした。しかし、マッピング情報の繰り返し要素名記述領域に記述されているタグをグループ分けできるものであれば、グループテーブルを用いなくともよい。
【０２６８】
（７）処理の順番
前述の実施例１〜実施例５においては、各フローチャートによって階層構造情報生成装置の処理の内容を示した。しかし、各実施例の機能ブロック図における機能を実現できるものであれば、例示のフローチャートによる処理に限定されない。特に、処理の順番等については限定されない。
【０２６９】
（８）繰り返し要素名記述領域に値が設定されていない場合
前述の実施例１〜実施例５においては、マッピング情報の繰り返し要素名記述領域に値が設定されていない場合に、代入要素名記述領域に記述されたタグに対する直近上位の階層を、予め設定された階層としたが、これに限定されない。例えば、最もよく利用する階層や最上位の階層等を予め設定するようにしてもよい。
【図面の簡単な説明】
【０２７０】
【図１】本発明における階層構造情報生成装置の実施例１における機能ブロック図を示した図である。
【図２】階層構造情報生成装置１のハードウェア構成を示した図である。
【図３】ひな形情報Ｘ１のデータ構造を示した図である。
【図４】マッピング情報Ｍ１のデータ構造を示した図である。
【図５】入力情報Ｉ１のデータ構造を示した図である。
【図６】実施例１における階層構造情報生成装置の動作を示したフローチャートである。
【図７】親要素推定処理を示したフローチャートである。
【図８】繰り返し要素推定処理を示したフローチャートである。
【図９】繰り返し要素推定処理を示したフローチャートである。
【図１０】実施例１において生成されるＸＭＬ文書を示した図である。
【図１１】本発明における階層構造情報生成装置の実施例２における機能ブロック図を示した図である。
【図１２】ひな形情報Ｘ３のデータ構造を示した図である。
【図１３】マッピング情報Ｍ３のデータ構造を示した図である。
【図１４】入力情報Ｉ３のデータ構造を示した図である。
【図１５】実施例２における階層構造情報生成装置の動作を示したフローチャートである。
【図１６】繰り返し制御処理を示したフローチャートである。
【図１７】繰り返し制御処理を示したフローチャートである。
【図１８】繰り返し制御処理を示したフローチャートである。
【図１９】実施例２において生成されるＸＭＬ文書を示した図である。
【図２０】マッピング情報Ｍ５のデータ構造を示した図である。
【図２１】実施例３において生成されるＸＭＬ文書を示した図である。
【図２２】ひな形情報Ｘ１１のデータ構造を示した図である。
【図２３】マッピング情報Ｍ１１のデータ構造を示した図である。
【図２４】入力情報Ｉ１１のデータ構造を示した図である。
【図２５】実施例４において生成されるＸＭＬ文書を示した図である。
【図２６】実施例４において生成されるＸＭＬ文書を示した図である。
【図２７】本発明における階層構造情報生成装置の実施例１における機能ブロック図を示した図である。
【図２８】ひな形情報Ｘ１５のデータ構造を示した図である。
【図２９】マッピング情報Ｍ１５のデータ構造を示した図である。
【図３０】入力情報Ｉ１５のデータ構造を示した図である。
【図３１】実施例５における階層構造情報生成装置の動作を示したフローチャートである。
【図３２】グループ処理を示したフローチャートである。
【図３３】グループテーブルの一例を示した図である。
【図３４】第２の繰り返し制御処理を示したフローチャートである。
【図３５】実施例５において生成されるＸＭＬ文書を示した図である。
【図３６】従来の階層構造情報生成装置を説明するための図である。
【符号の説明】
【０２７１】
ｍ１１・・・・・基本階層構造情報取得手段
ｍ１２・・・・・基本階層構造情報記憶手段
ｍ１３・・・・・対応付け情報取得手段
ｍ１４・・・・・対応付け情報記憶手段
ｍ１５・・・・・項目取得手段
ｍ１７・・・・・項目判断手段
ｍ１９・・・・・繰り返し階層判断手段
ｍ２１・・・・・繰り返し項目取得手段
ｍ２３・・・・・階層構造情報生成手段
ｍ２５・・・・・入力情報取得手段
ｍ２７・・・・・入力情報設定手段
ｍ３１・・・・・繰り返し回数指定部取得手段
ｍ３３・・・・・繰り返し指定部判断手段
ｍ４１・・・・・入力情報判断手段
ｍ５１・・・・・グループ判断手段
ｍ５３・・・・・グループ入力情報判断手段
【図１】
2006139764.tif 000003
【図２】
2006139764.tif 000004
【図３】
2006139764.tif 000005
【図４】
2006139764.tif 000006
【図５】
2006139764.tif 000007
【図６】
2006139764.tif 000008
【図７】
2006139764.tif 000009
【図８】
2006139764.tif 000010
【図９】
2006139764.tif 000011
【図１０】
2006139764.tif 000012
【図１１】
2006139764.tif 000013
【図１２】
2006139764.tif 000014
【図１３】
2006139764.tif 000015
【図１４】
2006139764.tif 000016
【図１５】
2006139764.tif 000017
【図１６】
2006139764.tif 000018
【図１７】
2006139764.tif 000019
【図１８】
2006139764.tif 000020
【図１９】
2006139764.tif 000021
【図２０】
2006139764.tif 000022
【図２１】
2006139764.tif 000023
【図２２】
2006139764.tif 000024
【図２３】
2006139764.tif 000025
【図２４】
2006139764.tif 000026
【図２５】
2006139764.tif 000027
【図２６】
2006139764.tif 000028
【図２７】
2006139764.tif 000029
【図２８】
2006139764.tif 000030
【図２９】
2006139764.tif 000031
【図３０】
2006139764.tif 000032
【図３１】
2006139764.tif 000033
【図３２】
2006139764.tif 000034
【図３３】
2006139764.tif 000035
【図３４】
2006139764.tif 000036
【図３５】
2006139764.tif 000037
【図３６】
2006139764.tif 000038