(57)【要約】【課題】階層構造を有した電子データの取扱いを容易にする。【解決手段】タグを用いて階層構造化された電子データ１００を処理するデータ処理装置１１８では、電子データ１００のテキストデータ１０１、複数タグのそれぞれに対応して該タグの属性を示す属性データが記録されるタグ詳細データ１０３および複数タグのそれぞれについて該タグのテキストデータにおける出現位置を示すタグ出現位置データ１０２とを、それらが予め格納された記録媒体１１７から入力部１０４を介して入力する。制御部１１０は、入力されたタグ出現位置データ１０２に基づいて、任意領域に対応するテキストデータにおいて出現するタグを特定すると、入力されたタグ詳細データ１０３から、特定されたタグの属性データを読出し、任意領域のテキストデータを、読出された属性データに基づいて処理する。【選択図】図１
2008293516.tif 000002
【特許請求の範囲】
【請求項１】
テキストデータと前記テキストデータにおいて出現する複数のタグを含み、かつ前記タグを用いて階層構造化された電子データを処理するデータ処理装置であって、
前記テキストデータが記録されるテキスト情報と、前記複数タグのそれぞれに対応して該タグの属性を示す属性データが記録されるタグ詳細情報と、前記複数タグのそれぞれについて該タグの前記テキストデータにおける出現位置を示す固定長の出現位置データが記録されるタグ出現位置情報とを入力する入力手段と、
前記入力手段により入力された前記テキスト情報から、前記電子データの処理対象となる任意領域に対応する前記テキストデータを読出すテキスト読出手段と、
前記入力手段により入力された前記タグ出現位置情報に基づいて、前記任意領域に対応する前記テキストデータにおいて出現する前記タグを特定し、前記入力手段により入力された前記タグ詳細情報から、前記特定された前記タグの前記属性データを読出す属性読出手段と、
前記テキスト読出手段により読出された前記テキストデータを、前記属性読出手段により読出された前記属性データに基づいて処理するデータ処理手段とを備え、
前記出現位置データは、該タグのタグ名データと、前記テキストデータにおける該タグの有効範囲を示す有効範囲データと、前記タグ詳細情報における該タグの前記属性データが記録された場所を示す記録場所データを含み、
前記属性読出手段は、前記任意領域に該当するタグを前記有効範囲データに基づいて特定し、特定された前記タグの前記記録場所データに基づいて前記タグ詳細情報から該タグの前記属性データを読出す、データ処理装置。
【請求項２】
前記データ処理手段は、前記テキスト読出手段により読出された前記テキストデータについて、前記属性読出手段により読出された前記属性データに基づいて、レイアウトを計算するレイアウト計算手段を有する、請求項１に記載のデータ処理装置。
【請求項３】
前記有効範囲データは、前記テキストデータにおける該タグの属性が有効となる部分のデータの開始場所と終了場所を示す、請求項１または２に記載のデータ処理装置。
【請求項４】
前記有効範囲データは、前記テキストデータにおける該タグの属性が
有効となる部分のデータの開始場所と、該部分データの大きさとを示す、請求項１または２に記載のデータ処理装置。
【請求項５】
前記記録場所データは、前記タグ詳細情報における該タグの前記属性データの記録開始場所と終了場所とを示す、請求項１から４のいずれか１項に記載のデータ処理装置。
【請求項６】
前記記録場所データは、前記タグ詳細情報における該タグの前記属性データの記録開始場所と該属性データの大きさを示す、請求項１から４のいずれか１項に記載のデータ処理装置。
【請求項７】
前記電子データを検索して前記テキストデータを抽出して記録し前記テキスト情報を作成するテキスト情報作成手段と、
前記電子データを検索して前記タグが検索される毎に、該タグに対応して前記属性データを記録し前記タグ詳細情報を作成するタグ詳細情報作成手段と、
前記電子データを検索して前記タグが検索される毎に、該タグに対応して前記出現位置データを記録し前記タグ出現位置情報を作成するタグ出現位置情報作成手段との少なくとも１つをさらに備える、請求項１から６のいずれか１項に記載のデータ処理装置。
【請求項８】
前記テキスト情報作成手段は、前記電子データの前記任意領域を検索して前記テキストデータを抽出して記録し前記テキスト情報に作成し、
前記タグ詳細情報作成手段は、前記電子データの前記任意領域を検索して前記タグが検索される毎に、該タグに対応して前記属性データを記録し前記タグ詳細情報を作成し、
前記タグ出現位置情報作成手段は、前記電子データの前記任意領域を検索して前記タグが検索される毎に、該タグに対応して前記出現位置データを記録し前記タグ出現位置情報を作成する、請求項７に記載のデータ処理装置。
【請求項９】
前記電子データのための前記テキスト情報、前記タグ出現位置情報および前記タグ詳細情報を、前記入力手段により入力可能か否か判断する手段をさらに備える、請求項１から８のいずれか１項に記載のデータ処理装置。
【請求項１０】
テキストデータと前記テキストデータにおいて出現する複数のタグを含み、かつ前記タグを用いて階層構造化された電子データを、コンピュータを用いて処理するデータ処理方法であって、
前記コンピュータの入力手段が、前記テキストデータが記録されるテキスト情報と、前記複数タグのそれぞれに対応して該タグの属性を示す属性データが記録されるタグ詳細情報と、前記複数タグのそれぞれについて該タグの前記テキストデータにおける出現位置を示す固定長の出現位置データが記録されるタグ出現位置情報とを入力する入力ステップと、
前記コンピュータのテキスト読出手段が、前記入力ステップにより入力された前記テキスト情報から、前記電子データの処理対象となる任意領域に対応する前記テキストデータを読出すテキスト読出ステップと、
前記コンピュータの属性読出手段が、前記入力ステップにより入力された前記タグ出現位置情報に基づいて、前記任意領域に対応する前記テキストデータにおいて出現する前記タグを前記情報処理部により特定し、前記入力ステップにより入力された前記タグ詳細情報から、前記特定された前記タグの前記属性データを読出す属性読出ステップと、
前記コンピュータのデータ処理手段が、前記テキスト読出ステップにより読出された前記テキストデータを、前記属性読出ステップにおいて読出された前記属性データに基づいて処理するデータ処理ステップとを備え、
前記出現位置データは、該タグのタグ名データと、前記テキストデータにおける該タグの有効範囲を示す有効範囲データと、前記タグ詳細情報における該タグの前記属性データが記録された場所を示す記録場所データを含み、
前記属性読出ステップでは前記属性読出手段が、前記任意領域に該当するタグを前記有効範囲データに基づいて特定し、特定された前記タグの前記記録場所データに基づいて前記タグ詳細情報から該タグの前記属性データを読出す、データ処理方法。
【請求項１１】
請求項１０に記載のデータ処理方法をコンピュータに実行させるためのデータ処理プログラム。
【請求項１２】
請求項１１に記載のデータ処理プログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法、データ処理プログラムおよび記録媒体に関し、特に、階層構造を有する電子データを、テキストデータと、タグ出現位置データと、タグ詳細データとを組合わせて処理するためのデータ処理装置、データ処理方法、データ処理プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
文書記述言語の定義に従って所定の処理を実行させるための構造化された電子データであって、階層構造を有する構造化文書を記録するためのデータ形式として、ＳＧＭＬ（Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋ−ｕｐ  Ｌａｎｇｕａｇｅ）やＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋ−ｕｐ  Ｌａｎｇｕａｇｅ）などが知られている。特にＸＭＬは、インターネットで交換する電子文書や電子データなどで近年盛んに使用されている（非特許文献１の１４−１５ページを参照）。
【０００３】
ＸＭＬ形式の電子データを扱う処理方法として、ＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）形式とＳＡＸ（Ｓｉｍｐｌｅ  ＡＰＩ  ｆｏｒ  ＸＭＬ）形式が存在する。
【０００４】
ＤＯＭ形式とは、対象とする電子データをすべて読込み、電子データ内の全要素の階層構造を把握してから、電子データの各要素にアクセスする処理方法である。例えば、図１２のような階層構造を持つ電子データがある場合、一旦、電子データ全体を読込み、全要素の階層構造を解析する。図１２は電子データの階層構造のみを示し、本文、内容は省略している。そして、図１２の階層構造を持つ電子データから、図１３のような木構造を作成した後、各要素（ＴＩＴＬＥ、ＡＵＴＨＯＲなど）にアクセスする。よって、電子データの階層構造を把握した後に処理することになるため、任意の要素にアクセスしやすいという特徴がある。
【０００５】
これに対し、ＳＡＸ形式では、電子データを先頭から順に読込みながら、読込んだ要素のみ構造解析し、処理していく形式である。そのため、電子データ全体の解析処理を待たずに、順次処理していくことができ、処理速度に関してもメモリ容量に関してもオーバヘッドが少ないというメリットがある。
【非特許文献１】プログラミング技術情報誌  Ｃ  ＭＡＧＡＺＩＮＥ  ＦＥＢ．２０００  ２「特集１  ＸＭＬ  Ｃ／Ｃ＋＋による実用的な利用法」、発行元：ソフトバンクパブリッシング株式会社
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上のように、ＤＯＭ形式、ＳＡＸ形式ともにそれぞれのメリットがあるが、反面、次のようなデメリットがそれぞれにある。
【０００７】
ＤＯＭ形式の場合、電子データ内の一部のデータだけを処理したい場合であっても、木構造を生成するために、電子データ全体の構造解析をしなくてはならず、処理に無駄が生じる。また、電子データのサイズが大きくなると、木構造を作成するための処理時間、および木構造を記憶しておくためのメモリ使用量が多くなるという欠点があった。
【０００８】
一方、ＳＡＸ形式の場合、電子データの先頭から順に処理することを前提にしたアクセス形式であるため、電子データの内容を先頭から順に処理せず、任意の要素を任意の順番に扱う場合でも、必ず先頭からデータを読込み、構造解析の処理が入る。また、電子データの後半の要素を処理したいときであっても、電子データの先頭から読込み、構造解析を必要とするために処理時間に無駄が生じる。
【０００９】
階層構造を持つ電子データを高速に処理できるようにするため、電子データを、タグ情報を除き、表示すべき内容のみを記録したテキストデータと、そのテキストデータを処理する際に必要となるタグ情報（例えば、タグ名、属性名、属性値や、テキストデータにおけるそのタグの出現位置などの情報）を記録したタグデータとに変換して、それらを組合わせて処理することによって、処理時間を短縮する方法が考えられる。
【００１０】
しかしながら、上記タグデータに記録されるタグ情報はタグの種類によって、属性の種類や数が異なり大きさが変動するため、上記タグデータは可変長領域または十分に大きなサイズの固定長領域を確保する必要がある。従って、電子データをテキストデータとタグデータとに変換することにより、タグ部分であるかテキスト部分であるかを判定する処理はなくなるが、任意箇所の要素を高速に処理する場合に関しては、タグデータの先頭から読込み、構造解析をしないといけないため、十分な効果を得ることができない。
【００１１】
それゆえに、この発明の目的は、階層構造を有した電子データの取扱いを容易にするためのデータ処理装置、データ処理方法、データ処理プログラムおよび記録媒体を提供することである。
【課題を解決するための手段】
【００１２】
この発明のある局面に従う、テキストデータとテキストデータにおいて出現する複数のタグを含み、かつタグを用いて階層構造化された電子データを処理するデータ処理装置は、テキストデータが記録されるテキスト情報と、複数タグのそれぞれに対応して該タグの属性を示す属性データが記録されるタグ詳細情報と、複数タグのそれぞれについて該タグのテキストデータにおける出現位置を示す出現位置データが記録されるタグ出現位置情報とを入力する入力手段と、入力手段により入力されたテキスト情報から、電子データの処理対象となる任意領域に対応するテキストデータを読出すテキスト読出手段と、入力手段により入力されたタグ出現位置情報に基づいて、任意領域に対応するテキストデータにおいて出現するタグを特定し、入力手段により入力されたタグ詳細情報から、特定されたタグの属性データを読出す属性読出手段と、テキスト読出手段により読出されたテキストデータを、属性読出手段により読出された属性データに基づいて処理するデータ処理手段とを備える。
【００１３】
上述のデータ処理装置では、電子データを、そのテキスト情報とタグ出現位置情報とタグ詳細情報という個別に準備された情報を用いてデータ処理するので、処理対象のデータがタグ部分であるかテキスト部分であるかの判定に関する処理を省略できて、処理を高速に実行できる。
【００１４】
また、電子データとは別個にタグ出現位置情報が準備されているので、タグ出現位置を特定するために電子データのタグに関する木構造（階層化構造）を個別に解析しなくて済むから木構造作成の処理を省略でき、木構造を構築するためのメモリ容量も省略できる。またテキストデータの任意箇所に出現するタグに関して処理する場合には、タグ出現位置データを検索することで該任意箇所に出現するタグを容易に特定できるから、該任意箇所に出現するタグの属性データをタグ詳細情報から速やかに読出すことができる。その結果、階層構造化された電子データの処理を簡単化・高速化できる。
【００１５】
タグ出現位置情報に記録される出現位置データは固定長のデータである。したがって、タグ出現位置情報における各出現位置データの検索を該固定長に基づいて行なうことができて、検索を効率良く行なえる。
【００１６】
出現位置データは、該タグのタグ名データと、テキストデータにおける該タグの有効範囲を示す有効範囲データと、タグ詳細情報における該タグの属性データが記録された場所を示す記録場所データを含み、属性読出手段は、任意領域に該当するタグを有効範囲データに基づいて特定し、特定されたタグの記録場所データに基づいてタグ詳細情報から該タグの属性データを読出す。
【００１７】
したがって、有効範囲データに基づいて任意領域のテキストデータにおいて出現するタグを容易に特定できる。また、特定できたタグの属性データのタグ詳細情報における記録位置も、その記録場所データに基づいて容易に特定して読出しできる。
【００１８】
好ましくは、データ処理手段は、テキスト読出手段により読出されたテキストデータについて、属性読出手段により読出された属性データに基づいて、レイアウトを計算するレイアウト計算手段を有する。
【００１９】
したがって、レイアウト計算のためのタグの属性データは上述のように簡単に特定してタグ詳細情報から読出した後にレイアウト計算できるから、レイアウト計算に要する負荷を少なくできる。
【００２０】
好ましくは、レイアウト計算手段はテキスト読出手段により読出されたテキストデータの出力時のレイアウトを計算する。この出力は表示を含む。
【００２１】
好ましくは、有効範囲データは、テキストデータにおける該タグの属性が有効となる部分のデータの開始場所と終了場所を示す。したがって、有効範囲データをデータの開始場所と終了場所により示すことができる。
【００２２】
好ましくは、有効範囲データは、テキストデータにおける該タグの属性が有効となる部分のデータの開始場所と、該部分データの大きさとを示す。したがって、有効範囲データをデータの開始場所と該データの大きさ（サイズ）とで特定できる。
【００２３】
好ましくは、記録場所データは、タグ詳細情報における該タグの属性データの記録開始場所と終了場所とを示す。したがって、記録場所データを対応の属性データの記録開始場所と終了場所により示すことができる。
【００２４】
好ましくは、記録場所データは、タグ詳細情報における該タグの属性データの記録開始場所と該属性データの大きさを示す。したがって、記録場所データを属性データの記録開始場所と該データの大きさ（サイズ）とで特定できる。
【００２５】
好ましくは、電子データを検索してテキストデータを抽出して記録しテキスト情報を作成するテキスト情報作成手段と、電子データを検索してタグが検索される毎に、該タグに対応して属性データを記録しタグ詳細情報を作成するタグ詳細情報作成手段と、電子データを検索してタグが検索される毎に、該タグに対応して出現位置データを記録しタグ出現位置情報を作成するタグ出現位置情報作成手段との少なくとも１つをさらに備える。
【００２６】
したがってデータ処理装置では、電子データについて、テキスト情報、タグ詳細情報およびタグ出現位置情報のそれぞれを作成することができる。
【００２７】
好ましくは、テキスト情報作成手段は、電子データの任意領域を検索してテキストデータを抽出して記録しテキスト情報に作成し、タグ詳細情報作成手段は、電子データの任意領域を検索してタグが検索される毎に、該タグに対応して属性データを記録しタグ詳細情報を作成し、タグ位置情報作成手段は、電子データの任意領域を検索してタグが検索される毎に、該タグに対応して出現位置データを記録しタグ出現位置情報を作成する。
【００２８】
したがって、電子データの全体ではなく任意領域のデータについて、テキスト情報、タグ詳細情報およびタグ出現位置情報のそれぞれを作成することができる。
【００２９】
好ましくは、データ処理装置は、電子データのためのテキスト情報、タグ出現位置情報およびタグ詳細情報を、入力手段により入力可能か否か判断する手段をさらに備える。
【００３０】
したがって、入力手段によるこれらデータの入力が可能か否かをデータ処理に先立ち判定できる。また、これらデータの作成は、該判定の結果が、入力不可を示すときに行なわれるようにしてよい。
【００３１】
この発明の他の局面に従う、テキストデータとテキストデータにおいて出現する複数のタグを含み、かつタグを用いて階層構造化された電子データを、コンピュータを用いて処理するデータ処理方法は、コンピュータの入力手段が、テキストデータが記録されるテキスト情報と、複数タグのそれぞれに対応して該タグの属性を示す属性データが記録されるタグ詳細情報と、複数タグのそれぞれについて該タグのテキストデータにおける出現位置を示す固定長の出現位置データが記録されるタグ出現位置情報とを入力する入力ステップと、コンピュータのテキスト読出手段が、入力ステップにより入力されたテキスト情報から、電子データの処理対象となる任意領域に対応するテキストデータを読出すテキスト読出ステップと、コンピュータの属性読出手段が、入力ステップにより入力されたタグ出現位置情報に基づいて、任意領域に対応するテキストデータにおいて出現するタグを情報処理部により特定し、入力ステップにより入力されたタグ詳細情報から、特定されたタグの属性データを読出す属性読出ステップと、コンピュータのデータ処理手段が、テキスト読出ステップにより読出されたテキストデータを、属性読出ステップにおいて読出された属性データに基づいて処理するデータ処理ステップとを備え、出現位置データは、該タグのタグ名データと、テキストデータにおける該タグの有効範囲を示す有効範囲データと、タグ詳細情報における該タグの属性データが記録された場所を示す記録場所データを含み、属性読出ステップでは属性読出手段が、任意領域に該当するタグを有効範囲データに基づいて特定し、特定されたタグの記録場所データに基づいてタグ詳細情報から該タグの属性データを読出す。
【００３２】
この発明のさらに他の局面に従うデータ処理プログラムは、上述のデータ処理方法をコンピュータに実行させるためのプログラムである。
【００３３】
この発明のさらに他の局面に従う記録媒体は、上述のデータ処理プログラムを記録したコンピュータ読取可能な記録媒体である。
【発明の効果】
【００３４】
本発明では、電子データを、そのテキスト情報とタグ出現位置情報とタグ詳細情報という個別に準備された情報を用いてデータ処理するので、処理対象のデータがタグ部分であるかテキスト部分であるかの判定に関する処理を省略できて、またそれに要するメモリも削減できて、処理の高速化と消費メモリ容量の削減とが可能になる。
【発明を実施するための最良の形態】
【００３５】
以下、図を用いて本発明の実施の形態について説明する。
本実施の形態では、階層構造を持つ電子文書データを高速に処理できるようにするため、電子文書データから作成して、表示すべき内容のみを記録したテキストデータと、そのテキストデータを処理する際に必要となるタグの情報およびテキストデータにおける出現位置の情報を記録した固定長のタグ出現位置データと、そのタグの属性などの情報を記録した可変長のタグ詳細データとを得て、それらを組合わせて処理することによって、処理時間を短縮するとともにメモリ使用量を削減する。
【００３６】
（用語の説明）
まず、ＨＴＭＬ、ＸＭＬ、ＳＧＭＬなどのマークアップ言語で記載されたテキストファイル中で用いられるタグに関連した用語について説明する。タグは、ここでは文字列の出力態様（インデント、表示色など）を指定するための特別の文字または記号の列であり、予約語である。
【００３７】
テキストファイル中に記載されたタグの情報を解析する場合には、開始タグ、これと対となる終了タグ（ここではタグ対という）、開始タグと終了タグとに挟まれた部分データである子供要素とに分け、また、開始タグの中を、タグ名、属性名、属性値に解析する必要がある。
【００３８】
開始タグとは、「＜」で始まり、「＞」で終わる文字列の部分をいう。終了タグとは、「＜／」で始まり、「＞」で終わる文字列の部分をいう。開始タグと終了タグとに挟まれた部分に子供要素がない場合は、開始タグと終了タグを１つにして、「＜」で始まり、「／＞」で終わる文字列として記述することもできる。これを、空タグという。空タグは、開始タグと終了タグとが並んでいるのと同等に考えることができる。
【００３９】
空タグでない場合には、子供要素はテキストファイルを構成する文字列または他のタグ対を含む。子供要素において、該子供要素を挟むタグ対の開始タグと同一種類の属性を指示する１つ以上のタグ対が含まれる場合には、子供要素を挟むタグ対（これを外部タグ対という）と該子供要素中に含まれるタグ対（これを内部タグ対という）は、複数のタグ対が階層構造を有する入れ子関係を構成するので、内部タグ対の開始タグの属性値には上位層の外部タグ対の属性値が反映されることになる。
【００４０】
タグ名は、開始タグまたは空タグの「＜」の次に続く文字列で示される。タグ名の後ろに「＝」を含んだ文字列が続く場合、「＝」の左辺が属性名、右辺の「”」で囲まれた文字列が属性値という。例えば、「＜ａ  ｂ＝“ｃ”＞ｄ＜／ａ＞」というＸＭＬデータがあった場合、「＜ａ  ｂ＝“ｃ”＞」が開始タグ、「ｄ」が子供要素、「＜／ａ＞」が終了タグである。開始タグの中の「ａ」がタグ名、「ｂ」が属性名、「ｃ」が属性値である。属性名は該開始タグの子供要素に関する出力時の属性、たとえばインデント、表示色などの固有の特徴を指し、属性値は対応する属性の値、たとえばインデントの文字下げの数、表示色が赤色などを示す。子供要素が空の場合の空タグの場合には、「＜ａ  ｂ＝“ｃ”／＞」という形式になる。なお、以下の説明では、タグ名が「ａ」である場合にはそのタグ名を「ａタグ」、属性名が「ｂ」である場合にはその属性名を「ｂ属性」、対応する属性値を「ｂ属性の値」という。
【００４１】
（データ処理装置の構成）
図１は、本発明に係るデータ処理装置の構成を周辺装置と関連付けて示す図である。データ処理装置１１８の周辺には、ユーザからの要求を受信し、図示のないデータベースに記録された電子データを送信するサーバ１１４、ユーザが電子データを受信するためのパソコン（パーソナルコンピュータの略）１１６、サーバ１１４とパソコン１１６を接続するネットワーク１１５、およびパソコン１１６から電子データを取出してデータ処理装置１１８に電子データを供給するための記録媒体１１７が設けられる。データ処理装置１１８は記録媒体１１７から供給された電子データを処理して目的に応じたデータ処理、例えば表示のためのデータ処理などをする。ここでは電子データは表示されると想定して説明するが、他の出力形態、たとえば電子データは印刷されてもよい。
【００４２】
パソコン１１６をコンビニエンスストア、駅構内などに設置された電子データ受信装置に代替し、この電子データ受信装置から電子データを読出して、記録媒体１１７に記録する方式としてもよい。この場合、電子データ受信装置から電子データを読出して記録媒体１１７に記録する際に課金することが可能である。
【００４３】
また、サーバ１１４から送信される電子データを、パソコン１１６を介することなく、データ処理装置１１８が受信して記録媒体１１７に記録するように構成してもよい。
【００４４】
記録媒体１１７にはパソコン１１６などの装置により電子データ１００、ならびに該電子データ１００から作成して得られたテキストデータ１０１、タグ出現位置データ１０２、およびタグ詳細データ１０３が対応付けして格納される。ここでは、説明を簡単にするために記録媒体１１７には電子データ１００とそれから作成されたデータが対応付けられて１組だけ格納されると想定しているが、複数組が格納されていてよい。
【００４５】
電子データ１００は文書記述言語の定義に従って所定の処理を実行させるための構造化された電子データであって、複数のタグを用いた階層構造を有する構造化文書を記録するためのデータ形式であるＳＧＭＬやＸＭＬなどを用いて記録される。
【００４６】
テキストデータ１０１は、構造化された電子データ１００から表示すべき内容のみを示すデータである。タグ出現位置データ１０２は、対応のテキストデータ１０１を処理する際に必要となるタグ情報のうち、各タグのタグ名情報、およびテキストデータ１０１における出現位置情報を記録したデータであり、固定長データのみで構成される。タグ詳細データ１０３は、対応のテキストデータ１０１を処理する際に必要となるタグ情報のうち、各タグの属性などの情報を記録したデータである。
【００４７】
サーバ１１４から送信されて記録媒体１１７に格納されるデータは、電子データ１００のみでもよいし、電子データ１００から作成されたテキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３の３つのデータのみでもよい。
【００４８】
データ処理装置１１８は入力部１０４、データ構造解析部１０５、処理部１０６、制御部１１０、テキストデータ作成部１１１、タグ出現位置データ作成部１１２およびタグ詳細データ作成部１１３を備える。
【００４９】
入力部１０４は記録媒体１１７から電子データ１００、テキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３を読込む。
【００５０】
データ構造解析部１０５は電子データ１００から、もしくはテキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３から、電子データ１００の階層構造を解析する。
【００５１】
テキストデータ作成部１１１は、テキストデータ１０１が存在しない場合に電子データ１００からテキストデータ１０１を作成する。サーバ１１４から送信されるデータが、テキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３の３つである場合、テキストデータ作成部１１１は省略されてもよい。
【００５２】
タグ出現位置データ作成部１１２は、タグ出現位置データ１０２が存在しない場合に電子データ１００からタグ出現位置データ１０２を作成する。サーバ１１４から送信されるデータが、テキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３の３つである場合、タグ出現位置データ作成部１１２は省略されてもよい。
【００５３】
タグ詳細データ作成部１１３は、タグ詳細データ１０３が存在しない場合に電子データ１００からタグ詳細データ１０３を作成する。サーバ１１４から送信されるデータが、テキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３の３つである場合、タグ詳細データ作成部１１３は省略されてもよい。
【００５４】
制御部１１０は、入力部１０４、データ構造解析部１０５、テキストデータ作成部１１１、タグ出現位置データ作成部１１２、タグ詳細データ作成部１１３、および処理部１０６の処理を制御する。
【００５５】
処理部１０６は、データ構造解析部１０５による階層構造の解析結果に基づき所定の処理を行う。具体的には、処理部１０６は、対象とする電子データの内容、および処理内容によって構成が異なるが、データ処理装置１１８が、例えば、インターネットで交換する電子文書や電子データ、単行本、教科書、雑誌、小説や論文のような文章などの電子データを表示するための装置である場合には、文章の表示レイアウトを計算するレイアウト計算部１０７による算出された表示レイアウトに基づいて表示をする表示部１０８およびスクロールなどのユーザからの指示を処理するユーザ指示処理部１０９を有する。
【００５６】
電子データが音声データである場合は、処理部１０６は音声データの読上げ装置に変更され、また、表示部１０８には音声再生部が使用され、レイアウト計算部１０７は読む部分と読まない部分を判定したり、強調して読む部分とそうでない部分を判定したり、また各読上げの間隔を調整する部分に変更される。音声データの場合、階層構造に応じて音声属性を変えて読上げるようにしてもよい。さらに音声の場合はシナリオ解釈部、音声出力部、再生源を管理するために、各要素の間で同期を取る同期部が必要になる。
【００５７】
（データ処理装置の実現例）
図２にデータ処理装置１１８を携帯型の表示処理装置として実現した場合の例を示す。図２において、表示部１０８は液晶ディスプレイなどから構成される。記録媒体１１７は、入力部１０４に着脱自在に装着されて、装着されたときは、記録媒体１１７に予め格納された処理対象の電子データ１００、もしくはテキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３が入力部１０４を介して読取られる。ユーザ指示処理部１０９に関連して十字キー１１９およびペン１２０を備える。十字キー１１９は、ユーザが表示文書のスクロール指示や表示させたい書籍や文書の電子データ１００の選択を指示する場合などに操作される。ペン１２０は、電子データにリンク機能が含まれるとき、リンク先にジャンプするためにユーザにより用いられて、データ処理装置１１８の制御部１１０からユーザに対して求められた確認事項に返答するためにも使用される。
【００５８】
なお、データ処理装置１１８に対する電子データ１００、もしくはテキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３とのすべて、または一部の供給は、記録媒体１１７を介してするものに限定されない。たとえば、データ処理装置１１８本体の内部に所定の記録領域を設けて、そこに上述したようなデータの一部、もしくはすべてを記録するようにしてもよい。また、ネットワーク１１５上のサーバ１１４、あるいは図示のないデータベースに上述のデータの一部、もしくはすべてを記録し、ダウンロードしながら処理するようにしてもよい。
【００５９】
（タグ出現位置データ１０２の説明）
図３にタグ出現位置データ１０２の構造の一例を示す。タグ出現位置データ１０２は、ファイル名情報３００とタグ出現位置情報３０１とを含む。ファイル名情報３００は、対応するテキストデータ１０１のファイル名、対応するタグ詳細データ１０３のファイル名を示すデータ３０２と３０３を含む。
【００６０】
ファイル名情報３００は、タグ出現位置データ１０２が、どのテキストデータ１００、もしくは、どのタグ詳細データ１０３に対応するものかを指示するから、タグ出現位置データ１０２を、対応のテキストデータ１０１と連結して記録する場合には、テキストデータファイル名のデータ３０２の領域は省略してもよい。また、タグ出現位置データ１０２を、対応のタグ詳細データ１０３と連結して記録する場合には、タグ詳細データファイル名のデータ３０３の領域は省略してもよい。
【００６１】
タグ出現位置情報３０１は、対応のテキストデータ１０１に含まれるタグの総数を示すデータ３０４および対応のテキストデータ１０１に含まれる全てのタグのそれぞれに対応してタグ位置データ３０５を含む。タグ位置データ３０５のそれぞれは、対応のタグ名を示すデータ３０６、対応のタグのテキストデータ１０１における出現開始位置と終了位置を示すデータ３０７と３０８、および対応のタグのタグ詳細データ１０３における格納開始位置と終了位置を示すデータ３０９と３１０を含む。なお、データ３０７と３０８は開始タグと終了タグのテキストデータ１０１における記述位置を示す。データ３０７〜３１０はタグの各データ（テキストデータ１０１またはタグ詳細データ１０２）の先頭からのバイト数などで記録される。
【００６２】
タグのテキストデータ１０１における出現終了位置の代わりに、タグのテキストデータ１０１における影響範囲を記録してもよい。影響範囲とは、タグの属性が有効となる部分のテキストデータの大きさ（範囲）を示し、出現開始位置から出現終了位置までの範囲に対応する。つまり、（出現終了位置−出現開始位置）による差分を意味する。これによって、出現位置の情報の代わりに影響範囲の情報を記録しても、（出現開始位置＋影響範囲）の値から出現終了位置のデータ３０８を得ることができる。
【００６３】
同様に、タグのタグ詳細データ１０３における格納終了位置のデータ３１０の代わりに、タグのタグ詳細データ１０３におけるデータサイズを記録してもよいデータサイズとは、格納開始位置から格納終了位置までのサイズを意味する。つまり、（格納終了位置−格納開始位置）の差分を意味する。これによって、格納位置の情報の代わりにデータサイズの情報を記録しても、（格納開始位置＋データサイズ）の値から格納終了位置のデータ３１０を得ることができる。
【００６４】
タグ出現位置データ１０２を構成するデータは図３に示すように固定長のデータである。ここで、本実施の形態では、固定長データとは電子データ１００の内容に応じて情報が変動しても予め準備する所定のサイズ（例えば４バイト）を超えないようなデータを指す。従って、例えば、図３に示すように、タグのテキストデータ１０１における出現開始位置を示すデータ３０７として４バイトが割当てられた場合、ファイルの先頭からのバイト数を示す０から４２９４９６７２９５のいずれかの値を入力する必要がある。なお、各領域に対するサイズの割当ては、取扱う電子データ１００や、データ処理装置１１８の処理能力に応じて決定することができる。
【００６５】
（タグ詳細データ１０３の説明）
図４にタグ詳細データ１０３の構造の一例を示す。図４を参照して、タグ詳細データ１０３は、対応のタグ出現位置データ１０２に記録されている全てのタグのそれぞれに対応してタグ詳細データ４０１を含む。タグ詳細データ４０１は対応のタグが示す異なる種類の属性の総数を示すデータ４０２、および、対応のタグが示す異なる種類の全ての属性それぞれに対応して属性の種類名を示すデータＡＮおよび属性の値ＡＶを示す。タグ詳細データ１０３は、その長さが各タグの内容に依存するため、基本的に可変長データで構成されるが、固定長データで構成されてもよい。
【００６６】
（データの具体例について）
次に、テキストデータ１０１、タグ出現位置データ１０２内の各データおよびタグ詳細データ１０３内の各データの書式について、文書記述言語の定義に従って記述され、階層構造を有する電子データ１００の具体例であるＸＨＴＭＬ文書を用いて説明する。図５には、処理対象のＸＨＴＭＬ文書である電子データ１００の一例が示される。
【００６７】
図６（Ａ）には、図５のＸＨＴＭＬ文書の電子データ１００から作成したテキストデータ１０１の一例が示される。図６（Ａ）に示すように、基本的には各タグによって挟まれた子供要素のうち、表示すべき内容、すなわち文字列のみがテキストデータ１０１に記録される。このように記録することにより、データ処理装置１１８の処理能力が低く、タグ出現位置データ１０２およびタグ詳細データ１０３の解析が困難な場合に、テキストデータ１０１のみを処理して表示した場合には、ユーザは表示内容から少なくとも、記述されている文書の内容だけは理解することができる、といった利点が生じる。そのため、表示すべき内容であっても、テキストデータ１０１に記録しない場合がある。これを、文字列にルビを設定するために使用するタグ（以下、ルビタグという）を例として示す。
【００６８】
図５のルビタグ５０３の場合、通常であれば、開始タグ＜ｒｂ＞と終了タグ＜／ｒｂ＞で挟まれた子供要素「吾輩」と、開始タグ＜ｒｔ＞と終了タグ＜／ｒｔ＞で挟まれた子供要素「わがはい」はテキストデータ１０１に記録されるが、そのままでは、テキストデータ１０１の記録内容に従う表示内容は「吾輩わがはい」を示すこととなってしまい、意味がわからなくなってしまう。
【００６９】
そこで、ルビタグ５０３を＜ｒｕｂｙ２  ｒｔ＝“わがはい”＞吾輩＜／ｒｕｂｙ２＞と変換する。本実施の形態では、＜ｒｕｂｙ２＞は、ルビ用のタグであり、ルビ文字列を指定するｒｔ属性を持ち、被ルビ文字列を子供要素に指定するタグを意味する。ルビタグ５０３を＜ｒｕｂｙ２＞タグを使用した要素に変換することにより、テキストデータ１０１には、子供要素である「吾輩」を記録し、ｒｔ属性の値「わがはい」をタグ詳細データ１０３に記録する。この場合のタグ詳細データ１０３への記録内容に関しては後述する。
【００７０】
ルビタグ５０５の場合も、同様に＜ｒｕｂｙ２  ｒｔ＝“けんとう”＞見当＜／ｒｕｂｙ２＞に変換し、子供要素「見当」をテキストデータ１０１に記録し、ｒｔ属性の値「けんとう」をタグ詳細データ１０３に記録する。
【００７１】
ルビタグ以外にも、通常、テキストデータ１０１に記録すべき子供要素でも、その子供要素を対応のタグの属性値に変換し、タグ詳細データ１０３に記録した方がテキストデータ１０１の内容が理解しやすくなる場合は同様の処理を行ってもよい。
【００７２】
上述のルビタグとは逆に、タグの属性値であっても、テキストデータ１０１に記録する場合もある。これを、外字を設定するために使用するタグ（以下、外字タグという）を例として説明する。
【００７３】
本実施の形態では、＜ｇａｉｊｉ＞は、外字用のタグであり、文字フォント名を指定するｓｅｔ属性と、そのｓｅｔ属性で指定した文字フォント内での位置を指定するｃｏｄｅ属性と、横書き表示用の代替画像を指定するｉｍｇ属性と、横書き表示用の代替画像を指定するｖｉｍｇ属性と、代替文字列を指定するａｌｔ属性という異なる複数種類の属性を持つタグを意味する。
【００７４】
図５の外字タグ５０６の場合、通常であれば、テキストデータ１０１には何も記録されないので、そのままでは、テキストデータ１０１に記録される内容が「・・・という人間中で一番悪な種族で・・・」となってしまい、表示した場合に意味がわからなくなってしまう。そこで、外字タグ５０６を＜ｇａｉｊｉ２  ｓｅｔ＝“○○○外字”  ｃｏｄｅ＝“０ｘ１２３４”  ｉｍｇ＝“ｄｏｕ１．ｊｐｇ”  ｖｉｍｇ＝“ｄｏｕ２．ｊｐｇ”＞どう＜／ｇａｉｊｉ２＞と変換する。ここで、本実施の形態では、＜ｇａｉｊｉ２＞は、外字用のタグであり、文字フォント名を指定するｓｅｔ属性と、そのｓｅｔ属性で指定した文字フォント内での位置を指定するｃｏｄｅ属性と、横書き表示用の代替画像を指定するｉｍｇ属性と、横書き表示用の代替画像を指定するｖｉｍｇ属性という複数種類の属性を有して、代替文字列を子供要素に指定するタグを意味する。
【００７５】
このようにして図５の外字タグ５０６を＜ｇａｉｊｉ２＞タグを使用した要素に変換することにより、テキストデータ１０１には、子供要素である「どう」が記録されて、他の属性値はタグ詳細データ１０３に記録される。タグ詳細データ１０３に記録される内容に関しては後述する。これによって、テキストデータ１０１に記録される内容は「・・・という人間中で一番どう悪な種族で・・・」となり、意味がわかる文章になる。
【００７６】
外字タグ以外にも、通常、テキストデータ１０１には何も記録されないものでも、その属性値を子供要素に変換し、テキストデータ１０１に記録した方がテキストデータ１０１の内容を理解しやすくなる場合は同様の処理を行ってもよい。
【００７７】
図６（Ｂ）には、図５のＸＨＴＭＬ文書の電子データ１００から作成したテキストデータ１０１の他の例が示される。図６（Ｂ）では、改行タグ５０４があった位置で実際に改行している。このようにすることによって、テキストデータ１０１の内容を理解しやすくできる。この場合、改行タグ５０４の情報をタグ出現位置データ１０２に記録し、テキストデータ１０１における実際の改行情報はレイアウト計算部１０７において使用しなくてもよいし、逆に、改行タグ５０４の情報はタグ出現位置データ１０２に記録せず、テキストデータ１０１における実際の改行情報をレイアウト計算部１０７において使用してもよい。
【００７８】
改行タグ以外にも、通常、テキストデータ１０１において改行しないものでも、改行した方がテキストデータ１０１の内容を理解しやすくなる場合は改行の処理を行ってもよい。
【００７９】
図７には、図５のＸＨＴＭＬ文書の電子データ１００から作成したタグ出現位置データ１０２の一例が示される。図７のデータ７００〜７０２は図３のデータ３０２〜３０４に対応する。データ７０２には、図５の電子データ１００に含まれるタグ（タグ対）の数を記録する。本来ならば、図５のＸＨＴＭＬ文書の電子データ１００を構成するタグの数は１１個であるが、先に説明したように、ルビ要素を構成する＜ｒｕｂｙ＞タグ、＜ｒｂ＞タグ、＜ｒｔ＞タグの３つを１つのタグに変換して処理しているため７個となり、図７のデータ７０２には「７」を記録する。データ７０３〜７０７は、１つ目のタグである＜ｈｔｍｌ＞タグ５００のタグ位置データ３０５のデータ３０６〜３１０に対応する。データ７０３にはタグ名である「ｈｔｍｌ」を記録し、データ７０４には、＜ｈｔｍｌ＞タグ５００のテキストデータ１０１における出現開始位置を記録し、データ７０５には、＜ｈｔｍｌ＞５００タグのテキストデータ１０１における出現終了位置を記録する。次に、データ７０６には、タグ詳細データ１０３における＜ｈｔｍｌ＞タグ５００の属性情報の格納開始位置を記録し、データ７０７には、タグ詳細データ１０３における＜ｈｔｍｌ＞タグ５００の属性情報の格納終了位置を記録する。以下同様に、データ７０８〜７１２には、２つ目のタグである＜ｂｏｄｙ＞タグ５０１のタグ出現位置データ３０５のための情報を記録し、データ７１３〜７１７には、３つ目のタグである＜ｉｍｇ＞タグ５０２のタグ出現位置データ３０５のための情報を記録し、データ７１８〜７２２には、４つ目のタグである＜ｒｕｂｙ＞タグ５０３のタグ出現位置データ３０５のための情報を記録し、データ７２３〜７２７には、５つ目のタグである＜ｂｒ＞タグ５０４のタグ出現位置データ３０５のための情報を記録し、データ７２９〜７３２には、６つ目のタグである＜ｒｕｂｙ＞タグ５０５のタグ出現位置データ３０５のための情報を記録し、データ７３３〜７３７には、７つ目のタグである＜ｇａｉｊｉ＞タグ５０６のタグ出現位置データ３０５のための情報を記録する。
【００８０】
図８には、図５のＸＨＴＭＬ文書の電子データ１００から作成したタグ詳細データ１０３の一例が示される。データ４０２に対応のデータ８００には、１つ目のタグである＜ｈｔｍｌ＞タグ５００の属性数「０」のみを記録する。なお、この情報が記録されている領域の開始位置、終了位置情報はタグ出現位置データ１０２のデータ７０６とデータ７０７として記録されている。また、＜ｈｔｍｌ＞タグ５００の属性数は０であるから、タグ詳細データ１０３に属性数情報のデータ８００を記録せずに、タグ出現位置データ１０２のデータ７０６とデータ７０７として、「格納領域なし」と記録してもよい。これによって、タグ詳細データ１０３のデータ容量を削減することができる。
【００８１】
以下同様に、２つ目のタグである＜ｂｏｄｙ＞タグ５０１のタグ詳細データ４０１のためのデータ８０１〜８０５を、３つ目のタグである＜ｉｍｇ／＞タグ５０２のタグ詳細データ４０１のためのデータ８０６〜８１０を、４つ目のタグである＜ｒｕｂｙ＞タグ５０３のタグ詳細データ４０１のためのデータ８１１〜８１３をそれぞれ記録する。また５つ目のタグである＜ｂｒ／＞５０４のタグ詳細データ４０１のためのデータ８１４に記録する。＜ｂｒ／＞タグ５０４も＜ｈｔｍｌ＞タグ５００と同様に属性数は０であるから、タグ詳細データ１０３に属性数を記録せずに、タグ出現位置データ１０２の対応のデータ７２６とデータ７２７とに、「格納領域なし」と記録してもよい。そして、６つ目のタグである＜ｒｕｂｙ＞タグ５０５のタグ詳細データ４０１のためのデータ８１５〜８１７を、７つ目のタグである＜ｇａｉｊｉ＞タグ５０６のタグ詳細データ４０１のためのデータ８１８〜８２６をそれぞれ記録する。
【００８２】
（データ処理装置１１８の処理手順について）
図９と図１０を参照して、図１のデータ処理装置が表示装置として動作した場合の処理手順を説明する。図９と図１０の手順は制御部１１０の制御の下に実行される。
【００８３】
まず、ステップＳ９０１では、ユーザが表示したい電子データ１００がユーザ指示としてユーザ指示処理部１０９を介して入力されて指定される。
【００８４】
ステップＳ９０２では、入力部１０４は記録媒体１１７を検索して、ステップＳ９０１で指定された電子データ１００について、記録媒体１１７において電子データ１００のみが存在するのか、それとも、対応のテキストデータ１０１とタグ出現位置データ１０２とタグ詳細データ１０３の３つが存在するかを判定する。検索結果、電子データ１００のみであれば、制御部１１０は処理をステップＳ９０３に進めるが、対応のテキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３が存在していれば、処理をステップＳ９０４に進める。
【００８５】
ステップＳ９０３では、指定された電子データ１００を記録媒体１１７から読出して、読出した電子データ１００についてテキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３を作成する。その後、処理をステップＳ９０４に進める。ステップＳ９０３の詳細は後述する。
【００８６】
ステップＳ９０４では、指定された電子データ１００に対応のタグ出現位置データ１０２が記録媒体１１７から検索されて入力部１０４を介して読出される。
【００８７】
ステップＳ９０６では、記録媒体１１７の対応のテキストデータ１０１から処理対象とされる任意のテキストデータ部分のみを入力部１０４を介して読出す。具体的にはステップＳ９０１にて、ユーザから表示したい電子データ１００が指定されるので、その指定内容に基づいて処理対象部分を特定し読込む。例えば、ユーザが指定した電子データ１００がはじめて表示処理されるのであれば、そのデータの最初から読込む。もしくは、以前に表示処理したことのあるデータで、そのときの最終表示位置をデータ処理装置１１８で記録していれば、その位置から読込む。また、データ処理装置１１８にページジャンプ機能のようなものが予め準備されていれば、ユーザが電子データ１００の任意の箇所を表示するように指示すれば、該当する位置からデータを読込むことができる。
【００８８】
ステップＳ９０７では、Ｓ９０６で特定された処理対象部分に基づき、記録媒体１１７のタグ詳細データ１０３から対応の処理対象部分を入力部１０４を介して読込む。
【００８９】
ここで、タグ出現位置データ１０２が固定長であることを利用して、処理すべきタグの属性情報を効率よく読出すことができる。具体的には、もし、タグの属性を示す情報がタグ出現位置データ１０２とタグ詳細データ１０３とに分離されずに、まとめて可変長で記録されている場合には、タグ属性情報の最初から総当りで所望のデータ（処理すべきタグ情報。例えば、ルビ表示機能がないデータ処理装置１１８であれば、ルビタグ情報は不用となる。）であるかを判定していく必要がある。ところが、本実施の形態ではタグの属性の情報はタグ出現位置データ１０２とタグ詳細データ１０３とに分離され、さらにタグ出現位置データ１０２が固定長であるので、所望のデータがタグ詳細データ１０３の何バイト目に存在するかがタグ出現位置データ１０２から容易に特定できて、特定結果に基づきタグ詳細データ１０３を直接アクセスして読出すことが可能である。
【００９０】
ステップＳ９０９ではレイアウト計算部１０７にてレイアウトを計算する。レイアウトの計算は次の手順で行なう。
【００９１】
まず、ユーザの指示により決定されたテキストデータ１０１の表示開始位置情報と、タグ出現位置データ１０２における各タグのテキストデータ出現開始位置／終了位置のデータとから、表示すべきテキストデータ１０１の部分に関係するタグを特定する。次に、特定したタグについて、タグ出現位置データ１０２における該当するタグ詳細データ格納開始位置／終了位置のデータを読出し、読出したデータに基づいてタグ詳細データ１０３を検索して、対応のタグ詳細データ４０１を読出す。
【００９２】
そして、該当するタグのテキストデータ出現開始位置から終了位置まで、上記手順で得たタグ詳細データ４０１に基づいて、テキストデータ１０１を表示開始位置から順次、図示されない所定記憶領域にレイアウトしていく。
【００９３】
ステップＳ９１０では、ステップＳ９０９のレイアウト計算結果である所定記憶領域の内容に基づき、テキストデータ１０１を表示部１０８により表示される。
【００９４】
ステップＳ９１１では、ユーザ指示処理部１０９を介したユーザからの指示を待つ。ユーザからの指示があるまで、ステップＳ９１１で待機する。ユーザから表示処理の終了が指示された場合には、図９の表示処理は終了する。ユーザから、次ページ、あるいは前ページへのスクロール指示があった場合には、処理はステップＳ９０６に戻り、以下、スクロール先のテキストデータ１０１の任意領域の部分データについて同様な処理が行なわれる。
【００９５】
図９のステップＳ９０３のテキストデータ１０１、タグ出現位置データ１０２のタグ詳細データ１０３の作成処理の手順について図１０のフローチャートに従い説明する。図中、［テキスト］はテキストデータ１０１を、［タグ出現］はタグ出現位置データ１０２を、［タグ詳細］はタグ詳細データ１０３をそれぞれ示す。また図中の［タグ情報］とは、電子データ１００からテキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３を作成するために、データ処理装置１１８内の図示されない記憶領域に一時的に記憶しておく情報を指し、タグ名と、そのタグのタグ出現位置データ１０２におけるテキストデータ出現終了位置を示すデータ３０８の記録位置を示す情報である。
【００９６】
まず、ステップＳ９２１では、入力部１０４を介して記録媒体１１７から指定された電子データ１００を読出し、処理をステップＳ９２２に進める。
【００９７】
ステップＳ９２２以降の処理においては、データ構造解析部１０５にて、読出した電子データ１００を解析すると、テキストデータ作成部１１１、タグ出現位置データ作成部１１２およびタグ詳細データ作成部１１３はテキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３をそれぞれ作成し、作成したこれらデータを記録媒体１１７の指定の電子データ１００と対応付けて書込み記録する。
【００９８】
ステップＳ９２２では、各データ作成に必要な［タグ情報］の領域を初期化し、処理をステップＳ９２３に進める。
【００９９】
ステップＳ９２３では、タグ出現位置データ１０２に、テキストデータファイル名、タグ詳細データファイル名、タグ数を示すデータ３０２〜３０４を記録し、処理をステップＳ９２４に進める。タグ数のデータ３０４としては、この場合には初期化としての０を記録する。
【０１００】
ステップＳ９２４以降の処理では、ステップＳ９２１にて読込んだ電子データ１００を先頭から要素単位で順に処理していく。
【０１０１】
ステップＳ９２４では、文字列またはタグなどの要素の有無を判定する。要素がなければ、電子データ１００の最後の要素まで処理したことになり、データ作成処理を終了する。要素があれば、処理をステップＳ９２５に進める。
【０１０２】
ステップＳ９２５では、要素の種類を判定する。要素が開始タグまたは空タグであれば、処理をステップＳ９２６に進めるが、要素が終了タグであれば処理をステップＳ９３０に進める。要素が文字列であれば処理をステップＳ９３３に進める。
【０１０３】
ステップＳ９２６では、タグ出現位置データ１０２に該要素であるタグについてタグ位置データ３０５を記録する。
【０１０４】
まず、該要素はタグなのでデータ３０４が示すタグ数を１つ増やす。次に、該タグについて開始タグ／空タグを解析し、タグ名を取得して、取得したタグ名を該タグのためのタグ位置データ３０５のデータ３０６として記録する。そして、現時点でのテキストデータ１０１の書込み最終位置を、テキストデータ出現開始位置としたデータ３０７を記録する。もし、要素が空タグであれば、同じ値をテキストデータ出現終了位置としたデータ３０８を記録する。さらに、現時点でのタグ詳細データ１０３の書込み最終位置を、タグ詳細データ格納開始位置としたデータ３０９を記録し、処理をステップＳ９２７に進める。
【０１０５】
ステップＳ９２７では、一時的に記憶しておくべき［タグ情報］に、取得したタグ名と、タグ出現位置データ１０２における該当タグの「テキストデータ出現終了位置」のデータ３０８の格納位置を追加し、処理をステップＳ９２８に進める。
【０１０６】
ステップＳ９２８では、開始タグ／空タグを解析し、属性数、属性名および属性値を取得し、タグ詳細データ１０３に該タグのタグ詳細データ４０１のデータ４０２およびデータ４０３として記録し、処理をステップＳ９２９に進める。
【０１０７】
ステップＳ９２９では、タグ出現位置データ１０２に、現時点でのタグ詳細データ１０３の書込み最終位置を、タグ詳細データ格納終了位置のデータ３１０として記録する。これで、この要素に対する処理は終わり、処理をステップＳ９２４に戻し、次の要素に対する処理を行う。
【０１０８】
ステップＳ９３０では、終了タグを解析し、一時的に記憶している［タグ情報］からそのタグ名と「テキストデータ出現終了位置」の格納位置の情報を得て、処理をステップＳ９３１に進める。
【０１０９】
ステップＳ９３１では、ステップＳ９３０で得た情報が示す格納位置に、現時点でのテキストデータ１０１の書込み最終位置を、テキストデータ出現終了位置としたデータ３０８をタグ出現位置データ１０２の対応のタグ位置データ３０５に記録し、処理をステップＳ９３２に進める。
【０１１０】
ステップＳ９３２では、一時的に記憶している［タグ情報］から、該当タグの情報を削除する。これで、この要素に対する処理は終わり、処理をステップＳ９２４に戻して、次の要素に対する処理を行う。
【０１１１】
ステップＳ９３３では、要素の文字列をテキストデータ１０１に記録する。これで、この要素に対する処理は終わり、処理をステップＳ９２４に戻して、次の要素に対する処理を行う。
【０１１２】
ここまでの処理を電子データ１００中の全ての要素について行うと、該電子データ１００のテキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３の作成が完了するので、ステップＳ９３４において、作成されたこれらデータを該電子データ１００と対応付けて記録媒体１１７に格納して、一連の処理を終了する。
【０１１３】
なお、この実施の形態では、電子データ１００がＸＨＴＭＬ文書である場合を例に挙げて説明を行ったが、ＸＨＴＭＬ文書に限定されない。例えば、ＸＭＬ（extensible markup language）などにより記録された階層構造を有する電子データ１００であっても、同様の処理を行うことができる。
【０１１４】
（まとめ）
このように、メモリ容量に応じて構成された固定長のタグ出現位置データ１０２を用いて処理することによって、テキストデータ１０１、タグ詳細データ１０３の一部のみのデータを効率よく読込むことができるため、高速かつ少ない容量のメモリで処理ができる。本実施の形態では、準備可能なメモリ容量が少ないときに、特に大きな効果を発揮する。具体的には、タグ情報データがタグ出現位置データ１０２とタグ詳細データ１０３とに分離されずに可変長であった場合、タグ情報データ量がメモリ容量をオーバーする惧れがある。本実施の形態では、タグ出現位置データ１０２を固定長データのみから構成することによって、記録媒体１１７の記録可能容量などからタグ情報を記録可能な最大サイズを見積もり、この記録可能容量をオーバーしないタグ出現位置データ１０２の構造を予め作成しておくことができる。
【０１１５】
また、本実施の形態によれば、階層構造を持つ電子データ１００からテキストデータ１０１、タグ出現位置データ１０２、タグ詳細データ１０３とを作成して、それらを組合わせて処理することにより、処理時間を短縮することができ、メモリ使用量も削減できる。
【０１１６】
（データの変形例）
上述の実施の形態では、タグ出現位置データ１０２において、タグ名ぼデータ３０６として、タグ名そのものを記録するようにしていたが、これに代わって、タグ名を一意に識別することができる識別番号を記録するようにしてもよい。この場合、タグ名と識別番号の対応関係を記録したタグ識別情報データが必要となる。
【０１１７】
同様に、タグ詳細データ１０３において、属性名のデータＡＮとして、属性名そのものを記録するようにしていたが、これに代わって、属性名を一意に識別することができる識別番号を記録するようにしてもよい。この場合、属性名と識別番号の対応関係を記録した属性識別情報データが必要になる。
【０１１８】
また、本実施の形態では、所望された電子データ１００の全体についてテキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３を作成していたが、作成の対象は電子データ１００の全体に限定されない。つまり電子データ１００のユーザが所望する任意領域の部分データについてテキストデータ１０１、タグ出現位置データ１０２およびタグ詳細データ１０３を作成するようにしてもよい。
【０１１９】
（他の実施の形態）
上述の実施の形態で示したデータ処理の方法は、これらの方法をコンピュータにより実行することにより実現される。このようなコンピュータの構成例が図１１に示される。
【０１２０】
図１１を参照してコンピュータは、表示部１０８に対応のＣＲＴ（陰極線管）、液晶などからなるモニタ１４３、ユーザ指示処理部１０９に対応のキーボード１５０、マウス１６０およびペンタブレット１７０、制御部に対応の該コンピュータ自体を集中的に制御するためのＣＰＵ（中央処理装置の略）１２２、記録媒体１１７に対応しうるＲＯＭまたはＲＡＭ（ランダムアクセスメモリの略）を含んで構成されるメモリ１２４、記録媒体１１７に対応しうる固定ディスク１２６、ＦＤ１３２が着脱自在に装着されて、装着されたＦＤ１３２をアクセスするＦＤ駆動装置１３０、ＣＤ−ＲＯＭ１４２が着脱自在に装着されて、装着されたＣＤ−ＲＯＭ１４２をアクセスするＣＤ−ＲＯＭ駆動装置１４０、インターネットなどの通信ネットワーク１８２と、該コンピュータとを通信接続するための通信インターフェィス１８０を含む。これらの各部はバスを介して通信接続される。ＦＤ１３２、ＣＤ−ＲＯＭ１４２は記録媒体１１７に対応しうる。通信ネットワーク１８２はネットワーク１１５に対応する。
【０１２１】
コンピュータには、カセット形式の磁気テープが着脱自在に装着されて磁気テープをアクセスする磁気テープ装置が設けられても良い。
【０１２２】
このようなコンピュータに上述のデータ処理方法を実行させるためのプログラムは、コンピュータで読取可能な記録媒体に格納される。本実施の形態では、この記録媒体として、図１１に示されているコンピュータで処理が行なわれるために必要なメモリ、たとえばメモリ１２４のようなそのものがプログラムメディアであってもよいし、また外部記憶装置として図示のない磁気テープ装置およびＣＤ−ＲＯＭ駆動装置１４０などのプログラム読取装置が設けられ、そこに記憶媒体である磁気テープまたはＣＤ−ＲＯＭ１４２が装着されることで読取可能なプログラムメディアであってもよい。いずれの場合においても、格納されているプログラムはＣＰＵ１２２がアクセスして実行させる構成であってもよいし、あるいはいずれの場合もプログラムが一旦読出されて、読出されたプログラムは、図１１のコンピュータの所定のプログラム記憶エリア、たとえばメモリ１２４のＲＡＭの所定エリアにロードされて、ＣＰＵ１２２により読出されて実行される方式であってもよい。このロード用のプログラムは、予め当該コンピュータに格納されているものとする。
【０１２３】
ここで、上述したプログラムメディアはコンピュータ本体と分離可能に構成される記録媒体であり、固定的なプログラムを担持する媒体であってもよい。たとえば、磁気テープやカセットテープなどのテープ系、ＦＤ１３２や固定ディスク１２６などの磁気ディスクやＣＤ−ＲＯＭ１４２／ＭＯ（Magnetic  Optical Disc）／ＭＤ（Mini  Disc）／ＤＶＤ（Digital Versatile  Disc）などの光ディスクのディスク系、ＩＣカード（メモリカードを含む）／光カードなどのカード系、あるいはマスクＲＯＭ、ＥＰＲＯＭ（Erasable  and Programmable ＲＯＭ）、ＥＥＰＲＯＭ(Electrically ＥＰＲＯＭ)、フラッシュＲＯＭなどによる半導体メモリなどである。
【０１２４】
また、流動的にプログラムを担持する媒体であってもよい。つまり、図１１のコンピュータはインターネットを含む通信ネットワーク１８２と通信インターフェィス１８０を介して接続可能な構成が採用されているから、通信ネットワーク１８２からプログラムがダウンロードされるようなき禄媒体であってもよい。プログラムがダウンロードされる場合には、ダウンロード用プログラムは予め当該コンピュータ本体に格納しておくか、あるいは別の記録媒体から予め当該コンピュータ本体にインストールされるものであってもよい。
【０１２５】
なお記録媒体に格納されている内容としてはプログラムに限定されず、データであってもよい。
【０１２６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１２７】
【図１】本実施の形態に係るデータ処理装置のブロック図である。
【図２】本実施の形態に係るデータ処理装置の一例である、携帯型機器で構成された表示装置を示す図である。
【図３】本実施の形態に係るタグ出現位置データのデータ構造の一例を示す図である。
【図４】本実施の形態に係るタグ詳細データのデータ構造の一例を示す図である。
【図５】本実施の形態に係るＸＨＴＭＬ文書の一例を示す図である。
【図６】図５のＸＨＴＭＬ文書から作成したテキストデータの一例を示す図である。
【図７】図５のＸＨＴＭＬ文書から作成したタグ出現位置データの一例を示す図である。
【図８】図５のＸＨＴＭＬ文書から作成したタグ詳細データの一例を示す図である。
【図９】本実施の形態に係るデータ処理装置のフローチャートである。
【図１０】本実施の形態に係るデータ処理装置のフローチャートである。
【図１１】本実施の形態に係るデータ処理方法を実行するためのコンピュータの構成図である。
【図１２】階層構造を有する電子データの一例を示す図である。
【図１３】階層構造を有する電子データから取得した木構造を説明するための図である。
【符号の説明】
【０１２８】
１００  電子データ、１０１  テキストデータ、１０２  タグ出現位置データ、１０３  タグ詳細データ、１０４  入力部、１０５  データ構造解析部、１０７  レイアウト計算部、１０８  表示部、１０９  ユーザ指示処理部、１１０  制御部、１１１  テキストデータ作成部、１１２  タグ出現位置データ作成部、１１３  タグ詳細データ作成部、１１７  記録媒体、１１８  データ処理装置。
【図１】
2008293516.tif 000003
【図２】
2008293516.tif 000004
【図３】
2008293516.tif 000005
【図４】
2008293516.tif 000006
【図５】
2008293516.tif 000007
【図６】
2008293516.tif 000008
【図７】
2008293516.tif 000009
【図８】
2008293516.tif 000010
【図９】
2008293516.tif 000011
【図１０】
2008293516.tif 000012
【図１１】
2008293516.tif 000013
【図１２】
2008293516.tif 000014
【図１３】
2008293516.tif 000015