明細書 データ処理装置、 データ処理方法、 データ処理プログラム、 およびデータ処理プログラムを記録したコンピュータ読取可能な記録媒体 技術分野
本発明は文書記述言語の定義に従って記述された階層構造を有するデータのた めの処理装置、 処理方法、 処理プログラム、 および処理プログラムを記録したコ ンピュータ読取可能な記録媒体に関し、 特に、 この階層構造を有するデータの取 扱いを容易にするためのデータ処理装置、 データ処理方法、 データ処理プログラ ムおよぴデータ処理プログラムを記録したコンピュータ読取可能な記録媒体に関 する。 背景技術
文書記述言語の定義に従って所定の処理を実行させるための構造化されたデー タであって、 階層構造を有する構造化文書を記録するためのデータ形式として、 SGML (Standard Generalized Mark-up Language) ^ XML (extensible Markup Language) , HTML (HyperText Markup Language) など力 S知られてレヽる。 特に XMLは、 インターネットで交換する電子文書や電子データなどで近年盛んに使 用されている。
XMLデータを扱う処理方法として、 DOM (Document Object Model) 形式と SAX (Simple API for XML) 形式が知られている。 例えば、 "プログラミン グ技術情報誌 C MAGAZ I NE FEB. 2000 2 「特集 1 XML CZC + +による実用的な利用法」" (発行元: ソフトパンクパブリツシング株式 会社) の 14一 15ページにその詳細が記述されている。
DOM形式とは、 対象とする電子データをすベて読込み、 読込んだ電子データ 内の全要素の階層構造を把握してから、 電子データの各要素にアクセスする処理 方法である。 例えば、 図 26のような階層構造を持つ電子データがある場合、 一 且、 電子データ全体を読込み、 全要素の階層構造を解析する。 図 26は電子デー
タの階層構造のみを示し、 本文と内容は省略している。 そして、 図 2 6の階層構 造を持つ電子データから、 図 2 7のような木構造を作成した後、 各要素 (T I T L E、 AU T H O Rなど) にアクセスする。 よって、 電子データの階層構造を把 握した後に処理することになるため、 任意の要素にアクセスしやすいという特徴 がある。
一方、 S A X形式は、 データを先頭から順に読込みながら、 読込んだ要素のみ 構造解析する処理方法である。 そのため、 データ全体の解析処理を待たずに、 順 次処理していくことができ、 処理速度的にもメモリ容量的にもオーバへッドが少 ないという特徴がある。
しかしながら、 D OM形式は、 データ内の一部のデータだけを処理したい場合 であっても、木構造を生成するために、データ全体の構造を解析する必要があり、 処理に無駄が生じるという問題がある。さらに、データのサイズが大きくなると、 木構造を生成するための処理時間が長くなり、 およぴ木構造を記憶しておくため のメモリの使用容量が多くなるという問題がある。
これは、携帯電話のようなモパイル機器など、処理性能が乏しい機器において、 データを処理および表示するのを困難にする。
一方、 S A X形式の場合、 電子データの先頭から順に処理することを前提にし たアクセス形式であるため、 電子データの內容を先頭から順に処理せず任意の要 素を任意の順番に処理する場合でも、 必ず先頭からデータを読込み、 構造解析の 処理が必要となる。また、電子データの後半の要素を処理したいときであっても、 電子データの先頭から読込み、 構造解析を必要とするために処理時間に無駄が生 じる。 これもまた、 同様に処理性能が乏しい機器においてデータを処理し表示す るのを困難にする。 '
両者に共通する問題は、 構造化文書では、 効果範囲の指定を必要とするタグが 存在するため、 幾層もの階層構造を解析する必要があり、 解析処理に時間がかか るということである。 表示装置においては、 階層構造を解析する処理が、 表示処 理の負荷となり、 結果として、 表示するまでに遅延が生じるということとなる。 階層構造を持つ電子データを高速に処理できるようにするため、電子データを、 タグ情報を除き、 表示すべき内容のみを記録したテキストデータと、 そのテキス
トデータを処理する際に必要となるタグ情報 (例えば、 タグ名、 属性名、 属性値 や、 テキストデータにおけるそのタグの出現位置などの情報) を記録したタグデ ータとに変換して、 それらを組合わせて処理することによって、 処理時間を短縮 する方法が考えられる。
しかしながら、 上記タグデータに記録されるタグ情報はタグの種類によって、 属性の種類や数が異なり大きさが変動するため、 上記タグデータのために可変長 領域または十分に大きなサイズの固定長領域を確保する必要がある。 従って、 電 子データをテキストデータとタグデータとに変換することにより、 タグ部分であ るかテキスト部分であるかを判定する処理はなくなるが、 任意箇所の要素を高速 に処理する場合に関しては、 タグデータの先頭から読込み、 構造解析をしないと いけないため、 十分な効果を得ることができない。 発明の開示
この発明の目的は、 階層構造を有するデータを容易に取り扱うことができるよ うに処理するデータ処理装置、 データ処理方法、 データ処理プログラムおよびデ ータ処理プログラムを記録したコンピュータ読取可能な記録媒体を提供すること である。
上述の目的を達成するために、 この発明のある局面に従うデータ処理装置は、 文書記述言語の定義に従って記述された階層構造を有するデータを受理して、 階 層構造を解析する解析手段と、 解析手段による解析結果に基づいて、 データを階 層構造が解消されたデ一タに変換する変換手段とを備える。
したがって、 階層構造を有するデータであっても階層構造を解析して、 その解 析結果に基づいて階層構造を解消して、 階層構造が存在しないデータに変換する -ことができる。
上述の階層構造を有するデータが表示など出力される場合には、 予め上述のよ うに階層構造が存在しないデータに変換された後に出力されるようすれば、 出力 処理において階層構造の解析を省略してデータの取扱いが容易となる。その結果、 高速にデータを出力処理でき、 また解析された階層構造を出力のために記憶して おく必要もないから、 データ出力に際しての記憶容量の消費量を少なくできる。
好ましくは、 階層構造を有するデータはタグの対を複数含み、 各タグ対は該タ グ対で囲まれた部分データの属性の情報を指示する。 変換手段は、 部分データ中 に該部分データを囲むタグ対と同一種類の属性を指示する他のタグ対が含まれる 場合には、 該他のタグ対の属性情報を、 該部分データを囲むタグ対の属性情報を 用いて変換する。
したがって、 タグ対で囲まれる部分データに同一種類の属性の他のタグ対が含. まれることにより、 これらタグ対が階層化される場合には、 データ変換手段は該 他のタグ対の属性情報を、 該部分データを囲むタグ対の属性情報を用いて変換す る。 これにより、 タグ対が階層化されているときは、 あるタグ対の属性情報に上 位層のタグ対の属性情報を反映させることができるから、 タグ対の階層化を解消 して該階層化の構造が存在しないデータに変換できる。
好ましくは変換手段は、 変換後のデータにおいて不要となる情報を省略するよ うに変換する。 したがって、 変換後のデータに関する消費記憶容量を少なくでき る。
好ましくは、 変換手段による変換により得られた階層構造が解消されているデ ータに対して、 出力のためのレイァゥトを計算するレイァゥト計算手段をさらに 備 ·る。
したがって、 階層構造が解消されて存在しないデータに対してレイアウトを計 算するから、 レイァゥト計算のための階層構造の解析処理とその解析結果を記憶 しておくための記録領域とを省略できる。 ' 好ましくは、 文書記述言語の定義に従って記述された階層構造を有するデータ を、 複数のブロックに分割する分割手段をさらに備える。 解析手段は、 分割手段 による分割により得られたブロック毎にデータを受理して解析する。
したがって、 解析対象のデータをプロック単位に予め分割することにより、 解 析手段は対象のデータの全てを先頭から解析する必要はなく、 任意のブロック単 位で解析できる。 その結果、 解析処理の負荷を軽減できる。 また、 解析手段のた めの記憶領域はブロック単位の大きさを有すればよいから消費される記憶領域の 容量を少なくできる。
上述の属性情報は、 部分データの出力態様を特定する出力態様情報を含んでよ
レ、。 この出力態様情報は部分データのインデントの情報を含んでもよいし、 部分 データを出力するための色の情報を含んでもよい。
上述のブロック毎のデータの大きさは、 データを出力するために予め準備され た出力装置の処理能力に基づき決定されてよい。
上述の目的を達成するために、 この発明の他の局面に従うデータ処理方法は、 ' 文書記述言語の定義に従って記述された階層構造を有する予め準備された記録領 域に格納されたデータについて、 階層構造を解析する解析ステップと、 解析ステ ップによる解析結果に基づいて、 記録領域に格納されているデータを階層構造が 解消されたデ一タに変換する変換ステツプとを備える。
上述の目的を達成するために、 この発明のさらに他の局面に従うデータ処理プ ログラムは、 上述のデータ処理方法をコンピュータに実行させるためのプロダラ ムであって、 上述の記録領域はこのコンピュータに関連して設けられる。
上述の目的を達成するために、 この発明のさらに他の局面に従うコンピュータ 読取可能な記録媒体には、 上述のデータ処理プログラムが記録されている。 上述の目的を達成するために、 この発明のさらに他の局面では、 テキストデー タとテキストデ一タにおいて出現する複数のタグを含み、 かつタグを用いて階層 構造化された電子データを処理するデータ処理装置が提供される。
このデータ処理装置は、 テキストデータが記録されるテキスト情報と、 複数タ グのそれぞれに対応して該タグの属性を示す属性データが記録されるタグ詳細情 報と、 複数タグのそれぞれについて該タグのテキストデータにおける出現位置を ' 示す出現位置データが記録されるタグ出現位置情報とを入力する入力手段と、 入 力手段により入力されたテキスト情報から、 電子データの処理対象となる任意領 域に対応するテキストデータを読出すテキスト読出手段と、 入力手段により入力 されたタグ出現位置情報に基づいて、 任意領域に対応するテキストデータにおい て出現するタグを特定し、 入力手段により入力されたタグ詳細情報から、 特定さ れたタグの属性データを読出す属性読出手段と、 テキスト読出手段により読出さ れたテキストデータを、 属性読出手段により読出された属性データに基づいて処 理する処理手段とを備える。
上述のデータ処理装置では、 電子データを、 そのテキスト情報とタグ出現位置
情報とタグ詳細情報という個別に準備された情報を用いてデータ処理するので、 処理対象のデータがタグ部分であるかテキスト部分であるかの判定に関する処理 を省略できて、 データ処理を高速に実行できる。
また、 電子データとは別個にタグ出現位置情報が準備されているので、 タグ出 現位置を特定するために電子データのタグに関する木構造 (階層化構造) を個別 に解析しなくて済む。 その結果、 木構造作成の処理を省略でき、 木構造を構築す るためのメモリ容量も省略できる。 またテキストデータの任意箇所に出現するタ グに関して処理する場合には、 タグ出現位置データを検索することで該任意箇所 に出現するタグを容易に特定できるから、 該任意箇所に出現するタグの属性デー タを'タグ詳細情報から速やかに読出すことができる。 その結果、 階層構造化され た電子データの処理を簡単化おょぴ高速化できる。
好ましくは、 タグ出現位置情報に記録される出現位置データは固定長のデータ である。 したがって、 タグ出現位置情報における各出現位置データの検索を該固 定長に基づいて行なうことができて、 検索を効率良く行なえる。 '
好ましくは、 出現位置データは、 テキストデータにおける該タグの有効範囲を 示す有効範囲データと、 タグ詳細情報における該タグの属性データが記録された 場所を示す記録場所データを含む。 属性読出手段は、 任意領域に該当するタグを 有効範囲データに基づいて特定し、 特定されたタグの記録場所データに基づいて タグ詳細情報から該タグの属性データを読出す。
したがって、 有効範囲データに基づいて任意領域のテキストデータにおいて出 現するタグを容易に特定できる。 また、 特定できたタグの属性データのタグ詳細 情報における記録位置も、 その記録場所データに基づいて容易に特定して読出し できる。
好ましくは、 処理手段は、 テキスト読出手段により読出されたテキストデータ について、 属性読出手段により読出された属性データに基づいて、 レイアウトを 計算するレイァゥト計算手段を有する。
したがって、 レイアウト計算のためのタグの属性データを、 上述のように簡単 に特定してタグ詳細情報から読出した後に、 読出した属性データに基づきレイァ ゥト計算できるから、 レイアウト計算にかかる負荷を少なくできる。
好ましくは、 レイァゥト計算手段はテキスト読出手段により読出されたテキス トデータの出力時のレイアウトを計算する。 この出力の態様の 1つには表示が含 まれる。
好ましくは、 有効範囲データは、 テキストデータにおける該タグの属性が有効 となる部分のデータの開始場所と終了場所を示す。 したがって、 有効範囲データ をデータの開始場所と終了場所により示すことができる。
好ましくは、 有効範囲データは、 テキストデータにおける該タグの属性が有効 となる部分のデータの開始場所と、該部分データの大きさとを示す。したがって、 有効範囲データをデータの開始場所と該データの大きさ (サイズ) とで特定でき る。
好ましくは、 記録場所データは、 タグ詳細情報における該タグの属†生データの 記録開始場所と終了場所とを示す。 したがって、 記録場所データを対応の属性デ ータの記録開始場所と終了場所とにより示すことができる。
好ましくは、 記録場所データは、 タグ詳細情報における該タグの属性データの 記録開始場所と該属性データの大きさを示す。 したがって、 記録場所データを属 性データの記録開始場所と該データの大きさ (サイズ) とで特定できる。
好ましくは、 電子データを検索してテキストデータを抽出して記録しテキスト 情報を作成するテキスト情報作成手段と、 電子データを検索してタグが検索され る毎に、 該タグに対応して属性データを記録しタグ詳細情報を作成するタグ詳細 情報作成手段と、 電子データを検索してタグが検索される毎に、 該タグに対応し て出現位置データを記録しタグ出現位置情報を作成するタグ出現位置情報作成手 段との少なくとも 1つをさらに備える。
したがってデータ処理装置では、 電子データについて、 テキスト情報、 タグ詳 細情報おょぴタグ出現位置情報のそれぞれを作成することができる。
好ましくは、 テキスト情報作成手段は、 電子データの任意領域を検索してテキ ストデータを抽出して記録しテキスト情報を作成する。タグ詳細情報作成手段は、 電子データの任意領域を検索してタグが検索される毎に、 該タグに対応して属性 データを記録しタグ詳細情報を作成する。 タグ位置情報作成手段は、 電子データ の任意領域を検索してタグが検索される毎に、 該タグに対応して出現位置データ
を記録しタグ出現位置情報を作成する。
したがって、 電子データの全体ではなく任意領域の部分的なデータについて、 テキスト情報、 タグ詳細情報およびタグ出現位置情報のそれぞれを作成すること ができる。 '
好ましくは、 データ処理装置は、 電子データのためのテキスト情報、 タグ出現 位置情報およびタグ詳細情報を、 入力手段により入力可能か否か判断する手段を さらに備える。 - したがって、 入力手段によるこれらデータの入力が可能か否かをデータ処理に 先立ち判定できる。 また、 これらデータの作成は、 該判断の結果が、 入力不可を 示すときに行なわれるようにしてよい。
上述の目的を達成するために、 この発明のさらに他の局面に従う、 テキストデ ータとテキストデータにおいて出現する複数のタグを含み、 かつタグを用いて階 層構造化された電子データを処理するデータ処理方法は、 テキストデータが記録 されるテキスト情報と、 複数タグのそれぞれに対応して該タグの属性を示す属性 データが記録されるタグ詳細情報と、 複数タグのそれぞれについて該タグのテキ ストデータにおける出現位置を示す出現位置データが記録されるタグ出現位置情 報とを入力する入力ステップと、 入力ステップにより入力されたテキスト情報か ら、 電子データの処理対象となる任意領域に対応するテキストデータを読出すテ キスト読出ステップと、 入力ステップにより入力されたタグ出現位置情報に基づ いて、 任意領域に対応するテキストデータにおいて出現するタグを前記情報処理 部により特定し、 入力ステップにより入力されたタグ詳細情報から、 特定された タグの前記属性データを読出す属性読出ステップと、 テキスト読出ステップによ り読出されたテキストデータを、 属性読出ステップにおいて読出された属性デー タに基づいて処理する処理ステップとを備える。
好ましくは、 上述のデータ処理方法はコンピュータにおいて実行されて、 コン ピュータに関連の入力部を介して入力ステップが実行されて、 コンピュータに関 連の情報処理部を介してテキスト読出ステップ、 属性読出ステップおよび処理ス テツプが実行される。
上述の目的を達成するために、 この発明のさらに他の局面に従うデータ処理プ
ログラムは、 上述のデータ処理方法をコンピュータに実行させるためのプログラ ムである。
上述の目的を達成するために、 この発明のさらに他の局面に従う記録媒体は、 上述のデータ処理プログラムを記録したコンピュータ読取可能な記録媒体である。 図面の簡単な説明
図 1 Aと図 1 Bは、 第 1の実施の形態による構造化文書の変換手順の概略を説 明する図である。 .
図 2は、本 明の第 1の実施の形態に係るデータ処理装置のプロック構成例を、 データ処理装置を含むデータ処理システムを構成する他の装置とともに示す図で ある。
図 3は、本発明の第 1の実施の形態に係るデータ処理のフローチャートである。 図 4は、 図 2の変換処理部の変換処理手順を示すフローチヤ一トである。
図 5は、 図 1 Aの XM Lデータを階層構造を解析して表示させた場合のレイァ ゥト、 およぴ図 1 Bの XMLデータを表示させた場合のレイアウトを示す図であ る。
図 6は、 図 2における表示装置の構成例を、 表示装置を含むデータ処理システ ムを構成する他の装置とともに示す図である。
図 7は、 本発明の第 1の実施の形態に係る表示装置による表示処理のフローチ ヤートである。
図 8は、本発明の第 2の実施の形態に係るデータ処理装置のプロック構成例を、 データ処理装置を含むデータ処理システムを構成する他の装置とともに示す図で ある。
図 9は、本発明の第 2の実施の形態に係るデータ処理のフローチャートである。 図 1 0は、 図 1 Aの XMLデータをいくつかのブロック単位に分割する場合の 分割する箇所を示す図である。
図 1 1は、 図 1 0のデータに関して補間処理を行ったことを示す図である。 図 1 2は、 図 1 1のデータを変換処理した後の状態を示す図である。
図 1 3は、' 図 8における表示装置の構成例を、 表示装置を含むデータ処理シス
テムを構成する他の装置とともに示す図である。
図 1 4は、 本発明の第 2の実施の形態に係る表示装置の表示処理のフローチヤ ートである。 '
図 1 5は、 本実施の形態 3に係るデータ処理装置のブロック図である。
図 1 6は、 本実施の形態 3に係るデータ処理装置の一例である、 携帯型機器で 構成された表示装置を示す図である。
図 1 7は、 本実施の形態 3に係るタグ出現位置データのデータ構造の一例を示 す図である。
図 1 8は、 本実施の形態 3に係るタグ詳細データのデータ構造の一例を示す図 である。
図 1 9は、 本実施の形態 3に係る X HTML文書の一例を示す図である。 図 2 O Aと図 2 0 Bは、 図 1 9の XH TM L文書から作成したテキストデータ の一例を示す図である。
図 2 1は、 図 1 9の XH TML文書から作成したタグ出現位置データの一例を 示す図である。
図 2 2は、 図 1 9の XH TML文書から作成したタグ詳細データの一例を示す 図である。
図 2 3は、 本実施の形態 3に係るデータ処理のフローチヤ一トである。
図 2 4は、 本実施の形態 3に係るデータ処理のフローチャートである。
図 2 5は、 各実施の形態に係るデータ処理方法を実行するためのコンピュータ の構成図である。 '
図 2 6は、 従来の階層構造を有する電子データの一例を示す図である。
図 2 7は、 従来の階層構造を有する電子データから取得した木構造を説明する ための図である。 発明を実施するための最良の形態
以下、 この発明の各実施の形態について図面を参照して説明する。 なお、 ここ ではデータは表示により出力されるとしているが、 表示に限定されず印刷による 出力であってもよい。
(用語の説明)
まず、 H TML、 XML , S GM Lなどのマークアップ言語で記載されたテキ ストファイル中で用いられるタグに関連した用語について説明する。 タグは、 こ こでは文字列の出力態様 (インデント、 表示色など) を指定するための特別の文 字または記号の列であり、 予約語である。
テキストファイル中に記載されたタグの情報を解析する場合には、 開始タグ、 これと対となる終了タグ、 開始タグと終了タグとに挟まれた部分データである子 供要素とに分け、 また、 開始タグの中を、 タグ名、 属性名および属性値に解析す る必要がある。 対となる開始タグと終了タグをタグ対という。
開始タグとは、 「く」 で始まり、 「>」 で終わる文字列の部分をいう。 終了タグ とは、 「く/」 で始まり、 「 j で終わる文字列の部分をいう。 開始タグと終了タ グとに挟まれた部分に子供要素がない場合は、開始タグと終了タグを 1つにして、
「く」 で始まり、 「/ >」 で終わる文字列として記述することもできる。 これを、 空タグという。 空タグは、 開始タグと終了タグとが並んでいるのと同等に考える ことができる。
空タグでない場合には、 子供要素はテキストファイルを構成する文字列または 他のタグ対を含む。 子供要素において、 該子供要素を挟むタグ対の開始タグと同 一種類の属性を指示する 1つ以上のタグ対が含まれる場合には、 子供要素を挟む タグ対 (これを外部タグ対という) と該子供要素中に含まれるタグ対 (これを内 部タグ対という) は、 複数のタグ対が階層構造を有する入れ子関係を構成するの で、 内部タグ対の開始タグの属性値には上位層の外部タグ対の属性値が反映され ることになる。
タグ名は、 開始タグまたは空タグの 「く」 の次に続く文字列で示される。 タグ 名の後ろに 「=」 を含んだ文字列が続く場合、 「=」 の左辺が属性名、 右辺の 「"J で囲まれた文字列が属性値という。 例えば、 「く a b = " c " 〉 d < / a >」 と いう XM Lデータがあった場合、 「く a b = " c " >」 が開始タグ、 「d」 が子 供要素、 および「く/ a〉」 が終了タグである。 開始タグの中の 「.a」 がタグ名、
「b」 が属性名、 および 「c」 が属性値である。 実施の形態 1と 2では説明を簡 単にするために属性名 (属性の種類) とタグ名とは 1対 1に対応しているから、
属性の種類をタグ名により特定する。 属性名は該開始タグの子供要素に関する出 力時の属性、 たとえばインデント、 表示色などの固有の特徴を指し、 属性値は対 応する属性の値、たとえばィンデントの文字下げの数、表示色が赤色などを示す。 子供要素が空の場合の空タグの場合には、 「<a b= "c" />」 という形式に なる。 なお、 以下の説明では、 タグ名が 「a」 である場合にはそのタグ名を 「a タグ」、 属性名が 「b」 である場合にはその属性名を 「b属性」、 対応する属性値 を 「b属性の値」 という。
(構造化文書の変換の概略手順)
図 1 Aと図 1 Bを用いて、 本実施の形態による構造化文書の変換手順の概略を 説明する。 図 1Aは、 変換前の階層構造を有する XMLデータ 300を示し、 図 1 Bは XMLデータ 300を変換した後の XMLデータ 400を示す。 XMLデ ータ 400では元の階層構造が解消されて存在していない。 XMLデータ 300 の上から順に行ごとに変換を行うことで XMLデータ 400を取得する。
図 1 Aの XMLデータ 300では、 文字列 301 「ABCDE」 はタグの子供 要素となっていないことから、 デフォルトの値 「く p i n d e n t= "0" >」 と 「く f o n t c o 1 o r = "b 1 a c k" >J が設定されている。 このデフ オルト値により文字列 301に関して、字下げなし、かつ黒色表示が指定される。 文字列 301は変換の必要はないので図 1 Bの XMLデータ 400における文字 列 401 「ABCDE」 に対応する。 以下、 文字列の変換はないので特に説明し ない。
文字列 404に対応の文字列 304 「FGH I J」 はタグ 302 「く p i n d e n t = "1" >」 とタグ 303 「く f o n t c o l o r = "r e d" >」 の子供要素となっていることから、 1文字の字下げ、 かつ赤色表示となる。 文字 列 304よりも上位階層に同じタグ名となるタグが存在しないので変換するタグ の属性の値への影響はなく、タグ 302と 303は XMLデータ 400における、 タグ 402 「く p 2 i n d e n t = " 1 " Z〉」 とタグ 403 「く f o n t 2 c o 1 o r = " r e d " />J へとそれぞれ変換される。 開始タグが記述された 以降では、同じタグ名の終了タグが記述されるまでの範囲においてタグの情報 (属 性値) が有効であり、 この範囲を有効範囲という。 ' p 2 ' タグおよび ' f o n t
2' タグは、 空タグであり有効範囲の指定がない。
文字列 306 「: LMNO」 はタグ 302 「く p i n d e n t- "1" >」、 タグ 303 「く f o n t c o 1 o r = "r e d" 〉」、 およびタグ 305 「く p
1 n d e n t = "2" >」 の子供要素となっていることから、 3文字の字下げ、 かつ赤色表示となる。 タグ 305の上位階層にタグ 302が存在することから、 タグ 305の変換において、 タグ 302の情報を反映する。 すなわち、 タグ 30 5は XMLデータ 400ではタグ 405 「く p 2 i n d e n t = " 3 " />」 へと変換される。
タグ 403 「く f o n t 2 c o 1 o r = " r e d " />J とタグ 405 「く p 2 I i n e n t = " 3 " />」 の情報に基づいて文字列 406 「KLMN〇」 は 3文字の字下げ、 かつ赤色表示となる。 これは XMLデータ 300に基づく変 換前の表示と同じとなる。
文字列 309 「P Q R S T」 はタグ 302 「く p i n d e n t = "1" >J の子供要素となっていることから、 1文字の字下げ、 デフォルト値である黒色表 示となる。 タグ 305 「く p i n d e n t = "2" >」 のタグの情報は、 タグ 307 「く/ p >」 の終了タグで終了していることから、 タグ 307 Γ</ρ >j に上位階層で同じタグ名であるタグ 302 「く p i n d e n t- " 1 " >」 の 情報を反映する。 すなわち、 タグ 307は XMLデータ 400におけるタグ 40 7 「< p 2 i n d e n t = "1" />へと変換される。
同様にして、 タグ 303 「< f 0 n t c o 1 o r = "r e d" >」 のタグの 情報は、 タグ 308 「く/ f o n t >」 の終了タグで終了している。 タグ 308 「く Z f o n t >j の上位階層に同じタグ名であるタグは存在しないので、 デフ オルトの値である 「く f 0 n t c o 1 o r = "b 1 a c k" 〉」 の情報を反映 する。 すなわち、 タグ 308は XMLデータ 400におけるタグ 408 「く f o n t 2 c o l o r = "b l a c k" />」 へと変換される。
タグ 407 「く p 2 i n d e n t = " 1 " />」 とタグ 408 「く f o n t
2 c o l o r= " b l a c k" >」 の情報により文字列 409 「PQRST」 は 1文字の字下げ、 かつ黒色表示となり、 変換前の表示と同じとなる。
文字列 31 1 「UVWXY」 はタグの情報がないことから、 デフオノレトが有効
となって字下げなし、 かつ黒色表示となる。 タグ 302 「く p i n d e n t = "1" >」 のタグの情報は、 タグ 310 「く/ p >」 の終了タグで終了している。 タグ 310 「く/ p >」 の上位階層に同じタグ名であるタグは存在しないので、 デフォルト値である 「く p i n d e n t = "0" >」 の情報を反映する。 すな わち、 タグ 310は XMLデータ 400のタグ 410 「く p 2 i n d e n t = "0" />」 へと変換される。
タグ 408 「く f o n t 2 c o l o r = " b l a c k,, />」 とタグ 410 「く p 2 i n d e n t = "0" >」 の情報により文字列 41 1 「UVWXY」 は字下げなし、 かつ黒色表示となり、 変換前の表示と同じになる。
以上により、 表示する情報 (文字列など) および表示態様 (インデント、 表示 色など) に変更はないまま、 図 1 Aの階層構造を有する XMLデータ 300は、 図 1 Bの階層構造が解消されて存在しない XMLデータ 400へと変換される。
(第 1の実施形態)
(データ処理装置を含むデータ処理システムの説明)
図 2は、 本実施の形態に係るデータ処理装置のプロック構成例を、 データ処理装 置を含むデータ処理システムを構成する他の装置とともに示す図である。図 3は、 本実施の形態に係るデータ処理のフローチャートである。
図 2を参照してデータ処理システムは、ネットワーク 1 1 1、記録媒体 1 12、 データ処理装置 1 13、 および表示装置 1 10から構成される。
ネットワーク 1 1 1は、 データ処理装置 1 1 3とデータを記録したデータべ一 スを持つサーバ、 もしくは他のパーソナルコンピュータと接続される。 データ 1 01はネットワーク 1 1 1を介してデータ処理装置 1 13へと供給される。 記録 媒体 1 12はデータ 102が予め記録されて、 データ処理装置 1 13へデータ 1 02を供給するために用いられる。 記録媒体 1 12としては、 フレキシブルディ スク (FDとレヽっ 、 CD— ROM (compact disc read only memory;, ノヽ.ードテ イスクなどがある。 データ処理装置 1 13は、 ネットワーク 1 1 1および記録媒 体 1 1 2から供給されたデータ 101および 102を入力して処理し、 処理結果 のデータを外部に出力するための装置である。 表示装置 1 10はデータ処理装置 1 13の出力する情報を受けて表示をするための装置である。 表示装置 1 10に
ついての詳細は後述する。 また、 データ処理装置 1 1 3の出力する情報は、 ネッ トワーク 1 1 1を介して外部装置に送信されてもよいし、 記録媒体 1 12に記録 されてもよレ、。
データ 101および 102は、 所定の処理を実行させるための文書記述言語の 定義に従って構造化されたデータであって、 階層構造を有する構造化文書を記録 するためのデータ構造である SGMLや XMLなどを用いて記録されている。 以 下の説明では、 データは: XMLに従い記述され、 データ要素を特定できるデータ 構造を有するものと想定して説明する。 なお、 データを記述する方式は XM に 限定されない。
(データ処理装置 1 1 3の説明)
図 2に示すデータ処理装置 1 13は、 入力部 103、 データ記憶部 104、 階 層構造解析部 105、 変換処理部 106、 出力部 107、 制御部 108、 および 指示入力部 109を備える。 これら各部を用いたデータ処理手順を図.3のフロー チャートに従い概略的に説明する。 一
入力部 103はデータ 101もしくは 102の読込みを行う (ステップ S (以 下、 単に Sと略す) 1001)。 データ記憶部 104は、 入力部 103によって読 込まれたデータ 101もしくは 102を記憶する。 階層構造角科斤部 105は、 デ ータ記憶部 104に記憶されたデータ 101もしくは 102のタグの情報および 階層構造を解析する。
階層構造解析部 105は、 データ 101もしくは 102の XMLデータのすべ てについて、 開始タグ、 終了タグ、 子供要素、 ならびに開始タグの中のタグ名、 属性名および属性値の情報を取得し、 取得した情報に基づきタグの階層構造を解 析して、 階層構造の情報を取得する (S 1002)。 このとき、 XMLデータを先 頭から行単位で解析して取得したタグの情報は予め準備された所定記憶領域に順 次格納される。
変換処理部 106は階層構造解析部 105によって解析されて取得された所定 記憶領域に格納された情報に基づいて、 XMLデータにおいて階層構造を有して いるタグについて変換処理を行う (S 1004)。変換処理部 106はこの変換処 理を階層構造を有しているすべてのタグについて行ったかどうかを判定し、 全て
について行なったことを判定したとき変換処理を終了する (S 1003)。変換処 理部 106についての詳細は後述する。
変換処理部 106により変換処理されて出力された変換後の XMLデータは、 データ記憶部 104に再び記憶される。 出力部 107は、 データ記憶部 104力 ら読出された変換後のデータを入力して外部に出力する (S 1005)。
制御部 108は、入力部 103、データ記憶部 104、階層構造解析部 105、 変換処理部 106、 および出力部 107の上述した一連の処理の流れを与えられ る指示などに基づいて制御する。 指示入力部 109は、 データ処理装置 113を 操作するために外部から与えられる指示 114、 たとえばユーザの指示 114を 入力して制御部 108へと出力する。 '
(具体的な変換処理)
次に、 変換処理部 106による XMLデータの階層構造の情報に基づいた変換 処理 (S 1004) の手順について説明する。 図 4は変換処理部 106の変換処 理手順を示すフローチャートである。 ここでは、 データ処理装置 113に入力す る変換処理前の XMLデータは図 1 Aの XMLデータ 300であり、 データ処理 装置 113の出力となる変換処理後の XMLデータは図 1 Bの XMLデータ 40 0であると想定する。 また、 図 5には、 図 1 Aの XMLデータ 300を階層構造 を解析して表示させた場合のレイァゥト、 およぴ図 1 Bの XMLデータ 400を 表示装置 110で表示させた場合のレイアウトを示す。
(タグの説明)
まず、 図 1 Aに記述されたタグについて説明する。 'p' タグは段落の表示に関 連するタグであり、 ' i n d e n t' 属性は現在の文章の開始位置から ' i n d e n t' 属性の値だけ文字数を下げて (文字数分の空白をおいて) 文章を開始する ことを意味する。 例えば、 タグ 305 「く p i n d e n t "2" >」 は、 現 在の文章の開始位置から二文字分下げてから文章を開始することを意味する。' f o n t ' タグは文字の表示に関連するタグであり、 'c o l o r '属性は文字の色 をデフオノレト (黒) から変更して表示することを意味する。 例えば、 タグ 303 「く f o n t c o 1 o r = "r e d" >」 は、 文字の色を赤に変更して表示す ることを意味する。 また、 特に指定がない場合のデフォルトとして、 文章の開始
位置は左側の先頭を指示する 「く p i n d e n t = "0" >」 が設定され、 ま た、 文字の色は黒を指示する 「く f 0 n t c o 1 o r = "b 1 a c k" >」 力 S 設定されているものと想定する。
(レイァゥトの説明)
図 1 Aの XMLデータ 300を解析して表示させると図 5のレイァゥトとなる。 図 5の 「口」 は ' p ' タグの ' i n d e n t ' 属性で指定される文章の開始位置 の文字下げの一文字分を示す。 また、 二重下線は ' f o n t ' タグの ' c o 1 o r ' 属性により文字の色が赤になっていることを示す。
変換処理では、 まず前述の所定記憶領域に格納されたタグの情報を検索して、 変換対象となるタグの情報を取得する(S 1 101 )。図 1 Aでは、タグ 302「く p i n d e n t = " 1 " >」 を最初に取得する。
次に、 取得したタグについて、'開始タグ、 終了タグ、 およぴ空タグのいずれか であるかを判定する (S 1 102)。 ここで、 終了タグ以外の開始タグおよび空タ グと判定した場合は、 変換の必要はないのでそのまま変換処理を終了する。 図 1 Aでは、 タグ 302は開始タグであるのでそのまま変換処理を終了する。
続けて、 所定記憶領域を検索することでタグ 303 「く f o n t c o l o r = "r e d" 〉」、 タグ 305 「く p i n d e n t = " 2 " >」 と順に取得する けれども、 これらは開始タグと判定されるので、 そのまま変換処理を終了する。 次に所定記憶領域から読込んで取得するタグ 307 「く/ p〉」 は終了タグと判 定されるので変換処理を続けることになる。
取得したタグが終了タグの場合、 終了タグに対応する開始タグの情報を所定記 憶領域を検索して取得する (S 1 103)。 図 1 Aでは、 タグ 307の終了タグに 対応する開始タグはタグ 305が検索される。
次に終了タグと対応する開始タグの階層より上位階層にタグ名が同じであるタ グが存在するかどうかを検索する (S 1 104)。 ここで、 上位階層とは、 上述の 入れ子関係に従い、 変換処理を行う開始タグを子供要素に含むタグの階層を意味 する。
(図 4の S 1104 "YES" の場合)
上位階層にタグ名が同じであるタグが存在する場合について説明する。 検索の
結果、 上位階層にタグ名が同じであるタグが存在する場合、 上位階層にあるタグ の情報を取得する (S 1 105)。 取得されるタグの情報は、 上位階層の開始タグ の属性の情報である。 図 1 Aでは、 タグ 305およぴタグ 307の階層の上位階 層にはタグ 302およびタグ 310 「く Zp〉」 が存在する。 検索の結果、 上位 階層の開始タグのタグ 302を取得できるので、 その属性の情報を取得する。 次 に、 取得した情報が反映されるように S 1 103で取得している開始タグを変換 する (S 1 107)。
ここでの変換は、 取得した情報と開始タグとに同じ属性がある場合はそれぞれ の属性値の加算や差分などの処理を行い、 取得した情報と開始タグとに同じ属性 がない場合は属性の追加や削除などの処理を行うことを指し、 必要に応じてタグ 名や開始タグ、 終了タグ、 空タグなどの種類も変換することを指す。
図 1 Aでは、 タグ 302の ' i n d e n t' 属性をタグ 305の ' i n d e n t, 属性に反映させる。 ' p, タグの ' i n d e n t' 属性は現在の位置から ' i n d e n t' 属性の値の文字数分だけ下げてから文章 (文字列) を開始すること を意味するので、 ここでは加算を行う。 タグ 302の ' i n d e n t' 属性の値 「1」 とタグ 305の ' i n d e n t ' 属性の値 「 2」 を加算して ' i n d e n t ' 属性の値 「3」 とする。 さらに、 タグ名を 'ρ' タグから 'ρ 2' タグへと 変換し、 開始タグから空タグへと変換する。 結果として、 タグ 305は図 1 Bに おけるタグ 405 「く p 2 i n d e n t - "3" />」へと変換される。 ' p 2 ' タグは、 'p' タグと同様、 ' i n d e n t' 属性の値の文字数分だけ下げてから 文章 (文字列) を開始するこ を意味する。 'p' タグとの違いは、 'ρ' タグが 開始タグと終了タグによって有効範囲を指定するのに対し、 'ρ 2' タグは空タグ で記述され、 以降 'ρ 2' タグによる属性の変更があるまでを有効範囲とする点 である。
. 開始タグの変換処理後、 当該開始タグに対応の終了タグを所定記憶領域から検 索して、この終了タグに対しても取得した情報が反映されるように変換を行う( S 1 108)。 終了タグには属性がないので、 ここでは、 取得した情報の属性を終了 タグの属性に追加する。 また、 必要に応じてタグ名や開始タグ、 終了タグ、 空タ グなどの種類も変換する。
図 1 Aでは、 タグ 307に ' i n d e n t' 属性の値 「 1」 を追加する。 さら に、 タグ名を 'p' タグから 'ρ 2' タグへと変換し、 終了タグから空タグへと 変換する。結果として、図 1 Αの終了タグ 307は図 1 Bにおけるタグ 407 「く P 2 i n d e n t = "1" Z>」 へと変換される。 開始タグおよび終了タグの 変換を終えて変換処理は終了する。
(図 4の S 1 104 "NO" の場合)
次に、上位階層にタグ名が同じであるタグが存在しない場合について説明する。 上位階層にタグ名が同じであるタグが存在しな!/、場合、 そのタグ名のタグの初期 設定 (デフォルト) の情報を取得する (S 1 106)。
図 1Aでは、 タグ 308 「く Zf o n t >」 と、 これに対応する開始タグ 30 3 「く f o n t c o 1 o r = "r e d" >」 との階層よりも上位階層に ' f o n t 'タグは存在しないので、 ' f 0 n t 'タグの初期設定である「< f 0 n t c o 1 o r = "b 1 a c k" >」 を取得する。
取得した情報を反映するように開始タグおよび終了タグを変換する処理は、 上 位階層にタグ名が同じであるタグが存在した場合と同様であるので説明は省略す る。
図 1 Aでは、 'c o 1 0 r '属性の値「b 1 a c k」を反映させるように変換し、' 結果としてタグ 303は図 1 Bのタグ 403 「く f o n t 2 c o 1 o r = " r e d" />」へと変換され、 タグ 308は図 1 Bのタグ 408 「く f o n t 2 c o 1 o r = "b 1 a c k" Z>」 へと変換される。 ' f o n t 2 ' タグは ' p 2 ' タグと同様、以降、 ' f o n t 2' タグによる属性の変更があるまでを有効範囲と する点で ' f o n t' タグと異なる。
(変換処理の残りの説明)
変換処理を図 1 Aの XMLデータ 300のすベてのタグについて行うと図 1 B の XMLデータ 400が示す出力結果となる。 図 1 Bでは、 階層構造となる子供 要素を持つ開始タグおよび終了タグで記述されたタグは存在せず、 すべて階層構 造を取らない空タグで記述されている。
変換処理は、 終了タグに着目して変換する処理に限ったものではない。 終了タ グの代わりに開始タグに着目して同様の変換を行ってもよい。
また、 変換処理において、 XM Lデータの最後にある終了タグは変換処理を行 わず省略してもよい。 例えば、 図 1 Aにおいて、 タグ 3 1 0以降にデータが存在 しない場合、 タグ 3 1 0を図 1 Bのタグ 4 1 0 「く p 2 i n d e n t = " 0 " / >」 へと変換せず、 すなわち変換を省略することができる。 タグ 4 1 0以降に はデータがないので、 タグ 4 1 0の情報を必要としないためである。 この場合、 図 1 Bにおいては、 文字列 4 0 9 「P Q R S T」 がデータの末端となる。 変換を 省略することにより、 変換後の XM Lデータ 4 0 0のデータ容量を削減すること ができる。
(表示装置 (図 6 ) の説明)
次に、表示装置について説明する。図 6は、図 2における表示装置の構成例を、 表示装置を含むデータ処理システムを構成する他の装置とともに示す図である。 すなわち、 図 6におけるネットワーク 2 1 1、 記録媒体 2 1 2、 データ 2 0 3を 有するデータ処理装置 2 1 3、 および表示装置 2 1 4は、 それぞれ図 2における ネットワーク 1 1 1、 記録媒体 1 1 2、 データ処理装置 1 1 3、 および表示装置 1 1 0に対応する。 また図 6のデータ 2 0 1と 2 0 2は図 2のデータ 1 0 1と 1 0 2に対応する。 図 7には、 表示装置 2 1 4による表示処理のフローチャートを 示す。
表示装置 2 1 4は、 入力部 2 0 4、 データ記憶部 2 0 5、 データ構造解析部 2 0 6、 レイァゥト計算部 2 0 7、 表示部 2 0 8、 制御部 2 0 9、 および外部から の指示 2 1 5を入力して制御部 2 0 9に出力する指示入力部 2 1 0を備える。 入力部 2 0 4は、 ネットワーク 2 1 1を介して送信されたデータ 2 0 1、 記録 媒体 2 1 2に予め記録されたデータ 2 0 2、 もしくはデータ処理装置 2 1 3の出 力であるデータ 2 0 3の読込みを行う (S 1 2 0 1 )。 データ 2 0 1、 2 0 2およ ぴ 2 0 3は、 データ処理装置 2 1 3において処理されたデータである。 データ記 憶部 2 0 5は、 入力部 2 0 4によって読込まれたデータ 2 0 1またはデータ 2 0 2またはデータ 2 0 3を記憶する。
以下、 図 7のフローチャートに従いデータ表示処理の手順について説明する。 (データ構造解析部 2 0 6の説明)
まず、 データ構造解析部 2 0 6は、 データ記憶部 2 0 5に記憶されたデータ 2
0 1またはデータ 2 0 2またはデータ 2 0 3のデータ構造を解析する (S 1 2 0 2 )。データ 2 0 1またはデータ 2 0 2またはデータ 2 0 3は図 1 Bに示すような 階層構造が解消されて存在しなレ、構造化文書のデータであるから、 データ構造解 析部 2 0 6は階層構造を解析する処理を必要とせず、 タグ情報と文字列とを解析 するだけでよレヽ。図 1 Bでは、文字列 4 0 1 「A B C D E J、 4 0 4「F G H I J」、 4 0 6 「K LMN〇」、 4 0 9 「P Q R S T」、 および 4 1 1 「U VWX Y」 が文 字列であること、 また、 タグ 4 0 2 「く p 2 i n d e n t = " 1 " / >」、 4 0 3、 4 0 5、 4 0 7、 4 0 8および 4 1 0がタグであることを解析 (特定)する。 解析の結果はレイァゥト計算部 2 0 7に出力される。
(レイアウト計算部 2 0 7の説明)
レイァゥト計算部 2 0 7は、 データ構造解析部 2 0 6から出力されるタグと文 字列の解析結果を順に読込む(S 1 2 0 3 )。読込んだ情報に基づいて表示するた めのインデントなどのレイアウトを計算する (S 1 2 0 4 )。 図 I Bの場合には、 はじめに文字列 4 0 1を読込みレイアウトを計算する。 次に読込むタグ 4 0 2と タグ 4 0 3の情報を元に文字列 4 0 4のレイアウトを計算する。 次にタグ 4 0 5 の情報を読込み取得したときに、 タグ 4 0 5と同じ ' p 2 ' タグであるタグ 4 0 2の情報を保持する必要はない。 データ処理装置 2 1 3において、 予め階層構造 を解析し、 表示態様の変更を指示するタグの情報に変換しているので、 タグ 4 0 5にはタグ 4 0 2の情報が反映されている。 したがって、 タグ 4 0 3とタグ 4 0 5の情報を元に文字列 4 0 6のレイアウトを計算すればよい。以降、同様にして、 同じタグ名であるタグの情報の取得によって、 先に読込んでレ、る同じタグ名のタ グの情報は保持しなくてよレ、。同じタグ名のタグの情報を保持しなくてよいので、 メモリ使用量を削減できる。 計算結果に従いレイァゥトされたデータは表示部 2 0 8に与えられて、 表示部 2 0 8により表示.される。
(その他の部分の説明) '
表示部 2 0 8は、 計算結果に基づきレイアウトされたデータをレイァゥト計算 部 2 0 7から入力して外部に表示する (S 1 2 0 5 )。図 1 Bのデータ 4 0 0を処 理した場合には、 図 1 Aと同様、 図 5のように表示される。 制御部 2 0 9は、 入 力部 2 0 4、 データ記憶部 2 0 5、 データ構造解析部 2 0 6、 レイァゥト計算部
2 0 7、 および表示部 2 0 8の一連の処理の流れを制御する装置である。 指示入 力部 2 1 0は、 表示装置 2 1 4を操作するユーザの指示 2 1 5を入力して制御部 2 0 9へ出力する (S 1 2 0 6 )。ユーザからの表示レイアウトの変更に関する指 示 2 1 5があった場合、 再びタグなどの解析結果を順に読込む処理を行い (S 1 2 0 3 )、指示された変更内容を用いてレイアウトを計算し直して表示を行う。ュ 一ザの指示 2 1 5がない場合は、 ユーザの指示 2 1 5を受けるまで待ち状態を保 持する。 また、 ユーザから表示処理終了の指示 2 1 5があった場合は、 表示処理 のすベてを終了する。
以上説明したように、 データ処理装置 2 1 3において、 階層構造を有する構造 化文書のデータ 3 0 0を、 あらかじめ階層構造が解消されて存在しない構造化文 書のデータ 4 0 0へと変換処理しておくことで、 表示装置 2 1 4においてデータ 4 0 0を表示することが可能となって、 階層構造を解析する処理を省略できるの で、 高速に表示処理することができる。 また、 階層構造を記憶しておく必要がな いため、 メモリの使用容量を削減することができる。
(第 2の実施形態)
次に第 2の実施形態について説明する。.
図 8は、本発明の第 2の実施の形態に係るデータ処理装置のプロック構成例を、 データ処理装置を含むデータ処理システムを構成する他の装置とともに示す図で ある。 図 9は、 本発明の第 2の実施の形態に係るデータ処理のフローチャートで ある。
図 8を参照してデータ処理システムは、ネットワーク 5 1 2、記録媒体 5 1 3、 データ処理装置 5 1 4、 および表示装置 5 1 1を備える。 .
ネットワーク 5 1 2は、 データ処理装置 5 1 4とデータを記録したデータべ一 スを持つサーバ、 もしくは他のパーソナルコンピュータと接続される。 データ 5 0 1はネットワーク 5 1 2を介してデータ処理装置 5 1 4へと供給される。 記録 媒体 5 1 3はデータ 5 0 2が予め記録されて、 データ処理装置 5 1 4へデータ 5 0 2を供給するために用いられる。 記録媒体 5 1 3としては、 F D、 C D - R O M、 ハードディスクなどがある。 データ処理装置 5 1 4は、 ネットワーク 5 1 2 および記録媒体 5 1 3から供給されたデータ 5 0 1および 5 0 2を入力して処理
し、 外部に出力するための装置である。 表示装置 5 1 1はデータ処理装置 5 1 4 の出力する情報を受けて表示をするための装置である。 表示装置 5 1 1について の詳細は後述する。 また、 データ処理装置 5 1 4の出力する情報は、 ネットヮー ク 5 1 2を介して図示のない外部装置に送信されてもよいし、 記録媒体 5 1 3に 記録されてもよレ、。
データ 5 0 1および 5 0 2も第 1の実施形態における図 2のデータ 1 0 1お.よ びデータ 1 0 2と同様であるため、 説明は省略する。
データ処理装置 5 1 4は、 入力部 5 0 3、 データ記憶部 5 0 4、 ブロック分割 部 5 0 5、 階層構造解析部 5 0 6, 変換処理部 5 0 7、 出力部 5 0 8、 制御部 5 0 9、 および指示入力部 5 1 0を備える。
データ処理装置 5 1 4のデータ処理手順について図 9のフローチャートに従い 説明する。 入力部 5 0 3はデータ 5 0 1またはデータ 5 0 2の読込みを行う (S 1 3 0 1 )。データ記憶部 5 0 4は、入力部 5 0 3によって読込まれたデータ 5 0 1またはデータ 5 0 2を記憶する。 ブロック分割部 5 0 5は、 データ記憶部 5 0 4に記憶されたデータ 5 0 1またはデータ 5 0 2をいくつかのブロック単位に分 割するブロック分割処理を行う (S 1 3 0 2 )。
(ブロック分割処理の説明)
ここで、 ブロック分割処理について説明する。 図 1 0は、 図 1 Aの XM Lデー タ 3 0 0をいくつかのプロック単位に分割する場合の分割する箇所を示す図であ る。 図 1 0では説明のために図 1 Aの符号 3 0 1〜3 1 1に代替して符号 7 0 1 〜7 1 1を用いている。 符号 7 0 1〜7 1 1により示す内容は符号 3 0 1〜3 1 1が示すものに一致する。
図 1 0では文字列 7 0 4 「F G H I J」 とタグ—7 0 5 「く p i n d e n t - " 2 " >」 の間で XM Lデータ 3 0 0の分割を行い、 その結果、 XMLデータ 3 0 0はブロック 7 1 2とブロック 7 1 3の 2つのブロックに分割されると想定す る。
ブロックの大きさは固定サイズとすることが基準となる。 ブロックに分割する 箇所は固定サイズに該当する付近に記述されたタグに基づき分割する。 固定サイ. ズそのもので分割するのではなく、 タグの記述の前後で分割させることでタグの
記述そのものが分割されることを回避する。 タグの記述そのものを分割してしま うと、 ブロックを個々に読込んでもタグ記述が分断されていて解析できない。 固 定サイズ近辺で適切な分割をするためのタグが存在しない場合は、 さらに範囲を 広げてそのようなタグを検索する。 基準となる固定サイズははじめから定義され ているものとする。 定義されるサイズは表示装置 51 1が処理するのに適切なサ ィズとする。
ブロック分割処理においては、 もし階層構造を有しているタグの子供要素が分 割された場合には、 たとえばタグ 702 「く p i n d e n t = " 1 " >」 とタ グ 703 「く f o n t c o 1 o r = "r e d" >」 の子供要素が分割されてレ ィアウト計算不可能な状態の場合には、 分割した箇所の前後において、 分割され たタグの情報を補う処理 (以下、 補間処理という) を行う。 図 1 1は、 図 10の データに関して補間処理を行ったことを示す図である。
図 1 1の符号 801〜804および符号 809〜81 5の示す内容は図 10の 符号 701〜704および符号 705〜71 1の示すものに一致する。 図 1 1の ブロック 816は、 図 10のプロック 712のデータに、 タグ 803 「く: f o n t c o 1 o r = "r e d" >」 に対応する終了タグとしてタグ 805 「く/ f o n t〉」 が追加され、 タグ 802 「く p i n d e n t = "1" >」 に対応す る終了タグどしてタグ 806 「く/ p>」 が追加されたデータを示す。 また、 ブ ロック 817は、 図 10のブロック 713のデータに、 タグ 812 「く/ f o n t >」 に対応する開始タグとしてタグ 808 「く f o n t c 0 1 o r = "r e d" >J が追加され、 タグ 814 「く Zp>」 に対応する開始タグとしてタグ 8 07 「く p i n d e n t = "1" >」 が追加されたデータを示す。 以上のよう な対応する開始タグまたは終了タグを追加するような補間処理 より、 プロック 816およびプロック 817それぞれが、 レイァゥト計算可能な XMLデータと なる。
(階層構造解析部 506の説明)
階層構造解析部 506は、 プロック分割部 505において分割処理された XM Lデータを入力して、 各プロック毎にその中のタグの情報およぴ階層構造を解析 して解析結果の情報を変換処理部 507に出力する (S 1304)。階層構造解析
部 506は、 第 1の実施形態における図 2の階層構造解析部 105と同様に解析 処理するので、 その説明は省略する。
(変換処理部 507の説明)
変換処理部 507は、 階層構造解析部 506から与えられる解析結果の情報に 基づいて、階層構造を有しているタグには変換処理を行う (S 1306)。変換処 理については、 第 1の実施形態の変換処理と同様であるため説明は省略する。 図 12は、 図 1 1のデータを変換処理した後の状態のデータを示す図である。 図 11のプロック 816においては、 タグ 805およびタグ 806以降にデータ が存在しないので、 変換処理は行わず、 変換を省略をしている。 したがって、 ブ ロック 816に対応の図 12のブロック 91 3は、 文字列 901および 904、 ならびにタグ 902および 903を含み、 文字列 904 「FGH I J」 がプロッ ク 913の末端となっている。 変換処理をすベてのタグについて行ったかどうか を判定し変換処理を終了する (S 1305)。またブロック 81 7に対応の図 12 のブロック 914は、文字列 907、 910および 91 2、ならびにタグ 905、 906、 908、 909および 91 1を含む。
以上の解析処理および変換処理をすベてのプロックについて終了したかどうか を判定し (S 1 303)、 終了したと判定した場合、 変換後のデータは、データ記 憶部 504に再び記憶される。 出力部 508は、 データ記憶部 504に記憶され た変換後のデータを読出して外部に出力する (S 1 307)。
制御部 509は、入力部 503、データ記憶部 504、プロック分割部 505、 階層構造解析部 506、 変換処理部 507、 および出力部 508の一連の処理の 流れを制御する。 指示入力部 510は、 データ処理装置 514を操作するユーザ の指示 515を制御部 509へと伝える。
データ処理は、 すでにブロック単位に分割された XMLデータに対して行って もよい。 データ 501および 502は、 すでにプロック単位に分割されたデータ である場合、 ブロック分割部 505においては、 ブロック内でさらにブロック分 割処理を適用する、 もしくは、 ブロック分割処理を省略する。 以降の階層構造解 析部 506の解析処理おょぴ変換処理部 507の変換処理は同様にして行うこと ができる。
(表示装置 5 1 1の説明)
次に、 表示装置について説明する。 図 1 3は、 図 8における表示装置 5 1 1の ブロック構成例を、 表示装置を含むデータ処理システムを構成する他の装置とと もに示す図である。 すなわち、 図 1 3におけるネットワーク 6 1 2、 記録媒体 6 1 3、 デ、ータ処理装置 6 1 4、 および表示装置 6 1 5は、 それぞれ図 8における ネットワーク 5 1 2、 記録媒体 5 1 3、 データ処理装置 5 1 4、 および表示装置 5 1 1に対応する。 図 1 4は、 表示装置 6 1 5の表示処理のフローチャートであ る。
表示装置 6 1 5は、 入力部 6 0 4、 データ記憶部 6 0 5、 ブロック情報解析部 6 0 6、 データ構造解析部 6 0 7、 レイァゥト計算部 6 0 8、 表示部 6 0 9、 制 御部 6 1 0、 および指示入力部 6 1 1を有する。
入力部 6 0 4は、 ネットワーク 6 1 2を介して受信するデータ 6 0 1、 または 記録媒体 6 1 3に予め記録されたデータ 6 0 2、 またはデータ処理装置 6 1 4の 出力であるデータ 6 0 3の読込みを行う (S 1 4 0 1 )。 データ 6 0 1、 6 0 2お よび 6 0 3は、 データ処理装置 6 1 4において処理されたデータである。 データ 記憶部 6 0 5は、 入力部 6 0 4によって読込まれたデータ 6 0 1またはデータ 6 0 2またはデータ 6 0 3を記憶する。 '
図 1 4のフローチャートに従い表示処理手順について説明する。
まず、 プロック情報解析部 6 0 6は、 データ記憶部 6 0 5に記憶されたデータ 6 0 1またはデータ 6 0 2またはデータ 6 0 3のブロック情報を解析する (S 1 4 0 2 )。ブロック情報の解析によって、表示に必要となる対象ブロックを決定す る (S 1 4 0 3 )。表示に必要となる対象プロックを決定することでデータ 6 0 1 またはデータ 6 0 2またはデータ 6 0 3のデータのはじめ (先頭) からデータす ベてを解析する必要がなく、 表示に必要なプロック内のデータのみを解析するの で処理負荷が軽減される。
表示に必要なブロックの位置は、 XM Lデータのコンテンツを必ず最初(先頭) から表示する表示装置では 1ブロック目となり、 前回表示した位置を指示する位 置情報を記録しておくような表示装置では記録された位置情報に基づいたプロッ クの位置となる。
また、 表示に必要となるプロック数は表示画面のサイズや表示設定に基づいて 決定される。 例えば、 1ブロックあたり 3 0文字を含む場合に、 表示設定が 5 0 文字であるとしたら表示のためには少なくとも 2ブロック、 最大で 3ブロック必 要になる。 画像を含むようなレイァゥトではピクセル数などに基づいて表示に必 要となるブロック数を決定する。
上記の表示のためのプロック位置とプロック数の決定によって、 決定したプロ ックの位置から決定したプロック数分のプロックが表示に必要となる対象プロッ クになる。
データ構造解析部 6 0 7、 レイアウト計算部 6 0 8、 および表示部 6 0 9にお ける処理 S 1 4 0 4から S 1 4 0 7は、 第 1の実施形態における図 7の処理 S 1 2 0 2から S 1 2 0 5と同様であるため説明は省略する。
制御部 6 1 0は、 入力部 6 0 4、 データ記憶部 6 0 5、 ブロック情報解析部 6 0 6、 データ構造解析部 6 0 7、 レイァゥト計算部 6 0 8、 および表示部 6 0 9 の一連の処理の流れを制御する。
指示入力部 6 1 1は、 表示装置 6 1 5を操作するユーザの指示 6 1 6を入力し て制御部 6 1 0へ出力する (S 1 4 0 8 )。ユーザからの指示 6 1 6があった場合 に、 表示するプロックが前回と同一ブロックである場合は、 再びタグを順に読込 む処理を行い、 レイアウトを計算し直して表示を行う。 同一ブロックでない場合 は、表示の対象となるプロックを決定する処理から行う (S 1 4 0 9 )。 ユーザの 指示 6 1 6の入力がない場合は、 ユーザの指示 6 1 6を受けるまで待ち状態を保 持する。 また、 ユーザから終了の指示 6 1 6を入力した場合は、 表示処理のすべ てを終了する。
ここで、 ユーザの指示 6 1 6とは、 ユーザが表示装置 6 1 5そのものを操作す ることにより入力される指示をいう。 例えば、 携帯電話を想定した場合に、 十字 ボタン(上、下、左、右への操作ボタン)や決定ボタンの操作による指示となる。 '図 6におけるユーザ指示 2 1 5についても同様の内容となる。
表示ブロックは、 上記ユーザ指示となる操作に応じて決定することになる。 例 えば、 XM Lデータのコンテンツを開いたとき (表示したとき) に 1ブロック目 の最初を表示しているとする。 ユーザが指示入力部 6 1 1の図示されない下ボタ
ンを操作してレイァゥトをスクロールしていく場合に、 表示に必要な情報が 1ブ 口ック目内にある状態ではレイァゥト計算処理が繰返される (S 1 4 0 9の Y E Sの動作)。 1プロック目の最後の情報をレイァゥトして表示し、下ボタンを操作 したときに 2ブロック目の情報が必要となる (S 1 4 0 9の N Oの動作)。必要と なった 2プロック目を 1ブロック目と共に表示処理する。 これが表示プロックの 決定に相当する。
以上説明したように、 データ処理装置 5 1 4において、 階層構造を有する構造 化文書のデータを、 ブロック単位に分割し、 あらかじめ階層構造が解消されて存 在しない構造化文書のデータへと変換しておくことで、表示装置 6 1 5において、 データの先頭からデータすベてを解析する必要がないので表示処理の負荷が軽減 される。 また、 ブロック内での階層構造を解析する処理は省略されるので、 高速 に表示処理できる。 さらに、 階層構造を記憶しておく必要がないため、 メモリの 使用容量を少なくできる。
なお、 本実施の形態では、 データ 5 0 1、 5 0 2、 6 0 1、 6 0 2、 および 6 0 3として XM Lで記述されたデータを例に挙げて説明したが、 以上の説明から 明らかなように、 XM Lで記述されたデータに限定されるものではない。
(第 1と第 2の実施形態に共通の利用の態様)
利用の態様として、 データ処理装置 1 1 3およびデータ処理装置 5 1 4はサ一' バを想定し、表示装置 2 1 5および表示装置 6 1 5は携帯電話や P D A (personal digital assistant) のようなモパイル機器に搭載される表示装置を想定する。 サーバでは階層構造を有するデータを階層構造が解消されて存在しないデータ へと変換し、 ネットワークを介してモパイル機器へと配信する。 モパイル機器に おいては、 配信されたデータを受信する。 データには階層構造が存在していない ことからモバイル機器は受信したデータを高速に処理および表示することができ る。 なお、 モパイル機器の携帯型情報処理装置に限らずラップトップ型 (ノート ブック型) または据置き型のパーソナルコンピュータでもよい。 このようなパー ソナルコンピュータにおいても階層構造が解消されて存在しないことから高速に データ処理することができ、 ディスプレイなどを利用して受信したデータを表示 する。
また、データ処理装置 1 1 3および 5 1 4はパーソナルコンピュータを想定し、 表示装置 2 1 4および 6 1 5は携帯電話のようなモパイル機器に搭載の表示装置 を想定する。 パーソナルコンピュータでは、 階層構造を有するデ タを階層構造 の存在しないデータへと変換し、 F Dなどの記録媒体に記録する。 変換後のデー タを記録した記録媒体を持運び、 モパイル機器へと装着することでモパイル機器 は階層構造の存在しないデータを読込むことができ、 読込んだデータを高速に処 理および表示することができる。 また同様に、 表示装置が搭載される先はモパイ ル機器に限らずパーソナルコンピュータでもよい。さらに、記録媒体を利用せず、 ネットワークを介してデータを送受信してもよレ、。
上述の実施の形態 1と 2によれば、階層構造を有するデータ 3 0 0であっても、 あらかじめ階層構造を解消して、 階層構造が存在しないデータ 4 0 0へと変換す ることによって、 データ 3 0 0の表示などの出力においてデータ 3 0 0に代替し てデータ 4 0 0を利用できる。 これにより表示などの出力において、 階層構造を 解析する処理を必要としないのでデータの取扱いが容易となり、 高速に処理する ことができる。 また、 階層構造を別途、 記憶しておく必要もないため、 メモリの 使用容量を削減することができる。
さらに、 データをプロック単位に分割した場合、 データを最初から全体につい て解析する必要がないので処理負荷が軽減される。 プロック内では階層構造を解 析する処理を必要としないので、 さらに高速に出力処理することができる。
(第 3の実施の形態)
次に、 第 3の実施の形態について説明する。 本実施の形態に係るデータ処理装 置では、 電子データを、 対応のテキストデータとタグ出現位置データとタグ詳細 データという個別に準備されたデ一タを用いてデータ処理するので、 処理対象の データがタグ部分であるかテキスト部分であるかの判定に関する処理を省略でき る分、 高速にデータ処理できる。 この特徴を以下に説明する。
(データ処理装置の構成)
図 1 5は、 本実施の形態に係るデータ処理装置の構成を周辺装置と関連付けて 示す図である。データ処理装置 1 1 1 8の周辺には、ユーザからの要求を受信し、 図示のないデータベースに記録された電子データを送信するサーバ 1 1 1 4、 ュ
一ザが電子データを受信するためのパーソナルコンピュータ 1116、 サーバ 1 114とパーソナルコンピュータ 1116を接続するネットワーク 1115、 お よびパーソナルコンピュータ 1116から電子データを読出してデータ処理装置 1118に電子データを供給するための記録媒体 1117が設けられる。 データ 処理装置 1118は記録媒体 1117から供給された電子データを処理して目的 に応じたデータ処理、 例えば表示のためのデータ処理などをする。 ここでは電子 データは表示されると想定して説明するが、 他の出力形態、 たとえば電子データ は印刷されてもよい。
パーソナルコンピュータ 1116をコンビニエンスストァ、 駅構內などに設置 された電子データ受信装置に代替し、 この電子データ受信装置から電子データを 読出して、 記録媒体 1 117に記録する方式としてもよい。 この場合、 電子デー タ受信装置から電子データを読出して記録媒体 1117に記録する際に課金する ことが可能である。
また、 サーバ 1114から送信される電子データを、 パーソナルコンピュータ 1116を介することなく、 データ処理装置 1118が受信して受信した電子デ ータを記録媒体 1117に記録するように構成してもよレ、。
記録媒体 1117にはパーソナルコンピュータ 1116などの装置により電子 データ 1100、 ならびに該電子データ 1100から作成して得られたテキスト データ 1101、 タグ出現位置データ 1102、 およびタグ詳細データ 1103 が対応 ftけして格納される。 ここでは、 説明を簡単にするために記録媒体 111 7には電子データ 1100とそれから作成されたデータが対応付けられて 1組だ け格納されると想定しているが、 複数 ¾aが格納されていてよい。
電子データ 1100は文書記述言語の定義に従って所定の処理を実行させるた めの構造化された電子データであって、 複数のタグを用いた階層構造を有する構 造化文書を記録するためのデータ形式である S G M Lや X M Lなどを用いて記述 される。
テキストデータ 1101は、 構造化された電子データ 1100から表示すべき 内容のみを示すデータである。 タグ出現位置データ 1102は、 対応のテキスト データ 1101を処理する際に必要となるタグ情報のうち、 各タグのタグ名を示
す情報、 テキストデータ 1101における各タグの出現位置を示す情報、 および タグ詳細データ 1103における各タグの属性情報の格納位置を示す情報を指示 するデータであり、固定長データのみで構成される。タグ詳細データ 1103は、 対応のテキストデータ 1101を処理する際に必要となるタグ情報のうち、 各タ グの属性などの情報を指示するデータであり、 可変長データで構成される。
サーバ 1114から送信されて記録媒体 1117に格納されるデータは、 電子 データ 1100のみでもよいし、 電子データ 1100から作成されたテキストデ ータ 1101、 タグ出現位置データ 1102およびタグ詳細データ 1103の 3 つのデータのみでもよい。
データ処理装置 1118は入力部 1104、 データ構造解析部 1105、 処理 部 1106、 制御部 1110、 テキストデータ作成部 1111、 タグ出現位置デ ータ作成部 1112およびタグ詳細データ作成部 1113を備える。
入力部 1104は記録媒体 1117から電子データ 1100、 テキストデータ 1 101、タグ出現位置データ 1102およびタグ詳細データ 1103を読込む。 データ構造解析部 1105は電子データ 1100に基づき、 またはテキストデ ータ 1101、 タグ出現位置データ 1 102およびタグ詳細データ 1103に基 づき、 電子データ 1100の階層構造を解析する。
テキストデータ作成部 1111は、 テキストデータ 1101が存在しない場合 に電子データ 1100からテキストデータ 1101を作成する。 サーバ 1114 から送信されるデータが、 テキストデータ 1 101、 タグ出現位置データ 110 2およびタグ詳細データ 1103の 3つである場合、 テキストデータ作成部 1 1 11は省略されてもよい。
タグ出現位置データ作成部 1112は、 タグ出現位置データ 1102が存在し ない場合に電子データ 1100からタグ出現位置データ 1102を作成する。 サ —バ 1114から送信されるデータが、 テキストデータ 1101、 タグ出現位置 データ 1 102およびタグ詳細データ 1103の 3つである場合、 タグ出現位置 データ作成部 1112は省略されてもよレ、。 ■
タグ詳細データ作成部 1113は、'タグ詳細データ 1103が存在しない場合 に電子データ 1100からタグ詳細データ 1 103を作成する。 サーバ 1114
から送信されるデータが、 テキストデータ 1101、 タグ出現位置データ 110 2およびタグ詳細データ 1103の 3つである場合、 タグ詳細データ作成部 11 13は省略されてもよい。
制御部 1110は、 入力部 1104、 データ構造解析部 1 105、 テキストデ ータ作成部 1111、 タグ出現位置データ作成部 1112、 タグ詳細データ作成 部 1113、 および処理部 1106の処理を制御する。
処理部 1 106は、 データ構造解析部 1105による階層構造の解析結果に基 づき所定の処理を行う。 具体的には、 処理部 1106は、 対象とする電子データ の内容、および処理の種類によって構成が異なるが、データ処理装置 1118が、 例えば、 インターネットで交換する電子文書または電子データ、 または単行本、 教科書、 雑誌、 小説および論文などの文章の電子データを表示するための装置で ある場合には、 文章の表示レイァゥトを訐算するレイアウト計算部 1107によ り算出された表示レイァゥトに基づいて電子データを表示する表示部 1108お よびスクロール指示などのユーザからの指示 1121を処理するユーザ指示処理 部 1109を有する。
電子データが音声データである場合は、 処理部 1106は音声データの読上げ 装置に変更され、 また、 表示部 1108には音声再生部が使用され、 レイアウト 計算部 1107は読む部分と読まない部分を判定したり、 強調して読む部分とそ うでない部分を判定したり、 また各読上げの間隔を調整するュ-ットに変更され る。 音声データの場合、 階層構造に応じて音声属性を変えて読上げるようにして もよい。 さらに音声の場合はシナリオ解釈部、 音声出力部、 再生源となるデータ を管理するために、 データの各要素の間で同期を取る同期部などが必要になる。
(データ処理装置の実現例)
図 16にデータ処理装置 1118を携帯型の表示処理装置として実現した場合 の例を示す。 図 16において、 表示部 1108は液晶ディスプレイなどから構成 される。 記録媒体 1117は、 入力部 1 104に着脱自在に装着されて、 装着さ れたときは、 記録媒体 1117に予め格納された処理対象の電子データ 1100 またはテキストデータ 1101、 タグ出現位置データ 1102およびタグ詳細デ ータ 1103が入力部 1104を介して読取られる。 ユーザ指示処理部 1109
に関連して十字キー 1119およびペン 1120を備える。十字キー 1119は、 ユーザが表示文書のスクロール指示や表示させたい書籍や文書の電子データ 11 '00の選択を指示する場合などに操作される。 ペン 1120は、 電子データにリ ンク機能が含まれるとき、 リンク先にジャンプするためにユーザにより用いられ て、 データ処理装置 1118の制御部 1110からユーザに対して求められた確 認事項の返答を入力するためにも使用される。
なお、 データ処理装置 1118に対する電子データ 1100またはテキストデ ータ 1101、 タグ出現位置データ 1102およびタグ詳細データ 1103のす ベて、または一部の供給は、記録媒体 1 117を介してするものに限定されない。 たとえば、 データ処理装置 1118本体の内部に所定の記録領域を設けて、 そこ に上述したようなデータの一部、 もしくはすべてを記録するようにしてもよい。 また、 ネットワーク 1115上のサーバ 1 114、 あるいは図示のないデータべ ースに上述のデータの一部、 またはすベてを記録し、 ダウンロードしながら処理 するようにしてもよレ、。
(タグ出現位置データ 1102の説明)
図 17にタグ出現位置データ 1102の構造の一例を示す。 タグ出現位置デー タ 1102は、 フアイル名情報 1300とタグ出現位置情報 1301とを含む。 ファイル名情報 1300は、 対応するテキストデータ 1101のファイル名と対 応するタグ詳細データ 1103のファイル名を示すデータ 1302と 1303を 含む。
フアイノレ名情報 1300は、 タグ出現位置データ 1102が、 どのテキストデ ータ 1101、 または、 どのタグ詳細データ 1103に対応するものかを指示す るから、 タグ出現位置データ 1102を、 対応のテキストデータ 1101と連結 : して記録する場合には、 テキストデータファイル名のデータ 1302の領域は省 略してもよレ、。 また、 タグ出現位置データ 1102を、 対応のタグ詳細データ 1 103と連結して記録する場合には、 タグ詳細データファイル名のデータ 130 3の領域は省略してもよい。
タグ出現位置情報 1301は、 対応のテキストデータ 1101に含まれるタグ の総数を示すデータ 1304および対応のテキストデータ 1101に含まれる全
てのタグのそれぞれに対応してタグ位置データ 1305を含む。 タグ位置データ 1305のそれぞれは、 対応のタグ名を示すデータ 1306、 対応のタグのテキ ストデータ 1101における出現開始位置と終了位置を示すデータ 1307と 1 308、 および対応のタグのタグ詳細データ 1103における格納開始位置と終 了位置を示すデータ 1309と 1310を含む。 なお、 データ 1307と 130 8は開始タグと終了タグのテキストデータ 1101における記述位置を示す。 デ ータ 1307〜 131◦はタグの各データ (テキストデータ 1101またはタグ 詳細データ 1102) の先頭からのパイト数などで記録される。
タグのテキストデータ 1101における出現終了位置の代わりに、 タグのテキ ストデータ 1101における影響範囲を記録してもよい。 影響範囲とは、 タグの 属性が有効となる部分のテキストデータの大きさ (範囲) を示し、 出現開始位置 から出現終了位置までの範囲に対応する。つまり、(出現終了位置一出現開始位置) による差分を意味する。 これによつて、 出現位置の情報の代わりに影響範囲の情 報を記録しても、 (出現開始位置 +影響範囲) の値から出現終了位置のデータ 13 08を得ることができる。
同様に、 タ.グのタグ詳細データ 1103における格納終了位置のデータ 131 0の代わりに、 タグのタグ詳細データ 1103におけるデータサイズを記録して もよい。 データサイズとは、.格納開始位置から格納終了位置までのサイズを意味 する。つまり、(格納終了位置-格納開始位置)の差分を意味する。これによつて、 格納位置の情報の代わりにデータサイズの情報を記録しても、(格納開始位置 +デ ータサイズ) の値から格納終了位置のデータ 1310を得ることができる。
タグ出現位置データ 1102を構成する各データは図 17に示すように固定長 のデータである。 ここで、 本実施の形態では、 固定長データとは電子データ 11 00が示す情報が変動しても予め準備する所定のサイズ (例えば 4バイ ト) を超 えないようなデータを指す。 従って、 例えば、 図 17に示すように、 タグのテキ ストデータ 1101における出現開始位置を示すデータ 1307として 4バイト が割当てられた場合、 テキストデータ 1 101のファイルの先頭からのパイト数 を示す 0から 4294967295のいずれかの値を入力する必要がある。なお、 タグ出現位置データ 1102を構成する各データに割当られる領域のサイズは、
取扱う電子データ 1 100の種類や、 データ処理装置 1 1 1 8の処理能力に応じ て決定することができる。 '
(タグ詳細データ 1 103の説明)
図 18にタグ詳細データ 1 103の構造の一例を示す。 図 1 8を参照して、 タ グ詳細データ 1 103は、 対応のタグ出現位置データ 1 102に記録されている 全てのタグのそれぞれに対応してタグ詳細データ 1401を含む。 タグ詳細デー タ 1401は対応のタグが示す異なる種類の属性の総数を示すデータ 1402お よび対応のタグが示す異なる種類の全ての属性それぞれに対応してデータ 140 3を含む。 データ 1403は、 対応の属性の種類名を示すデータ ANおよび対応 の属性の値 AVを含む。 タグ詳細データ 1103は、 その大きさが各タグの情報 の大きさに依存するため、 基本的に可変長データで構成されるが、 十分な大きさ の固定長データで構成されてもよい。
(データの具体例について)
次に、 テキストデータ 1 101、 タグ出現位置データ 1 102内の各データお よびタグ詳細データ 1 103内の各データの書式について、 文書記述言語の定義 に従って記述され、 階層構造を有する電子データ 1100の具体例である XHT ML (extensible HTML) 文書を用いて説明する。 図 19には、 処理対象の X HTML文書である電子データ 1 100の一例が示される。
図 2 OAには、 図 19の XHTML文書の電子データ 1 100から作成したテ キストデータ 1 101の一例が示される。 図 2 OAに示すように、 基本的には各 タグによって挟まれた子供要素のうち、 表示すべき内容、 すなわち文字列のみが テキストデータ 1 101に記録される。 このように記録することにより、 データ 処理装置 1 1 18の処理能力が低く、 タグ出現位置データ 1 1 02およびタグ詳 細データ 1 103の解析が困難な場合に、 テキストデータ 1 101のみを処理し て表示した場合には、 ユーザは表示内容から少なくとも、 記述されている文書の 内容だけは理解することができる、といった利点を得ることができる。そのため、 表示すべき内容であっても、 テキストデータ 1 101に記録しない場合がある。 これを、 文字列にルビを設定するために使用するタグ (以下、 ルビタグという) を例として示す。
図 1 9のルビタグ 1503の場合、 通常であれば、 開始タグく r b >と終了タ b〉で挟まれた子供要素 「吾輩」 と、 開始タグく r t >と終了タグく/ r t >で挟まれた子供要素 「わがはい」' はテキストデータ 1 101に記録される 力 S、 そのままでは、 テキストデータ 1 101の記録内容に従う表示内容は 「吾輩 わがはい」 を示すこととなってしまい、 意味がわからなくなってしまう。
そこで、 ルビタグ 1503をく r u b y 2 r t = "わがはい" >吾輩く Zr u b y 2 >と変換する。 本実施の形態では、 く r u b y 2 >は、 ルビ用のタグで あり、 ルビ文字列を指定する 'r t' 属性を持ち、 被ルビ文字列を子供要素に指 定するタグを意味する。 ルビタグ 1 503をく r ub y 2 >タグを使用した要素 に変換することにより、 テキストデータ 1 101には、 子供要素である 「吾輩」 を記録し、 . ' r t ' 属性の値 「わがはい」 をタグ詳細データ 1 103に記録する。 この場合のタグ詳細データ 1 103への記録内容に関しては後述する。
ルビタグ 1505の場合も、 同様にく r u b y 2 r t = "けんとう" >見当 </r u b y 2 >に変換し、 子供要素 「見当」 をテキストデータ 1 101に記録 し、 ' r t ' 属性の値 「けんとう」 をタグ詳細データ 1 103に記録する。
ルビタグ以外にも、通常、テキストデータ 1 101に記録すべき子供要素でも、 その子供要素を対応のタグの属性値に変換し、 タグ詳細データ 1 103に記録し た方がテキストデータ 1 101の内容が理解しやすくなる場合は同様の処理を行 つてもよレヽ。
上述のルビタグとは逆に、 タグの属性値であっても、 タグ詳細データ 1 103 ではなくテキストデータ 1 101に記録する場合もある。 これを、 外字を設定す るために使用するタグ (以下、 外字タグという) を例として説明する。
本実施の形態では、 く g a i j i >は、 外字用のタグであり、 文字フォント名 を指定する ' s e t' 属性、 その ' s e t' 属性で指定した文字フォント内での 位置を指定する 'c o d e ' 属性、 横書き表示用の代替画像を指定する ' i mg' 属性、 横書き表示用の代替画像を指定する 'v i mg' 属性、 および代替文字列 を指定する 'a l t' 属性という異なる複数種類の属性を持つタグを意味する。 図 1 9の外字タグ 1506の場合、 通常であれば、 テキストデータ 1 101に は何も記録されないので、 そのままでは、 テキストデータ 1 101に記録される
内容が 「 · · ' という人間中で一番悪な種族で ' · ·」 となってしまい、 表示し た場合に意味がわからなくなってしまう。 そこで、 外字タグ 1 506をく g a i j i 2 s e t = "〇〇〇外字" c o d e - "0 x 1234" i m g = " d o u 1. j p g" v i mg = "d o u 2. j p g >どつく Zg a i j i 2 > と変換する。 ここで、 本実施の形態では、 く g a i j i 2>は、 外字用のタグで あり、 文字フォント名を指定する ' s e t ' 属性と、 その ' s e t' 属性で指定 した文字フォント内での位置を指定する 'c o d e' 属性と、 横書き表示用の代 替画像を指定する ' i mg' 属性と、 横書き表示用の代替画像を指定する 'v i mg' 属性という複数種類の属性を有して、 代替文字列を子供要素に指定するタ グを意味する。
このようにして図 19の外字タグ 1506をく g a i j i 2 >タグを使用した 要素に変換することにより、 テキストデータ 1 101には、 子供要素である 「ど う」 が記録されて、 他の属性値はタグ詳細データ 1 103に記録される。 タグ詳 細データ 1 103に記録される内容に関しては後述する。 これによつて、 テキス トデータ 1 101に記録される内容は 「 · · · という人間中で一番どう悪な種族 で · · *」 となり、 意味がわかる文章になる。
外字タグ以外にも、 通常、 テキストデータ 1 101には何も記録されないもの でも、 その属性値を子供要素に変換し、 テキストデータ 1 101に記録した方が テキストデータ 1 101の内容を理解しやすくなる場合は同様の処理を行っても よい。
図 20 Bには、 図 1 9の XHTML文書の電子データ 110◦から作成したテ キストデータ 1 101の他の例が示される。 図 20 Bでは、 改行タグ 1504が あつ.た位置で実際に改行している。 このようにすることによって、 テキストデー タ 1 101の内容を理解しやすくできる。 この場合、 改行タグ 1 504の情報を タグ出現位置データ 1 102に記録して、 テキストデータ 1 101における改行 情報はレイアウト計算部 1 107において使用しないよう.にしてもよいし、逆に、 改行タグ 1504の情報はタグ出現位置データ 1 102に記録せずに、 テキスト データ 1 101における改行情報をレイァゥト計算部 1 107において使用する ようにしてもよレ、。
改行タグ以外のタグであって、 通常、 テキストデータ 1 101において改行を 指示しないタグであっても、 テキストデータ 1 101の内容を理解しやすくなる
" 場合は改行の処理を行ってもよい。
図 21には、 図 19の XHTML文書の電子データ 1 100から作成したタグ 出現位置データ 1 102の一例が示される。 図 21のデータ 1 700〜1 702 は図 1 7のデータ 1302〜 1 304に対応する。 データ 1 702は、 図 19の 電子データ 1 100に含まれるタグ (タグ対) の数を示す。 本来ならば、 図 1 9 の XHTML文書の電子データ 1 100を構成するタグの数は 1 1個であるが、 先に説明したように、 ルビ要素を構成するく r u b y >タグ、 く r b >タグおよ ぴ< r t〉タグの 3つを 1つのタグに変換して処理しているため 7個となり、 図 21のデータ 1 702は 「7」 を示す。 データ 1703〜 1707は、 1つ目の タグであるく h tml >タグ 1 500のタグ位置データ 1305のデータ 1 30 6〜310に対応する。 データ 1703はタグ名である 「h tm l」 を示し、 デ ータ 1 704は、 く h tm 1 >タグ 1 500のテキストデータ 1 101における 出現開始位置を示し、 データ 1 705は、 く h tml >タグ 1 500のテキスト データ 1 101における出現終了位置を示す。 次に、 データ 1 706は、 タグ詳 細データ 1 103におけるく h tml >タグ 1500の属性情報の格納開始位置 • を示し、 データ 1 707は、 タグ詳細データ 1 103におけるぐ h t m 1 >タグ 1 500の属性情報の格納終了位置を示す。 以下同様に、 データ 1 708〜1 7 1 2は、 2つ目のタグであるく b o d y>タグ 1501のタグ出現位置データ 1 305のための情報を'示し、 データ 1 71 3〜― 1717は、 3つ目のタグである く i mg >タグ 1502のタグ出現位置データ 1305のための情報を示し、 デ ータ 1718〜1 722は、 4つ目のタグであるく r u b y>タグ 1 503のタ グ出現位置データ 1305のための情報を示し、 データ 1 723〜 1 727は、 5つ目のタグであるく b r >タグ 1 504のタグ出現位置データ 1 305のため の情報を示し、 データ 1728〜 1 732は、 6つ目のタグであるく r u b y > タグ 1 505のタグ出現位置データ 1 305のための情報を示し、 データ 173 3〜: L 737は、 7つ目のタグである < g a i j i >タグ 1506のタグ出現位 置データ 1 305のための情報を示す。
図 22には、 図 19の XHTML文書の電子データ 1 100から作成したタグ 詳細データ 1 103の一例が示される。 データ 1402に対応のデータ 1800 は、 1つ目のタグであるく h t m 1 >タグ 1500の属十生数「0」 を示す。 なお、 この情報が記録されている領域の開始位置、 終了位置情報はタグ出現位置データ
1 102のデータ 1706とデータ 1 707として記録される。 また、 く h tm 1 >タグ 1500の属性数は '0' であるから、 タグ詳細データ 1 103に属性 数情報のデータ 1800を記録せずに、 代りにタグ出現位置データ 1 102のデ ータ 1706とデータ 1707を、「格納領域なし」を示すように記録してもよい。 これによつで、 タグ詳細データ 1 103のデータ容量を削減することができる。 以下同様に、 タグ詳細データ 1 1 03に、 2つ目のタグであるく b o d y >タ グ 1501のタグ詳細データ 1401のためのデータ 1801〜 1 805を、 3 つ目のタグであるく i mg/>タグ 1502のタグ詳細データ 1401のための データ 1 806〜: 1810を、 4つ目のタグであるく r u b y>タグ 1 503の タグ詳細データ 1401のためのデータ 181 1〜 1813をそれぞれ記録する。 また 5つ目のタグであるく b rZ>タグ 1 504のタグ詳細データ 1401のた めのデータ 1814を記録する。. < b rZ タグ 1504もく h tml >タグ 1 500と同様に属性数は ' 0 ' であるから、 タグ詳細データ 1 103に属性数を 記録せずに、 代りにタグ出現位置データ 1 102の対応のデータ 1726とデー タ 1727とを、 「格納領域なし」 を示すように記録してもよい。 そして、 6つ目 のタグであるく r ub y>タグ 1505のタグ詳細データ 1401のためのデー タ 181 5〜 1817を、 7つ目のタグであるく g a i j i >タグ 1 506のタ グ詳細データ 1401のためのデータ 1818〜 1826をそれぞれ記録する。
(データ処理装置 1 1 18の処理手順について)
図 23と図 24を参照して、 図 1 5のデータ処理装置 1 1 18が表示装置とし て動作した場合の処理手順を説明する。 図 23と図 24の手順は制御部 1 1 10 の制御の下に実行される。
まず、 ステップ S 901では、 ユーザが表示を所望する電子データ 1 100を 示すユーザ指示 1 121がユーザ指示処理部 1 109を介して入力されて、 該電 子データ 1 100が指定される。
ステップ S 902では、 入力部 1 104は記録媒体 1 1 1 7を検索して、 ステ ップ S 901で指定された電子データ 1 100について、 記録媒体 1 1 1 7にお いて指定の電子データ 1.100のみが格納されているのか、 それとも、 指定の電 子データ 1 100に対応のテキストデータ 1 101とタグ出現位置データ 1 10 2とタグ詳細データ 1 103の 3つが格納されているのかを判定する。検索結果、 所望電子データ 1 100のみが格納されていると判定すれば、 制御部 1 1 10は 処理をステップ S 903に進めるが、 対応のテキストデータ 1 101、 タグ出現 位置データ 1 102およびタグ詳細データ 1 103が存在していれば、 処理をス テツプ S 904に進める。
ステップ S 903では、 指定された電子データ 1 100を記録媒体 1 1 1 7力 ら読出して、 読出した電子データ 1 100についてテキストデータ 1 101、 タ グ出現位置データ 1 1 02およびタグ詳細データ 1 103を作成する。 その後、 処理をステップ S 904に進める。 ステップ S 903の詳細は後述する。
ステップ S 904では、 指定された電子データ 1 100に対応のタグ出現位置 データ 1 102が記録媒体 1 1 1 7から検索されて入力部 1 104を介して読出 される。
ステップ S 906では、 指定された電子データ 1100に対応の記録媒体 1 1 17のテキストデータ 1 101から処理対象とされる任意の部分データのみを特 定して入力部 1 104を介して読出す。 具体的にはステップ S 901にて、 入力 したユーザ指示 1 121に基づいて処理対象のテキストデータ部分を特定し読込 む。 例えば、 ユーザが指定した電子データ 1 100がはじめて表示処理されるの であれば、 そのデータの最初から読込む。 または、 以前に表示処理したことのあ る電子データ 1 100であれば、 前回の表示処理における最終表示位置を示す情 報をデータ処理装置 1 1 18の所定記憶領域に記録しておき、 記録された最終表 示位置情報が示す位置からデータを読込む。 または、 データ処理装置 1 1 18に ページジャンプ機能のようなものが予め準備されていれば、 ユーザ指示 1 121 により所望電子データ 1 100の任意の箇所を表示するように指示した場合には、 ページジャンプ機能を用いて指定された電子データ 1 100の指示された箇所に 該当する位置からデータを読込むことができる。
ステップ S 907では、 S 906で特定されてテキストデータ 1 101から読 込まれた処理対象の部分データに基づき、 記録媒体 1 1 1 7のタグ詳細データ 1 · 103から対応の部分データを入力部 1 104を介して読込む。
ステップ S 907では、 タグ出現位置データ 1 102が固定長データであるこ とを利用して、 処理すべきタグの属性情報をタグ詳細データ 1 103から効率よ く読出すことができる。 具体的には、 もし、 タグの属性を示す情報がタグ出現位 置データ 1 102とタグ詳細データ 1 103とに分離されずに、 まとめて可変長 データで記録されている場合には、 タグ属性情報の最初から総当りで所望のデー タであるかを判定していく必要がある。 この所望データは処理すベきタグ情報を 指しており、 ルビ表示機能を有さなレヽデータ処理装置 1 1.18であれぱ、 ルビタ グ情報は不用となる。 一方、 本実施の形態ではタグの属性の情報はタグ出現位置 データ 1 102とタグ詳細データ 1 103とに分離して記録されており、 かつタ グ出現位置データ 1 102は固定長データであるので、 所望のデータがタグ詳細 データ 1 103の何バイト目に存在するかをタグ出現位置データ 1 102を参照 して容易に特定できて、 特定結果に基づきタグ詳細データ 1 103を直接ァクセ スして所望データを読出すことが可能である。
ステップ S 909ではレイァゥト計算部 1 107により表示のためのレイァゥ トを計算する。 レイアウトの計算は次の手順で行なう。
まず、 ユーザ指示 1 121により決定されたテキストデータ 1 101の表示開 始位置情報と、 タグ出現位置データ 1 102における各タグのテキストデータ出 現開始位置/終了位置のデータとに基づき、 テキストデータ 1 101の表示すベ き部分データに関係する 1つ以上のタグを特定する。 次に、 特定した各タグにつ いて、 タグ出現位置データ 1 102から該当するタグ詳細データ格納開始位置 Z 終了位置のデータを読出し、 読出したデータに基づいてタグ詳細データ 1 103 を検索して、 該タグに対応のタグ詳細データ 1401を読出す。
そして、 該当するタグのテキストデータ出現開始位置から終了位置までに関し て上記手順で読出したタグ詳細データ 1401に基づいて、 テキストデータ 1 1 01を表示開始位置から順次、図示されない所定記憶領域にレイァゥトしていく。 ステップ S 910では、 ステップ S 909のレイアウト計算結果である所定記
憶領域の内容に基づき、 テキストデータ 1 101は表示部 1 108により表示さ れる。
ステップ S 91 1では、 ユーザ指示処理部 1 109を介したユーザからの指示 1 121の入力を待つ。 ユーザからの指示 1 1 21の入力があるまで、 処理はス テツプ S 91 1で待機する。 ユーザから表示処理終了の指示 1 121が入力され た場合には、 図 23の表示処理は終了する。 ユーザから、 次ページ、 あるいは前 ページへのスクロール指示 1 121があった場合には、 処理はステップ S 906 に戻り、 以降、 テキストデータ 1 101の指定されたスクロール先の任意領域の 部分データについて同様な処理が行なわれる。
図 23のステップ S 903のテキストデータ 1 101、 タグ出現位置データ 1
102およびタグ詳細データ 1 103の作成処理の手順について図 24のフロー チャートに従い説明する。 図中、 [テキスト] はテキストデータ 1 101を、 [タ グ出現] はタグ出現位置データ 1 102を、 [タグ詳細] はタグ詳細データ 1 10 3をそれぞれ示す。 また図中の [タグ情報] とは、 電子データ 1 100からテキ ストデータ 1 101、 タグ出現位置データ 1 102およびタグ詳細データ 1 10 3を作成するために、 データ処理装置 1 1 18内の図示されない記憶領域に一時 的に記憶しておく情報を指す。 [タグ情報]は 1つ以上のタグのそれぞれについて タグ名と、 該タグのテキストデータ出現終了位置を示すデータ 1308のタグ出 現位置データ 1 102における記録位置とを示す情報である。
まず、 ステップ S 921では、 入力部 1 104を介して記録媒体 1 1 1 7から 指定された所望の電子データ 1 100を読出し、 処理をステップ S 922に進め る。
ステップ S 922以降の処理においては、 読出した電子データ 1 100をデー タ構造解析部 1 105にて解析すると、その後、テキストデータ作成部 1 1 1 1、 タグ出現位置データ作成部 1 1 12およぴタグ詳細データ作成部 1 1 1 3はテキ ストデータ 1 101、 タグ出現位置データ 1 102およびタグ詳細データ 1 10 3をそれぞれ作成し、 作成したこれらデータを記録媒体 1 1 17の指定された所 望の電子データ 1 100と対応付けて格納する。 その手順を以下に説明する。 まず、 ステップ S 922では、 上述の各データを作成するのに必要な [タグ情
報] の領域を初期化し、 その後、 処理をステップ S 9 2 3に進める。
ステップ S 9 2 3では、 タグ出現位置データ 1 1 0 2に、 テキストデータファ ィル名、 タグ詳細データファイル名おょぴタグ数を示すデータ 1 3 0 2〜 1 3 0 4を記録し、 その後、 処理をステップ S 9 2 4に進める。 タグ数のデータ 1 3 0 4としては、 この場合には初期値としての ' 0 ' を記録する。
ステップ S 9 2 4以降の処理では、 ステップ S 9 2 1において読込んだ電子デ ータ 1 1 0 0を先頭から要素単位で順に処理していく。
ステップ S 9 2 4では、 電子データ 1 1 0 0の先頭から検索して文字列または タグなどの要素の有無を判定する。 要素がなければ、 電子データ 1 1 0 0の最後 の要素まで処理したことになり、 ステップ S 9 3 4では要素がなかった旨のデー タが記録媒体 1 1 1 7に格納されて図 2 4のデータ作成処理を終了して、 元の図
2 3の処理に戻る。 なお、 ステップ S 9 3 4の処理をパスしてデータ作成処理を 終了するようにしてもよい。 一方、 要素があれば、 処理をステップ S 9 2 5に進 める。 .
ステップ S 9 2 5では、 要素の種類を判定する。 判定結果、 要素が開始タグま たは空タグであれば、 処理をステップ S 9 2 6に進めて、 要素が終了タグであれ ば処理をステップ S 9 3◦に進めて、 要素が文字列であれば処理をステップ S 9
3 3に進める。
ステップ S 9 2 6では、 タグ出現位置データ 1 1 0 2に該要素であるタグにつ いてタグ位置データ 1 3 0 5を記録する。
. 具体的には、 該要素はタグなのでデータ 1 3 0 4が示すタグ数を 1つ増やす。 次に、 該タグについて開始タグであるか空タグであるかを解析し、 解析結果に基 づきタグ名を取得して、 取得したタグ名を該タグのためのタグ位置データ 1 3 0 5のデータ 1 3 0 6として記録する。 そして、 現時点でのテキストデータ 1 1 0 1の書込み最終位置を、 テキストデータ出現開始位置としたデータ 1 3 0 7を記 録する。 もし、 要素が空タグであれば、 データ 1 3 0 7と同じ値をテキストデー タ出現終了位置としたデータ 1 3 0 8を記録する。 さらに、 現時点でのタグ詳細 データ 1 1 0 3の書込み最終位置を、 タグ詳細データ格納開始位置としたデータ 1 3 0 9を記録し、 処理をステップ S 9 2 7に進める。
ステップ S 9 2 7では、 一時的に記憶しておくべき [タグ情報] に、 ステップ S 9 2 6で取得したタグ名と、 タグ出現位置データ 1 1 0 2における該当タグの 「テキストデータ出現終了位置」 のデータ 1 3 0 8の格納位置の情報を追加して 記録して、 処理をステップ S 9 2 8に進める。
ステップ S 9 2 8では、 タグが開始タグであるか空タグであるかを解析し、 解 析結果に基づき該タグの属性数、 属性名および属性値を取得し、 取得したこれら' をタグ詳細データ 1 1 0 3に該タグのタグ詳細データ 1 4 0 1のデータ 1 4 0 2 およびデータ 1 4 0 3 して記録し、 処理をステップ S 9 2 9に進める。
ステップ S 9 2 9では、 タグ出現位置データ 1 1 0 2に、 現時点でのタグ詳細 データ 1 1 0 3の書込み最終位置を、 タグ詳細データ格納終了位置のデータ 1 3 1 0として記録する。 これで、 この要素に対する処理は終わり、 処理をステップ S 9 2 4に戻し、 次の要素に対する処理を行う。
ステップ S 9 3 0では、 終了タグであるタグを解析し解析結果に基づき、 一時 的に記憶している [タグ情報] からそのタグのタグ名と 「テキストデータ出現終 了位置」 の格納位置との情報を得て、 処理をステップ S 9 3 1に進める。
ステップ S 9 3 1では、 ステップ S 9 3 0で得た情報が示すタグ出現位置デー タ 1 1 0 2の格納位置に対応のタグ位置データ 1 3 0 5に、 現時点でのテキスト データ 1 1 0 1の書込み最終位置を、 テキストデータ出現終了位置としたデータ 1 3 0 8を記録し、 処理をステップ S 9 3 2に進める。
ステップ S 9 3 2では、 一時的に記憶している [タグ情報] 力 ら、 該当タグの 情報を削除する。 これで、 この要素に対する処理は終わり、 処理をステップ S 9 2 4に戻して、 次の要素に対する処理を行う。
ステップ S 9 3 3では、 要素の文字列をテキストデータ 1 1 0 1に記録する。 これで、 この要素に対する処理は終わり、 処理をステップ S 9 2 4に戻して、 次 の要素に対する処理を行う。
ここまでの処理を電子データ 1 1 0 0中の全ての要素について行うと、 該電子 データ 1 1 :0 0のテキストデータ 1 1 0 1、 タグ出現位置データ 1 1 0 2および タグ詳細データ 1 1 0 3の作成が完了するので、 ステップ S 9 3 4において、 作 成されたこれらデータを該電子データ 1 1 0 0と対応付けて記録媒体 1 1 1 7に
格納して、 一連の処理を終了し、 元の図 2 3の処理に戻る。
なお、 この実施の形態では、 電子データ 1 1 0 0が X H TML文書である場合 を例に挙げて説明を行ったが、 X H TM L文書に限定されない。 例えば、 XM L (extensible markup language) などにより記録された階層構造を有する電子デ ータ 1 1 0 0であっても、 同様の処理を行うことができる。
本実施の形態 3によれば、 メモリ容量に応じて構成された固定長のタグ出現位 置データ 1 1 0 2を用いて処理することによって、 テキストデータ 1 1 0 1およ びタグ詳細データ 1 1 0 3それぞれの一部のみのデータを効率よく読込むことが できるため、 高速かつ少ない容量のメモリでデータ処理ができる。 本実施の形態 では、 準備可能なメモリ容量が少ないときに、 特に大きな効果を発揮する。 具体 的には、 'タグ情報データがタグ出現位置データ 1 1 0 2とタグ詳細データ 1 1 0 3とに分離されずに可変長であった場合、 タグ情報データ量がメモリ容量をォー バーする惧れがある。 本実施の形態 3では、 タグ出現位置データ 1 1 0 2を固定 長データのみから構成することによって、 記録媒体 1 1 1 7の記録可能容量など 力 らタグ情報を記録可能な最大容量を見積もることができて、 それにより、 この 記録可能容量をオーバーしないタグ出現位置データ 1 1 Ό 2の構造を予め作成し ておくことができる。
また、 本実施の形態によれば、 階層構造を持つ電子データ 1 1 0 0を、 対応の テキストデータ 1 1 0 1とタグ出現位置データ 1 1 0 2とタグ詳細データ 1 1 0 3という個別に準備されたデータを用いてデータ処理するので、 処理対象のデー タがタグ部分であるかテキスト部分であるかの判定に関する処理を省略できて、 またそれに要するメモリも削減できて、 処理の高速化と消費メモリ容量の削減と が可能になる。
(データの変形例)
上述の実施の形態では、 タグ出現位置データ 1 1 0 2において、 タグ名のデー タ 1 3 0 6として、 タグ名そのものを記録するようにしていたが、 これに代わつ て、タグ名を一意に識別することができる識別番号を記録するようにしてもよレ、。 この場合、 タグ名と識別番号の対応関係を記録したタグ識別情報データが別途必 要となる。
同様に、 タグ詳細データ 1 103において、 属性名のデータ ANとして、 属性 名そのものを記録するようにしていたが、 これに代わって、 属性名を一意に識別 することができる識別番号を記録するようにしてもよい。 この場合、 属性名と識 別番号の対応関係を記録した属性識別情報データが別途必要になる。
また、 本実施の形態では、 所望された電子データ 1 100の全体についてテキ ストデータ 1 101、 タグ出現位置データ 1 102およびタグ詳細データ 1 10 3を作成していたが、 作成の対象は電子データ 1 100の全体に限定されない。 つまり電子データ 1 100のユーザが所望する任意の部分データについてテキス トデータ 1 101、 タグ出現位置データ 1 102およびタグ詳細データ 1 103 を作成するようにしてもよい。
(第 4の実施の形態)
上述の各実施の形態で示したデータ処理のための機能は、 該データ処理手順を 記述したプログラムをコンピュータにより実行することで実現される。 このよう なコンピュータの構成例が図 25に示される。
図 25を参照してコンピュータは、 表示装置 1 10および 51 1ならびに表示 部 1 108に対応の CRT (陰極線管)、液晶などからなるモニタ 143、指示入 力部 190、 510、 21 0および 61 1、 ならびにユーザ指示処理部 1 109 に対応のキーボード 1 50、 マウス 160およびペンタブレツト 170、 制御部 108、 209、 509、 6 10および 1 1 10に対応の該コンピュータ自体を 集中的に制御するための CPU (中央処理装置の略) 122、 データ記憶部 10 4、 205、 504および 605ならびに記録媒体 1 1 17に対応しうる ROM または RAM (ランダムアクセスメモリの略)を含んで構成されるメモリ 124、 記録媒体 1 1 1 7に対応しうる固定ディスク 126、 FD 1 32が着脱自在に装 着されて、 装着された FD 132をアクセスする FD駆動装置 130、 CD— R OM142が着脱自在に装着されて、 装着された CD— ROM142をアクセス する CD— ROM駆動装置 140、 インターネットなどの通信ネットワーク 18 2と、 該コンピュータとを通信接続するための通信インターフェイス 180を含 む。 これらの各部はバスを介して通信接続される。 FD 132または CD— R〇 Ml 42は記録媒体 1 1 17に対応しうる。 固定ディスク 126または FD 1 3
2または CD— ROM142は記録媒体 1 1 2、 21 2、 513および 613に 対応する。 通信ネットワーク 182はネットワーク 1 1 1、 21 1、 51 2、 6 12および 1 1 15に対応する。
コンピュータには、 カセット形式の磁気テープが着脱自在に装着されて磁気テ ' ープをアクセスする磁気テープ装置が設けられても良い。
このようなコンピュータに上述のデー 処理方法を実行させるためのプログラ ムは、 コンピュータで読取可能な記録媒体に格納される。 本実施の形態では、 こ の記録媒体として、 図 25に示されているコンピュータで処理が行なわれるため に必要なメモリ、 たとえばメモリ 1 24のようなそのものがプログラムメディア であってもよいし、 また外部記憶装置として図示のない磁気テープ装置おょぴ C D— ROM駆動装置 140などのプログラム読取装置が設けられ、 そこに記憶媒 体である磁気テープまたは CD— ROM 142が装着されることで読取可能なプ ログラムメディアであってもよい。 いずれの場合においても、 格納されているプ ログラムは CPU 1.22がアクセスして実行させる構成であってもよいし、 ある いはいずれの場合'もプログラムが一且読出されて、 読出されたプログラムは、 図 25のコンピュータの所定のプログラム記憶エリア、 たとえばメモリ 124の R AMの所定エリアにロードされて、 CPU1 22により読出されて実行される方 式であってもよい。 このロード用のプログラムは、 予め当該コンピュータに格納 されているものとする。
ここで、 上述したプログラムメディアはコンピュータ本体と分離可能に構成さ れる記録媒体であり、 固定的にプログラムを担持する媒体であってもよい。 たと えば、 磁気テープやカセットテープなどのテープ系、 FD 1 32や固定ディスク 1 26などの磁気ディスクや CD— ROM 142/M〇 (Magnetic Optical Disc) /M.D (Mini Disc) /DVD (Digital Versatile Disc) などの光ディ スクのディスク系、 I Cカード (メモリカードを含む) /光力一ドなどのカード 系、 あるいはマスク R〇M、 E PROM (Erasable and Programmable ROM)ゝ EEPR OM (Electrically EPR OM)、フラッシュ R〇Mなどによる半導体メ モリなどである。
また、 流動的にプログラムを担持する媒体であってもよい。 つまり、 図 25の
コンピュータはインターネットを含む通信ネットワーク 1 8 2と通信インターフ ェイス 1 8 0を介して接続可能な構成が採用されているから、 通信ネットワーク 1 8 2からプログラムがダウンロードされるような記録媒体であってもよい。 プ ログラムがダウンロードされる場合には、 ダウンロード用プログラムは予め当該 コンピュータ本体に格納しておくカヽ あるいは別の記録媒体から予め当該コンビ ユータ本体にインストールされるものであってもよい。
なお記録媒体に格納されている内容としてはプログラムに限定されず、 データ であってもよい。
今回開示された各実施の形態はすべての点で例示であって制限的なものではな いと考えられるべきである。 本発明の範囲は上記した説明ではなくて特許請求の 範囲によって示され、 特許請求の範囲と均等の意味おょぴ範囲内でのすべての変 更が含まれることが意図される。