(57)【要約】【課題】階層構造を有するデータを取扱いが容易なデータに変換する。【解決手段】ＸＭＬの定義に従って記述された階層構造を有するデータ３００を受理して階層構造を解析、解析結果に基づいて階層構造が解消されたデータ４００に変換処理する。データ３００はタグ３０２、３０３、３０５、３０７、３１０によるタグ対を複数含み、タグ対は該タグ対で囲まれた部分の文字列３０４、３０５、３０９のインデントまたは表示色の属性値を指示する。タグ対で囲まれた部分中に、該部分を囲むタグ対と同一種類の属性を指示する他のタグ対が含まれる場合には、変換処理により、該他のタグ対の属性値は、該部分を囲むタグ対の属性値が反映されるように変換される。その結果、データ３００は、その階層構造が解消されたデータ４００に変換される。【選択図】        図１
2004348480.tif 000002
【特許請求の範囲】
【請求項１】
文書記述言語の定義に従って記述された階層構造を有するデータを受理して、前記階層構造を解析する解析手段と、
前記解析手段による解析結果に基づいて、前記データを前記階層構造が解消されたデータに変換する変換手段とを備える、データ処理装置。
【請求項２】
前記階層構造を有するデータはタグの対を複数含み、前記タグ対は該タグ対で囲まれた部分データの属性の情報を指示し、
前記変換手段は、
前記部分データ中に該部分データを囲む前記タグ対と同一種類の属性を指示する他のタグ対が含まれる場合には、該他のタグ対の属性情報を、該部分データを囲む前記タグ対の属性情報を用いて変換することを特徴とする、請求項１に記載のデータ処理装置。
【請求項３】
前記変換手段は、変換後にデータの末端で不要となる情報を省略したデータへと変換することを特徴とする、請求項１または２に記載のデータ処理装置。
【請求項４】
前記変換手段により変換された階層構造が解消されたデータに対して、出力のためのレイアウトを計算するレイアウト計算手段をさらに備える、請求項１から３のいずれか１項に記載のデータ処理装置。
【請求項５】
文書記述言語の定義に従って記述された階層構造を有する前記データを、複数のブロックに分割する分割手段をさらに備えて、
前記解析手段は、前記分割されたブロック毎にデータを受理して解析することを特徴とする、請求請１から４のいずれか１項に記載のデータ処理装置。
【請求項６】
文書記述言語の定義に従って記述された階層構造を有する予め準備された記録領域に格納されたデータについて、前記階層構造を解析する解析ステップと、
前記解析手段による解析結果に基づいて、前記記録領域に格納されている前記データを前記階層構造が解消されたデータに変換する変換ステップとを備える、データ処理方法。
【請求項７】
請求項６に記載のデータ処理方法をコンピュータに実行させるためのデータ処理プログラムであって、前記記録領域は前記コンピュータに関連して設けられる、データ処理プログラム。
【請求項８】
請求項７に記載のデータ処理プログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は文書記述言語の定義に従って記述された階層構造を有するデータのためのデータ処理装置、データ処理方法、データ処理プログラム、およびデータ処理プログラムを記録したコンピュータ読取可能な記録媒体に関し、特に、この階層構造を有するデータの取扱いを容易にするためのデータ処理装置、データ処理方法、データ処理プログラムおよびデータ処理プログラムを記録したコンピュータ読取可能な記録媒体に関する。
【０００２】
【従来の技術】
文書記述言語の定義に従って所定の処理を実行させるための構造化されたデータであって、階層構造を有する構造化文書を記録するためのデータ形式として、ＳＧＭＬ（Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋ−ｕｐ  Ｌａｎｇｕａｇｅ）やＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などが知られている。
【０００３】
ＸＭＬデータを扱う処理方法として、ＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）形式とＳＡＸ（Ｓｉｍｐｌｅ  ＡＰＩ  ｆｏｒ  ＸＭＬ）形式が知られている（例えば、非特許文献１の１４−１５ページを参照）。
【０００４】
ＤＯＭ形式とは、対象とするデータをすべて読込み、データ内の全要素の階層構造を解析してから、データの各要素にアクセスする処理方法である。ＤＯＭ形式には、データの階層構造を解析した後に処理する事になるため、任意の要素にアクセスしやすいという特徴がある。
【０００５】
一方、ＳＡＸ形式は、データを先頭から順に読込みながら、読込んだ要素のみ構造解析する処理方法である。そのため、データ全体の解析処理を待たずに、順次処理していくことができ、処理速度的にもメモリ容量的にもオーバヘッドが少ないという特徴がある。
【０００６】
【非特許文献１】
プログラミング技術情報誌  Ｃ  ＭＡＧＡＺＩＮＥ  ＦＥＢ．２０００  ２「特集１  ＸＭＬ  Ｃ／Ｃ＋＋による実用的な利用法」、発行元：ソフトバンクパブリッシング株式会社
【０００７】
【発明が解決しようとする課題】
しかしながら、ＤＯＭ形式は、データ内の一部のデータだけを処理したい場合であっても、木構造を生成するために、データ全体の構造を解析する必要があり、処理に無駄が生じるという問題がある。さらに、データのサイズが大きくなると、木構造を生成するための処理時間、および木構造を記憶しておくためのメモリ使用量が大きくなるという問題がある。
【０００８】
これは、携帯電話のようなモバイル機器など、処理性能が乏しい機器において、処理および表示をする場合に困難である。
【０００９】
また、ＳＡＸ形式は、データの任意の要素を扱う場合であっても、データの先頭から読込み、構造を解析する必要があるため、処理時間的に無駄が生じるという問題がある。これもまた、同様に処理性能が乏しい機器における処理および表示は困難である。
【００１０】
両者に共通する問題は、構造化文書では、効範囲指定を必要とするタグが存在するため、幾層もの階層構造を解析する必要があり、解析する処理に時間がかかるということである。表示装置においては、階層構造を解析する処理が、表示処理の負荷となり、結果として、表示するまでに遅延が生じるということとなる。
【００１１】
それゆえにこの発明の目的は、階層構造を有するデータであっても容易に取り扱うことができるように処理するデータ処理装置、データ処理方法、データ処理プログラムおよびデータ処理プログラムを記録したコンピュータ読取可能な記録媒体を提供することである。
【００１２】
【課題を解決するための手段】
この発明のある局面に従うデータ処理装置は、文書記述言語の定義に従って記述された階層構造を有するデータを受理して、階層構造を解析する解析手段と、解析手段による解析結果に基づいて、データを階層構造が解消されたデータに変換する変換手段とを備える。
【００１３】
したがって、階層構造を有するデータであっても階層構造を解析して、その解析結果に基づいて階層構造を解消して、階層構造が存在しないデータに変換することができる。
【００１４】
上述の階層構造を有するデータが表示など出力される場合には、予め上述のように階層構造が存在しないデータに変換された後に出力されるようすれば、出力処理において階層構造の解析を省略して取扱いが容易となる。その結果、高速に出力処理でき、また出力の為ために解析された階層構造を記憶しておく必要もないから、出力に際しての記憶容量の消費量を少なくできる。
【００１５】
好ましくは、階層構造を有するデータはタグの対を複数含み、タグ対は該タグ対で囲まれた部分データの属性の情報を指示し、変換手段は、部分データ中に該部分データを囲むタグ対と同一種類の属性を指示する他のタグ対が含まれる場合には、該他のタグ対の属性情報を、該部分データを囲むタグ対の属性情報を用いて変換する。
【００１６】
したがって、データ変換手段はタグ対で囲まれる部分データに同一種類の属性の他のタグ対が含まれることにより、これらタグ対が階層化される場合には、該他のタグ対の属性情報を、該部分データを囲むタグ対の属性情報を用いて変換する。これにより、タグ対が階層化されているときは、あるタグ対の属性情報には上位層のタグ対の属性情報を反映させることができるから、タグ対の階層化を解消して該階層化の構造が存在しないデータに変換できる。
【００１７】
好ましくは変換手段は、変換後にデータの末端で不要となる情報を省略したデータへと変換する。したがって、変換後のデータに関する消費記憶容量を少なくできる。
【００１８】
好ましくは、変換手段により変換された階層構造が解消されたデータに対して、出力のためのレイアウトを計算するレイアウト計算手段をさらに備える。
【００１９】
したがって、階層構造が解消されて存在しないデータに対してレイアウトを計算するから、レイアウト計算のための階層構造の解析処理とその解析結果を記憶しておくための記録領域を省略できる。
【００２０】
好ましくは、文書記述言語の定義に従って記述された階層構造を有するデータを、複数のブロックに分割する分割手段をさらに備えて、解析手段は、分割されたブロック毎にデータを受理して解析する。
【００２１】
したがって、ブロック単位に分割すると、解析手段はデータの全てを先頭から解析する必要はなく、任意のブロック単位で解析できる。その結果、処理の負荷を軽減できる。また、解析手段のための記憶領域はブロック単位の大きさを有すればよいから記憶領域の消費容量を少なくできる。
【００２２】
上述の属性情報は、部分データの出力態様を特定する出力態様情報を含んでよい。この出力態様情報は部分データのインデントの情報を含んでもよいし、部分データを出力するための色の情報を含んでもよい。
【００２３】
上述のブロック毎のデータの大きさは、データを出力するために予め準備された出力装置の処理能力に基づき決定されてよい。
【００２４】
この発明の他の局面に従うデータ処理方法は、文書記述言語の定義に従って記述された階層構造を有する予め準備された記録領域に格納されたデータについて、階層構造を解析する解析ステップと、解析ステップによる解析結果に基づいて、記録領域に格納されているデータを階層構造が解消されたデータに変換する変換ステップとを備える。
【００２５】
この発明のさらに他の局面に従うデータ処理プログラムは、上述のデータ処理方法をコンピュータに実行させるためのプログラムであって、上述の記録領域はこのコンピュータに関連して設けられる。
【００２６】
この発明のさらに他の局面に従うコンピュータ読取可能な記録媒体には、上述のデータ処理プログラムが記録されている。
【００２７】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照して説明する。なお、ここではデータは表示により出力されるとしているが、表示に限定されず印刷出力であってもよい。
【００２８】
（用語の説明）
まず、ＨＴＭＬ、ＸＭＬ、ＳＧＭＬなどのマークアップ言語で記載されたテキストファイル中で用いられるタグに関連した用語について説明する。タグは、ここでは文字列の出力態様（インデント、表示色など）を指定するための特別の文字または記号の列であり、予約語である。
【００２９】
テキストファイル中に記載されたタグの情報を解析する場合には、開始タグ、これと対となる終了タグ、開始タグと終了タグとに挟まれた部分データである子供要素とに分け、また、開始タグの中を、タグ名、属性名、属性値に解析する必要がある。
【００３０】
開始タグとは、「＜」で始まり、「＞」で終わる文字列の部分をいう。終了タグとは、「＜／」で始まり、「＞」で終わる文字列の部分をいう。開始タグと終了タグとに挟まれた部分に子供要素がない場合は、開始タグと終了タグを１つにして、「＜」で始まり、「／＞」で終わる文字列として記述することもできる。これを、空タグという。空タグは、開始タグと終了タグとが並んでいるのと同等に考えることができる。
【００３１】
空タグでない場合には、子供要素はテキストファイルを構成する文字列または他のタグ対を含む。子供要素において、該子供要素を挟むタグ対の開始タグと同一種類の属性を指示する１つ以上のタグ対が含まれる場合には、子供要素を挟むタグ対（これを外部タグ対という）と該子供要素中に含まれるタグ対（これを内部タグ対という）は、複数のタグ対が階層構造を有する入れ子関係を構成するので、内部タグ対の開始タグの属性値には上位層の外部タグ対の属性値が反映されることになる。
【００３２】
タグ名は、開始タグまたは空タグの「＜」の次に続く文字列で示される。タグ名の後ろに「＝」を含んだ文字列が続く場合、「＝」の左辺が属性名、右辺の「”」で囲まれた文字列が属性値という。例えば、「＜ａ  ｂ＝“ｃ”＞ｄ＜／ａ＞」というＸＭＬデータがあった場合、「＜ａ  ｂ＝“ｃ”＞」が開始タグ、「ｄ」が子供要素、「＜／ａ＞」が終了タグである。開始タグの中の「ａ」がタグ名、「ｂ」が属性名、「ｃ」が属性値である。本実施の形態では説明を簡単にするために属性名（属性の種類）とタグ名とは１対１に対応しているから、属性の種類をタグ名により特定する。属性名は該開始タグの子供要素に関する出力時の属性、たとえばインデント、表示色などの固有の特徴を指し、属性値は対応する属性の値、たとえばインデントの文字下げの数、表示色が赤色などを示す。子供要素が空の場合の空タグの場合には、「＜ａ  ｂ＝“ｃ”／＞」という形式になる。なお、以下の説明では、タグ名が「ａ」である場合にはそのタグ名を「ａタグ」、属性名が「ｂ」である場合にはその属性名を「ｂ属性」、対応する属性値を「ｂ属性の値」という。
【００３３】
（構造化文書の変換の概略手順）
図１（Ａ）と（Ｂ）を用いて、本実施の形態による構造化文書の変換手順の概略を説明する。図１（Ａ）は、変換前の階層構造を有するＸＭＬデータ３００であり、図１（Ｂ）は変換後のＸＭＬデータ４００である。ＸＭＬデータ４００では元の階層構造が解消されて存在していない。ＸＭＬデータ４００変換はＸＭＬデータの上から順に行ごとに行うものとする。
【００３４】
図１（Ａ）のＸＭＬデータ３００では、文字列３０１「ＡＢＣＤＥ」はタグの子供要素となっていないことから、デフォルトの値「＜ｐ  ｉｎｄｅｎｔ＝“０”＞」、「＜ｆｏｎｔ  ｃｏｌｏｒ＝“ｂｌａｃｋ”＞」が設定されている。このデフォルト値により文字列３０１に関して、字下げなし、黒色表示が指定される。文字列３０１は変換の必要はないので図１（Ｂ）のＸＭＬデータ４００における文字列４０１「ＡＢＣＤＥ」に対応する。以下、文字列の変換はないので特に説明しない。
【００３５】
文字列３０４「ＦＧＨＩＪ」はタグ３０２「＜ｐ  ｉｎｄｅｎｔ＝“１”＞」、タグ３０３「＜ｆｏｎｔ  ｃｏｌｏｒ＝“ｒｅｄ”＞の子供要素となっていることから、１文字の字下げ、赤色表示となる。文字列３０４よりも上位階層に同じタグ名となるタグが存在しないので変換するタグの属性の値への影響はなく、ＸＭＬデータ４００おける、タグ４０２「＜ｐ２  ｉｎｄｅｎｔ＝“１”／＞」、タグ４０３「＜ｆｏｎｔ２  ｃｏｌｏｒ＝“ｒｅｄ”−／＞」へとそれぞれ変換する。開始タグが記述された以降では、同じタグ名の終了タグが記述されるまでの範囲においてタグの情報（属性値）が有効であり、この範囲を有効範囲という。ｐ２タグおよびｆｏｎｔ２タグは、空タグであり有効範囲の指定がない。
【００３６】
文字列３０６「ＫＬＭＮＯ」はタグ３０２「＜ｐ  ｉｎｄｅｎｔ＝“１”＞」、タグ３０３「＜ｆｏｎｔ  ｃｏｌｏｒ＝“ｒｅｄ”＞」、およびタグ３０５「＜ｐ  ｉｎｄｅｎｔ＝“２”＞」の子供要素となっていることから、３文字の字下げ、赤色表示となる。タグ３０５の上位階層にタグ３０２が存在することから、タグ３０５の変換において、タグ３０２の情報を反映する。すなわち、ＸＭＬデータ４００ではタグ４０５「＜ｐ２  ｉｎｄｅｎｔ＝“３”／＞」へと変換する。
【００３７】
タグ４０３「＜ｆｏｎｔ２  ｃｏｌｏｒ＝“ｒｅｄ”／＞」とタグ４０５「＜ｐ２  Ｉｉｎｅｎｔ＝“３”／＞」の情報に基づいて文字列４０６「ＫＬＭＮＯ」は３文字の字下げ、赤色表示となる。これはＸＭＬデータ３００による変換前の表示と同じとなる。
【００３８】
文字列３０９「ＰＱＲＳＴ」はタグ３０２「＜ｐ  ｉｎｄｅｎｔ＝“１”＞」の子供要素となっていることから、１文字の字下げ、デフォルト値である黒色表示となる。タグ３０５「＜ｐ  ｉｎｄｅｎｔ＝“２”＞」のタグの情報は、タグ３０７「＜／ｐ＞」の終了タグで終了していることから、タグ３０７「＜／ｐ＞」に上位階層で同じタグ名であるタグ３０２「＜ｐ  ｉｎｄｅｎｔ＝“１”＞」の情報を反映する。すなわち、ＸＭＬデータ４００におけるタグ４０７「＜ｐ２ｉｎｄｅｎｔ＝“１”／＞へと変換する。
【００３９】
同様にして、タグ３０３「＜ｆｏｎｔ  ｃｏｌｏｒ＝“ｒｅｄ”＞」のタグの情報は、タグ３０８「＜／ｆｏｎｔ＞」の終了タグで終了している。タグ３０８「＜／ｆｏｎｔ＞」の上位階層に同じタグ名であるタグは存在しないので、デフォルトの値である「＜ｆｏｎｔ  ｃｏｌｏｒ＝“ｂｌａｃｋ”＞」の情報を反映する。すなわち、ＸＭＬデータ４００におけるタグ４０８「＜ｆｏｎｔ２  ｃｏｌｏｒ＝“ｂｌａｃｋ”／＞」へと変換する。
【００４０】
タグ４０７「＜ｐ２  ｉｎｄｅｎｔ＝“１”／＞」とタグ４０８「＜ｆｏｎｔ２  ｃｏｌｏｒ＝“ｂｌａｃｋ”／＞」の情報により文字列４０９「ＰＱＲＳＴ」は１文字の字下げ、黒色表示となり、変換前の表示と同じとなる。
【００４１】
文字列３１１「ＵＶＷＸＹ」はタグの情報がないことから、デフォルトが有効となって字下げなし、黒色表示となる。タグ３０２「＜ｐ  ｉｎｄｅｎｔ＝“１”＞」のタグの情報は、タグ３１０「＜／ｐ＞」の終了タグで終了している。タグ３１０「＜／ｐ＞」の上位階層に同じタグ名であるタグは存在しないので、デフォルト値である「＜ｐ  ｉｎｄｅｎｔ＝“０”＞」の情報を反映する。すなわち、ＸＭＬデータ４００のタグ４１０「＜ｐ２  ｉｎｄｅｎｔ＝“０”／＞」へと変換する。
【００４２】
タグ４０８「＜ｆｏｎｔ２  ｃｏｌｏｒ＝“ｂｌａｃｋ”／＞」とタグ４１０「＜ｐ２  ｉｎｄｅｎｔ＝“０”／＞」の情報により文字列４１１「ＵＶＷＸＹ」は字下げなし、黒色表示となり、変換前の表示と同じになる。
【００４３】
以上により、表示する情報（文字列など）および態様（インデント、表示色など）に変更はないまま、図１（Ａ）の階層構造を有するＸＭＬデータ３００は、図１（Ｂ）の階層構造が解消されて存在しないＸＭＬデータ４００へと変換される。
【００４４】
（第１の実施形態）
（データ処理装置を含むデータ処理システムの説明）
図２は、本実施の形態に係るデータ処理装置のブロック構成例を、データ処理装置を含むデータ処理システムを構成する装置とともに示す図である。図３は、本実施の形態に係るデータ処理のフローチャートである。
【００４５】
図２を参照してデータ処理システムは、ネットワーク１１１、記録媒体１１２、データ処理装置１１３、および表示装置１１０から構成される。
【００４６】
ネットワーク１１１は、データ処理装置１１３とデータを記録したデータベースを持つサーバ、もしくは他のパーソナルコンピュータと接続される。データ１０１はネットワーク１１１を介してデータ処理装置１１３へと供給される。記録媒体１１２はデータ１０２が予め記録されて、データ処理装置１１３へデータ１０２を供給するために用いられる。記録媒体１１２としては、フレキシブルディスク（ＦＤという）、ＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ハードディスクなどがある。データ処理装置１１３は、ネットワーク１１１および記録媒体１１２から供給されたデータ１０１および１０２を入力して処理し、外部に出力するための装置である。表示装置１１０はデータ処理装置１１３の出力する情報を受けて表示をするための装置である。表示装置１１０についての詳細は後述する。また、データ処理装置１１３の出力する情報は、ネットワーク１１１を介して外部装置に送信されてもよいし、記録媒体１１２に記録されてもよい。
【００４７】
データ１０１および１０２は、文書記述言語の定義に従って所定の処理を実行させるための構造化されたデータであって、階層構造を有する構造化文書を記録するためのデータ構造であるＳＧＭＬやＸＭＬなどを用いて記録されている。以下の説明では、データはＸＭＬに従い記述され、データ要素を特定できるデータ構造を有するものと想定して説明する。なお、データを記述する方式はＸＭＬに限定されない。
【００４８】
（データ処理装置１１３の説明）
図２に示すデータ処理装置１１３は、入力部１０３、データ記憶部１０４、階層構造解析部１０５、変換処理部１０６、出力部１０７、制御部１０８、および指示入力部１０９を備える。これら各部を用いたデータ処理手順を図３のフローチャートに従い概略的に説明する。
【００４９】
入力部１０３はデータ１０１もしくは１０２の読込みを行う（ステップＳ（以下、単にＳと略す）１００１）。データ記憶部１０４は、入力部１０３によって読込まれたデータ１０１もしくは１０２を記憶する。階層構造解析部１０５は、データ記憶部１０４に記憶されたデータ１０１もしくは１０２のタグの情報および階層構造を解析する。
【００５０】
階層構造解析部１０５は、データ１０１もしくは１０２のＸＭＬデータのすべてについて、開始タグ、終了タグ、子供要素、また、開始タグの中のタグ名、属性名および属性値の情報を取得し、取得した情報に基づきタグの階層構造を解析して、階層構造の情報を取得する（Ｓ１００２）。このとき、ＸＭＬデータを先頭から行単位で解析して取得したタグの情報は予め準備された所定記憶領域に順次格納される。
【００５１】
変換処理部１０６は階層構造解析部１０５によって解析されて取得された所定記憶領域に格納された情報に基づいて、ＸＭＬデータにおいて階層構造を有しているタグについて変換処理を行う（Ｓ１００４）。変換処理部１０６はこの変換処理を階層構造を有しているすべてのタグについて行ったかどうかを判定し、全てについて行なったことを判定したとき変換処理を終了する（Ｓ１００３）。変換処理部１０６についての詳細は後述する。
【００５２】
変換処理部１０６により変換処理された出力された変換後のＸＭＬデータは、データ記憶部１０４に再び記憶される。出力部１０７は、データ記憶部１０４から読出された変換後のデータを入力して外部に出力する（Ｓ１００５）。
【００５３】
制御部１０８は、入力部１０３、データ記憶部１０４、階層構造解析部１０５、変換処理部１０６、および出力部１０７の上述した一連の処理の流れを与えられる指示などに基づいて制御する。指示入力部１０９は、データ処理装置１１３を操作するために外部から与えられる指示、たとえばユーザの指示を入力して制御部１０８へと出力する。
【００５４】
（具体的な変換処理）
次に、変換処理部１０６によるＸＭＬデータの階層構造の情報に基づいた変換処理（Ｓ１００４）の手順について説明する。図４は変換処理部１０６の変換処理手順を示すフローチャートである。ここでは、データ処理装置１１３に入力する変換処理前のＸＭＬデータは図１（Ａ）のＸＭＬデータ３００であり、データ処理装置１１３の出力となる変換処理後のＸＭＬデータは図１（Ｂ）のＸＭＬデータ４００であると想定する。また、図５には、図１（Ａ）のＸＭＬデータ３００を階層構造を解析して表示させた場合のレイアウト、および図１（Ｂ）のＸＭＬデータ４００を表示装置１１０で表示させた場合のレイアウトを示す。
【００５５】
（図１（Ａ）のタグの説明）
まず、図１（Ａ）に記述されたタグについて説明する。ｐタグは段落の表示に関連するタグであり、ｉｎｄｅｎｔ属性は現在の文章の開始位置からｉｎｄｅｎｔ属性の値だけ文字数を下げて（文字数分の空白をおいて）文章を開始することを意味する。例えば、タグ３０５「＜ｐ  ｉｎｄｅｎｔ＝“２”＞」は、現在の文章の開始位置から二文字分下げてから文章を開始することを意味する。ｆｏｎｔタグは文字の表示に関連するタグであり、ｃｏｌｏｒ属性は文字の色をデフォルト（黒）から変更して表示することを意味する。例えば、タグ３０３「＜ｆｏｎｔ  ｃｏｌｏｒ＝“ｒｅｄ”＞」は、文字の色を赤に変更して表示することを意味する。また、特に指定がない場合のデフォルトとして、文章の開始位置は左側の始めからとする「＜ｐ  ｉｎｄｅｎｔ＝“０”＞」が設定され、また、文字の色は黒とする「＜ｆｏｎｔ  ｃｏｌｏｒ＝“ｂｌａｃｋ”＞」が設定されているものと想定する。
【００５６】
（図１（Ａ）のレイアウトの説明）
図１（Ａ）のＸＭＬデータ３００を解析して表示させると図５のレイアウトとなる。図５の「□」はｐタグのｉｎｄｅｎｔ属性で指定される文章の開始位置の文字下げの一文字分を示す。また、二重下線はｆｏｎｔタグのｃｏｌｏｒ属性による文字の色が赤になっていることを示す。
【００５７】
変換処理では、まず前述の所定記憶領域に格納されたタグの情報を検索して、変換対象となるタグの情報を取得する（Ｓ１１０１）。図１（Ａ）では、タグ３０２「＜ｐ  ｉｎｄｅｎｔ＝“１”＞」を最初に取得する。
【００５８】
次に、取得したタグについて、開始タグ、終了タグ、もしくは空タグのいずれかであるかを判定する（Ｓ１１０２）。ここで、終了タグ以外の開始タグおよび空タグと判定して場合は、変換の必要はないのでそのまま変換処理を終了する。図１（Ａ）では、タグ３０２は開始タグであるのでそのまま変換処理を終了する。
【００５９】
続けて、所定記憶領域を検索することでタグ３０３「＜ｆｏｎｔ  ｃｏｌｏｒ＝“ｒｅｄ”＞」、タグ３０５「＜ｐ  ｉｎｄｅｎｔ＝“２”＞」と順に取得するけれども、これらは開始タグと判定されるので、そのまま変換処理を終了する。次に所定記憶領域から読込んで取得するタグ３０７「＜／ｐ＞」は終了タグと判定されるので変換処理を続けることになる。
【００６０】
取得したタグが終了タグの場合、終了タグに対応する開始タグの情報を所定記憶領域を検索して取得する（Ｓ１１０３）。図１（Ａ）では、タグ３０７の終了タグに対応する開始タグはタグ３０５が検索される。
【００６１】
次に終了タグと対応する開始タグの階層より上位階層にタグ名が同じであるタグが存在するかどうかを検索する（Ｓ１１０４）。ここで、上位階層とは、上述の入れ子関係に従い、変換処理を行う開始タグを子供要素に含むタグの階層を意味する。
【００６２】
（図４のＳ１１０４“ＹＥＳ”の場合）
上位階層にタグ名が同じであるタグが存在する場合について説明する。検索の結果、上位階層にタグ名が同じであるタグが存在する場合、上位階層にあるタグの情報を取得する（Ｓ１１０５）。取得されるタグの情報は、上位階層の開始タグの属性の情報である。図１（Ａ）では、タグ３０５およびタグ３０７の階層の上位階層にはタグ３０２およびタグ３１０「＜／ｐ＞」が存在する。検索の結果、上位階層の開始タグのタグ３０２を取得できるので、その属性の情報を取得する。次に、取得した情報が反映されるようにＳ１１０３で取得している開始タグを変換する（Ｓ１１０７）。
【００６３】
ここでの変換は、取得した情報と開始タグとに同じ属性がある場合はそれぞれの属性値の加算や差分などの処理を行い、取得した情報と開始タグとに同じ属性がない場合は属性の追加や削除などの処理を行うことを指し、必要に応じてタグ名や開始タグ、終了タグ、空タグなどの種類も変換することを指す。
【００６４】
図１（Ａ）では、タグ３０２のｉｎｄｅｎｔ属性をタグ３０５のｉｎｄｅｎｔ属性に反映させる。ｐタグのｉｎｄｅｎｔ属性は現在の位置からｉｎｄｅｎｔ属性の値の文字数分だけ下げてから文章（文字列）を開始することを意味するので、ここでは加算を行う。タグ３０２のｉｎｄｅｎｔ属性の値「１」とタグ３０５のｉｎｄｅｎｔ属性の値「２」を加算してｉｎｄｅｎｔ属性の値「３」とする。さらに、タグ名をｐタグからｐ２タグへと変換し、開始タグから空タグへと変換する。結果として、タグ３０５は図１（Ｂ）におけるタグ４０５「＜ｐ２  ｉｎｄｅｎｔ＝“３”／＞」へと変換される。ｐ２タグは、ｐタグと同様、ｉｎｄｅｎｔ属性の値の文字数分だけ下げてから文章（文字列）を開始することを意味する。ｐタグとの違いは、ｐタグが開始タグと終了タグによって有効範囲を指定するのに対し、ｐ２タグは空タグで記述され、以降ｐ２タグによる属性の変更があるまでを有効範囲とする点である。
【００６５】
開始タグの変換処理後、当該開始タグに対応の終了タグを所定記憶領域から検索して、この終了タグに対しても取得した情報が反映するように変換を行う（Ｓ１１０８）。終了タグには属性がないので、ここでは、取得した情報の属性を終了タグの属性に追加する。また、必要に応じてタグ名や開始タグ、終了タグ、空タグなどの種類も変換する。
【００６６】
図１（Ａ）では、タグ３０７にｉｎｄｅｎｔ属性の値「１」を追加する。さらに、タグ名をｐタグからｐ２タグへと変換し、終了タグから空タグへと変換する。結果として、図１（Ａ）の終了タグ３０７は図１（Ｂ）におけるタグ４０７「＜ｐ２  ｉｎｄｅｎｔ＝“１”／＞」へと変換される。開始タグおよび終了タグの変換を終えて変換処理は終了する。
【００６７】
（図４のＳ１１０４“ＮＯ”の場合）
次に、上位階層にタグ名が同じであるタグが存在しない場合について説明する。上位階層にタグ名が同じであるタグが存在しない場合、そのタグ名のタグの初期設定（デフォルト）の情報を取得する（Ｓ１１０６）。
【００６８】
図１（Ａ）では、タグ３０８「＜／ｆｏｎｔ＞」に対応する開始タグ３０３「＜ｆｏｎｔ  ｃｏｌｏｒ＝“ｒｅｄ”＞」との階層の上位階層にｆｏｎｔタグは存在しないので、ｆｏｎｔタグの初期設定である「＜ｆｏｎｔ  ｃｏｌｏｒ＝“ｂｌａｃｋ”＞」を取得する。
【００６９】
取得した情報を反映するように開始タグおよび終了タグを変換する処理は、上位階層にタグ名が同じであるタグが存在した場合と同様であるので説明は省略する。
【００７０】
図１（Ａ）では、ｃｏｌｏｒ属性の値「ｂｌａｃｋ」を反映させるように変換し、結果としてタグ３０３は図１（Ｂ）のタグ４０３「＜ｆｏｎｔ２  ｃｏｌｏｒ＝“ｒｅｄ”／＞」へと変換され、タグ３０８は図１（Ｂ）のタグ４０８「＜ｆｏｎｔ２  ｃｏｌｏｒ＝“ｂｌａｃｋ”／＞」へと変換される。ｆｏｎｔ２タグはｐ２タグと同様、以降、ｆｏｎｔ２タグによる属性の変更があるまでを有効範囲とする点でｆｏｎｔタグと異なる。
【００７１】
（変換処理の残りの説明）
変換処理を図１（Ａ）のＸＭＬデータ３００のすべてのタグについて行うと図１（Ｂ）のＸＭＬデータ４００が示す出力結果となる。図１（Ｂ）では、階層構造となる子供要素を持つ開始タグおよび終了タグで記述されたタグは存在せず、すべて階層構造を取らない空タグで記述されている。
【００７２】
変換処理は、終了タグに着目して変換する処理に限ったものではない。終了タグの代わりに開始タグに着目して同様の変換を行ってもよい。
【００７３】
また、変換処理において、ＸＭＬデータの最後にある終了タグは変換処理を行わず省略してもよい。例えば、図１（Ａ）において、タグ３１０以降にデータが存在しない場合、図１（Ｂ）のタグ４１０「＜ｐ２  ｉｎｄｅｎｔ＝“０”／＞」へと変換せず、省略することができる。タグ４１０以降にはデータがないので、タグ４１０の情報を必要としないためである。この場合、図１（Ｂ）においては、文字列４０９「ＰＱＲＳＴ」がデータの末端となる。省略することにより、変換後のＸＭＬデータのデータ容量を削減することができる。
【００７４】
（表示装置（図２）の説明）
次に、表示装置について説明する。図６は、図１における表示装置の構成例を、表示装置を含むデータ処理システムを構成する装置とともに示す図である。すなわち、図２におけるネットワーク２１１、記録媒体２１２、データ処理装置２１３、および表示装置２１４は、それぞれ図１におけるネットワーク１１１、記録媒体１１２、データ処理装置１１３、および表示装置１１０に対応する。図７には、表示装置２１４による表示処理のフローチャートを示す。
【００７５】
表示装置２１４は、入力部２０４、データ記憶部２０５、データ構造解析部２０６、レイアウト計算部２０７、表示部２０８、制御部２０９、および指示入力部２１０を備える。
【００７６】
入力部２０４は、ネットワーク２１１を介して送信されたデータ２０１、記録媒体２１２に予め記録されたデータ２０２、もしくはデータ処理装置２１３の出力であるデータ２０３の読込みを行う（Ｓ１２０１）。データ２０１、２０２および２０３は、データ処理装置２１３において処理されたデータである。データ記憶部２０５は、入力部２０４によって読込まれたデータ２０１、２０２、もしくは２０３を記憶する。
【００７７】
以下、図７のフローチャートに従いデータ表示処理の手順について説明する。
（データ構造解析部２０６の説明）
まず、データ構造解析部２０６は、データ記憶部２０５に記憶されたデータ２０１、２０２、もしくは２０３のデータ構造を解析する（Ｓ１２０２）。データ２０１、２０２、もしくは２０３は図１（Ｂ）に示すような階層構造が解消されて存在しない構造化文書のデータであるから、データ構造解析部２０６は階層構造を解析する処理を必要とせず、タグ情報と文字列とを解析するだけでよい。図１（Ｂ）では、文字列４０１「ＡＢＣＤＥ」、４０４「ＦＧＨＩＪ」、４０６「ＫＬＭＮＯ」、４０９、および４１１「ＵＶＷＸＹ」が文字列であること、また、タグ４０２「＜ｐ２  ｉｎｄｅｎｔ＝“１”／＞」、４０３、４０５、４０７、４０８および４１０がタグであることを解析する。解析の結果はレイアウト計算部２０７に出力される。
【００７８】
（レイアウト計算部の説明）
レイアウト計算部２０７は、データ構造解析部２０６によって解析されたタグと文字列の解析結果を順に読込む（Ｓ１２０３）。読込んだ内容に基づいて表示するためのインデントなどのレイアウトを計算する（Ｓ１２０４）。図１（Ｂ）の場合には、はじめに文字列４０１を読込みレイアウトを計算する。次に読込むタグ４０２とタグ４０３の情報を元に文字列４０４のレイアウトを計算する。次に読込むタグ４０５の情報を取得したときに、同じｐ２タグであるタグ４０２の情報を保持する必要はない。データ処理装置２１３において、予め階層構造を解析し、表示内容の変わるタグの情報に変換しているので、タグ４０５にはタグ４０２の情報が反映されている。したがって、タグ４０３とタグ４０５の情報を元に文字列４０６のレイアウトを計算すればよい。以降、同様にして、同じタグ名であるタグの情報の取得によって、先に読込んでいる同じタグ名のタグの情報は保持しなくてよい。同じタグ名のタグの情報を保持しなくてよいので、メモリ使用量を削減できる。計算結果に従いレイアウトされたデータは表示部２０８に出力される。
【００７９】
（その他の部分の説明）
表示部２０８は、レイアウト計算部２０７から計算結果に基づきレイアウトされたデータを入力して外部に表示する（Ｓ１２０５）。図１（Ｂ）のデータを処理した場合には、図１（Ａ）と同様、図５のように表示される。制御部２０９は、入力部２０４、データ記憶部２０５、データ構造解析部２０６、レイアウト計算部２０７、および表示部２０８の一連の処理の流れを制御する装置である。指示入力部２１０は、表示装置２１４を操作するユーザの指示を制御部１０８へと伝える（Ｓ１２０６）。ユーザからの表示レイアウトの変更に関する指示があった場合、再びタグなどの解析結果を順に読込む処理を行い（Ｓ１２０３）、指示された変更内容を用いてレイアウトを計算し直して表示を行う。ユーザの指示がない場合は、ユーザの指示を受けるまで待ち受け状態を保持する。また、ユーザから表示処理終了の指示があった場合は、表示処理のすべてを終了する。
【００８０】
（まとめ）
以上説明したように、データ処理装置２１３において、階層構造を有する構造化文書のデータを、あらかじめ階層構造が解消されて存在しない構造化文書の文書へと変換処理しておくことで、表示装置２１４におけるデータ表示において、階層構造を解析する処理を省略できるので、高速に表示処理することができる。また、階層構造を記憶しておく必要がないため、メモリ使用量を削減することができる。
【００８１】
（第２の実施形態）
次に第２の実施形態について説明する。
【００８２】
図８は、本発明の第２の実施の形態に係るデータ処理装置のブロック構成例を、データ処理装置を含むデータ処理システムを構成する装置とともに示す図である。図９は、本発明の第２の実施の形態に係るデータ処理のフローチャートである。
【００８３】
図８を参照してデータ処理システムは、ネットワーク５１２、記録媒体５１３、データ処理装置５１４、および表示装置５１１を備える。
【００８４】
ネットワーク５１２は、データ処理装置５１４とデータを記録したデータベースを持つサーバ、もしくは他のパーソナルコンピュータと接続される。データ５０１はネットワーク５１２を介してデータ処理装置５１４へと供給される。記録媒体５１３はデータ５０２が予め記録されて、データ処理装置５１４へデータ５０２を供給するために用いられる。記録媒体５１３としては、ＦＤ、ＣＤ−ＲＯＭ、ハードディスクなどがある。データ処理装置５１４は、ネットワーク５１２および記録媒体５１３から供給されたデータ５０１および５０２を入力して処理し、外部に出力するための装置である。表示装置５１１はデータ処理装置５１４の出力する情報を受けて表示をするための装置である。表示装置５１１についての詳細は後述する。また、データ処理装置５１４の出力する情報は、ネットワーク５１２を介して外部装置に送信されてもよいし、記録媒体５１３に記録されてもよい。
【００８５】
データ５０１および５０２も第１の実施形態における図１（Ａ）のデータ１０１および図１（Ｂ）のデータ１０２と同様であるため、説明は省略する。
【００８６】
データ処理装置５１４は、入力部５０３、データ記憶部５０４、ブロック分割部５０５、階層構造解析部５０６、変換処理部５０７、出力部５０８、制御部５０９、および指示入力部５１０を備える。
【００８７】
データ処理装置５１４のデータ処理手順について図９のフローチャートに従い説明する。入力部５０３はデータ５０１もしくはデータ５０２の読込みを行う（Ｓ１３０１）。データ記憶部５０４は、入力部５０３によって読込まれたデータ５０１もしくはデータ５０２を記憶する。ブロック分割部５０５は、データ記憶部５０４に記憶されたデータ５０１もしくはデータ５０２をいくつかのブロック単位に分割するブロック分割処理を行う（Ｓ１３０２）。
【００８８】
（ブロック分割処理の説明）
ここで、ブロック分割処理について説明する。図１０は、図１（Ａ）のＸＭＬデータ３００をいくつかのブロック単位に分割する場合の分割する箇所を示す図である。図１０では説明のために図１（Ａ）の符号３０１〜３１１に代替して符号７０１〜７１１を用いている。符号７０１〜７１１により示す内容は符号３０１〜３１１が示すものに一致する。
【００８９】
図１０では文字列７０４「ＦＧＨＩＪ」とタグ７０５「＜ｐ  ｉｎｄｅｎｔ＝“２”＞」の間でＸＭＬデータ３００の分割を行い、その結果、ＸＭＬデータ３００はブロック７１２とブロック７１３の２つのブロックに分割されると想定する。
【００９０】
ブロックの大きさは固定サイズとすることが基準となる。ブロックに分割する箇所は固定サイズ付近のタグで分割する。固定サイズそのもので分割するのではなく、タグの記述の前後で分割させることでタグの記述そのものが分割されることを回避する。タグの記述そのものを分割してしまうと、ブロックを個々に読み込んでもタグ記述が分断されていて解析できない。固定サイズ近辺で適切な分割するタグが存在しない場合は、さらに範囲を広げてタグを検索する。基準となる固定サイズははじめから定義されているものとする。定義されるサイズは表示装置５１１が処理するのに適切な値とする。
【００９１】
ブロック分割処理においては、もし階層構造を有しているタグの子供要素が分割された場合には、たとえばタグ７０２「＜ｐ  ｉｎｄｅｎｔ＝“１”＞」とタグ７０３「＜ｆｏｎｔ  ｃｏｌｏｒ＝“ｒｅｄ”＞」の子供要素が分割されてレイアウト計算不可能な状態の場合には、分割した箇所の前後において、分割されたタグの情報の補間処理を行う。図１１は、図１０のデータに関して補間処理を行ったことを示す図である。
【００９２】
図１１の符号８０１〜８０４および符号８０９〜８１５の示す内容は図１０の符号７０１〜７０４および符号７０５〜７１１の示すものに一致する。図１１のブロック８１６は、図１０のブロック７１２のデータに、タグ８０３「＜ｆｏｎｔ  ｃｏｌｏｒ＝“ｒｅｄ”＞」に対応する終了タグとしてタグ８０５「＜／ｆｏｎｔ＞」が追加され、タグ８０２「＜ｐ  ｉｎｄｅｎｔ＝“１”＞」に対応する終了タグとしてタグ８０６「＜／ｐ＞」が追加（補間）されたデータを示す。また、ブロック８１７は、図１０のブロック７１３のデータに、タグ８１２「＜／ｆｏｎｔ＞」に対応する開始タグとしてタグ８０８「＜ｆｏｎｔ  ｃｏｌｏｒ＝“ｒｅｄ”＞」が追加され、タグ８１４「＜／ｐ＞」に対応する開始タグとしてタグ８０７「＜ｐ  ｉｎｄｅｎｔ＝“１”＞」が追加（補間）されたデータを示す。以上のような対応する開始タグまたは終了タグを追加するような補間処理により、ブロック８１６およびブロック８１７それぞれが、レイアウト計算可能なＸＭＬデータとなる。
【００９３】
（階層構造解析部５０６の説明）
階層構造解析部５０６は、ブロック分割部５０５において分割処理されたＸＭＬデータを入力して、各ブロック毎にその中のタグの情報および階層構造を解析する（Ｓ１３０４）。階層構造解析部５０６は、第１の実施形態における図２の階層構造解析部１０５と同様に解析処理するので、その説明は省略する。
【００９４】
（変換処理部５０７の説明）
変換処理部５０７は、階層構造解析部５０６による解析結果の情報に基づいて、階層構造を有しているタグには変換処理を行う（Ｓ１３０６）。変換処理については、第１の実施形態の変換処理と同様であるため説明は省略する。
【００９５】
図１２は、図１１のデータを変換処理した後の状態を示す図である。図１１のブロック８１６においては、タグ８０５およびタグ８０６以降にデータが存在しないので、変換処理は行わず、省略をしている。したがって、ブロック８１６に対応の図１２のブロック９１３では、文字列９０１および９０４、ならびにタグ９０２および９０３を含み、文字列９０４「ＦＧＨＩＪ」がブロック９１３の末端となっている。変換処理をすべてのタグについて行ったかどうかを判定し変換処理を終了する（Ｓ１３０５）。またブロック８１７に対応の図１２のブロック９１４では、文字列９０７、９１０および９１２、ならびにタグ９０５、９０６、９０８、９０９および９１１を含む。
【００９６】
以上の解析処理および変換処理をすべてのブロックについて終了したかどうかを判定し（Ｓ１３０３）、終了した場合、変換後のデータは、データ記憶部５０４に再び記憶される。出力部５０８は、データ記憶部５０４に記憶された変換後のデータを外部に出力する（Ｓ１３０７）。
【００９７】
制御部５０９は、入力部５０３、データ記憶部５０４、ブロック分割部５０５、階層構造解析部５０６、変換処理部５０７、および出力部５０８の一連の処理の流れを制御する。指示入力部５１０は、データ処理装置５１４を操作するユーザの指示を制御部５０９へと伝える。
【００９８】
データ処理は、すでにブロック単位に分割されたＸＭＬデータに対して行ってもよい。データ５０１および５０２は、すでにブロック単位に分割されたデータである場合、ブロック分割部５０５においては、ブロック内でさらにブロック分割処理を適用する、もしくは、ブロック分割処理を省略する。以降の階層構造解析部５０６の解析処理および変換処理部５０７の変換処理は同様にして行うことができる。
【００９９】
（表示装置５１１の説明）
次に、表示装置について説明する。図１３は、図８における表示装置５１１のブロック構成例を、表示装置を含むデータ処理システムを構成する装置とともに示す図である。すなわち、図１３におけるネットワーク６１２、記録媒体６１３、データ処理装置６１４、および表示装置６１５は、それぞれ図８におけるネットワーク５１２、記録媒体５１３、データ処理装置５１４、および表示装置５１１に対応する。図１４は、表示装置６１５の表示処理のフローチャートである。
【０１００】
表示装置６１５は、入力部６０４、データ記憶部６０５、ブロック情報解析部６０６、データ構造解析部６０７、レイアウト計算部６０８、表示部６０９、制御部６１０、および指示入力部６１１から構成される。
【０１０１】
入力部６０４は、ネットワーク６１２を介して受信するデータ６０１、記録媒体６１３に予め記録されたデータ６０２、もしくはデータ処理装置６１４の出力であるデータ６０３の読込みを行う（Ｓ１４０１）。データ６０１、６０２および６０３は、データ処理装置６１４において処理されたデータである。データ記憶部６０５は、入力部６０４によって読込まれたデータ６０１、６０２、もしくは６０３を記憶する。
【０１０２】
図１４のフローチャートに従い表示処理手順について説明する。
まず、ブロック情報解析部６０６は、データ記憶部６０５に記憶されたデータ６０１、６０２、もしくは６０３のブロック情報を解析する（Ｓ１４０２）。ブロック情報の解析によって、表示に必要となる対象ブロックを決定する（Ｓ１４０３）。表示に必要となる対象ブロックを決定することでデータ６０１、６０２、もしくは６０３のデータのはじめ（先頭）からデータすべてを解析する必要がなく、表示に必要なブロック内のデータのみを解析するので処理負荷が軽減される。
【０１０３】
表示に必要なブロックの位置は、ＸＭＬデータのコンテンツを必ず最初（先頭）から表示する表示装置では１ブロック目となり、前回表示した位置を記録しておくような表示装置では記録された情報に基づいたブロックの位置となる。
【０１０４】
また、表示に必要となるブロック数は表示画面のサイズや表示設定に基づいて決定される。例えば、１ブロックあたり３０文字を含む場合に、表示設定が５０文字であるとしたら表示のためには少なくとも２ブロック、最大で３ブロック必要になる。画像を含むようなレイアウトではピクセル数などに基づいて表示に必要となるブロック数を決定する。
【０１０５】
上記の表示のためのブロック位置とブロック数の決定によって、ブロックの位置からブロック数分のブロックが表示に必要となる対象ブロックになる。
【０１０６】
データ構造解析部６０７、レイアウト計算部６０８、および表示部６０９における処理Ｓ１４０４からＳ１４０７は、第１の実施形態における図７の処理Ｓ１２０２からＳ１２０５と同様であるため説明は省略する。
【０１０７】
制御部６１０は、入力部６０４、データ記憶部６０５、ブロック情報解析部６０６、データ構造解析部６０７、レイアウト計算部６０８、および表示部６０９の一連の処理の流れを制御する。
【０１０８】
指示入力部６１１は、表示装置６１５を操作するユーザの指示を制御部６１０へと伝える（Ｓ１４０８）。ユーザからの指示があった場合に、表示するブロックが同一ブロックである場合は、再びタグを順に読込む処理を行い、レイアウトを計算し直して表示を行う。同一ブロックでない場合は、表示の対象となるブロックを決定する処理から行う（Ｓ１４０９）。ユーザの指示がない場合は、ユーザの指示を受けるまで待ち受け状態を保持する。また、ユーザから終了の指示があった場合は、表示処理のすべてを終了する。
【０１０９】
ここで、ユーザ指示とは、ユーザが表示装置そのものを操作することにより入力される操作をいう。例えば、携帯電話を想定した場合に、十字ボタン（上、下、左、右への操作ボタン）や決定ボタンの操作となる。図７におけるユーザ指示についても同様の内容となる。
【０１１０】
表示ブロックの決定は、上記ユーザ指示となる操作に応じて決定することになる。例えば、ＸＭＬデータのコンテンツを開いたとき（表示したとき）に１ブロック目の最初を表示しているとする。ユーザが指示入力部６１１の図示されない下ボタンを操作してレイアウトをスクロールしていく場合に、表示に必要な情報が１ブロック目内にある状態ではレイアウト計算処理が繰返される（Ｓ１４０９のＹＥＳの動作）。１ブロック目の最後の情報をレイアウトして表示し、下ボタンを操作したときに２ブロック目の情報が必要となる（Ｓ１４０９のＮＯの動作）。必要となった２ブロック目を１ブロック目と共に表示処理する。これが表示ブロックの決定に相当する。
【０１１１】
（まとめ）
以上説明したように、データ処理装置５１４において、階層構造を有する構造化文書のデータを、ブロック単位に分割し、あらかじめ階層構造が解消されて存在しない構造化文書のデータへと変換しておくことで、表示装置６１５において、データの先頭からデータすべてを解析する必要がないので表示処理の負荷が軽減される。また、ブロック内での階層構造を解析する処理は省略されるので、高速に表示処理できる。さらに、階層構造を記憶しておく必要がないため、メモリ使用量を少なくできる。
【０１１２】
なお、本実施の形態では、データ５０１、５０２、６０１、６０２、および６０３としてＸＭＬで記述されたデータを例に挙げて説明したが、以上の説明から明らかなように、ＸＭＬで記述されたデータに限定されるものではない。
【０１１３】
（第１と第２の実施形態に共通の利用の態様）
利用の態様として、データ処理装置１１３およびデータ処理装置５１４はサーバを想定し、表示装置１１０および表示装置６１５は携帯電話やＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔｓ）のようなモバイル機器に搭載される表示装置を想定する。
【０１１４】
サーバでは階層構造を有するデータを階層構造が解消されて存在しないデータへと変換し、ネットワークを介してモバイル機器へと配信する。モバイル機器においては、配信されたデータを受信する。データには階層構造が存在していないことから高速に処理および表示することができる。なお、モバイル機器の携帯型情報処理装置に限らずラップトップ型（ノートブック型）または据置き型のパーソナルコンピュータでもよい。このようなパーソナルコンピュータにおいても階層構造が解消されて存在しないことから高速にデータ処理することができ、ディスプレイなどを利用して表示する。
【０１１５】
また、データ処理装置１１３および５１４はパーソナルコンピュータを想定し、表示装置１１０および６１５は携帯電話のようなモバイル機器に搭載の表示装置を想定する。パーソナルコンピュータでは、階層構造を有するデータを階層構造の存在しないデータへと変換し、ＦＤなどの記録媒体に記録する。変換後のデータを記録した記録媒体を持運び、モバイル機器へと挿込むことでモバイル機器は階層構造の存在しないデータを読込むことができ、高速に処理および表示することができる。また同様に、データ表示装置が搭載される先はモバイル機器に限らずパーソナルコンピュータでもよい。さらに、記録媒体を利用せず、ネットワークを介してデータを送受信してもよい。
【０１１６】
（第３の実施形態）
実施の形態１と２で示したデータ処理およびデータ表示処理の機能は、これらの方法をコンピュータにより実行することにより実現される。このようなコンピュータの構成例が図１５に示される。
【０１１７】
図１５を参照してコンピュータは、表示装置１１０または５１１に対応のＣＲＴ（陰極線管）、液晶などからなるモニタ１４３、指示入力部１０９、５１０、２１０、６１１に対応のキーボード１５０、マウス１６０およびペンタブレット１７０、制御部１０８、２０９、５０９、６１０に対応の該コンピュータ自体を集中的に制御するためのＣＰＵ（中央処理装置の略）１２２、データ記憶部１０４、２０５、５０４、６０５に対応のＲＯＭまたはＲＡＭ（ランダムアクセスメモリの略）を含んで構成されるメモリ１２４、固定ディスク１２６、ＦＤ１３２が着脱自在に装着されて、装着されたＦＤ１３２をアクセスするＦＤ駆動装置１３０、ＣＤ−ＲＯＭ１４２が着脱自在に装着されて、装着されたＣＤ−ＲＯＭ１４２をアクセスするＣＤ−ＲＯＭ駆動装置１４０、インターネットなどの通信ネットワーク１８２と、該コンピュータとを通信接続するための通信インターフェィス１８０を含む。これらの各部はバスを介して通信接続される。固定ディスク１２６、ＦＤ１３２、ＣＤ−ＲＯＭ１４２は記録媒体１１２、２１２、５１３、６１３に対応し、通信ネットワーク１８２はネットワーク１１１、２１１、５１２、６１２に対応する。
【０１１８】
コンピュータには、カセット形式の磁気テープが着脱自在に装着されて磁気テープをアクセスする磁気テープ装置が設けられても良い。
【０１１９】
このようなコンピュータに上述のデータ処理方法および表示方法を実行させるためのプログラムは、コンピュータで読取可能な記録媒体に格納される。本実施の形態では、この記録媒体として、図１５に示されているコンピュータで処理が行なわれるために必要なメモリ、たとえばメモリ１２４のようなそのものがプログラムメディアであってもよいし、また外部記憶装置として図示のない磁気テープ装置およびＣＤ−ＲＯＭ駆動装置１４０などのプログラム読取装置が設けられ、そこに記憶媒体である磁気テープまたはＣＤ−ＲＯＭ１４２が装着されることで読取可能なプログラムメディアであってもよい。いずれの場合においても、格納されているプログラムはＣＰＵ１２２がアクセスして実行させる構成であってもよいし、あるいはいずれの場合もプログラムが一旦読出されて、読出されたプログラムは、図１５のコンピュータの所定のプログラム記憶エリア、たとえばメモリ１２４のＲＡＭの所定エリアにロードされて、ＣＰＵ１２２により読出されて実行される方式であってもよい。このロード用のプログラムは、予め当該コンピュータに格納されているものとする。
【０１２０】
ここで、上述したプログラムメディアはコンピュータ本体と分離可能に構成される記録媒体であり、固定的なプログラムを担持する媒体であってもよい。たとえば、磁気テープやカセットテープなどのテープ系、ＦＤ１３２や固定ディスク１２６などの磁気ディスクやＣＤ−ＲＯＭ１４２／ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ    Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ    Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などの光ディスクのディスク系、ＩＣカード（メモリカードを含む）／光カードなどのカード系、あるいはマスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ａｎｄ    Ｐｒｏｇｒａｍｍａｂｌｅ    ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ    ＥＰＲＯＭ）、フラッシュＲＯＭなどによる半導体メモリなどである。
【０１２１】
また、流動的にプログラムを担持する媒体であってもよい。つまり、図１５のコンピュータはインターネットを含む通信ネットワーク１８２と通信インターフェィス１８０を介して接続可能な構成が採用されているから、通信ネットワーク１８２からプログラムがダウンロードされるようなき禄媒体であってもよい。プログラムがダウンロードされる場合には、ダウンロード用プログラムは予め当該コンピュータ本体に格納しておくか、あるいは別の記録媒体から予め当該コンピュータ本体にインストールされるものであってもよい。
【０１２２】
なお記録媒体に格納されている内容としてはプログラムに限定されず、データであってもよい。
【０１２３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１２４】
【発明の効果】
本発明は、階層構造を有するデータであっても、あらかじめ階層構造を解消して、階層構造が存在しないデータへと変換することによって、表示などの出力において、階層構造を解析する処理を必要としないのでデータの取扱いが容易となり、高速に処理することができる。また、階層構造を別途、記憶しておく必要もないため、メモリ使用量を削減することができる。
【０１２５】
さらに、データをブロック単位に分割した場合、データを最初から全体について解析する必要がないので処理負荷が軽減される。ブロック内では階層構造を解析する処理を必要としないので、さらに高速に出力処理することができる。
【図面の簡単な説明】
【図１】（Ａ）と（Ｂ）は、本実施の形態による構造化文書の変換手順の概略を説明する図である。
【図２】本発明の第１の実施の形態に係るデータ処理装置のブロック構成例を、データ処理装置を含むデータ処理システムを構成する装置とともに示す図である。
【図３】本発明の第１の実施の形態に係るデータ処理のフローチャートである。
【図４】図２の変換処理部の変換処理手順を示すフローチャートである。
【図５】図１（Ａ）のＸＭＬデータを階層構造を解析して表示させた場合のレイアウト、および図１（Ｂ）のＸＭＬデータを表示させた場合のレイアウトを示す図である。
【図６】図１における表示装置の構成例を、表示装置を含むデータ処理システムを構成する装置とともに示す図である。
【図７】本発明の第１の実施の形態に係る表示装置による表示処理のフローチャートである。
【図８】本発明の第２の実施の形態に係るデータ処理装置のブロック構成例を、データ処理装置を含むデータ処理システムを構成する装置とともに示す図である。
【図９】本発明の第２の実施の形態に係るデータ処理のフローチャートである。
【図１０】図１（Ａ）のＸＭＬデータをいくつかのブロック単位に分割する場合の分割する箇所を示す図である。
【図１１】図１０のデータに関して補間処理を行ったことを示す図である。
【図１２】図１１のデータを変換処理した後の状態を示す図である。
【図１３】図８における表示装置の構成例を、表示装置を含むデータ処理システムを構成する装置とともに示す図である。
【図１４】本発明の第２の実施の形態に係る表示装置の表示処理のフローチャートである。
【図１５】本発明の第３の実施の形態に係るコンピュータの構成図である。
【符号の説明】
１０５，５０６  階層構造解析部、１０６，５０７  変換処理部、１１３，２１３，５１４，６１４  データ処理装置、１１０，２１４，５１１，６１５  表示装置、２０６，６０７  データ構造解析部、２０７，６０８  レイアウト計算部、３００，４００  ＸＭＬデータ、５０５  ブロック分割部、６０６  ブロック情報解析部。
【図１】
2004348480.tif 000003
【図２】
2004348480.tif 000004
【図３】
2004348480.tif 000005
【図４】
2004348480.tif 000006
【図５】
2004348480.tif 000007
【図６】
2004348480.tif 000008
【図７】
2004348480.tif 000009
【図８】
2004348480.tif 000010
【図９】
2004348480.tif 000011
【図１０】
2004348480.tif 000012
【図１１】
2004348480.tif 000013
【図１２】
2004348480.tif 000014
【図１３】
2004348480.tif 000015
【図１４】
2004348480.tif 000016
【図１５】
2004348480.tif 000017