(57)【要約】【課題】構造化文書をアップロードし、ページ単位に分割してサーバで階層管理するシステムにおいて、階層管理の指示はアップロード後にユーザが指定する、もしくは一括した別指定ファイルを用意する必要があった。【解決手段】アップロード前の段階で、構造化文書の任意ページに対して「上位」「下位」「同列」の3つの階層属性（以下に詳細）を注釈として事前に付与させ、アップロードする際にサーバ側で注釈の階層指示を自動的に読み取り、該当内容に従って階層管理を行う。【選択図】図３
2006244467.tif 000002
【特許請求の範囲】
【請求項１】
構造を持たない入力文書データを、構造を持つ出力文書データに変換する文書処理装置であって、
入力文書データの着目分割単位に含まれる階層指定情報に基づいて出力文書データの新たな階層情報を作成し、それを新たな着目階層とする階層作成手段と、
前記入力文書データの着目分割単位を、前記出力文書データの着目階層に属する分割単位として出力文書データに登録する登録手段とを備え、
前記入力文書データについて、先頭から末尾までの分割単位に順次着目しつつ、前記階層作成手段および前記登録手段により出力文書データへの変換を行うことを特徴とする文書処理装置。
【請求項２】
前記入力文書データは、前記入力文書データの各分割単位ごとに注釈情報が記述可能であり、前記階層作成手段は、前記入力文書データの各分割単位ごとに記述された注釈情報を参照し、該注釈情報に一定の形式で書き込まれた情報を前記階層指定情報として解釈することを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記出力文書データは木構造を有し、前記階層指定情報は、新たに作成する階層情報に係る階層を現在の着目階層に対する相対的な階層数で指定する情報であり、前記階層作成手段は、新たに作成する階層情報を木構造に則って作成することを特徴とする請求項１または２に記載の文書処理装置。
【請求項４】
前記階層作成手段は、前記着目分割単位に前記階層指定情報が含まれてない場合には新たな階層情報を作成せず、着目階層を変更しないことを特徴とする請求項１乃至３のいずれか１項に記載の文書処置装置。
【請求項５】
コンピュータネットワークと接続する接続手段をさらに備え、前記入力文書データは、前記コンピュータネットワークから入力され、前記出力文書データは、前記コンピュータネットワークに対して提供されることを特徴とする請求項１乃至４のいずれか１項に係る文書処理装置。
【請求項６】
クライアントコンピュータと、
前記クライアントコンピュータと、コンピュータネットワークを介して接続されたサーバとして機能する請求項５に記載の文書処理装置と
を有することを特徴とする文書処理システム。
【請求項７】
構造を持たない入力文書データを、構造を持つ出力文書データに変換する文書処理方法であって、
入力文書データの着目分割単位に含まれる階層指定情報に基づいて出力文書データの新たな階層情報を作成し、それを新たな着目階層とする階層作成工程と、
前記入力文書データの着目分割単位を、前記出力文書データの着目階層に属する分割単位として出力文書データに登録する登録工程とを備え、
前記入力文書データについて、先頭から末尾までの分割単位に順次着目しつつ、前記階層作成工程および前記登録工程において出力文書データへの変換を行うことを特徴とする文書処理方法。
【請求項８】
コンピュータにより実行することで、該コンピュータにより請求項７に記載の方法を実行させることを特徴とするコンピュータプログラム。
【請求項９】
請求項８に記載のコンピュータプログラムが記録されていることを特徴とするコンピュータ可読記録媒体。
【請求項１０】
レコードが逐次的に配置された逐次データを、前記レコードを階層的に配置した構造化データに変換するデータ変換装置であって、
逐次データの注目レコードにおける特定フィールドの内容を解釈する解釈手段と、
前記解釈手段により前記フィールドの内容が当該レコードの階層を示す場合には、該フィールドにより指示された階層を作成して、当該レコードを該階層に属するレコードとして構造化データに登録する登録手段と
を備えることを特徴とするデータ変換装置。
【請求項１１】
各ページを木構造の葉ノードとして配置した木構造のカタログデータをネットワークに提供するカタログサーバであって、
ページを逐次的に配置して成る入力文書データの各ページに順次着目し、着目ページごとに記述され得る注釈情報を解釈する解釈手段と、
前記解釈手段により、前記注釈情報が、着目ページが現在の節ノードと相異なる節ノードに属する旨の指定情報であるものと解釈された場合には、前記指定情報により指定される階層の新たな節ノードを作成し、該節ノードに属する葉ノードとして前記着目ページを登録してカタログデータを作成する作成手段と、
前記作成手段により作成されたカタログデータの全部または一部を、ネットワークからの要求に応じて送信する手段と
を備えることを特徴とするカタログサーバ。
【請求項１２】
文書に注釈情報を付加する付加手段と、
前記付加手段により付加された注釈情報に基づき文書の階層を設定する設定手段とを有することを特徴とする文書処理装置。
【請求項１３】
注釈情報の付加された文書を入力する入力手段と、
前記入力手段により入力された文書の注釈情報に基づき文書の階層を設定する設定手段とを有することを特徴とする文書処理装置。
【請求項１４】
前記注釈情報は、前の文書の上位の階層へ設定する指示、前の文書の下位の階層へ設定する指示、前の文書と同階層に設定する指示を含むことを特徴とする請求項１２または１３記載の文書処理装置。
【請求項１５】
文書に注釈情報を付加する付加ステップと、
前記付加ステップにより付加された注釈情報に基づき文書の階層を設定する設定ステップとを有することを特徴とする文書処理方法。
【請求項１６】
注釈情報の付加された文書を入力する入力ステップと、
前記入力ステップにより入力された文書の注釈情報に基づき文書の階層を設定する設定ステップとを有することを特徴とする文書処理方法。
【請求項１７】
前記注釈情報は、前の文書の上位の階層へ設定する指示、前の文書の下位の階層へ設定する指示、前の文書と同階層に設定する指示を含むことを特徴とする請求項１５または１６記載の文書処理方法。
【請求項１８】
文書に注釈情報を付加する付加ステップと、
前記付加ステップにより付加された注釈情報に基づき文書の階層を設定する設定ステップとを実行することを特徴とするコンピュータ読み取り可能なプログラム。
【請求項１９】
注釈情報の付加された文書を入力する入力ステップと、
前記入力ステップにより入力された文書の注釈情報に基づき文書の階層を設定する設定ステップとを実行することを特徴とするコンピュータ読み取り可能なプログラム。
【請求項２０】
前記注釈情報は、前の文書の上位の階層へ設定する指示、前の文書の下位の階層へ設定する指示、前の文書と同階層に設定する指示を含むことを特徴とする請求項１８または１９記載のコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層化された構造化文書を扱い文書処理装置とその方法及び文書処理システムに関し、特に、階層化されてない文書データを、該文書データに埋め込まれた指示情報に応じて構造を付与した文書データとして管理する装置、方法、システムに関するものである。
【背景技術】
【０００２】
近年、Ｗｅｂサーバーに対して、クライアントから電子カタログの元となる文書の電子データのファイル（文書ファイル）をアップロードし、サーバーで電子カタログとして管理して、さらにアップロード後にクライアントからのGUI等を用いた指示により階層編集を行うことで、電子カタログを階層管理する技術が実現されている（特許文献１、２等参照）。
【０００３】
一方、電子的な文書データには、たとえばＰＤＦ（Portable Document Format）形式の文書のように、その一部として注釈（アノテーション）を記録できるものがある。なお、この注釈は、文書編集時には文書と共に表示されるが、通常の印刷時には文書だけが印刷され、印刷されない情報である。そしてこの注釈を印刷情報として利用するものがある（特許文献３、４等参照）。
【特許文献１】特開平１１−１６１６７３号公報
【特許文献２】特開２００３−３３０９６７号公報
【特許文献３】特開平７−１６８８３８
【特許文献４】特開２００４−１１８５０９
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術を用いた場合、Ｗｅｂサーバーに対して、各クライアントから電子カタログの元となる構造化文書の電子ファイルをアップロードすることによりサーバー側で電子カタログをページ部品として保持するが、階層管理はアップロード後に別途、クライアントからGUI等での指示により階層編集を行う必要があった。階層編集の操作は、階層が深くなる場合やページ数が多い場合などは、処理が煩雑となる問題があった。これは生産性を低下させるのみならず、サーバにカタログの元となる文書の電子ファイルがアップロードされてから、電子カタログとしてクライアントに提供されるまでの遅延が大きく、サーバの利用効率の低下をもたらす。さらに、各ページ部品の内容を確認しつつ編集しなければならないために、本来あるべきカタログの構成とは異なる構成に誤って編集するおそれもあった。
【０００５】
本発明は、上記の問題に鑑みてなされたものであり、元文書データにおいて、各ページに記述可能な注釈としてページの階層情報を適宜記述しておき、その元文書データを入力文書データとして、注釈で指定された階層情報に従って各ページを階層管理する文書処理装置とその方法および文書処理システムを提供することを目的とする。
【０００６】
また、より一般的には、目的とするレコードを葉ノードとする構造化データを一定順序、たとえば深さ優先で走査して葉ノードを走査順に並べ、葉ノードの深さを相対的に示す情報を当該葉ノードに付加した逐次データを入力データとして作成し、それを木構造に再構成させることで、構造化データの作成を容易に、迅速に、誤り無く行えるデータ変換装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明は以下の構成を有する。
【０００８】
構造を持たない入力文書データを、構造を持つ出力文書データに変換する文書処理装置であって、
入力文書データの着目分割単位の文書データに含まれる階層指定情報に基づいて出力文書データの新たな階層情報を作成し、それを新たな着目階層とする階層作成手段と、
前記入力文書データの着目分割単位を、前記出力文書データの着目階層に属する分割単位として出力文書データに登録する登録手段とを備え、
前記入力文書データについて、先頭から末尾までの分割単位に順次着目しつつ、前記階層作成手段および前記登録手段により出力文書データへの変換を行う。
【０００９】
あるいは、レコードが逐次的に配置された逐次データを、前記レコードを階層的に配置した構造化データに変換するデータ変換装置であって、
逐次データの注目レコードにおける特定フィールドの内容を解釈する解釈手段と、
前記解釈手段により前記フィールドの内容が当該レコードの階層を示す場合には、該フィールドにより指示された階層を作成して、当該レコードを該階層に属するレコードとして構造化データに登録する登録手段とを備えることを特徴とするデータ変換装置。
【００１０】
あるいは、各ページを木構造の葉ノードとして配置した木構造のカタログデータをネットワークに提供するカタログサーバであって、
ページを逐次的に配置して成る入力文書データの各ページに順次着目し、着目ページごとに記述され得る注釈情報を解釈する解釈手段と、
前記解釈手段により、前記注釈情報が、着目ページが現在の節ノードと相異なる節ノードに属する旨の指定情報であるものと解釈された場合には、前記指定情報により指定される階層の新たな節ノードを作成し、該節ノードに属する葉ノードとして前記着目ページを登録してカタログデータを作成する作成手段と、
前記作成手段により作成されたカタログデータの全部または一部を、ネットワークからの要求に応じて送信する手段とを備えることを特徴とする
【発明の効果】
【００１１】
本発明によれば、階層構造を持たないデータ、例えば文書を、指定されたとおりの構造のデータたとえば文書として管理することができる。このため、所望の構造のデータたとえば文書を管理し、提供できるとともに、構造化に伴う生産性の低下や資源の利用効率の低下、過誤の可能性を防止することがきる。さらに、構造の指定は文書の注釈でなされるために、入力となる階層構造を持たないデータとして既存のデータ形式を利用することができる。さらに、階層構造を持たないデータ形式として、コンピュータの環境に依存しない形式を用いることで、オペレーティングシステムなどの環境が相異なるコンピュータ間においても、同一の構造を有するデータたとえば文書を、互換性のあるデータとして取り扱うことができる。
【発明を実施するための最良の形態】
【００１２】
＜システム構成＞
以下、本発明の実施形態について図を参照しながら説明する。図１は本発明に係る電子カタログ管理システムを構成するＷｅｂサーバに対してＷｅｂブラウザを有するクライアントから指示／操作を実現するためのネットワーク構成を示すブロック図である。同図において、１０１はローカルエリアネットワーク（ＬＡＮ）を示し、クライアント用パーソナルコンピュータ（以下「クライアントＰＣ」）１１１，１１２，１１３、及び、電子カタログ管理システムを実現する電子カタログ管理サーバＰＣ（以下「サーバＰＣ」）１２１が、このＬＡＮに接続されている。サーバＰＣ１２１はＷｅｂサーバ機能を有し、クライアントＰＣ１１１，１１２，１１３のＷｅｂブラウザ経由で要求を受け、その要求を出したクライアントＰＣのブラウザに対して要求されたデータを返す処理を行う。このとき、サーバＰＣ１２１はＷｅｂサーバ機能により受けた要求に応じた処理、たとえばデータのアップロードやダウンロードを実行することもできる。なお、サーバおよびクライアント間の通信手順についてはＴＣＰ／ＩＰに限らないが、クライアントからサーバへのデータのアップロードと、クライアントからの要求に応じてサーバのデータをクライアントへダウンロードする機能は必要である。また、サーバＰＣにクライアント機能すなわちブラウザを併せ持ち、サーバ１２１のブラウザからカタログ管理システムに対する指示処理（たとえばアップロードやデータの参照、ダウンロード等）を行うこともできる。この場合、サーバ１２１が有するクライアント機能も含めて、本実施形態ではクライアントあるいはクライアントＰＣと呼ぶ。クライアントＰＣ１１１，１１２，１１３は、ＬＡＮ１０１に接続でき、かつＷｅｂブラウザ及び構造化文書データに注釈を付与する編集機能を有する一般的なＰＣであればよい。この注釈は、文書データ自体の内容ではないメタ情報であることが望ましいが、文書データ自体の一部を注釈として利用することもできる。
【００１３】
本実施形態の電子カタログ管理システムにおいては、クライアントＰＣにより後述の図５に例示するような、ページの注釈としてそのページの属するフォルダの階層が記述された電子カタログを用意し、その電子文書をサーバＰＣ１２１にアップロードする。サーバＰＣ１２１は、電子カタログ管理プログラムを実行して、アップロードされた電子文書を、ページごとにその注釈に記載された階層のフォルダに属するように階層化し、構造化電子カタログに変換する。更にサーバＰＣ１２１は、その構造化文書データをクライアントの参照に提供する。クライアントは提供された構造化文書データについて、ページやフォルダ、文書の単位で必要な部分をダウンロードすることができる。
【００１４】
なお、本実施形態は電子カタログに係るものであるために、処理対象の文書は電子カタログとして説明される。しかし、電子カタログにかぎらず、それ以外の一般の電子文書データについて本実施形態を適用し得る。その場合、クライアントからアップロードされる、構造を持たない電子文書データを元電子文書データ（ファイルである場合には元電子文書ファイル）、サーバにおいて構造が与えられる電子文書データを構造化電子文書データ（ファイルである場合には構造化電子文書ファイル）と呼ぶ。元電子文書データとしてはたとえばＰＤＦファイルが用いられる。また構造化電子ファイルの構成要素であるページとしては、ＰＤＦファイルをページ単位に切り出したデータが用いられる。また構造を定義する節ノードとなるフォルダ（詳しくは後述）は、そのフォルダの親フォルダや、そのフォルダに属するページを示す情報を含む。フォルダ自体を特定するためにフォルダ名称を含んでもよい。
【００１５】
図２は、本実施形態の図１に示したサーバＰＣ１２１の概略構成である。図において、ビデオＲＡＭ（ＶＲＡＭ）２０１は、ＣＲＴ表示装置２０２の画面に表示される文字、イメージを展開記憶する。ビットムーブユニット(ＢＭＵ)２０３は、メモリ間あるいはメモリと各デバイス間のデータ転送をコントロールする。キーボード２０４は入力に関する各種キーを備えたキーボードであり、ポインティングデバイス（ＰＤ）２０５は画面上で任意の位置などを指し示すためなどに用いられるである。ＣＰＵ２０９で、ＲＯＭ２０８に記憶された制御プログラム（本発明に係るプログラムやエラー処理プログラムをはじめ、図８として後述する手順のプログラムも含まれている。）を実行して本装置の各部を制御する。ＲＡＭ２０９は上述した各プログラムを２０６のＣＰＵが実行するときに使用されるワークエリアや、エラー処理時の一時退避エリアとして用いられる。ＨＤＤ２１０はハードディスクドライブを、フＦＤＤ２１１はレキシブルディスクドライブをそれぞれ示し、各ディスクには電子カタログ管理プログラム等のアプリケーションプログラムやデータ、データベース、ライブラリなどの保存用に用いられる。またアップロードされた電子文書データファイルや変換後の構造化電子文書データファイルの保存にも用いられる。ネットワークインターフェース２１２は、クライアントＰＣ１１１，１１２，１１３との間でネットワークを経由してデータ転送を行うためにネットワーク上でデータ制御、診断を行う。Ｉ／Ｏバス２０７は上述した各ユニット間を接続するバスで、アドレスバス、データバス及び制御バスを含む。クライアントからアップロードされる電子文書データは、たとえばＨＤＤ２１０に保存され、変換後の構造化電子文書もまたＨＤＤ２１０に保存されて、クライアントに対して公開される。
【００１６】
上記構成において、サーバＰＣ１２１の電源を投入すると、ＣＰＵ（２０６）はＲＯＭ（２０８）のブートプログラムに従って装置を初期化し、ＨＤＤ（２１０）らＯＳのロードを行い、その後で各種アプリケーション等を動作させることになる。なお、本実施形態のサーバＰＣ１２１は、凡用の情報処理装置（パーソナルコンピュータ等）をその基礎にしているので、プログラムはハードディスク等に記憶されているものとしたが、もちろんＲＯＭに記憶させるようにしてもよいし、記憶媒体によって本発明が限定されるものでもない。また、クライアントＰＣも基本的構造はサーバＰＣ１２１と同様であるが、サーバ特有の機能、たとえばＷｅｂサーバや、電子カタログ管理プログラム等は備えていなくてもよい。また、本実施形態では、データを格納するデータベース及び電子カタログのファイル管理を１つのサーバで表現しているが、データベースサーバやファイル共有サーバのようにそれぞれ別の情報処理装置を用いて実現することもできる。
【００１７】
＜処理の概要＞
次に図３〜図７を用いて、電子カタログ管理システムのクライアントから元になる電子カタログ（以下、元電子カタログと呼ぶ。）がアップロードされたサーバにおけるカタログページのグループ管理、及びカタログページの結合処理（すなわち電子カタログ変換処理）に関する実施形態について、その概観を説明する。なおこの概要の説明においては、構造化された電子カタログデータは木構造を有するものとして説明する。図７で明らかにするように、本実施形態ではこの木構造はノード間の論理的な接続関係をテーブルによって定義することで表される。したがって概略説明においては、電子カタログの構造や管理手順を木構造を示す図を用いて説明するが、処理上はテーブルのハンドリングにより実現される。
【００１８】
図３は、カタログアップロードする際にカタログページ（元電子カタログの各ページであり、電子カタログの最小の分割単位である。）に付与する階層属性の種類及び処理内容の一例を示したものである。階層属性とは、木構造の構造化電子カタログにおいて、着目カタログページをその直前のカタログページが属するフォルダとは異なるフォルダに属させる場合に、元電子カタログにおける当該カタログページに記述される情報（すなわち階層情報）である。階層属性は、構造化電子カタログにおける現在の着目階層に対して、着目カタログページが属する階層までの相対的な階層差を示す。なお、本実施形態では「フォルダ」という名称を用いているが、これは必ずしもウインドウズ（登録商標）等のオペレーティングシステムにおけるフォルダを意味しているわけではない。本実施形態のフォルダとは、構造化電子カタログ（すなわち構造化文書データ）の管理構造において、１あるいは複数のカタログページをひとつの束にまとめるための管理情報に相当する。したがってひとつの構造化電子カタログ（すなわちひとつのファイル）に１乃至複数のフォルダが含まれ得る。
【００１９】
図３に示すように階層属性には「下位」「上位」「同列」の３種類がある。階層属性は、現在の着目フォルダの階層（以下着目階層とも呼ぶ。）、すなわち最後に変換されたカタログページが属する構造化電子カタログにおけるフォルダの階層を基準として記述されている。すなわち、階層属性が「下位」であれば着目フォルダを親フォルダとしてそのひとつ下に新規フォルダを作成し、その新規フォルダを新たな着目フォルダとしてそこに着目ページを登録する。なお、「下位」の程度は、「下位」の記述の数によって定義される。すなわち、「下位」がひとつ記述されていれば、新規フォルダは着目フォルダの１つ下、すなわち直下に作成される。「下位、下位」とふたつ記述されていれば、新規フォルダは着目フォルダの２つ下まで、すなわち着目階層のフォルダの直下とそのさらに直下に作成される。３以上であっても同様である。このように、階層属性は着目階層を基準とする相対的な指定であることが明らかである。
【００２０】
一方、階層属性が「上位」であれば着目フォルダの階層のひとつ上の階層に新規フォルダを作成し、その新規フォルダを新たな着目フォルダとしてその下に着目ページを登録する。すなわち、着目ページが属すべきフォルダの階層は、着目フォルダの親フォルダの階層となるので、着目フォルダの親フォルダのさらにその親フォルダに属する新規フォルダを作成し、その新規フォルダをあらたな着目フォルダとしてそこに着目カタログページを登録する。「上位」の程度は「下位」と同様の方法で示される。
【００２１】
階層属性が「同列」の場合には、着目階層と同列（同じ階層）に新規フォルダを作成し、その新規フォルダを新たな着目フォルダとしてその下に着目ページを登録する。すなわち着目フォルダの親フォルダに属する新規フォルダを作成し、それを着目フォルダとして着目カタログページを登録する。
【００２２】
なお、注釈として「上位」「下位」「同列」のいずれの記述も含まれていないカタログページは、構造化電子カタログにおける現在の着目階層のフォルダ（すなわち直前のページと同じフォルダ）に登録される。また、たとえば「上位」と「下位」の記述が両方含まれている場合には、それぞれの数が同数であれば「同列」と同様に処理し、相異なれば同数の「上位」と「下位」を相殺して残り記述に従って処理する。もちろんこれは一例であって、例外的な場合であるからたとえばエラーにするなど、どのように定義しても良い。「上位」と「下位」の数が同数であれば階層属性の記述はないものとして処理することもできよう。また、「上位」「下位」「同列」の記述は、着目ページの属する相対的な階層を示す情報であれば、どの様な形式であっても同様に処理可能である。たとえば注釈の色、形等で分別する方法でも構わない。
【００２３】
さて、図３において、１１１及び１２１は図１にて図示した本実施形態のサーバ及びクライアントであり、左側がクライアント１１１のデータ管理、右側がサーバ１２１のデータ管理の様子を示している。なおクライアント１１１における注釈が付与されているページは、実際には複数ページを有するカタログの任意ページを示しており、少なくともページ数Ｎが２以上の例を示している。
【００２４】
カタログページ３０１は「下位」の階層属性を注釈として付与されたカタログページである。このページ３０１が着目ページとしてアップロードされると、サーバ１２１は、その前ページ１２１ａが格納されているフォルダ（すなわち着目フォルダ）１２１ｂの下に新規フォルダ１２１ｃを作成して、その新規フォルダを新たな着目フォルダとして当該ページ３０１を格納する処理を行う。この結果、着目ページ３０１は、その前ページ１２１ａの１つ下の階層となる。
【００２５】
カタログページ３０２は「上位」の階層属性を注釈として付与されたカタログページである。このページが着目ページとしてアップロードされると、その前ページ１２１ａが格納されているフォルダ（すなわち着目フォルダ）１２１ｂの１つ上のフォルダ１２１ｄと同じ階層に（すなわちフォルダ１２１ｄの不図示の親フォルダ（あるいはルート）の下に）新規フォルダ１２１ｅを作成して、そのフォルダ１２１ｅを新たな着目フォルダとして当該ページ３０２を格納する処理を行う。この結果、着目ページ３０２はその前ページ１２１ａの１つ上の階層となる。
【００２６】
同様にカタログページ３０３は、「同列」の階層属性を注釈として付与されたカタログページである。このページが着目ページとしてアップロードされると、その前ページ１２１ａが格納されているフォルダ（すなわち着目フォルダ）１２１ｂと同じ階層に新規フォルダ１２１ｆを作成して、そのフォルダ１２１ｆを新たな着目フォルダとして当該ページ３０３を格納する処理を行う。この結果、着目ページ３０３は、その前ページ１２１ａと同階層かつ相異なるフォルダに属することとなる。
【００２７】
以上のように、階層属性には３種類あり、いずれによっても構造化電子カタログに新たなフォルダが作成されて着目フォルダがそこに移動する。
【００２８】
図４は、図３の例で「上位」「下位」は複数の階層属性が指定可能であるため、複数指定がなされた場合の例を示している。なお階層属性の複数指定に関しては、本例では注釈を複数しているが、１つの注釈内に２つ記載しても、また色や形などの別方法による指定でも構わなく、特に限定するものではない。
【００２９】
カタログページ４０１は「下位」の階層属性を注釈として２つ付与されたカタログページである。このページ４０１がアップロードされると、前ページ１２１ａの格納フォルダ（すなわち着目フォルダ）１２１ｂの下に２階層分の新規フォルダ１２１ｇ，１２１ｆを作成して階層管理をするとともに一番下にあたる新規作成フォルダ１２１ｆを新たな着目フォルダとしてそこに当該ページ４０１を格納する処理を行う。
【００３０】
カタログページ４０２は「上位」の階層属性を注釈として２つ付与されたカタログページである。このページ４０２がアップロードされると、前ページ１２１ａの格納フォルダ（すなわち着目フォルダ）１２１ｂに対して２階層分上の位置に新規フォルダ１２１ｊを作成して、新規作成したフォルダ１２１ｊを新たな着目フォルダとしてそこに当該ページ４０２を格納する処理を行う。
【００３１】
＜カタログ作成例＞
図５および図６は、図３及び図４で説明した階層属性を実際に適用したカタログ作成例である。このカタログは全部で１０ページのカタログの例である。図５は元電子カタログ５０１を、図６は構造化電子カタログの例を示す。
【００３２】
図５においては、元電子カタログ５０１は、１０ページのカタログページから構成されている。各ページは、ページ順に第１ページ目５１１〜第１０ページ目５２０まで順に並べられた構成を有する。元電子カタログは、たとえばページごとに、ページ区切り情報で区切られた文書データファイルであり、各ページにはメタ情報として注釈を記述することができる。２ページ目と３ページ目に「下位」、５ページ目に「同列」、６ページ目に「下位」、７ページ目に２つの「上位」、そして９ページ目に「下位」の階層属性がそれぞれ注釈として付与されている。すなわち、２ページ、３ページ目でそれぞれ階層を１階層ずつ下げる処理をサーバに行わせ、５ページ目では４ページ目と同階層の新規フォルダをサーバに作成させる。そして６ページ目では階層を１階層下げる処理をサーバに行わせ、７ページ目では２つ階層を上げさせ、最後に９ページ目で階層をひとつ下げさせる指示がこの元電子カタログに含まれることを示している。
【００３３】
図６は、図５で示した元電子カタログがサーバ１２１にアップロードされた場合の構造化電子カタログの構造を模式的に示した図である。図６は図７のデータベース管理の情報を理解しやすくするために記載した内容である。しかし図７の情報も、論理的には図６に示す構造と同じ構造を表している。図７のカタログ管理テーブル７０１が図６の各ノードを表し、図７の階層管理テーブル７０２が図６の各ノード間を結ぶリンクを表している。このように本実施形態では図７のテーブルにより構造化電子カタログを定義するが、これはファイル単体の管理方法を特に限定するものではなく、図６の構造をそのままたとえばポインタ等であらわしたデータ構造を有していても良いし、そのほかのデータ構造であってもよい。いずれにしても図６や図７に示すように、リンクをたどるだけで従属関係が明らかになるような構造のデータを用いることが望ましい。
【００３４】
図６において、ＩＤ−１００は、元電子カタログ５０１を示している。クライアントからアップロードされた元電子カタログ５０１は構造化電子カタログの第一階層に登録される。そして第一階層をルートとして、元電子カタログ５０１を構成するカタログページの各ページデータ１０ページ分を所定の単位（本例ではページ単位）に分割し、分割後のファイル（ページデータとも呼ぶ。）を構造化電子カタログに登録する。その際に、各ページデータにＩＤが振られる。図６の例ではＩＤ−１０１〜ＩＤ−１１０が各ページデータに割り与えられる。
【００３５】
元電子カタログの構造化処理は、ページごとに分割された元電子カタログの先頭ページ５１１から順に処理される。第１階層に登録された元電子カタログの先頭ページ、すなわちＩＤ−１０１が振られた１ページ目５１１を着目ページとして、それに階層属性を持った注釈（すなわち「上位」「下位」「同列」のいずれかの記載）が付与されているかを判定する。１ページ目には注釈がないため、初期の着目階層、すなわちカタログデータ（ＩＤ−１００）の直下の階層に位置付けされる。以下着目ページを順次変えつつ同様の判定を行う。ＩＤ−１０２が振られた２ページ目５１２には、「下位」の階層属性が注釈として付与されている。そのため、図３で説明した規則に従ってＩＤ−１１１のフォルダが作成される。このＩＤ−１１１のフォルダは着目階層の下、すなわちＩＤ−１００の下階層に位置付けられ、そのフォルダの下階層に２ページ目（ＩＤ−１０２）が格納される。次にＩＤ−１０３が振られた３ページ目５１３は「下位」の階層属性を有する。そのため、前ページであるＩＤ−１０２が格納されるフォルダＩＤ−１１１の下に新規フォルダとしてＩＤ−１１２が作成されて、ＩＤ−１１２の下階層に３ページ目（ＩＤ−１０３）が位置付けられる。ＩＤ−１０４が振られた４ページ目５１４は階層属性を有さないため、前ページであるＩＤ−１０３と同じフォルダに格納される。
【００３６】
次にＩＤ−１０５が振られた５ページ目５１５は「同列」の階層属性を有する。そのため、前ページのＩＤ−１０４が属するフォルダ（ＩＤ−１１２）と同一階層のフォルダＩＤ−１１３が新規作成されて、このフォルダ（ＩＤ−１１３）の下に５ページ目（ＩＤ−１０５）が格納される。ＩＤ−１０６が振られた６ページ目５１６の注釈には「下位」の記述が含まれる。そのため、ＩＤ−１１４のフォルダがＩＤ−１１３のフォルダ下に作成されて、その下に格納される。ＩＤ−１０７が振られた７ページ目５１７には、「上位」の階層属性を２つ有するため、前ページ（ＩＤ−１０６）が属するＩＤ−１１４のフォルダから２つ上の階層（すなわちＩＤ−１１１のフォルダと同じ階層）に新規フォルダＩＤ−１１５が作成され、ＩＤ−１１５フォルダの下に７ページ目（ＩＤ−１０）が格納される。ＩＤ−１０８が振られた８ページ目５１８は階層属性を有さないため、前ページと同じフォルダに格納される。ＩＤ−１０９が振られた９ページ目５１９は、「下位」階層属性を有する。そのため、前ページ（ＩＤ−１０８）が属するフォルダの下に新規フォルダＩＤ−１１６を作成して、その下階層に格納される。ＩＤ−１１０が振られた１０ページ目５２０は階層属性を有さないため、前ページと同じフォルダに格納される。以上が格納されるイメージになる。
【００３７】
＜データ構造の例＞
図７は、図６で模式的に示した構造化電子カタログを、実際に構築されるデータベースにより示した例である。このデータベースには「カタログ管理テーブル」７０１と「階層管理テーブル」７０２が含まれる。これらテーブルは、たとえばＨＤＤ２１０に保存される。カタログ管理テーブル７０１において、「カタログ管理ＩＤ」欄７０１ａは、ページやフォルダといった各ノードの識別子が登録される欄であり、電子カタログデータ中において一意となる値が設定される。一意であればよいために、電子カタログ管理プログラムにより自動的に付するものであってもよい。「ファイル」欄７０１ｂは、アップロードされた元電子カタログファイル５０１’及び分割された各カタログページファイル５１１−５２０の各ファイルを識別するための情報である。該当するファイルのファイル名やファイルへのポインタ、インデックス等、カタログ管理ＩＤに対応するファイルを特定するための情報が登録される。「ファイル概要」欄７０１ｃは構造化電子カタログの構造を示すための情報ではないので必ずしも必要なく、内容も任意である。この例では電子カタログを構成する各ファイルを分かりやすくするために、図５で示したページ内の情報、たとえば章番号やページ番号等が登録されている。「注釈」欄７０１ｄは、各ページに付与された「階層属性」情報である。これは図８で説明する電子カタログ管理プログラムにおいて参照される。
【００３８】
次に図７のカタログ管理テーブル７０１に登録された各データについて説明する。カタログ管理ＩＤ欄７０１ａにおいて、ＩＤ−１００は登録された元電子カタログデータの識別子である。ＩＤ−１０１〜ＩＤ―１１０は、カタログの各ページデータに与えられた識別子である。ＩＤ−１１１〜ＩＤ−１１６は、ＩＤ−１０１〜ＩＤ−１１０に付与されている階層属性にしたがって新規作成されたフォルダの識別子を示している。ファイル概要にあるとおり、例えばＩＤ−１１１はＩＤ−１０２のカタログページに付与された注釈にある「下位」階層属性によって作成されたフォルダとなる。またＩＤ−１１２はＩＤ−１０３のカタログページの「下位」階層属性、同様にＩＤ−１１３はＩＤ−１０５、ＩＤ−１１４はＩＤ−１０６、ＩＤ−１１５はＩＤ−１０７、ＩＤ−１１６はＩＤ−１０９の各階層属性に対応して作成されたフォルダが登録される。
【００３９】
このようにしてカタログ及び分割されたカタログページの各ファイル及び階層属性に応じて作成されたフォルダはすべてカタログ管理テーブル７０１に登録されることとなる。上述したように、カタログ管理テーブル７０１において、カタログ管理ＩＤ欄７０１ａとファイル欄７０１ｂと注釈欄７０１ｄは必須である。しかし、ファイル概要欄７０１ｃは必ずしも必要ではないので、これについてはカタログ管理テーブル７０１に含めなくともよい。
【００４０】
また、フォルダは、その下の階層のページデータやフォルダがひとつのまとまりを構成することを示すための節ノードである。そのために、ノード間の関係を階層管理テーブル７０２で示している本実施形態の場合には、カタログ管理テーブルにおいては、フォルダは、それがフォルダであることを識別可能であれば十分である。そのため、フォルダに対応するカタログ管理テーブル７０１のファイル欄７０１ｂには、それがフォルダであることを識別可能な識別情報が登録されるだけでもよい。図７では＜フォルダ＞と記述することでそれがフォルダであることが特定されている。もちろん、フォルダにその他の管理情報をもたせるために、フォルダファイルという実体的なファイルを作成することもできる。
【００４１】
次に図７の階層管理テーブル７０２について説明する。このテーブル７０２は、カタログＩＤ７０２ａと上位カタログＩＤ７０２ｂとをその項目として有する。なおさらに付加的な情報があってもよい。上位カタログＩＤ７０２ｂは、カタログＩＤ７０２ａに対する直接上の階層、すなわち対応するカタログＩＤ７０２ａが属するノードを示している。例えば、ＩＤ−１０１のノードすなわちカタログページ５１１は、ＩＤ−１００のノード、すなわちルートにある元電子カタログの直下に位置付けされていることが分かる。このように、階層管理テーブル７０２はノード間の従属関係を記述したテーブルである。なお、図７の例では階層管理テーブルは、上位カタログＩＤ７０２ｂをメインキーとし、カタログＩＤ７０２ａをサブキーとして昇順にソートされている。しかし必ずしもソートされている必要はない。
【００４２】
以上２つのテーブルにより、図６に示す構造を定義することができる。
【００４３】
図８は、アップロードされた元電子カタログの各カタログページ対して階層属性の注釈情報を抽出し、階層管理（すなわち構造化処理）を行う電子カタログ管理プログラムのフローチャートである。図３，４で示したアップロードにおけるファイル転送処理については、たとえばＦＴＰ等、ファイル転送に用いられている通常の技術を用いればよいので、図８は元電子カタログがアップロードされた状態から開始されている。
【００４４】
図８において、ステップＳ８０１はクライアントからアップロードされた元電子カタログのファイルをページ単位に分割して各ページごとの文書データ（対応する注釈を含む。）を含むページファイルを作成処理である。この処理により、電子カタログに含まれる各カタログページについてページデータが作成される。各ページデータは、元電子カタログにおけるページ順が特定できる態様で作成される。たとえばファイル名にページ番号を含ませれば、ファイル名からページ順が特定可能となる。
【００４５】
ステップＳ８０２は、アップロードされた元電子カタログ及びステップＳ８０１で分割された各カタログページファイルをファイル管理方法に従って、処理に用いられる場所（ディレクトリなど）に格納する処理である。アップロード後に元電子カタログおよびステップＳ８０１により分割された各ページデータはステップＳ８０２の前に保存されているので、その保存場所を移動する必要がなければステップＳ８０２は不要である。またファイル管理方法はたとえば電子カタログプログラムが実行されるオペレーティングシステム等に従うものでよい。
【００４６】
ステップＳ８０３は、ステップＳ８０２で格納した各ファイルを特定するための情報（たとえばその所在やファイル名等であり、ファイル特定情報とも呼ぶ。）を図７にて説明したカタログ管理テーブル７０１に登録する処理である。ここでは、登録時に、各ファイルに一意のＩＤを付与しつつ、そのＩＤに対応付けて該当するファイル特定情報を登録する。本ステップまでの処理により、元電子カタログ及び元電子カタログから分割されたカタログページに関するファイル情報が電子カタログのデータベースに格納されたことになる。ステップＳ８０４以降は、電子カタログのページに注釈として付与されている階層属性に関する処理を行うものとなる。
【００４７】
ステップＳ８０４では、電子カタログの各ページに対して階層属性に対する処理を行うためのループに関する初期化処理である。本初期化処理において、カタログページ数Ｎとしてページデータの数（図６の例では１０）を、ループ変数ｉの初期値として１を設定する。変数ｉは着目ページのページ番号を示す。また、１ページ目に対する前ページの親階層情報として第一階層を設定する。すなわち、着目フォルダ変数Ｐの初期値として第１階層におかれる元電子カタログのＩＤをセットする。構造化電子カタログでは、ルートである第１階層にはフォルダがおかれないために、ルートノードについては例外的に元電子カタログのＩＤがセットされる。各変数はＲＡＭ２０９に確保される。この様に変数の初期化を行ってこれ以降のループ処理に備える。
【００４８】
ステップＳ８０５は、ループ処理の最初の処理であり、変数ｉを参照して、対象となるｉページ目のカタログページに階層属性の注釈が付与されているかを判断する。この判定は元電子カタログ５０１を参照しても良いが、本例ではカタログ管理テーブル７０１を参照するものとする。カタログ管理テーブル７０１においては、第０行は元電子カタログであり、第１行から各ページファイルを特定するＩＤ等の情報がページ順に登録されているので、１を初期値とする変数ｉによりｉページ目に相当する行を参照することができる。第ｉページに階層属性の注釈が付与されている場合は、ステップＳ８０６に進む。一方付与されていない場合はステップＳ８１３に進む。
【００４９】
ステップＳ８０６では、付与されている階層属性の種類に応じて分岐処理を行う。「下位」の階層属性の場合はステップＳ８０７に進み、「上位」「同列」の階層属性の場合はステップＳ８０９に進む。
【００５０】
ステップＳ８０７では、「下位」の階層属性が複数ある場合はその個数をカウントして、前ページが格納されているフォルダ、すなわち着目フォルダ変数Ｐで示されるＩＤを有するフォルダ（すなわち着目フォルダ）の下に、「下位」の個数分だけフォルダをカタログ管理テーブル７０１に追加的に登録する。もちろんそのＩＤは一意である。そして、階層化されたフォルダの階層情報を階層管理テーブル７０２に登録する。
【００５１】
そのためには、たとえば注釈に含まれる「下位」をひとつ読んで、新たなフォルダをカタログ管理テーブル７０１に登録する。そしてその新たなフォルダのＩＤを階層管理テーブル７０２のカタログＩＤ欄７０２ａに登録し、着目フォルダのＩＤすなわち着目フォルダ変数Ｐの内容を上位カタログＩＤ欄７０２ｂに登録する。そして新たに登録されたフォルダのＩＤを着目フォルダ変数Ｐの新たな値として保存する。「下位」が複数ある場合には、その個数だけその読み出しからフォルダの各テーブルへの登録までの手順を繰り返すことで、ステップＳ８０７が実現できる。もちろん「下位」の数が分かっていればその都度それを読み出す手順は省くことができる。
【００５２】
次にステップＳ８０８で、ステップＳ８０７において作成されたフォルダの中で一番最下位に位置するフォルダを親階層に設定する。すなわち、新規に作成した最下層のフォルダのＩＤを着目フォルダ変数Ｐにセットする。ただし、ステップＳ８０７において着目フォルダ変数Ｐの値として新たに作成されたフォルダのＩＤがセットされている場合には、あらためてステップＳ８０８を行う必要はない。
【００５３】
一方、ステップＳ８０６で「上位」「同列」のいずれかの階層属性を有する注釈があると判定された場合のステップＳ８０９では、新規に作成するフォルダの階層が第一階層（あるいはその上）、すなわち元電子カタログの階層になるかどうかを判断する。判定の対象となる新規フォルダは、階層属性が「上位」の場合は、それが複数個の指定がされていることも含めて新規に作成されるフォルダのうち最上位のフォルダであり、「同列」の場合にも新規に作成するフォルダである。この判定は、たとえば階層属性が「上位」の場合であれば、まず着目フォルダのＩＤによって階層管理テーブル７０２のカタログＩＤ欄７０２ａを検索し、見つかったなら対応する上位カタログＩＤを読む。この所与のノードのＩＤにより階層管理テーブル７０２のカタログＩＤ欄７０２ａを検索し、それに対応する上位カタログＩＤを獲得する処理を、簡単に「リンクをさかのぼる」と呼ぶことにする。ｎ階層のリンクをさかのぼる場合には、獲得した上位カタログＩＤを所与のノードのＩＤとして、前述した「リンクをさかのぼる」処理をｎ回繰り返せばよい。このようにして、着目フォルダを基準として「上位」が記述された数に相当する階層分、リンクのさかのぼりを試みる。リンクのさかのぼりの途中で階層管理テーブル７０２の検索に失敗した場合や、最終的に得られた上位カタログＩＤの値が第１階層に位置する元電子カタログのＩＤと一致する場合には、新規フォルダは第１階層より上に作成されることとなり、ステップＳ８０９の判定結果はイエスである。さもなくば判定結果はノーである。
【００５４】
一方、「同列」の場合には、新規フォルダは着目フォルダと同階層に作られるはずなので、着目フォルダ変数Ｐの値が元電子カタログのＩＤであるか判定し、一致していなければ判定結果はノーとなる。
【００５５】
ステップＳ８０９における判定の結果、新規フォルダが第一階層（あるいはそれ以上の階層）に該当する場合は、ステップＳ８１２に進む。一方、第一階層に該当しない場合は、ステップＳ８１０に進む。なお、ステップ８１０の流れとステップＳ８１２の流れの際は新規フォルダを作成するか否かの違いである。
【００５６】
ステップＳ８１０では新規フォルダをカタログ管理テーブル７０１及び階層管理テーブル７０２に登録する。たとえば、「上位」の階層属性の場合は、まず着目フォルダのＩＤを階層管理テーブル７０２のカタログＩＤ欄７０２ａに新規に登録する。そして注釈に含まれる「上位」の記述の数に１加算した値に相当する階層分（たとえば「上位」が１であれは２階層）、着目フォルダを基準として前述したリンクをさかのぼる処理を行う。その結果得られた上位カタログＩＤの値が、新規フォルダの親フォルダとなる。したがって、その得られた上位カタログＩＤの値を、新規に登録したカタログＩＤ欄７０２ａに対応する上位カタログＩＤ欄７０２ｂとして登録する。
【００５７】
一方「同列」の階層属性の場合には、まず着目フォルダのＩＤを階層管理テーブル７０２のカタログＩＤ欄７０２ａに新規に登録する。そして、着目フォルダを基準として前述したリンクをさかのぼる処理を１階層分行う。その結果得られた上位カタログＩＤの値が、新規フォルダの親フォルダとなる。したがって、その得られた上位カタログＩＤの値を、新規に登録したカタログＩＤ欄７０２ａに対応する上位カタログＩＤ欄７０２ｂとして登録する。
【００５８】
ステップＳ８１１では、着目ページであるｉページ目のカタログページの親階層として作成したフォルダを設定する。すなわち、ステップＳ８１０で新たに作成されたフォルダのＩＤを着目フォルダ変数Ｐの値としてセットする。そしてステップＳ８１３に進む。
【００５９】
一方ステップＳ８１２では、新規作成しようとしたフォルダの階層がカタログと同じ第一階層あるいはその上に位置するため、フォルダの作成を行わない。ステップＳ８１２では、第一階層である元電子カタログを着目ページの親階層に設定して（すなわち着目フォルダ変数Ｐとして元電子カタログのＩＤをセットして）、ステップＳ８１３に進む。
【００６０】
ステップＳ８１３は、着目ページであるｉページ目のカタログページの階層情報を階層管理テーブル７０２に登録する処理である。たとえば、着目ページｉのＩＤを階層管理テーブル７０２のカタログＩＤ欄７０２ａに登録し、それに対応する上位カタログＩＤ欄７０２ｂに、着目フォルダのＩＤ（すなわち着目フォルダ変数Ｐの内容）を登録する。
【００６１】
本ステップＳ８１３への経路としては、ステップＳ８０５で「Ｎｏ」の場合、ステップＳ８０８、ステップＳ８１１、ステップ８１２と４つの経路があるが、いずれの場合も、ｉページ目のカタログページとその親階層情報とが対応づけられて階層管理テーブル７０２に設定される。逆に言えば、その親階層に指定されたフォルダもしくは元電子カタログの下に対象のｉページ目のカタログページが登録される。
【００６２】
そしてステップＳ８１４は、ループ変数が全ページ分を処理したかを判断する分岐であり、全ページ分を処理した場合は終了する。具体的には、変数ｉがカタログページ数Ｎ以上となれば全ページについて構造化処理が完了したこととなる。まだ処理していないページがある場合は、ステップＳ８１５で対象ページを次のページとするためにループ変数に１加算し、ステップＳ８０５に戻る処理となる。
【００６３】
以上、説明したように、本実施形態にかかる電子カタログ管理システムを用いることで、クライアントから予め階層属性の注釈を付与した構造化文書をアップロードすれば、サーバにおいて、アップロードされた電子カタログ及びカタログページのデータを登録するとともに、カタログページに付与された階層属性の注釈に基づいて階層的・構造的に電子カタログを再構成することができ、階層管理を自動的に行うことが可能となる。
【００６４】
また、本実施形態によれば、階層構造を持たないデータ、例えば文書を、指定されたとおりの構造のデータたとえば文書として管理することができる。このため、所望の構造のデータたとえば文書を管理し、提供できるとともに、構造化に伴う生産性の低下や資源の利用効率の低下、過誤の可能性を防止することがきる。さらに、構造の指定は文書の注釈でなされるために、入力となる、階層構造を持たないデータとして既存の形式のデータを利用することができる。さらに、本実施形態では、階層構造を持たないデータ形式として、コンピュータの環境に依存しない形式を用いている。こうすることで、オペレーティングシステムなどの環境が相異なるコンピュータ間においても、同一の構造を有するデータたとえば文書を、互換性のあるデータとして取り扱うことができる。
【００６５】
なお、本実施形態のカタログ管理プログラムでは、図５に示したような、各ページの属する相対的な階層をそのページに記述した元文書データによって、図６に示したような構造化文書データを一意的に表現することはできない。本実施形態の階層属性により記述できる構造にはたとえば以下のような制限がある。
（１）あるフォルダの後にそのフォルダと同じ親フォルダに属する同階層のページがある構造は記述できない。
（２）あるページに続けて、そのページが直接属するフォルダに属さず、かつそのページよりも下位階層のページがある構造は記述できない。
【００６６】
階層属性の記述をより複雑なものとすればこれらの制約をなくすことも可能である。しかしながら、上述した制約は、通常の文書の構造を記述する上では問題にならない。これは、書籍やブックレットなど書類化される文書では、下位の分割単位の終端は、それが属する上位の分割単位の終端と通常一致しているという文書の本質的な性質による。そして、本実施形態では、そのような文書の性質を鑑みて、文書に不要な構造を記述するための方法をあえて放棄することで、「上位」「下位」「同列」という３つの記述を組み合わせた、極めて簡略な記述による文書構造の表現を実現している。サーバにおいても、この３種類の記述それぞれに対応する簡単な操作によって文書の構造化を実現できるため、処理の簡略化ひいては処理の迅速化やプログラム上の過誤の減少を実現できる。
【００６７】
＜編集ツール＞
さて、図５の説明では、ユーザは、注釈に階層属性を書き込むために、カタログの構成内容の情報を覚えたり、あるいは何かに控えたりするであろう。しかしながら、実際には、ページレイアウトおよび章立てを表示した形式で編集できるツールを用いれば、利用者は視覚的に容易に操作することが可能となる。
【００６８】
図９は、階層情報を操作するための注釈情報を文書データに付与する編集ツールの例である。なお本編集ツールの例は特に限定するものではなく、例えばこのような操作ができれば効率的であるという点を示している。
【００６９】
図９において、９０１はアプリケーションを示している。本アプリケーションはタイトルバーの下にツールバーがあり、その下に編集領域９０２がある。編集領域９０２においては、縦軸が対象ファイルのページをページ順に表示する。横軸は階層を示す。またいずれかの１つの行が常に編集対象として選択されているものとする。本例は、図５の例を編集ツールで実現する例を示している。例えば、図９において、１ページ目の「表紙」は第一階層（Level1）であり、次の２ページ目の「１章」は第二階層を示した例である。また「１章」の行のLevel1に記載されている矢印は、「下位」を指定したことを示しており、これが実際の注釈情報となる。すなわち、注釈情報としてページに付加された「下位」は、右向き矢印として視覚化されている。同様に、注釈情報としてページに付加された「上位」は、左向き矢印として視覚化されている。
【００７０】
同様に、「１−１」（すなわち３ページ目）の左側に記述された矢印は、さらに「下位」を指定していることを示している。なお５ページ目の「１−２」のLevel2にある丸の中の「Ｎｅｗ」は、第５ページの注釈情報として付与された「同列」を示している。「同列」で指定されるページは、直前のページと同じレベルに配置される。
【００７１】
６ページ目はさらに下位レベルに置かれることが右向き矢印によって指定されている。７ページ目は６ページよりも２階分上位のレベルに置かれる。２つの左向き矢印が２つの「上位」を示している。
【００７２】
次にツールバー内の各ボタンを用いた操作について説明する。
【００７３】
ボタン９０３は、対象となる構造を持たない入力文書データをインポートする処理を実行するために用いられる。ファイルの指定に関しては一般的な手法で構わないので説明を省略する。このボタン９０３を用いることで対象ファイルをインポートすることができる。
【００７４】
ボタン９０４は、編集を行った結果を踏まえて注釈情報が付与された構造をもつ出力文書データの出力処理を行うために用いられる。出力方法についても一般的な手法で良く、説明を省力する。
【００７５】
ボタン９０５は、選択されている対象ページと、対象ページに続くページの階層を１つ上げるボタンである。この際には、対象ページの階層にあるページも含んで処理を行う。利用者がボタン９０５を押すと、文字列「上位」（階層属性を示す）が選択された対象ページに注釈情報として付与される。そして、図９に示す画面において、選択された対象ページを示すオブジェクトが左にシフトされ、対象ページを示すオブジェクトの右側に左向き矢印が表示される。後続するページを示すオブジェクトおよび、そのページに付与された矢印のようなシンボルも、対象ページと同様にシフトされる。しかしながら、文字列「上位」は対象ページのみに付与されているため、左向き矢印は、後続のページには表示されない。
【００７６】
ボタン９０６は、ボタン９０５とは異なり、選択されたページだけ階層を１つ上げる処理に用いられる。例えば、２行目の「１章」が選択された状態でボタン９０５が指示されると、対象行である「１章」及び３−６ページも１階層上がることになる。これに対して、ボタン９０６は、「１章」だけを１階層上げる処理のために利用される。ボタン９０６が一度押されると、文字列「上位」が選択された対象ページに付与され、文字列「下位」が対象ページの次のページに注釈情報として付与される。そして、図９の画面上において、選択された対象ページを示すオブジェクトのみが左にシフトされ、選択されたページを示すオブジェクトの右側に、左向き矢印が表示される。対象ページに続くページを示すオブジェクトはシフトされない。しかしながら、文字列「下位」が対象ページの次のページに付与されているので、次のページを示すオブジェクトの左側に、「下位」を示す右向き矢印が表示される。もし右向き矢印が既に表示されている場合には、右向き矢印が付加的に表示される。
【００７７】
ボタン９０７は、対象行のみを１階層下げる処理に用いられる。ボタン９０７が一度押されると、文字列「下位」が選択された対象ページに付与され、文字列「上位」が対象ページの次のページに注釈情報として付与される。そして、図９の画面上において、選択された対象ページを示すオブジェクトのみが右にシフトされ、選択されたページを示すオブジェクトの左側に、右向き矢印が表示される。対象ページに続くページを示すオブジェクトはシフトされない。しかしながら、文字列「上位」が対象ページの次のページに付与されているので、次のページを示すオブジェクトの右側に、「上位」を示す左向き矢印が表示される。もし左向き矢印が既に表示されている場合には、左向き矢印が付加的に表示される。
【００７８】
同様にボタン９０８は、対象行及び対象行の下に位置するページを全て１階層下げる処理に用いられる。利用者がボタン９０８を押すと、文字列「下位」が選択された対象ページに注釈情報として付与される。そして、図９に示す画面において、選択された対象ページを示すオブジェクトが右にシフトされ、対象ページを示すオブジェクトの左側に右向き矢印が表示される。後続するページを示すオブジェクトおよびそのページに付与された矢印のようなシンボルも、対象ページと同様にシフトされる。しかしながら、文字列「下位」は対象ページのみに付与されているため、右向き矢印は、後続のページには表示されない。
【００７９】
ボタン９０９は、対象行を「同列」とするために指示される。例えば、５行目の「１−２」は同列ボタンが押された例を示している。ボタン９０９が押されると、文字列「同列」が選択された対象ページに付与され、「同列」を示すオブジェクトが図９に示す画面に表示される。
【００８０】
ボタン９１０は、本アプリケーションの終了に用いられる。ボタン９１０が押されると、編集アプリケーションで編集された文書（すなわち電子カタログ）データは、不揮発性メモリに保存される。保存されたデータは、サーバ１２１にアップロードされ、図８に示す処理が実行されて、構造化電子カタログデータに変換される。
【００８１】
以上説明したように、図９を用いた説明を用いた場合、本発明の注釈情報を付与するにあたり視覚的に編集ができる。その結果、より効率的に編集が可能となる。
【００８２】
［他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施形態のシステム全体におけるネットワーク構成図
【図２】本発明の実施形態におけるサーバＰＣの構成図
【図３】本発明の実施形態における階層属性の説明及び説明図１
【図４】本発明の実施形態における階層属性の説明及び説明図２
【図５】本発明の実施形態におけるアップロード前のカタログデータ例を示す図
【図６】本発明の実施形態におけるアップロード後のイメージ例を示す図
【図７】本発明の実施形態におけるアップロード後のデータベース登録例を示す図
【図８】本発明の実施形態におけるフローチャート
【図９】本発明の実施形態における編集アプリケーションのＵＩの一例を示す図
【図１】
2006244467.tif 000003
【図２】
2006244467.tif 000004
【図３】
2006244467.tif 000005
【図４】
2006244467.tif 000006
【図５】
2006244467.tif 000007
【図６】
2006244467.tif 000008
【図７】
2006244467.tif 000009
【図８】
2006244467.tif 000010
【図９】
2006244467.tif 000011