JP2004355320A - データ処理装置、データ処理方法、データ処理プログラムおよび記録媒体 - Google Patents
データ処理装置、データ処理方法、データ処理プログラムおよび記録媒体 Download PDFInfo
- Publication number
- JP2004355320A JP2004355320A JP2003152096A JP2003152096A JP2004355320A JP 2004355320 A JP2004355320 A JP 2004355320A JP 2003152096 A JP2003152096 A JP 2003152096A JP 2003152096 A JP2003152096 A JP 2003152096A JP 2004355320 A JP2004355320 A JP 2004355320A
- Authority
- JP
- Japan
- Prior art keywords
- data
- tag
- text
- attribute
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
【解決手段】タグを用いて階層構造化された電子データ100を処理するデータ処理装置118では、電子データ100のテキストデータ101、複数タグのそれぞれに対応して該タグの属性を示す属性データが記録されるタグ詳細データ103および複数タグのそれぞれについて該タグのテキストデータにおける出現位置を示すタグ出現位置データ102とを、それらが予め格納された記録媒体117から入力部104を介して入力する。制御部110は、入力されたタグ出現位置データ102に基づいて、任意領域に対応するテキストデータにおいて出現するタグを特定すると、入力されたタグ詳細データ103から、特定されたタグの属性データを読出し、任意領域のテキストデータを、読出された属性データに基づいて処理する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、データ処理装置、データ処理方法、データ処理プログラムおよび記録媒体に関し、特に、階層構造を有する電子データを、テキストデータと、タグ出現位置データと、タグ詳細データとを組合わせて処理するためのデータ処理装置、データ処理方法、データ処理プログラムおよび記録媒体に関する。
【0002】
【従来の技術】
文書記述言語の定義に従って所定の処理を実行させるための構造化された電子データであって、階層構造を有する構造化文書を記録するためのデータ形式として、SGML(Standard Generalized Mark−up Language)やXML(eXtensible Mark−up Language)などが知られている。特にXMLは、インターネットで交換する電子文書や電子データなどで近年盛んに使用されている(非特許文献1の14−15ページを参照)。
【0003】
XML形式の電子データを扱う処理方法として、DOM(Document Object Model)形式とSAX(Simple API for XML)形式が存在する。
【0004】
DOM形式とは、対象とする電子データをすべて読込み、電子データ内の全要素の階層構造を把握してから、電子データの各要素にアクセスする処理方法である。例えば、図12のような階層構造を持つ電子データがある場合、一旦、電子データ全体を読込み、全要素の階層構造を解析する。図12は電子データの階層構造のみを示し、本文、内容は省略している。そして、図12の階層構造を持つ電子データから、図13のような木構造を作成した後、各要素(TITLE、AUTHORなど)にアクセスする。よって、電子データの階層構造を把握した後に処理することになるため、任意の要素にアクセスしやすいという特徴がある。
【0005】
これに対し、SAX形式では、電子データを先頭から順に読込みながら、読込んだ要素のみ構造解析し、処理していく形式である。そのため、電子データ全体の解析処理を待たずに、順次処理していくことができ、処理速度に関してもメモリ容量に関してもオーバヘッドが少ないというメリットがある。
【0006】
【非特許文献1】
プログラミング技術情報誌 C MAGAZINE FEB.2000 2「特集1 XML C/C++による実用的な利用法」、発行元:ソフトバンクパブリッシング株式会社
【0007】
【発明が解決しようとする課題】
以上のように、DOM形式、SAX形式ともにそれぞれのメリットがあるが、反面、次のようなデメリットがそれぞれにある。
【0008】
DOM形式の場合、電子データ内の一部のデータだけを処理したい場合であっても、木構造を生成するために、電子データ全体の構造解析をしなくてはならず、処理に無駄が生じる。また、電子データのサイズが大きくなると、木構造を作成するための処理時間、および木構造を記憶しておくためのメモリ使用量が多くなるという欠点があった。
【0009】
一方、SAX形式の場合、電子データの先頭から順に処理することを前提にしたアクセス形式であるため、電子データの内容を先頭から順に処理せず、任意の要素を任意の順番に扱う場合でも、必ず先頭からデータを読込み、構造解析の処理が入る。また、電子データの後半の要素を処理したいときであっても、電子データの先頭から読込み、構造解析を必要とするために処理時間に無駄が生じる。
【0010】
階層構造を持つ電子データを高速に処理できるようにするため、電子データを、タグ情報を除き、表示すべき内容のみを記録したテキストデータと、そのテキストデータを処理する際に必要となるタグ情報(例えば、タグ名、属性名、属性値や、テキストデータにおけるそのタグの出現位置などの情報)を記録したタグデータとに変換して、それらを組合わせて処理することによって、処理時間を短縮する方法が考えられる。
【0011】
しかしながら、上記タグデータに記録されるタグ情報はタグの種類によって、属性の種類や数が異なり大きさが変動するため、上記タグデータは可変長領域または十分に大きなサイズの固定長領域を確保する必要がある。従って、電子データをテキストデータとタグデータとに変換することにより、タグ部分であるかテキスト部分であるかを判定する処理はなくなるが、任意箇所の要素を高速に処理する場合に関しては、タグデータの先頭から読込み、構造解析をしないといけないため、十分な効果を得ることができない。
【0012】
それゆえに、この発明の目的は、階層構造を有した電子データの取扱いを容易にするためのデータ処理装置、データ処理方法、データ処理プログラムおよび記録媒体を提供することである。
【0013】
【課題を解決するための手段】
この発明のある局面に従う、テキストデータとテキストデータにおいて出現する複数のタグを含み、かつタグを用いて階層構造化された電子データを処理するデータ処理装置は、テキストデータが記録されるテキスト情報と、複数タグのそれぞれに対応して該タグの属性を示す属性データが記録されるタグ詳細情報と、複数タグのそれぞれについて該タグのテキストデータにおける出現位置を示す出現位置データが記録されるタグ出現位置情報とを入力する入力手段と、入力手段により入力されたテキスト情報から、電子データの処理対象となる任意領域に対応するテキストデータを読出すテキスト読出手段と、入力手段により入力されたタグ出現位置情報に基づいて、任意領域に対応するテキストデータにおいて出現するタグを特定し、入力手段により入力されたタグ詳細情報から、特定されたタグの属性データを読出す属性読出手段と、テキスト読出手段により読出されたテキストデータを、属性読出手段により読出された属性データに基づいて処理するデータ処理手段とを備える。
【0014】
上述のデータ処理装置では、電子データを、そのテキスト情報とタグ出現位置情報とタグ詳細情報という個別に準備された情報を用いてデータ処理するので、処理対象のデータがタグ部分であるかテキスト部分であるかの判定に関する処理を省略できて、処理を高速に実行できる。
【0015】
また、電子データとは別個にタグ出現位置情報が準備されているので、タグ出現位置を特定するために電子データのタグに関する木構造(階層化構造)を個別に解析しなくて済むから木構造作成の処理を省略でき、木構造を構築するためのメモリ容量も省略できる。またテキストデータの任意箇所に出現するタグに関して処理する場合には、タグ出現位置データを検索することで該任意箇所に出現するタグを容易に特定できるから、該任意箇所に出現するタグの属性データをタグ詳細情報から速やかに読出すことができる。その結果、階層構造化された電子データの処理を簡単化・高速化できる。
【0016】
好ましくは、タグ出現位置情報に記録される出現位置データは固定長のデータである。したがって、タグ出現位置情報における各出現位置データの検索を該固定長に基づいて行なうことができて、検索を効率良く行なえる。
【0017】
好ましくは、出現位置データは、テキストデータにおける該タグの有効範囲を示す有効範囲データと、タグ詳細情報における該タグの属性データが記録された場所を示す記録場所データを含み、属性読出手段は、任意領域に該当するタグを有効範囲データに基づいて特定し、特定されたタグの記録場所データに基づいてタグ詳細情報から該タグの属性データを読出す。
【0018】
したがって、有効範囲データに基づいて任意領域のテキストデータにおいて出現するタグを容易に特定できる。また、特定できたタグの属性データのタグ詳細情報における記録位置も、その記録場所データに基づいて容易に特定して読出しできる。
【0019】
好ましくは、データ処理手段は、テキスト読出手段により読出されたテキストデータについて、属性読出手段により読出された属性データに基づいて、レイアウトを計算するレイアウト計算手段を有する。
【0020】
したがって、レイアウト計算のためのタグの属性データは上述のように簡単に特定してタグ詳細情報から読出した後にレイアウト計算できるから、レイアウト計算に要する負荷を少なくできる。
【0021】
好ましくは、レイアウト計算手段はテキスト読出手段により読出されたテキストデータの出力時のレイアウトを計算する。この出力は表示を含む。
【0022】
好ましくは、有効範囲データは、テキストデータにおける該タグの属性が有効となる部分のデータの開始場所と終了場所を示す。したがって、有効範囲データをデータの開始場所と終了場所により示すことができる。
【0023】
好ましくは、有効範囲データは、テキストデータにおける該タグの属性が有効となる部分のデータの開始場所と、該部分データの大きさとを示す。したがって、有効範囲データをデータの開始場所と該データの大きさ(サイズ)とで特定できる。
【0024】
好ましくは、記録場所データは、タグ詳細情報における該タグの属性データの記録開始場所と終了場所とを示す。したがって、記録場所データを対応の属性データの記録開始場所と終了場所により示すことができる。
【0025】
好ましくは、記録場所データは、タグ詳細情報における該タグの属性データの記録開始場所と該属性データの大きさを示す。したがって、記録場所データを属性データの記録開始場所と該データの大きさ(サイズ)とで特定できる。
【0026】
好ましくは、電子データを検索してテキストデータを抽出して記録しテキスト情報を作成するテキスト情報作成手段と、電子データを検索してタグが検索される毎に、該タグに対応して属性データを記録しタグ詳細情報を作成するタグ詳細情報作成手段と、電子データを検索してタグが検索される毎に、該タグに対応して出現位置データを記録しタグ出現位置情報を作成するタグ出現位置情報作成手段との少なくとも1つをさらに備える。
【0027】
したがってデータ処理装置では、電子データについて、テキスト情報、タグ詳細情報およびタグ出現位置情報のそれぞれを作成することができる。
【0028】
好ましくは、テキスト情報作成手段は、電子データの任意領域を検索してテキストデータを抽出して記録しテキスト情報に作成し、タグ詳細情報作成手段は、電子データの任意領域を検索してタグが検索される毎に、該タグに対応して属性データを記録しタグ詳細情報を作成し、タグ位置情報作成手段は、電子データの任意領域を検索してタグが検索される毎に、該タグに対応して出現位置データを記録しタグ出現位置情報を作成する。
【0029】
したがって、電子データの全体ではなく任意領域のデータについて、テキスト情報、タグ詳細情報およびタグ出現位置情報のそれぞれを作成することができる。
【0030】
好ましくは、データ処理装置は、電子データのためのテキスト情報、タグ出現位置情報およびタグ詳細情報を、入力手段により入力可能か否か判断する手段をさらに備える。
【0031】
したがって、入力手段によるこれらデータの入力が可能か否かをデータ処理に先立ち判定できる。また、これらデータの作成は、該判定の結果が、入力不可を示すときに行なわれるようにしてよい。
【0032】
この発明の他の局面に従う、テキストデータとテキストデータにおいて出現する複数のタグを含み、かつタグを用いて階層構造化された電子データを処理するデータ処理方法は、テキストデータが記録されるテキスト情報と、複数タグのそれぞれに対応して該タグの属性を示す属性データが記録されるタグ詳細情報と、複数タグのそれぞれについて該タグのテキストデータにおける出現位置を示す出現位置データが記録されるタグ出現位置情報とを入力する入力ステップと、入力ステップにより入力されたテキスト情報から、電子データの処理対象となる任意領域に対応するテキストデータを読出すテキスト読出ステップと、入力ステップにより入力されたタグ出現位置情報に基づいて、任意領域に対応するテキストデータにおいて出現するタグを前記情報処理部により特定し、入力ステップにより入力されたタグ詳細情報から、特定されたタグの前記属性データを読出す属性読出ステップと、テキスト読出ステップにより読出されたテキストデータを、属性読出ステップにおいて読出された属性データに基づいて処理するデータ処理ステップとを備える。
【0033】
好ましくは、上述のデータ処理方法はコンピュータにおいて実行されて、コンピュータに関連の入力部を介して入力ステップが実行されて、コンピュータに関連の情報処理部を介してテキスト読出ステップ、属性読出ステップおよびデータ処理ステップが実行される。
【0034】
この発明のさらに他の局面に従うデータ処理プログラムは、上述のデータ処理方法をコンピュータに実行させるためのプログラムである。
【0035】
この発明のさらに他の局面に従う記録媒体は、上述のデータ処理プログラムを記録したコンピュータ読取可能な記録媒体である。
【0036】
【発明の実施の形態】
以下、図を用いて本発明の実施の形態について説明する。
【0037】
本実施の形態では、階層構造を持つ電子文書データを高速に処理できるようにするため、電子文書データから作成して、表示すべき内容のみを記録したテキストデータと、そのテキストデータを処理する際に必要となるタグの情報およびテキストデータにおける出現位置の情報を記録した固定長のタグ出現位置データと、そのタグの属性などの情報を記録した可変長のタグ詳細データとを得て、それらを組合わせて処理することによって、処理時間を短縮するとともにメモリ使用量を削減する。
【0038】
(用語の説明)
まず、HTML、XML、SGMLなどのマークアップ言語で記載されたテキストファイル中で用いられるタグに関連した用語について説明する。タグは、ここでは文字列の出力態様(インデント、表示色など)を指定するための特別の文字または記号の列であり、予約語である。
【0039】
テキストファイル中に記載されたタグの情報を解析する場合には、開始タグ、これと対となる終了タグ(ここではタグ対という)、開始タグと終了タグとに挟まれた部分データである子供要素とに分け、また、開始タグの中を、タグ名、属性名、属性値に解析する必要がある。
【0040】
開始タグとは、「<」で始まり、「>」で終わる文字列の部分をいう。終了タグとは、「</」で始まり、「>」で終わる文字列の部分をいう。開始タグと終了タグとに挟まれた部分に子供要素がない場合は、開始タグと終了タグを1つにして、「<」で始まり、「/>」で終わる文字列として記述することもできる。これを、空タグという。空タグは、開始タグと終了タグとが並んでいるのと同等に考えることができる。
【0041】
空タグでない場合には、子供要素はテキストファイルを構成する文字列または他のタグ対を含む。子供要素において、該子供要素を挟むタグ対の開始タグと同一種類の属性を指示する1つ以上のタグ対が含まれる場合には、子供要素を挟むタグ対(これを外部タグ対という)と該子供要素中に含まれるタグ対(これを内部タグ対という)は、複数のタグ対が階層構造を有する入れ子関係を構成するので、内部タグ対の開始タグの属性値には上位層の外部タグ対の属性値が反映されることになる。
【0042】
タグ名は、開始タグまたは空タグの「<」の次に続く文字列で示される。タグ名の後ろに「=」を含んだ文字列が続く場合、「=」の左辺が属性名、右辺の「”」で囲まれた文字列が属性値という。例えば、「<a b=“c”>d</a>」というXMLデータがあった場合、「<a b=“c”>」が開始タグ、「d」が子供要素、「</a>」が終了タグである。開始タグの中の「a」がタグ名、「b」が属性名、「c」が属性値である。属性名は該開始タグの子供要素に関する出力時の属性、たとえばインデント、表示色などの固有の特徴を指し、属性値は対応する属性の値、たとえばインデントの文字下げの数、表示色が赤色などを示す。子供要素が空の場合の空タグの場合には、「<a b=“c”/>」という形式になる。なお、以下の説明では、タグ名が「a」である場合にはそのタグ名を「aタグ」、属性名が「b」である場合にはその属性名を「b属性」、対応する属性値を「b属性の値」という。
【0043】
(データ処理装置の構成)
図1は、本発明に係るデータ処理装置の構成を周辺装置と関連付けて示す図である。データ処理装置118の周辺には、ユーザからの要求を受信し、図示のないデータベースに記録された電子データを送信するサーバ114、ユーザが電子データを受信するためのパソコン(パーソナルコンピュータの略)116、サーバ114とパソコン116を接続するネットワーク115、およびパソコン116から電子データを取出してデータ処理装置118に電子データを供給するための記録媒体117が設けられる。データ処理装置118は記録媒体117から供給された電子データを処理して目的に応じたデータ処理、例えば表示のためのデータ処理などをする。ここでは電子データは表示されると想定して説明するが、他の出力形態、たとえば電子データは印刷されてもよい。
【0044】
パソコン116をコンビニエンスストア、駅構内などに設置された電子データ受信装置に代替し、この電子データ受信装置から電子データを読出して、記録媒体117に記録する方式としてもよい。この場合、電子データ受信装置から電子データを読出して記録媒体117に記録する際に課金することが可能である。
【0045】
また、サーバ114から送信される電子データを、パソコン116を介することなく、データ処理装置118が受信して記録媒体117に記録するように構成してもよい。
【0046】
記録媒体117にはパソコン116などの装置により電子データ100、ならびに該電子データ100から作成して得られたテキストデータ101、タグ出現位置データ102、およびタグ詳細データ103が対応付けして格納される。ここでは、説明を簡単にするために記録媒体117には電子データ100とそれから作成されたデータが対応付けられて1組だけ格納されると想定しているが、複数組が格納されていてよい。
【0047】
電子データ100は文書記述言語の定義に従って所定の処理を実行させるための構造化された電子データであって、複数のタグを用いた階層構造を有する構造化文書を記録するためのデータ形式であるSGMLやXMLなどを用いて記録される。
【0048】
テキストデータ101は、構造化された電子データ100から表示すべき内容のみを示すデータである。タグ出現位置データ102は、対応のテキストデータ101を処理する際に必要となるタグ情報のうち、各タグのタグ名情報、およびテキストデータ101における出現位置情報を記録したデータであり、固定長データのみで構成される。タグ詳細データ103は、対応のテキストデータ101を処理する際に必要となるタグ情報のうち、各タグの属性などの情報を記録したデータである。
【0049】
サーバ114から送信されて記録媒体117に格納されるデータは、電子データ100のみでもよいし、電子データ100から作成されたテキストデータ101、タグ出現位置データ102およびタグ詳細データ103の3つのデータのみでもよい。
【0050】
データ処理装置118は入力部104、データ構造解析部105、処理部106、制御部110、テキストデータ作成部111、タグ出現位置データ作成部112およびタグ詳細データ作成部113を備える。
【0051】
入力部104は記録媒体117から電子データ100、テキストデータ101、タグ出現位置データ102およびタグ詳細データ103を読込む。
【0052】
データ構造解析部105は電子データ100から、もしくはテキストデータ101、タグ出現位置データ102およびタグ詳細データ103から、電子データ100の階層構造を解析する。
【0053】
テキストデータ作成部111は、テキストデータ101が存在しない場合に電子データ100からテキストデータ101を作成する。サーバ114から送信されるデータが、テキストデータ101、タグ出現位置データ102およびタグ詳細データ103の3つである場合、テキストデータ作成部111は省略されてもよい。
【0054】
タグ出現位置データ作成部112は、タグ出現位置データ102が存在しない場合に電子データ100からタグ出現位置データ102を作成する。サーバ114から送信されるデータが、テキストデータ101、タグ出現位置データ102およびタグ詳細データ103の3つである場合、タグ出現位置データ作成部112は省略されてもよい。
【0055】
タグ詳細データ作成部113は、タグ詳細データ103が存在しない場合に電子データ100からタグ詳細データ103を作成する。サーバ114から送信されるデータが、テキストデータ101、タグ出現位置データ102およびタグ詳細データ103の3つである場合、タグ詳細データ作成部113は省略されてもよい。
【0056】
制御部110は、入力部104、データ構造解析部105、テキストデータ作成部111、タグ出現位置データ作成部112、タグ詳細データ作成部113、および処理部106の処理を制御する。
【0057】
処理部106は、データ構造解析部105による階層構造の解析結果に基づき所定の処理を行う。具体的には、処理部106は、対象とする電子データの内容、および処理内容によって構成が異なるが、データ処理装置118が、例えば、インターネットで交換する電子文書や電子データ、単行本、教科書、雑誌、小説や論文のような文章などの電子データを表示するための装置である場合には、文章の表示レイアウトを計算するレイアウト計算部107による算出された表示レイアウトに基づいて表示をする表示部108およびスクロールなどのユーザからの指示を処理するユーザ指示処理部109を有する。
【0058】
電子データが音声データである場合は、処理部106は音声データの読上げ装置に変更され、また、表示部108には音声再生部が使用され、レイアウト計算部107は読む部分と読まない部分を判定したり、強調して読む部分とそうでない部分を判定したり、また各読上げの間隔を調整する部分に変更される。音声データの場合、階層構造に応じて音声属性を変えて読上げるようにしてもよい。さらに音声の場合はシナリオ解釈部、音声出力部、再生源を管理するために、各要素の間で同期を取る同期部が必要になる。
【0059】
(データ処理装置の実現例)
図2にデータ処理装置118を携帯型の表示処理装置として実現した場合の例を示す。図2において、表示部108は液晶ディスプレイなどから構成される。記録媒体117は、入力部104に着脱自在に装着されて、装着されたときは、記録媒体117に予め格納された処理対象の電子データ100、もしくはテキストデータ101、タグ出現位置データ102およびタグ詳細データ103が入力部104を介して読取られる。ユーザ指示処理部109に関連して十字キー119およびペン120を備える。十字キー119は、ユーザが表示文書のスクロール指示や表示させたい書籍や文書の電子データ100の選択を指示する場合などに操作される。ペン120は、電子データにリンク機能が含まれるとき、リンク先にジャンプするためにユーザにより用いられて、データ処理装置118の制御部110からユーザに対して求められた確認事項に返答するためにも使用される。
【0060】
なお、データ処理装置118に対する電子データ100、もしくはテキストデータ101、タグ出現位置データ102およびタグ詳細データ103とのすべて、または一部の供給は、記録媒体117を介してするものに限定されない。たとえば、データ処理装置118本体の内部に所定の記録領域を設けて、そこに上述したようなデータの一部、もしくはすべてを記録するようにしてもよい。また、ネットワーク115上のサーバ114、あるいは図示のないデータベースに上述のデータの一部、もしくはすべてを記録し、ダウンロードしながら処理するようにしてもよい。
【0061】
(タグ出現位置データ102の説明)
図3にタグ出現位置データ102の構造の一例を示す。タグ出現位置データ102は、ファイル名情報300とタグ出現位置情報301とを含む。ファイル名情報300は、対応するテキストデータ101のファイル名、対応するタグ詳細データ103のファイル名を示すデータ302と303を含む。
【0062】
ファイル名情報300は、タグ出現位置データ102が、どのテキストデータ100、もしくは、どのタグ詳細データ103に対応するものかを指示するから、タグ出現位置データ102を、対応のテキストデータ101と連結して記録する場合には、テキストデータファイル名のデータ302の領域は省略してもよい。また、タグ出現位置データ102を、対応のタグ詳細データ103と連結して記録する場合には、タグ詳細データファイル名のデータ303の領域は省略してもよい。
【0063】
タグ出現位置情報301は、対応のテキストデータ101に含まれるタグの総数を示すデータ304および対応のテキストデータ101に含まれる全てのタグのそれぞれに対応してタグ位置データ305を含む。タグ位置データ305のそれぞれは、対応のタグ名を示すデータ306、対応のタグのテキストデータ101における出現開始位置と終了位置を示すデータ307と308、および対応のタグのタグ詳細データ103における格納開始位置と終了位置を示すデータ309と310を含む。なお、データ307と308は開始タグと終了タグのテキストデータ101における記述位置を示す。データ307〜310はタグの各データ(テキストデータ101またはタグ詳細データ102)の先頭からのバイト数などで記録される。
【0064】
タグのテキストデータ101における出現終了位置の代わりに、タグのテキストデータ101における影響範囲を記録してもよい。影響範囲とは、タグの属性が有効となる部分のテキストデータの大きさ(範囲)を示し、出現開始位置から出現終了位置までの範囲に対応する。つまり、(出現終了位置−出現開始位置)による差分を意味する。これによって、出現位置の情報の代わりに影響範囲の情報を記録しても、(出現開始位置+影響範囲)の値から出現終了位置のデータ308を得ることができる。
【0065】
同様に、タグのタグ詳細データ103における格納終了位置のデータ310の代わりに、タグのタグ詳細データ103におけるデータサイズを記録してもよいデータサイズとは、格納開始位置から格納終了位置までのサイズを意味する。つまり、(格納終了位置−格納開始位置)の差分を意味する。これによって、格納位置の情報の代わりにデータサイズの情報を記録しても、(格納開始位置+データサイズ)の値から格納終了位置のデータ310を得ることができる。
【0066】
タグ出現位置データ102を構成するデータは図3に示すように固定長のデータである。ここで、本実施の形態では、固定長データとは電子データ100の内容に応じて情報が変動しても予め準備する所定のサイズ(例えば4バイト)を超えないようなデータを指す。従って、例えば、図3に示すように、タグのテキストデータ101における出現開始位置を示すデータ307として4バイトが割当てられた場合、ファイルの先頭からのバイト数を示す0から4294967295のいずれかの値を入力する必要がある。なお、各領域に対するサイズの割当ては、取扱う電子データ100や、データ処理装置118の処理能力に応じて決定することができる。
【0067】
(タグ詳細データ103の説明)
図4にタグ詳細データ103の構造の一例を示す。図4を参照して、タグ詳細データ103は、対応のタグ出現位置データ102に記録されている全てのタグのそれぞれに対応してタグ詳細データ401を含む。タグ詳細データ401は対応のタグが示す異なる種類の属性の総数を示すデータ402、および、対応のタグが示す異なる種類の全ての属性それぞれに対応して属性の種類名を示すデータANおよび属性の値AVを示す。タグ詳細データ103は、その長さが各タグの内容に依存するため、基本的に可変長データで構成されるが、固定長データで構成されてもよい。
【0068】
(データの具体例について)
次に、テキストデータ101、タグ出現位置データ102内の各データおよびタグ詳細データ103内の各データの書式について、文書記述言語の定義に従って記述され、階層構造を有する電子データ100の具体例であるXHTML文書を用いて説明する。図5には、処理対象のXHTML文書である電子データ100の一例が示される。
【0069】
図6(A)には、図5のXHTML文書の電子データ100から作成したテキストデータ101の一例が示される。図6(A)に示すように、基本的には各タグによって挟まれた子供要素のうち、表示すべき内容、すなわち文字列のみがテキストデータ101に記録される。このように記録することにより、データ処理装置118の処理能力が低く、タグ出現位置データ102およびタグ詳細データ103の解析が困難な場合に、テキストデータ101のみを処理して表示した場合には、ユーザは表示内容から少なくとも、記述されている文書の内容だけは理解することができる、といった利点が生じる。そのため、表示すべき内容であっても、テキストデータ101に記録しない場合がある。これを、文字列にルビを設定するために使用するタグ(以下、ルビタグという)を例として示す。
【0070】
図5のルビタグ503の場合、通常であれば、開始タグ<rb>と終了タグ</rb>で挟まれた子供要素「吾輩」と、開始タグ<rt>と終了タグ</rt>で挟まれた子供要素「わがはい」はテキストデータ101に記録されるが、そのままでは、テキストデータ101の記録内容に従う表示内容は「吾輩わがはい」を示すこととなってしまい、意味がわからなくなってしまう。
【0071】
そこで、ルビタグ503を<ruby2 rt=“わがはい”>吾輩</ruby2>と変換する。本実施の形態では、<ruby2>は、ルビ用のタグであり、ルビ文字列を指定するrt属性を持ち、被ルビ文字列を子供要素に指定するタグを意味する。ルビタグ503を<ruby2>タグを使用した要素に変換することにより、テキストデータ101には、子供要素である「吾輩」を記録し、rt属性の値「わがはい」をタグ詳細データ103に記録する。この場合のタグ詳細データ103への記録内容に関しては後述する。
【0072】
ルビタグ505の場合も、同様に<ruby2 rt=“けんとう”>見当</ruby2>に変換し、子供要素「見当」をテキストデータ101に記録し、rt属性の値「けんとう」をタグ詳細データ103に記録する。
【0073】
ルビタグ以外にも、通常、テキストデータ101に記録すべき子供要素でも、その子供要素を対応のタグの属性値に変換し、タグ詳細データ103に記録した方がテキストデータ101の内容が理解しやすくなる場合は同様の処理を行ってもよい。
【0074】
上述のルビタグとは逆に、タグの属性値であっても、テキストデータ101に記録する場合もある。これを、外字を設定するために使用するタグ(以下、外字タグという)を例として説明する。
【0075】
本実施の形態では、<gaiji>は、外字用のタグであり、文字フォント名を指定するset属性と、そのset属性で指定した文字フォント内での位置を指定するcode属性と、横書き表示用の代替画像を指定するimg属性と、横書き表示用の代替画像を指定するvimg属性と、代替文字列を指定するalt属性という異なる複数種類の属性を持つタグを意味する。
【0076】
図5の外字タグ506の場合、通常であれば、テキストデータ101には何も記録されないので、そのままでは、テキストデータ101に記録される内容が「・・・という人間中で一番悪な種族で・・・」となってしまい、表示した場合に意味がわからなくなってしまう。そこで、外字タグ506を<gaiji2 set=“○○○外字” code=“0x1234” img=“dou1.jpg” vimg=“dou2.jpg”>どう</gaiji2>と変換する。ここで、本実施の形態では、<gaiji2>は、外字用のタグであり、文字フォント名を指定するset属性と、そのset属性で指定した文字フォント内での位置を指定するcode属性と、横書き表示用の代替画像を指定するimg属性と、横書き表示用の代替画像を指定するvimg属性という複数種類の属性を有して、代替文字列を子供要素に指定するタグを意味する。
【0077】
このようにして図5の外字タグ506を<gaiji2>タグを使用した要素に変換することにより、テキストデータ101には、子供要素である「どう」が記録されて、他の属性値はタグ詳細データ103に記録される。タグ詳細データ103に記録される内容に関しては後述する。これによって、テキストデータ101に記録される内容は「・・・という人間中で一番どう悪な種族で・・・」となり、意味がわかる文章になる。
【0078】
外字タグ以外にも、通常、テキストデータ101には何も記録されないものでも、その属性値を子供要素に変換し、テキストデータ101に記録した方がテキストデータ101の内容を理解しやすくなる場合は同様の処理を行ってもよい。
【0079】
図6(B)には、図5のXHTML文書の電子データ100から作成したテキストデータ101の他の例が示される。図6(B)では、改行タグ504があった位置で実際に改行している。このようにすることによって、テキストデータ101の内容を理解しやすくできる。この場合、改行タグ504の情報をタグ出現位置データ102に記録し、テキストデータ101における実際の改行情報はレイアウト計算部107において使用しなくてもよいし、逆に、改行タグ504の情報はタグ出現位置データ102に記録せず、テキストデータ101における実際の改行情報をレイアウト計算部107において使用してもよい。
【0080】
改行タグ以外にも、通常、テキストデータ101において改行しないものでも、改行した方がテキストデータ101の内容を理解しやすくなる場合は改行の処理を行ってもよい。
【0081】
図7には、図5のXHTML文書の電子データ100から作成したタグ出現位置データ102の一例が示される。図7のデータ700〜702は図3のデータ302〜304に対応する。データ702には、図5の電子データ100に含まれるタグ(タグ対)の数を記録する。本来ならば、図5のXHTML文書の電子データ100を構成するタグの数は11個であるが、先に説明したように、ルビ要素を構成する<ruby>タグ、<rb>タグ、<rt>タグの3つを1つのタグに変換して処理しているため7個となり、図7のデータ702には「7」を記録する。データ703〜707は、1つ目のタグである<html>タグ500のタグ位置データ305のデータ306〜310に対応する。データ703にはタグ名である「html」を記録し、データ704には、<html>タグ500のテキストデータ101における出現開始位置を記録し、データ705には、<html>500タグのテキストデータ101における出現終了位置を記録する。次に、データ706には、タグ詳細データ103における<html>タグ500の属性情報の格納開始位置を記録し、データ707には、タグ詳細データ103における<html>タグ500の属性情報の格納終了位置を記録する。以下同様に、データ708〜712には、2つ目のタグである<body>タグ501のタグ出現位置データ305のための情報を記録し、データ713〜717には、3つ目のタグである<img>タグ502のタグ出現位置データ305のための情報を記録し、データ718〜722には、4つ目のタグである<ruby>タグ503のタグ出現位置データ305のための情報を記録し、データ723〜727には、5つ目のタグである<br>タグ504のタグ出現位置データ305のための情報を記録し、データ729〜732には、6つ目のタグである<ruby>タグ505のタグ出現位置データ305のための情報を記録し、データ733〜737には、7つ目のタグである<gaiji>タグ506のタグ出現位置データ305のための情報を記録する。
【0082】
図8には、図5のXHTML文書の電子データ100から作成したタグ詳細データ103の一例が示される。データ402に対応のデータ800には、1つ目のタグである<html>タグ500の属性数「0」のみを記録する。なお、この情報が記録されている領域の開始位置、終了位置情報はタグ出現位置データ102のデータ706とデータ707として記録されている。また、<html>タグ500の属性数は0であるから、タグ詳細データ103に属性数情報のデータ800を記録せずに、タグ出現位置データ102のデータ706とデータ707として、「格納領域なし」と記録してもよい。これによって、タグ詳細データ103のデータ容量を削減することができる。
【0083】
以下同様に、2つ目のタグである<body>タグ501のタグ詳細データ401のためのデータ801〜805を、3つ目のタグである<img/>タグ502のタグ詳細データ401のためのデータ806〜810を、4つ目のタグである<ruby>タグ503のタグ詳細データ401のためのデータ811〜813をそれぞれ記録する。また5つ目のタグである<br/>504のタグ詳細データ401のためのデータ814に記録する。<br/>タグ504も<html>タグ500と同様に属性数は0であるから、タグ詳細データ103に属性数を記録せずに、タグ出現位置データ102の対応のデータ726とデータ727とに、「格納領域なし」と記録してもよい。そして、6つ目のタグである<ruby>タグ505のタグ詳細データ401のためのデータ815〜817を、7つ目のタグである<gaiji>タグ506のタグ詳細データ401のためのデータ818〜826をそれぞれ記録する。
【0084】
(データ処理装置118の処理手順について)
図9と図10を参照して、図1のデータ処理装置が表示装置として動作した場合の処理手順を説明する。図9と図10の手順は制御部110の制御の下に実行される。
【0085】
まず、ステップS901では、ユーザが表示したい電子データ100がユーザ指示としてユーザ指示処理部109を介して入力されて指定される。
【0086】
ステップS902では、入力部104は記録媒体117を検索して、ステップS901で指定された電子データ100について、記録媒体117において電子データ100のみが存在するのか、それとも、対応のテキストデータ101とタグ出現位置データ102とタグ詳細データ103の3つが存在するかを判定する。検索結果、電子データ100のみであれば、制御部110は処理をステップS903に進めるが、対応のテキストデータ101、タグ出現位置データ102およびタグ詳細データ103が存在していれば、処理をステップS904に進める。
【0087】
ステップS903では、指定された電子データ100を記録媒体117から読出して、読出した電子データ100についてテキストデータ101、タグ出現位置データ102およびタグ詳細データ103を作成する。その後、処理をステップS904に進める。ステップS903の詳細は後述する。
【0088】
ステップS904では、指定された電子データ100に対応のタグ出現位置データ102が記録媒体117から検索されて入力部104を介して読出される。
【0089】
ステップS906では、記録媒体117の対応のテキストデータ101から処理対象とされる任意のテキストデータ部分のみを入力部104を介して読出す。具体的にはステップS901にて、ユーザから表示したい電子データ100が指定されるので、その指定内容に基づいて処理対象部分を特定し読込む。例えば、ユーザが指定した電子データ100がはじめて表示処理されるのであれば、そのデータの最初から読込む。もしくは、以前に表示処理したことのあるデータで、そのときの最終表示位置をデータ処理装置118で記録していれば、その位置から読込む。また、データ処理装置118にページジャンプ機能のようなものが予め準備されていれば、ユーザが電子データ100の任意の箇所を表示するように指示すれば、該当する位置からデータを読込むことができる。
【0090】
ステップS907では、S906で特定された処理対象部分に基づき、記録媒体117のタグ詳細データ103から対応の処理対象部分を入力部104を介して読込む。
【0091】
ここで、タグ出現位置データ102が固定長であることを利用して、処理すべきタグの属性情報を効率よく読出すことができる。具体的には、もし、タグの属性を示す情報がタグ出現位置データ102とタグ詳細データ103とに分離されずに、まとめて可変長で記録されている場合には、タグ属性情報の最初から総当りで所望のデータ(処理すべきタグ情報。例えば、ルビ表示機能がないデータ処理装置118であれば、ルビタグ情報は不用となる。)であるかを判定していく必要がある。ところが、本実施の形態ではタグの属性の情報はタグ出現位置データ102とタグ詳細データ103とに分離され、さらにタグ出現位置データ102が固定長であるので、所望のデータがタグ詳細データ103の何バイト目に存在するかがタグ出現位置データ102から容易に特定できて、特定結果に基づきタグ詳細データ103を直接アクセスして読出すことが可能である。
【0092】
ステップS909ではレイアウト計算部107にてレイアウトを計算する。レイアウトの計算は次の手順で行なう。
【0093】
まず、ユーザの指示により決定されたテキストデータ101の表示開始位置情報と、タグ出現位置データ102における各タグのテキストデータ出現開始位置/終了位置のデータとから、表示すべきテキストデータ101の部分に関係するタグを特定する。次に、特定したタグについて、タグ出現位置データ102における該当するタグ詳細データ格納開始位置/終了位置のデータを読出し、読出したデータに基づいてタグ詳細データ103を検索して、対応のタグ詳細データ401を読出す。
【0094】
そして、該当するタグのテキストデータ出現開始位置から終了位置まで、上記手順で得たタグ詳細データ401に基づいて、テキストデータ101を表示開始位置から順次、図示されない所定記憶領域にレイアウトしていく。
【0095】
ステップS910では、ステップS909のレイアウト計算結果である所定記憶領域の内容に基づき、テキストデータ101を表示部108により表示される。
【0096】
ステップS911では、ユーザ指示処理部109を介したユーザからの指示を待つ。ユーザからの指示があるまで、ステップS911で待機する。ユーザから表示処理の終了が指示された場合には、図9の表示処理は終了する。ユーザから、次ページ、あるいは前ページへのスクロール指示があった場合には、処理はステップS906に戻り、以下、スクロール先のテキストデータ101の任意領域の部分データについて同様な処理が行なわれる。
【0097】
図9のステップS903のテキストデータ101、タグ出現位置データ102のタグ詳細データ103の作成処理の手順について図10のフローチャートに従い説明する。図中、[テキスト]はテキストデータ101を、[タグ出現]はタグ出現位置データ102を、[タグ詳細]はタグ詳細データ103をそれぞれ示す。また図中の[タグ情報]とは、電子データ100からテキストデータ101、タグ出現位置データ102およびタグ詳細データ103を作成するために、データ処理装置118内の図示されない記憶領域に一時的に記憶しておく情報を指し、タグ名と、そのタグのタグ出現位置データ102におけるテキストデータ出現終了位置を示すデータ308の記録位置を示す情報である。
【0098】
まず、ステップS921では、入力部104を介して記録媒体117から指定された電子データ100を読出し、処理をステップS922に進める。
【0099】
ステップS922以降の処理においては、データ構造解析部105にて、読出した電子データ100を解析すると、テキストデータ作成部111、タグ出現位置データ作成部112およびタグ詳細データ作成部113はテキストデータ101、タグ出現位置データ102およびタグ詳細データ103をそれぞれ作成し、作成したこれらデータを記録媒体117の指定の電子データ100と対応付けて書込み記録する。
【0100】
ステップS922では、各データ作成に必要な[タグ情報]の領域を初期化し、処理をステップS923に進める。
【0101】
ステップS923では、タグ出現位置データ102に、テキストデータファイル名、タグ詳細データファイル名、タグ数を示すデータ302〜304を記録し、処理をステップS924に進める。タグ数のデータ304としては、この場合には初期化としての0を記録する。
【0102】
ステップS924以降の処理では、ステップS921にて読込んだ電子データ100を先頭から要素単位で順に処理していく。
【0103】
ステップS924では、文字列またはタグなどの要素の有無を判定する。要素がなければ、電子データ100の最後の要素まで処理したことになり、データ作成処理を終了する。要素があれば、処理をステップS925に進める。
【0104】
ステップS925では、要素の種類を判定する。要素が開始タグまたは空タグであれば、処理をステップS926に進めるが、要素が終了タグであれば処理をステップS930に進める。要素が文字列であれば処理をステップS933に進める。
【0105】
ステップS926では、タグ出現位置データ102に該要素であるタグについてタグ位置データ305を記録する。
【0106】
まず、該要素はタグなのでデータ304が示すタグ数を1つ増やす。次に、該タグについて開始タグ/空タグを解析し、タグ名を取得して、取得したタグ名を該タグのためのタグ位置データ305のデータ306として記録する。そして、現時点でのテキストデータ101の書込み最終位置を、テキストデータ出現開始位置としたデータ307を記録する。もし、要素が空タグであれば、同じ値をテキストデータ出現終了位置としたデータ308を記録する。さらに、現時点でのタグ詳細データ103の書込み最終位置を、タグ詳細データ格納開始位置としたデータ309を記録し、処理をステップS927に進める。
【0107】
ステップS927では、一時的に記憶しておくべき[タグ情報]に、取得したタグ名と、タグ出現位置データ102における該当タグの「テキストデータ出現終了位置」のデータ308の格納位置を追加し、処理をステップS928に進める。
【0108】
ステップS928では、開始タグ/空タグを解析し、属性数、属性名および属性値を取得し、タグ詳細データ103に該タグのタグ詳細データ401のデータ402およびデータ403として記録し、処理をステップS929に進める。
【0109】
ステップS929では、タグ出現位置データ102に、現時点でのタグ詳細データ103の書込み最終位置を、タグ詳細データ格納終了位置のデータ310として記録する。これで、この要素に対する処理は終わり、処理をステップS924に戻し、次の要素に対する処理を行う。
【0110】
ステップS930では、終了タグを解析し、一時的に記憶している[タグ情報]からそのタグ名と「テキストデータ出現終了位置」の格納位置の情報を得て、処理をステップS931に進める。
【0111】
ステップS931では、ステップS930で得た情報が示す格納位置に、現時点でのテキストデータ101の書込み最終位置を、テキストデータ出現終了位置としたデータ308をタグ出現位置データ102の対応のタグ位置データ305に記録し、処理をステップS932に進める。
【0112】
ステップS932では、一時的に記憶している[タグ情報]から、該当タグの情報を削除する。これで、この要素に対する処理は終わり、処理をステップS924に戻して、次の要素に対する処理を行う。
【0113】
ステップS933では、要素の文字列をテキストデータ101に記録する。これで、この要素に対する処理は終わり、処理をステップS924に戻して、次の要素に対する処理を行う。
【0114】
ここまでの処理を電子データ100中の全ての要素について行うと、該電子データ100のテキストデータ101、タグ出現位置データ102およびタグ詳細データ103の作成が完了するので、ステップS934において、作成されたこれらデータを該電子データ100と対応付けて記録媒体117に格納して、一連の処理を終了する。
【0115】
なお、この実施の形態では、電子データ100がXHTML文書である場合を例に挙げて説明を行ったが、XHTML文書に限定されない。例えば、XML(extensible markup language)などにより記録された階層構造を有する電子データ100であっても、同様の処理を行うことができる。
【0116】
(まとめ)
このように、メモリ容量に応じて構成された固定長のタグ出現位置データ102を用いて処理することによって、テキストデータ101、タグ詳細データ103の一部のみのデータを効率よく読込むことができるため、高速かつ少ない容量のメモリで処理ができる。本実施の形態では、準備可能なメモリ容量が少ないときに、特に大きな効果を発揮する。具体的には、タグ情報データがタグ出現位置データ102とタグ詳細データ103とに分離されずに可変長であった場合、タグ情報データ量がメモリ容量をオーバーする惧れがある。本実施の形態では、タグ出現位置データ102を固定長データのみから構成することによって、記録媒体117の記録可能容量などからタグ情報を記録可能な最大サイズを見積もり、この記録可能容量をオーバーしないタグ出現位置データ102の構造を予め作成しておくことができる。
【0117】
また、本実施の形態によれば、階層構造を持つ電子データ100からテキストデータ101、タグ出現位置データ102、タグ詳細データ103とを作成して、それらを組合わせて処理することにより、処理時間を短縮することができ、メモリ使用量も削減できる。
【0118】
(データの変形例)
上述の実施の形態では、タグ出現位置データ102において、タグ名ぼデータ306として、タグ名そのものを記録するようにしていたが、これに代わって、タグ名を一意に識別することができる識別番号を記録するようにしてもよい。この場合、タグ名と識別番号の対応関係を記録したタグ識別情報データが必要となる。
【0119】
同様に、タグ詳細データ103において、属性名のデータANとして、属性名そのものを記録するようにしていたが、これに代わって、属性名を一意に識別することができる識別番号を記録するようにしてもよい。この場合、属性名と識別番号の対応関係を記録した属性識別情報データが必要になる。
【0120】
また、本実施の形態では、所望された電子データ100の全体についてテキストデータ101、タグ出現位置データ102およびタグ詳細データ103を作成していたが、作成の対象は電子データ100の全体に限定されない。つまり電子データ100のユーザが所望する任意領域の部分データについてテキストデータ101、タグ出現位置データ102およびタグ詳細データ103を作成するようにしてもよい。
【0121】
(他の実施の形態)
上述の実施の形態で示したデータ処理の方法は、これらの方法をコンピュータにより実行することにより実現される。このようなコンピュータの構成例が図11に示される。
【0122】
図11を参照してコンピュータは、表示部108に対応のCRT(陰極線管)、液晶などからなるモニタ143、ユーザ指示処理部109に対応のキーボード150、マウス160およびペンタブレット170、制御部に対応の該コンピュータ自体を集中的に制御するためのCPU(中央処理装置の略)122、記録媒体117に対応しうるROMまたはRAM(ランダムアクセスメモリの略)を含んで構成されるメモリ124、記録媒体117に対応しうる固定ディスク126、FD132が着脱自在に装着されて、装着されたFD132をアクセスするFD駆動装置130、CD−ROM142が着脱自在に装着されて、装着されたCD−ROM142をアクセスするCD−ROM駆動装置140、インターネットなどの通信ネットワーク182と、該コンピュータとを通信接続するための通信インターフェィス180を含む。これらの各部はバスを介して通信接続される。FD132、CD−ROM142は記録媒体117に対応しうる。通信ネットワーク182はネットワーク115に対応する。
【0123】
コンピュータには、カセット形式の磁気テープが着脱自在に装着されて磁気テープをアクセスする磁気テープ装置が設けられても良い。
【0124】
このようなコンピュータに上述のデータ処理方法を実行させるためのプログラムは、コンピュータで読取可能な記録媒体に格納される。本実施の形態では、この記録媒体として、図11に示されているコンピュータで処理が行なわれるために必要なメモリ、たとえばメモリ124のようなそのものがプログラムメディアであってもよいし、また外部記憶装置として図示のない磁気テープ装置およびCD−ROM駆動装置140などのプログラム読取装置が設けられ、そこに記憶媒体である磁気テープまたはCD−ROM142が装着されることで読取可能なプログラムメディアであってもよい。いずれの場合においても、格納されているプログラムはCPU122がアクセスして実行させる構成であってもよいし、あるいはいずれの場合もプログラムが一旦読出されて、読出されたプログラムは、図11のコンピュータの所定のプログラム記憶エリア、たとえばメモリ124のRAMの所定エリアにロードされて、CPU122により読出されて実行される方式であってもよい。このロード用のプログラムは、予め当該コンピュータに格納されているものとする。
【0125】
ここで、上述したプログラムメディアはコンピュータ本体と分離可能に構成される記録媒体であり、固定的なプログラムを担持する媒体であってもよい。たとえば、磁気テープやカセットテープなどのテープ系、FD132や固定ディスク126などの磁気ディスクやCD−ROM142/MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc)などの光ディスクのディスク系、ICカード(メモリカードを含む)/光カードなどのカード系、あるいはマスクROM、EPROM(Erasable and Programmable ROM)、EEPROM(Electrically EPROM)、フラッシュROMなどによる半導体メモリなどである。
【0126】
また、流動的にプログラムを担持する媒体であってもよい。つまり、図11のコンピュータはインターネットを含む通信ネットワーク182と通信インターフェィス180を介して接続可能な構成が採用されているから、通信ネットワーク182からプログラムがダウンロードされるようなき禄媒体であってもよい。プログラムがダウンロードされる場合には、ダウンロード用プログラムは予め当該コンピュータ本体に格納しておくか、あるいは別の記録媒体から予め当該コンピュータ本体にインストールされるものであってもよい。
【0127】
なお記録媒体に格納されている内容としてはプログラムに限定されず、データであってもよい。
【0128】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0129】
【発明の効果】
本発明では、電子データを、そのテキスト情報とタグ出現位置情報とタグ詳細情報という個別に準備された情報を用いてデータ処理するので、処理対象のデータがタグ部分であるかテキスト部分であるかの判定に関する処理を省略できて、またそれに要するメモリも削減できて、処理の高速化と消費メモリ容量の削減とが可能になる。
【図面の簡単な説明】
【図1】本実施の形態に係るデータ処理装置のブロック図である。
【図2】本実施の形態に係るデータ処理装置の一例である、携帯型機器で構成された表示装置を示す図である。
【図3】本実施の形態に係るタグ出現位置データのデータ構造の一例を示す図である。
【図4】本実施の形態に係るタグ詳細データのデータ構造の一例を示す図である。
【図5】本実施の形態に係るXHTML文書の一例を示す図である。
【図6】図5のXHTML文書から作成したテキストデータの一例を示す図である。
【図7】図5のXHTML文書から作成したタグ出現位置データの一例を示す図である。
【図8】図5のXHTML文書から作成したタグ詳細データの一例を示す図である。
【図9】本実施の形態に係るデータ処理装置のフローチャートである。
【図10】本実施の形態に係るデータ処理装置のフローチャートである。
【図11】本実施の形態に係るデータ処理方法を実行するためのコンピュータの構成図である。
【図12】階層構造を有する電子データの一例を示す図である。
【図13】階層構造を有する電子データから取得した木構造を説明するための図である。
【符号の説明】
100 電子データ、101 テキストデータ、102 タグ出現位置データ、103 タグ詳細データ、104 入力部、105 データ構造解析部、107 レイアウト計算部、108 表示部、109 ユーザ指示処理部、110 制御部、111 テキストデータ作成部、112 タグ出現位置データ作成部、113 タグ詳細データ作成部、117 記録媒体、118 データ処理装置。
Claims (13)
- テキストデータと前記テキストデータにおいて出現する複数のタグを含み、かつ前記タグを用いて階層構造化された電子データを処理するデータ処理装置であって、
前記テキストデータが記録されるテキスト情報と、前記複数タグのそれぞれに対応して該タグの属性を示す属性データが記録されるタグ詳細情報と、前記複数タグのそれぞれについて該タグの前記テキストデータにおける出現位置を示す出現位置データが記録されるタグ出現位置情報とを入力する入力手段と、
前記入力手段により入力された前記テキスト情報から、前記電子データの処理対象となる任意領域に対応する前記テキストデータを読出すテキスト読出手段と、
前記入力手段により入力された前記タグ出現位置情報に基づいて、前記任意領域に対応する前記テキストデータにおいて出現する前記タグを特定し、前記入力手段により入力された前記タグ詳細情報から、前記特定された前記タグの前記属性データを読出す属性読出手段と、
前記テキスト読出手段により読出された前記テキストデータを、前記属性読出手段により読出された前記属性データに基づいて処理するデータ処理手段とを備える、データ処理装置。 - 前記出現位置データは、前記テキストデータにおける該タグの有効範囲を示す有効範囲データと、前記タグ詳細情報における該タグの前記属性データが記録された場所を示す記録場所データを含み、
前記属性読出手段は、前記任意領域に該当するタグを前記有効範囲データに基づいて特定し、特定された前記タグの前記記録場所データに基づいて前記タグ詳細情報から該タグの前記属性データを読出すことを特徴とする、請求項1に記載のデータ処理装置。 - 前記データ処理手段は、前記テキスト読出手段により読出された前記テキストデータについて、前記属性読出手段により読出された前記属性データに基づいて、レイアウトを計算するレイアウト計算手段を有する、請求項1または2に記載のデータ処理装置。
- 前記有効範囲データは、前記テキストデータにおける該タグの属性が有効となる部分のデータの開始場所と終了場所を示すことを特徴とする、請求項2または3に記載のデータ処理装置。
- 前記有効範囲データは、前記テキストデータにおける該タグの属性が有効となる部分のデータの開始場所と、該部分データの大きさとを示すことを特徴とする、請求項2または3に記載のデータ処理装置。
- 前記記録場所データは、前記タグ詳細情報における該タグの前記属性データの記録開始場所と終了場所とを示すことを特徴とする、請求項2から5のいずれか1項に記載のデータ処理装置。
- 前記記録場所データは、前記タグ詳細情報における該タグの前記属性データの記録開始場所と該属性データの大きさを示すことを特徴とする、請求項2から5のいずれか1項に記載のデータ処理装置。
- 前記電子データを検索して前記テキストデータを抽出して記録し前記テキスト情報を作成するテキスト情報作成手段と、
前記電子データを検索して前記タグが検索される毎に、該タグに対応して前記属性データを記録し前記タグ詳細情報を作成するタグ詳細情報作成手段と、
前記電子データを検索して前記タグが検索される毎に、該タグに対応して前記出現位置データを記録し前記タグ出現位置情報を作成するタグ出現位置情報作成手段との少なくとも1つをさらに備える、請求項1から7のいずれか1項に記載のデータ処理装置。 - 前記テキスト情報作成手段は、前記電子データの前記任意領域を検索して前記テキストデータを抽出して記録し前記テキスト情報に作成し、前記タグ詳細情報作成手段は、前記電子データの前記任意領域を検索して前記タグが検索される毎に、該タグに対応して前記属性データを記録し前記タグ詳細情報を作成し、
タグ位置情報作成手段は、前記電子データの前記任意領域を検索して前記タグが検索される毎に、該タグに対応して前記出現位置データを記録し前記タグ出現位置情報を作成することを特徴とする、請求項8に記載のデータ処理装置。 - 前記電子データのための前記テキスト情報、前記タグ出現位置情報および前記タグ詳細情報を、前記入力手段により入力可能か否か判断する手段をさらに備える、請求項1から9のいずれか1項に記載のデータ処理装置。
- テキストデータと前記テキストデータにおいて出現する複数のタグを含み、かつ前記タグを用いて階層構造化された電子データを処理するデータ処理方法であって、
前記テキストデータが記録されるテキスト情報と、前記複数タグのそれぞれに対応して該タグの属性を示す属性データが記録されるタグ詳細情報と、前記複数タグのそれぞれについて該タグの前記テキストデータにおける出現位置を示す出現位置データが記録されるタグ出現位置情報とを入力する入力ステップと、
前記入力ステップにより入力された前記テキスト情報から、前記電子データの処理対象となる任意領域に対応する前記テキストデータを読出すテキスト読出ステップと、
前記入力ステップにより入力された前記タグ出現位置情報に基づいて、前記任意領域に対応する前記テキストデータにおいて出現する前記タグを前記情報処理部により特定し、前記入力ステップにより入力された前記タグ詳細情報から、前記特定された前記タグの前記属性データを読出す属性読出ステップと、
前記テキスト読出ステップにより読出された前記テキストデータを、前記属性読出ステップにおいて読出された前記属性データに基づいて処理するデータ処理ステップとを備える、データ処理方法。 - 請求項11に記載のデータ処理方法をコンピュータに実行させるためのデータ処理プログラム。
- 請求項12に記載のデータ処理プログラムを記録したコンピュータ読取可能な記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003152096A JP4173770B2 (ja) | 2003-05-29 | 2003-05-29 | データ処理装置、データ処理方法、データ処理プログラムおよび記録媒体 |
PCT/JP2004/006924 WO2004104857A1 (ja) | 2003-05-22 | 2004-05-14 | データ処理装置、データ処理方法、データ処理プログラム、およびデータ処理プログラムを記録したコンピュータ読取可能な記録媒体 |
EP04733166A EP1628227A4 (en) | 2003-05-22 | 2004-05-14 | DATA PROCESSING DEVICE, METHOD, AND PROGRAM, COMPUTER-READABLE RECORDING MEDIUM CONTAINING THIS DATA PROCESSING PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003152096A JP4173770B2 (ja) | 2003-05-29 | 2003-05-29 | データ処理装置、データ処理方法、データ処理プログラムおよび記録媒体 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008172192A Division JP4628450B2 (ja) | 2008-07-01 | 2008-07-01 | データ処理装置、データ処理方法、データ処理プログラムおよび記録媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004355320A true JP2004355320A (ja) | 2004-12-16 |
JP2004355320A5 JP2004355320A5 (ja) | 2005-11-24 |
JP4173770B2 JP4173770B2 (ja) | 2008-10-29 |
Family
ID=34047391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003152096A Expired - Fee Related JP4173770B2 (ja) | 2003-05-22 | 2003-05-29 | データ処理装置、データ処理方法、データ処理プログラムおよび記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4173770B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006279243A (ja) * | 2005-03-28 | 2006-10-12 | Hewlett-Packard Development Co Lp | 記憶システム、情報を記憶装置に記憶させるための方法及び関連する方法並びにコンピュータ・プログラム・プロダクト |
JP2006323821A (ja) * | 2005-02-11 | 2006-11-30 | Fujitsu Ltd | コンパイル済みスキーマに順次アクセスする方法とシステム |
-
2003
- 2003-05-29 JP JP2003152096A patent/JP4173770B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006323821A (ja) * | 2005-02-11 | 2006-11-30 | Fujitsu Ltd | コンパイル済みスキーマに順次アクセスする方法とシステム |
JP2006279243A (ja) * | 2005-03-28 | 2006-10-12 | Hewlett-Packard Development Co Lp | 記憶システム、情報を記憶装置に記憶させるための方法及び関連する方法並びにコンピュータ・プログラム・プロダクト |
JP4658657B2 (ja) * | 2005-03-28 | 2011-03-23 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | 記憶システム、情報を記憶装置に記憶させるための方法及び関連する方法並びにコンピュータ・プログラム・プロダクト |
Also Published As
Publication number | Publication date |
---|---|
JP4173770B2 (ja) | 2008-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10929449B2 (en) | Generating a structured document guiding view | |
JP4990302B2 (ja) | データ処理方法、データ処理プログラム、およびデータ処理装置 | |
US7617450B2 (en) | Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document | |
US20110087959A1 (en) | Method and device for processing the structure of a layout file | |
JPH10124413A (ja) | 埋め込みウェブオブジェクトの優先順位づけダウンローディングの方法と装置 | |
JPH08241332A (ja) | 全文登録語検索装置および方法 | |
KR20060046002A (ko) | 시작 템플릿과 목표 템플릿 사이의 콘텐츠 맵핑을 위한방법 및 시스템 | |
US9619445B1 (en) | Conversion of content to formats suitable for digital distributions thereof | |
KR102087280B1 (ko) | 편집 명령을 포함하는 메시지에 기초하여 전자 문서를 편집하는 서버 및 그 동작 방법 | |
US9411784B2 (en) | Method and computer readable medium for controlling pagination of dynamic-length presentations | |
US20090287994A1 (en) | Document processing device and document processing method | |
JP4173770B2 (ja) | データ処理装置、データ処理方法、データ処理プログラムおよび記録媒体 | |
JP5706306B2 (ja) | リンクされたテキストボックスを有する電子文書のレンダリングの方法、レンダリングする指示を含むコンピューターが読み取り可能な記憶媒体及びシステム | |
CN100385439C (zh) | 数据处理装置及数据处理方法 | |
JP4628450B2 (ja) | データ処理装置、データ処理方法、データ処理プログラムおよび記録媒体 | |
CN107423271A (zh) | 文档生成方法和装置 | |
EP1605366A1 (en) | Data processing apparatus, data processing method, data processing program, and recording medium having recorded therein that program | |
JP5230193B2 (ja) | データ検索装置、データ検索方法、及びコンピュータプログラム | |
EP1628227A1 (en) | Data processing device, data processing method, data processing program, and computer-readable recording medium containing the data processing program | |
JP2005107635A (ja) | 電子フォーム入力システム、方法、プログラムおよび媒体 | |
JP2002312401A (ja) | 電子ファイリング装置及びその制御方法、記憶媒体並びにプログラム | |
CN111475679A (zh) | Html文档处理方法、页面显示方法和设备 | |
JP4783401B2 (ja) | 情報処理装置および方法、プログラム、並びに記録媒体 | |
JP2009157470A (ja) | 電子文書処理装置及びプログラム | |
JP2004280278A (ja) | データ処理装置、データ処理方法、データ処理プログラム、および、記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050810 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050930 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080410 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080507 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080701 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080718 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080805 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080814 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110822 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110822 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130822 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |