(57)【特許請求の範囲】
【請求項１】
記録されるデータごとに区分けされ、各データの絶対パス名が記録されることにより、複数のデータが記録されたデータ保持領域と、前記データ保持領域に含まれる前記データの名称であるデータ名および階層構造を成すディレクトリ名を有するデータ管理領域と、を有し、タグにより階層構造が表現された構造化文書ファイルを処理する装置であって、
記録されているデータである記録データが指定された際に、当該記録データのデータ名で前記データ管理領域を探索し、当該データ名が含まれるタグを取得し、取得されたタグを最上位階層まで辿って階層構造を含むディレクトリ名を取得することにより前記指定された記録データの絶対パス名を生成する手段と、
前記生成された絶対パス名で前記データ保持領域を参照し、前記絶対パス名に対応付けて記録されている記録データを抽出する手段と、
を有することを特徴とする構造化文書ファイルの処理装置。
【請求項２】
ディレクトリの階層構造を示したツリー画面上でディレクトリが指定され、新規データのデータ名が入力された際に、最上位階層から入力されたデータ名までの絶対パス名を生成する手段と、
前記生成された絶対パス名を含むタグを前記データ保持領域内の対応する位置に記録し、前記入力された新規データのデータ名を含むタグを前記データ管理領域内の対応する位置に記録する手段と、
をさらに有することを特徴とする請求項１に記載の構造化文書ファイルの処理装置。
【請求項３】
記録されるデータごとに区分けされ、各データの絶対パス名が記録されることにより、複数のデータが記録されたデータ保持領域と、前記データ保持領域に含まれる前記データの名称であるデータ名および階層構造を成すディレクトリ名を有するデータ管理領域と、を有し、タグにより階層構造が表現された構造化文書ファイルをコンピュータが処理する方法であって、
格納データが指定された際に、
コンピュータが、記録されているデータである記録データが指定された際に、当該記録データのデータ名で前記データ管理領域を探索し、当該データ名が含まれるタグを取得し、取得されたタグを最上位階層まで辿って階層構造を含むディレクトリ名を取得することにより前記指定された記録データの絶対パス名を生成する段階と、
コンピュータが、前記生成された絶対パス名で前記データ保持領域を参照し、前記絶対パス名に対応付けて記録されている記録データを抽出する段階と、
を有することを特徴とする構造化文書ファイルの処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＸＭＬ等の構造化文書ファイルを高速に処理するための技術に関する。
【背景技術】
【０００２】
近年、コンピュータネットワークの発展により、膨大な量の文書データが、やりとりされている。文書データの一つの形態として、ＸＭＬ（eXtensible Markup Language）で記述された構造化文書が用いられている。ＸＭＬは、文書やデータの意味や構造を記述するためのマークアップ言語の一つであり、「タグ」と呼ばれる特定の文字列で構造を埋め込んでいく。
【０００３】
ＸＭＬは利用者が自由にタグを定義でき、文書中の文字列に意味付けができる言語構造を持っており、その操作性の良さから文書処理から電子商取引に至るまでネットワーク上のデータ処理の多くの局面で活用されている。このようなＸＭＬの解析・処理手段としては、ＤＯＭ（Document Object Model）とＳＡＸ（Simple API for XML）が広く用いられている。
【０００４】
ＤＯＭは、ＸＭＬ文書をメモリ上で要素のツリー構造として扱い、ツリーをランダムに行き来したり削除したりする。このため、任意のツリー要素にランダムアクセスするようなＸＭＬ操作に向いている。一方、ＳＡＸは、ＸＭＬ文書を読み込み、文書中からタグ等のイベントを検出して、イベント毎に設けられたメソッドを実行する。このため、ＳＡＸは、順序立てた要素処理を行うようなＸＭＬ操作に向いている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＤＯＭでは、全データをメモリに保有するので大容量のＸＭＬ文書を処理する場合、処理が重くなる傾向にある。また、ＳＡＸでは、ＸＭＬ文書の編集や複雑な操作ができない。一方、ＸＭＬの構造的特徴を利用して、ＸＭＬを、複数のファイルを含むデジタル封筒としての活用も行われている。デジタル封筒として活用するためには、デジタル封筒内の任意のファイルにアクセスし、追加・編集・削除等の処理を行うこと、複数のファイルデータを内包することが必要となるが、ＤＯＭ、ＳＡＸでは、これらの要求に応えられないという問題がある。また、構造化文書ファイルを効率的に処理する技術も存在するが（特許文献１参照）、位置情報取得用に別途特別な前処理が必要となるという問題がある。
【特許文献１】特開２００５−２３４８３７号公報
【０００６】
そこで、本発明は、特別な前処理を行うことなく、複数のファイルを包含した大容量の構造化文書を高速に処理することが可能な構造化文書ファイル、およびその処理装置および方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明では、記録されるデータごとに区分けされ、各データの絶対パス名が記録されることにより、複数のデータが記録されたデータ保持領域と、前記データ保持領域に含まれる前記データの名称であるデータ名および階層構造を成すディレクトリ名を有するデータ管理領域と、を有し、タグにより階層構造が表現された構造化文書ファイルを処理する装置であって、記録されているデータである記録データが指定された際に、当該記録データのデータ名で前記データ管理領域を探索し、当該データ名が含まれるタグを取得し、取得されたタグを最上位階層まで辿って階層構造を含むディレクトリ名を取得することにより前記指定された記録データの絶対パス名を生成する手段と、前記生成された絶対パス名で前記データ保持領域を参照し、前記絶対パス名に対応付けて記録されている記録データを抽出する手段を有する構造化文書ファイルの処理装置を提供する。
【０００８】
また、本発明では、ディレクトリの階層構造を示したツリー画面上でディレクトリが指定され、新規データのデータ名が入力された際に、最上位階層から入力されたデータ名までの絶対パス名を生成する手段と、前記生成された絶対パス名を含むタグを前記データ保持領域内の対応する位置に記録し、前記入力された新規データのデータ名を含むタグを前記データ管理領域内の対応する位置に記録する手段と、をさらに有する構造化文書ファイルの処理装置を提供する。
【０００９】
また、本発明では、記録されるデータごとに区分けされ、各データの絶対パス名が記録されることにより、複数のデータが記録されたデータ保持領域と、前記データ保持領域に含まれる前記データの名称であるデータ名および階層構造を成すディレクトリ名を有するデータ管理領域と、を有し、タグにより階層構造が表現された構造化文書ファイルをコンピュータが処理する方法であって、格納データが指定された際に、コンピュータが、記録されているデータである記録データが指定された際に、当該記録データのデータ名で前記データ管理領域を探索し、当該データ名が含まれるタグを取得し、取得されたタグを最上位階層まで辿って階層構造を含むディレクトリ名を取得することにより前記指定された記録データの絶対パス名を生成する段階と、コンピュータが、前記生成された絶対パス名で前記データ保持領域を参照し、前記絶対パス名に対応付けて記録されている記録データを抽出する段階を有する構造化文書ファイルの処理方法を提供する。
【００１０】
本発明によれば、複数のデータを保持する構造化文書ファイルを、保持されるデータごとに区分けされ、各データの絶対パスを含むデータ名が記録されたデータ保持領域と、データ保持領域に含まれる前記データ名および階層構造を成すディレクトリ名を有するデータ管理領域により構成されるようにしたので、大容量の構造化文書を高速に処理することが可能となる。
【発明の効果】
【００１１】
本発明によれば、特別な前処理を行うことなく、複数のファイルを包含した大容量の構造化文書を高速に処理することが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。
（１．ファイル構造）
図１は、本発明に係る構造化文書ファイルの構造を示す概略図である。図１に示すように、本発明の構造化文書ファイルは、データ管理領域とデータ保持領域を有している。データ保持領域においては、複数のデータを保持することが可能であり、構造化文書ファイルがデジタル封筒としての役割を果たしている。構造化文書ファイルの形式としては、特に限定はされないが、内部に格納されているデータ以外は、全てテキストデータであることが必要となる。本実施形態では、全てテキストデータで表現されたＸＭＬ形式で、構造化文書ファイルを実現している。
【００１３】
図２は、データ管理領域の詳細を示す図である。本実施形態の構造化文書ファイルでは、データ管理領域およびデータ保持領域内のディレクトリをコンテナという仮想の単位で管理している。図２のデータ管理領域の１行目と最終の１９行目のタグでコンテナ（Container）の開始と終了を示している。１行目のタグの中身に示すように、このコンテナのコンテナＩＤは、“EVP3HeaderContainer”となっている。
【００１４】
図２のデータ管理領域の２行目と１８行目のタグは、コンテナの中身の開始と終了を示している。３行目と１７行目のタグは、ルート（root）ディレクトリを示している。４行目と６行目のタグは、EVPHeaderディレクトリを示し、５行目のタグは、EVPHeaderディレクトリの下位にFlowCtrlInfoディレクトリがあり、FlowCtrlInfoディレクトリの中身が空であることを示している。７行目と１３行目のタグは、EVPBodyディレクトリを示し、８行目と１２行目のタグは、EVPBodyディレクトリの下位のJobsディレクトリを示し、９、１０、１１行目のタグは、Jobsディレクトリ内にファイル“Job1.txt”“Job2.txt”“Job3.txt”が存在することを示している。１４行目と１６行目のタグは、CDStageInfoディレクトリを示し、１５行目のタグは、CDStageInfoディレクトリ内にファイル“XMLFAT.xml”が存在することを示している。
【００１５】
図３は、データ保持領域の詳細を示す図である。図３のデータ保持領域においては、５行目と下から１２行目のタグで、root、EVPBodyの下位のJobsディレクトリを示し、６行目から２４行目は、Jobsディレクトリの中身を示している。このうち、６行目から１４行目は、データである“Job1.txt”に関し、１５行目から２３行目は、データである“Job2.txt”に関するものである。“Job1.txt”に関する６行目から１４行目のうち、６行目から８行目は、“Job1.txt”のデータそのものを示し、９行目から１４行目は、“Job1.txt”に関する情報を示す。同様に、“Job2.txt”に関する１５行目から２３行目のうち、１５行目から１７行目は、“Job2.txt”のデータそのものを示し、１８行目から２３行目は、“Job2.txt”に関する情報を示す。２４行目からは、“Job2.txt”に関する記述がなされるが、図が繁雑になるため省略している。また、下から１１行目と下から１行目のタグで、rootの下位のCDStageInfoディレクトリを示し、下から１０行目から下から２行目は、CDStageInfoディレクトリの中身を示している。このうち、下から１０行目から下から８行目は、“XMLFAT.xml”のデータそのものを示し、下から７行目から下から２行目は、“XMLFAT.xml”に関する情報を示す。
【００１６】
（２．処理装置および方法）
続いて、本発明に係る構造化文書ファイルの処理装置および方法について説明する。本発明に係る構造化文書ファイルの処理装置は、専用のプログラムを汎用のコンピュータに組み込むことにより実現される。そして、本発明に係る構造化文書ファイルの処理方法は、本発明に係る構造化文書ファイルの処理装置、すなわち専用のプログラムを組み込んだコンピュータにより実行される。まず、汎用のコンピュータに、本発明の構造化文書ファイルの処理方法を実現するための専用のプログラムを組み込んで構造化文書ファイルの処理装置を構成する。このプログラムは、従来のＤＯＭ機能を一部の機能として有している。
【００１７】
上述のようなプログラムを組み込んだ状態で、コンピュータが、構造化文書ファイルを読み込む。そして、それがＸＭＬファイルであることを認識すると、コンピュータは、まず、データ管理領域内のタグを解析して、ディレクトリ構造を認識し、画面に表示する。このようなＸＭＬのタグを解析してディレクトリ構造を画面に表示する機能については、上述のように、公知のＤＯＭ機能を採用している。この際、データ管理領域の情報がメモリに展開されるが、データ保持領域に比べてデータ量が小さいため、コンピュータの処理負荷は小さい。
【００１８】
ディレクトリ構造を表示した状態の画面を図４に示す。コンピュータは、データ管理領域のタグを解析し、ディレクトリについては、ディレクトリを示す図形にディレクトリ名を割り当て、ファイルについては、ファイルを示す図形にファイル名を割り当てて、上下関係を有するディレクトリ、ファイル間を線分で結ぶ処理を行う。その結果、コンピュータの画面には、図４に示すようなツリー構造が表示されることになる。
【００１９】
図４に示した画面が表示された状態で、利用者が画面上のファイルを示す図形を選択すると、コンピュータは、選択された図形の位置を検知して対応するファイルを認識する。そして、コンピュータは、認識したファイルのファイル名で、構造化文書ファイル内のデータ管理領域を参照し、そのファイルのパスを取得する。
【００２０】
例えば、図４の画面で“Job2.txt”が選択された場合、コンピュータは、構造化文書ファイル内のデータ管理領域を、“Job2.txt”で探索する。すると、図２に示したように、データ管理領域の１０行目に“Job2.txt”が見つかる。そして、コンピュータは、その上位のタグを辿ることにより、データ管理領域の８行目にJobsディレクトリを発見する。さらに上位のタグを辿ることにより、データ管理領域の７行目にEVPBodyディレクトリ、データ管理領域の３行目にrootディレクトリを発見する。rootディレクトリまで辿りついたら、コンピュータは、rootディレクトリから“Job2.txt”までのパスを作成する。この結果、Ｉｄ＝“/ root/ EVPBody/ Jobs/ Job2.txt”というパスが得られる。
【００２１】
この時点までは、コンピュータは、データ量の大きいデータ保持領域を全く参照していない。このため、処理負荷の削減と、処理の高速化が図れるのである。そして、選択されたデータへのパスが得られたら、このパスを利用して、コンピュータは、初めてデータ保持領域を参照する。Ｉｄ＝“/ root/ EVPBody/ Jobs/ Job2.txt”というパスを利用すると、図３に示したデータ保持領域の１５行目のタグと一致するので、コンピュータは、その次の１６行目のデータ内容を取得する。
【００２２】
コンピュータは取得したデータが暗号化されている場合には、それを認識し、復号化する。図３の例では、“Job2.txt”は暗号化されているので、コンピュータは、“Job2.txt”を復号化することになる。そして、復号化したデータのファイルを開き、画面に表示する。ここまでを、利用者の視点から見ると、図４のツリー画面で“Job2.txt”を選択すると、すぐにそのファイルの中身が画面に表示された状態となる。
【００２３】
表示された内容に対して、利用者が編集を行った場合、更新した内容を保存することができる。利用者が内容を更新した状態で、コンピュータに対して保存指示を行うと、コンピュータは、既に取得しているＩｄ＝“/ root/ EVPBody/ Jobs/ Job2.txt”というパスで、データ保持領域内を検索し、見つかったタグの直後に、修正後の内容を格納する。
【００２４】
次に、新規に作成したデータを構造化文書ファイル内に格納する場合について説明する。新規に作成したデータを格納する場合も、まず、構造化文書ファイルをコンピュータで読み込み、ツリー情報を画面に表示する。この状態で、利用者は、新規データを格納する指示をコンピュータに対して行うとともに、格納するディレクトリを示す図形をツリー画面で指定し、ファイル名を入力する。例えば、Jobsディレクトリの図形を指定し、ファイル名“Job4.txt”を入力したとすると、コンピュータは、ツリー画面において、Jobsディレクトリの図形の下位に“Job4.txt”ファイルの図形を生成する。このときのツリー画面の状態を図５に示す。
【００２５】
さらに、コンピュータは、ツリー画面を解析して、新規ファイルまでのパスを作成する。この結果、Ｉｄ＝“/ root/ EVPBody/ Jobs/ Job4.txt”というパスが得られる。そして、利用者が格納するファイルを指定すると、コンピュータは、指定されたファイルを暗号化した後、構造化文書ファイルのデータ保持領域における、上記作成したパスで特定される位置に指定されたファイルを格納する。この格納処理が終わった後の、データ保持領域の状態を図６に示す。図６において、下線を付した部分が新規に追加されたタグである。“Job4.txt”ファイルを新規追加することにより、図６に示した９行分のタグが追加されることになる。
【００２６】
続いて、コンピュータは、構造化文書ファイルのデータ管理領域内に、新規データのタグを追加する。上記のように、データ保持領域において、Ｉｄ＝“/ root/ EVPBody/ Jobs/ Job4.txt”というパスで特定される位置に新規データを格納したので、データ管理領域においても対応する位置にタグを追加する。この追加処理が終わった後の、データ管理領域の状態を図７に示す。図７において、下線を付した部分が新規に追加されたタグである。“Job4.txt”ファイルを新規追加することにより、図７に示した１行分のタグが追加されることになる。なお、図６、図７においては、新規追加されたタグに下線を付したが、これは、説明の便宜のためであり、実際には下線は付されない。
【００２７】
本発明に係る構造化文書ファイルは、複数のデータファイルを包含したデジタル封筒として利用することができる。例えば、複数の者が文書ファイルのやりとりするために利用することが可能である。一例として、起票者とユーザＡ、ユーザＢの計３人で報告書の収集を行う場合について説明する。
【００２８】
この場合、起票者、ユーザＡ、ユーザＢが有するコンピュータには、本発明の構造化文書ファイルの処理方法を実現するためのプログラムが組み込まれており、各コンピュータは、互いにデータ送受信が可能なように接続されているものとする。まず、起票者は、自身のコンピュータで報告書のテンプレートファイルを作成し、このテンプレートファイルを、上記新規データの格納で説明したような処理により、構造化文書ファイルに格納する。格納後、起票者は、構造化文書ファイルを、ユーザＡに送信する。
【００２９】
ユーザＡは、受信した構造化文書ファイルを起動する指示を行うと、ユーザＡのコンピュータは、構造化文書ファイルのデータ管理領域を解析してツリー構造を画面に表示させる。ユーザＡが、ツリー構造の中から報告書のテンプレートファイルを選択すると、コンピュータは、指定されたテンプレートファイルを構造化文書ファイルから抽出する。テンプレートファイルに所定の事項を書き込んで、報告書ファイルを作成した後、絶対パスを指定して、構造化文書ファイルに格納する。格納後、ユーザＡは、構造化文書ファイルを、ユーザＢに送信する。ユーザＢは、ユーザＡと同様に処理を行って、報告書を作成し、構造化文書ファイルに格納する。格納後、ユーザＢは、構造化文書ファイルを、起票者に送信する。起票者は、構造化文書ファイルからツリー構造を表示し、ユーザＡ、ユーザＢの報告書ファイルを選択する。すると、ユーザＡ、ユーザＢの報告書ファイルが抽出され、画面に表示される。以上のようにして、起票者は、自分が指定したテンプレートに従った各ユーザの報告書を受け取ることができる。
【図面の簡単な説明】
【００３０】
【図１】本発明に係る構造化文書ファイルの構造を示す概略図である。
【図２】データ管理領域の詳細を示す図である。
【図３】データ保持領域の詳細を示す図である。
【図４】データ管理領域を解析して、ディレクトリ構造を表示した状態の画面を示す図である。
【図５】新規データ格納時のツリー画面の状態を示す図である。
【図６】新規データ格納時の、データ保持領域を示す図である。
【図７】新規データ格納時の、データ管理領域を示す図である。
【図１】
0005176539.tif 000002
【図２】
0005176539.tif 000003
【図３】
0005176539.tif 000004
【図４】
0005176539.tif 000005
【図５】
0005176539.tif 000006
【図６】
0005176539.tif 000007
【図７】
0005176539.tif 000008