JPWO2004079586A1 - マークアップ言語の処理を最適に行なうことのできるデータ変換方法 - Google Patents
マークアップ言語の処理を最適に行なうことのできるデータ変換方法 Download PDFInfo
- Publication number
- JPWO2004079586A1 JPWO2004079586A1 JP2005502992A JP2005502992A JPWO2004079586A1 JP WO2004079586 A1 JPWO2004079586 A1 JP WO2004079586A1 JP 2005502992 A JP2005502992 A JP 2005502992A JP 2005502992 A JP2005502992 A JP 2005502992A JP WO2004079586 A1 JPWO2004079586 A1 JP WO2004079586A1
- Authority
- JP
- Japan
- Prior art keywords
- tag
- data
- character string
- conversion
- name
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/146—Coding or compression of tree-structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/157—Transformation using dictionaries or tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
Description
このようなマークアップ言語は、様々な形式が策定され、それら形式を用いた様々なアプリケーションがパーソナルコンピュータ、携帯電話、PDA(Personal Digital Assistants)をはじめとした情報機器を中心に様々な機器に実装され用いられている。マークアップ言語は、通常、制御に用いるタグに、その機能が容易に連想できるように名前を付けて用いる。
現在、インターネットのウェブサイトをはじめ、マークアップ言語のようなタグ形式のデータを用いたシステムは、概ね、図30に示されるような構成である。すなわち、マークアップ言語で記載されたオリジナル文書データ(以下記述タグデータ)をネットワーク3402等を介して受取り、ビューワ3403に伝達するシステムである。
ビューワ3403は、ビューワ本体3404と表示装置3405とを含んで構成されており、ビューワ本体3404は、記述タグデータを受取り、表示データを表示装置3405に出力する。
さらに、ビューワ本体3404は、図31に示されるように、記述タグデータを格納する記述タグデータバッファ3504と、記述タグデータから表示データを作成するためのパージング(解析)処理を行なうパージング処理部3505と、内部データを格納する内部データバッファ3506と、表示データの作成を行なう表示データ作成処理部3507と、表示データを格納する表示データバッファ3508とを含んで構成され、図32に示されるような処理を実行する。
図32を参照して、ビューワ本体3404では、入力された記述タグデータを記述タグデータバッファ3504に格納し(S901)、パージング処理部3505で、当該記述タグデータから表示データを作成するためのパージング処理を行なう(S903)。ここでは、記述タグデータに含まれるタグに付けられたタグ名、タグ名と共に付けられた属性名、および属性名に対応した属性値により実行する処理を切替えて、記述タグデータから表示データを作成するための解析を行なっていく。たとえば、図33に示すように、htmlタグに対応して処理F1を実行して記述タグデータの解析処理を行なう。また、bodyタグに対応して処理F4を実行し、そのbodyタグ内に属性bgcolorがあればその属性に対応して処理F41を実行して記述タグデータの解析処理を行なう。また、h2タグに対応して処理F9を実行し、そのh2タグ内に属性alignがあればその属性に対応して処理F91を実行し、さらにその属性値がcenterであれば、その属性値に対応して処理F911を実行して記述タグデータの解析処理を行なう。
そして、このような表示データを作成するためのパージング(解析)結果を内部データとして、内部データバッファ3506に格納する(S905)。
次に、表示データ作成処理部3507で、内部データを基に表示データを作成し(S907)、作成した表示データを表示データバッファ3508に格納して(S909)、表示装置3405に出力する。
マークアップ言語は、上述のように、通常、制御に用いるタグにその機能が容易に連想できるように名前を付けて用いられるため、人間がテキストエディタを用いてコンテンツデータの作成や変更を容易に行なうことができる利点を備えている。しかし、その反面、タグ名がデータ的に冗長になる。そのため、次の2つの問題がある。
(1)データ量が大きい。(特に、近年のコンテンツの複雑化により、制御タグの使用頻度は増加する傾向にあり、それに伴いデータの冗長性も大きくなる傾向にある。)
(2)データにアクセスするのに必要な処理量が大きい。(マークアップ言語は、上述のようにタグに基づいてデータのアクセスを行なう。そのため、データアクセス中にタグの検索処理は頻繁に行なわれる。タグが必要以上の文字長になっているため、検索対象の文字長が大きく、処理量も大きくなる。)
これら2つの問題は、特にデータ記憶容量が小さく、処理能力が低い携帯機器での快適な利用を妨げる。
上述のデータ量が大きいという問題を解決する技術として、特開2000−76155号公報は、マークアップ言語の1つであるHTML(Hypertext Markup Language)言語で表現されたデータを圧縮するHTMLドキュメント圧縮・展開・表示方法を開示している。特開2000−76155号公報は、HTML言語に<compress>という新たなタグを導入し、データを任意の圧縮方式で圧縮して<compress>タグから</compress>タグまでの間に配置することにより、データ全体の冗長性を低下させ、データ量を削減することのできるHTMLドキュメントの圧縮方法を開示している。
特開2000−76155号公報に示されるような技術を用いると、たとえば、図34に示すようなオリジナル文書データ(以下記述タグデータ)は、圧縮後、図35に示す圧縮タグデータに変換される。
また、特開2002−312278号公報で開示されている技術の中に、形式の異なるHTML文書に対応するためにタグを変換する技術が含まれている。
しかしながら、特開2000−76155号公報で開示されている技術を用いると、データ量を削減することによりデータ格納と転送との効率性は向上するが、図35に示されるように、<compress>タグから</compress>タグまでの間は圧縮形式のデータになっているため、この箇所の復号処理を行なわなければ、元の記述タグデータの内容を取得することができないという問題がある。すなわち、閲覧時に必ず復号処理が追加されることになり、処理量は大幅に増加してしまうという問題がある。
したがって、特開2000−76155号公報で開示されている技術を用いると、データ量が大きいという第1の問題は解決されるものの、第2の問題であるデータにアクセスするのに必要な処理量が大きい点は、逆に復号処理の分だけ助長されてしまう。
また、複数のコンテンツ中から、特定の情報を含んだコンテンツを取出す時にキーワード検索がよく用いられるが、特開2000−76155号公報で開示されている技術を用いてコンテンツの圧縮が行なわれた場合には、コンテンツを取出すときにも復号処理が必要となり、検索時間が大幅に増加してしまうという問題がある。また、汎用的なテキスト検索プログラムが使用できないという問題もある。
また、特開2002−312278号公報で開示されているタグの変換は、単にビューワが解釈可能な形式への置換えであり、データ量の削減や処理量の低下には結びつかないという問題もある。
本発明は、このような問題に鑑みてなされたものであって、データ量の削減と、データアクセスに必要な処理量の低下との両方を同時に実現して、マークアップ言語の処理を最適に行なうことのできるデータ変換方法、データ表示方法、データ変換装置、およびデータ表示装置を提供することを目的とする。
本発明の他の局面に従うと、データ表示方法は、マークアップ言語で記述された第1のデータに含まれるタグ名を表わす文字列と属性名を表わす文字列と属性値を表わす文字列との少なくとも1つの文字列が、他の文字列に変換されて生成された第2のデータを取得する取得ステップと、第2のデータに含まれる変換された他の文字列に対応した解析処理を実行して、第1のデータを表示するための解析を行なう解析ステップとを備える。
本発明のさらに他の局面に従うと、データ変換装置は、マークアップ言語で記述された第1のデータから、第1のデータに含まれるタグ名を表わす文字列と属性名を表わす文字列と属性値を表わす文字列との少なくとも1つの文字列を抽出する抽出部と、第1のデータから抽出された文字列を、抽出された文字列よりもデータ量の小さな他の文字列に変換して、第2のデータを生成する生成部とを備える。
本発明のさらに他の局面に従うと、データ表示装置は、マークアップ言語で記述された第1のデータに含まれるタグ名を表わす文字列と属性名を表わす文字列と属性値を表わす文字列との少なくとも1つの文字列が、他の文字列に変換されて生成された第2のデータを取得する取得部と、第2のデータに含まれる変換された他の文字列に対応した解析処理を実行して、第1のデータを表示するための解析を行なう解析部とを備える。
第2図は、コンバータ0102の構成の具体例を示す図である。
第3図は、コンバータ0102における処理の流れを示すフローチャートである。
第4図は、ステップS103で実行される記述タグデータの変換処理を示すフローチャートである。
第5図は、タグ変換ルールの具体例を示す図である。
第6図は、タグ変換テーブルの具体例を示す図である。
第7図は、変換タグデータの具体例を示す図である。
第8図は、変形例におけるコンバータ0102aの構成の具体例を示す図である。
第9図は、コンバータ0102aにおける処理の流れを示すフローチャートである。
第10図は、変換タグ警告メッセージの具体例を示す図である。
第11図は、ステップS313で実行されるタグ逆変換処理を示すフローチャートである。
第12図は、逆変換テーブルの具体例を示す図である。
第13図は、記述タグ警告メッセージの具体例を示す図である。
第14図は、ビューワ本体0105の構成の具体例を示す図である。
第15図は、ビューワ本体0105における処理の流れを示すフローチャートである。
第16図は、変換タグデータに含まれる変換後の文字列とパージング処理部1405で実行する処理との対応の具体例を示す図である。
第17図は、第2の実施の形態にかかる電子情報表示システム1701の構成の具体例と、当該システムにおけるデータの流れとを示す図である。
第18図は、コンバータ1702の構成の具体例を示す図である。
第19図は、コンバータ1702における処理の流れを示すフローチャートである。
第20図は、タグ情報カウントデータの具体例を示す図である。
第21図は、変換ルールの具体例を示す図である。
第22図は、タグ変換テーブルの具体例を示す図である。
第23図は、変換タグデータの具体例を示す図である。
第24図は、ステップS603で実行されるタグ関連情報のカウント処理を示すフローチャートである。
第25図は、内部コンバータ1705の構成の具体例を示す図である。
第26図は、内部コンバータ1705における処理の流れを示すフローチャートである。
第27図は、ビューワ用タグ変換テーブルの具体例を示す図である。
第28図は、内部タグ変換テーブルの具体例を示す図である。
第29図は、変換ルールの具体例を示す図である。
第30図は、従来の電子情報表示システムの構成の具体例を示す図である。
第31図は、従来のビューワ本体3404の構成の具体例を示す図である。
第32図は、従来のビューワ本体3404における処理を示すフローチャートである。
第33図は、記述タグデータに含まれる所定の文字列とパージング処理部3505で実行する処理との対応の具体例を示す図である。
第34図は、記述タグデータの具体例を示す図である。
第35図は、圧縮タグデータの具体例を示す図である。
第36図は、第1の実施の形態の変形例における電子情報表示システム0101aの構成の具体例と、当該システムにおけるデータの流れとを示す図である。
[第1の実施の形態]
第1の実施の形態にかかる電子情報表示システム(以下、システムという)0101は、マークアップ言語で記述されたオリジナル文書データである記述タグデータの低容量化を行なうと共に、閲覧時にビューワの処理量を低減することを主な特徴とする。
図1を参照して、第1の実施の形態にかかるシステム0101は、ネットワーク0103で接続されたコンバータ0102とビューワ0104とを含んで構成される。
ネットワーク0103は、インターネットなどの公衆回線を介したネットワークであってもよいし、LAN(Local Area Network)等の専用回線を介したネットワークであってもよい。また、有線通信に限定されず、無線通信によるネットワークであってもよい。なお、本実施の形態においては、コンバータ0102とビューワ0104とのデータのやり取りはネットワーク0103を介したデータのやり取りであるものとして述べるが、ネットワーク0103を介したデータのやり取りに替えて、CD−ROM(Compact Disc−Read Only Memory)やFD(Flexible Disk)などの記録媒体であるメディアを介したデータのやり取りであってもよいし、内部メモリを介したデータのやり取りであってもよい。
コンバータ0102は、記述タグデータのタグ情報を変換し、データ容量を削減した変換タグデータを作成する。そして、コンバータ0102は、変換タグデータを、ネットワーク0103を介してビューワ0104に入力する。
ビューワ0104は、ビューワ本体0105と表示装置0106とを含んで構成される。ビューワ本体0105は、ネットワーク0103を介して受信した変換タグデータを読取り、表示装置0106に表示データを出力する。表示装置0106は、表示データを表示する。
なお、本システム0101は、全体のシステムとして処理を行なうだけでなく、コンバータ0102、あるいはビューワ本体0105が単体で処理を行なうこともできる。
次に、図1に示されるコンバータ0102についてより詳細に説明する。
コンバータ0102は、記述タグデータに含まれるタグ名、属性名、および属性値を表わす文字列を、所定の変換ルールに従って他の文字列に変換し、変換された他の文字列を含む変換タグデータを生成する。
図2を参照して、コンバータ0102は、記述タグデータの入力を受付ける記述タグデータ入力装置0401とコンバータ本体0402とを含んで構成され、記述タグデータ入力装置0401で入力された記述タグデータをコンバータ本体0402で変換して、ネットワーク0103に変換タグデータを出力する。
さらに、コンバータ本体0402は、入力された記述タグデータを記憶する記述タグデータバッファ0404と、記述タグデータから変換タグデータへの変換処理を行なうタグ変換処理部0405と、タグ変換処理部0405で変換された変換タグデータを記憶する変換タグデータバッファ0406とを含んで構成される。
記述タグデータバッファ0404および変換タグデータバッファ0406は、フラッシュメモリやハードディスク等のRAM(Random Access Memory)によって実現される。
タグ変換処理部0405は、たとえばそれぞれ独立した回路によって実現される。また、たとえばコンピュータ等の演算処理回路によって実現される仮想回路によって実現されてもよい。
次に、コンバータ0102における処理の流れを、図3のフローチャートを用いて説明する。図3のフローチャートに示される処理は、コンバータ0102に含まれるCPU(Central Processing Unit)(図示せず)がROM(Read Only Memory)などの記憶装置(図示せず)に記憶されているプログラムを読出して実行し、図2に示される各部を機能させることで実現される。
図3を参照して、始めに、コンバータ0102は、記述タグデータ入力装置0401から入力された記述タグデータを、コンバータ本体0402の記述タグデータバッファ0404に格納する(S101)。
次に、タグ変換処理部0405において、記述タグデータバッファ0404に格納されている記述タグデータを読取り、記述タグデータに対して変換処理を実行して変換タグデータを生成する(S103)。ここでの記述タグデータの変換処理については、後にサブルーチンを挙げて詳細な説明を行なう。
そして、コンバータ0102は、タグ変換処理部0405から出力された変換タグデータを変換タグデータバッファ0406に格納し(S105)、処理を終了する。
次に、上述のステップS103で実行される記述タグデータの変換処理について、図4のフローチャートを用いて詳細に説明する。なお、図4のフローチャートの説明において、分かりやすくするため、図34に示される記述タグデータを図5に示されるタグ変換ルールに従って変換する処理であるものとする。図5に示されるように、タグ変換ルールは、記述タグデータに含まれるタグ名や属性名などを表わす文字列を他の文字列に変換するルールであって、変換前の文字列よりもデータ量の少ない(短い)文字列で変換するよう規定されていることを特徴とする。もちろん、記述タグデータは前述の定義通りマークアップ言語で記述されたものであれば他の形態のデータであってもよく、タグ変換ルールも図5に示されるルールに限定されず自由に設定することができる。
なお、タグ変換ルールにおいては、図5にも示されるように、たとえば、変換後にaとなるものは、htmlタグ、bodyタグのbgcolor属性、h1タグのalign属性、およびfontタグのsize属性など多数存在する。しかしながら、変換後の文字列が上述の文字aなどのように同じ文字列であっても、変換後の文字列がタグ名を表わす文字列なのか、また、どのタグの属性名を表わす文字列なのか、またどのタグの属性名に対する属性値を表わす文字列なのかにより、一意に識別可能になっている。
それは、一般的に、タグが、タグ名、属性名、および属性値の順に構成されており、属性値は必ず属性名に対応してタグ内に配置され、属性名は必ずタグ名に対応してタグ内に配置されているからである。すなわち、タグ名、属性名、および属性値はその順で階層的に構成されており、「<A B=C D>」、「</A B=C D>」、「<A B=C D/>」のような構成である(A,B,C,Dはそれぞれ複数の文字からなる文字列であってもよい)。Aはタグ名を示し、B,Dはタグ名Aの属性名を示し、Cはタグ名Aの属性名Bの属性値を示す。BとDとの違いは、属性名を持つか持たないかである。1つのタグ内にタグ名Aは1つ存在し、B,Dに相当する属性名は任意の数(0でもよく、それぞれの属性名は相異なる)存在する(B,Dの順序は任意でよい)。C,Bは1つのセットとして1つのタグ内に存在する。なお、ここでの「タグ内の文字列の配置」は、文字列の数をも含む概念であり、文字列の配置の他の例として、タグ内の文字列の配置が「<A B>」である場合には、文字列Aはタグ名、文字列Bは属性名を表わすことがその配置から識別できる。さらに、文字列の配置の他の例として、タグ内の文字列の配置が「<A>」である場合には、文字列Aはタグ名を表わすことがその配置から識別できる。言換えれば、タグ名、属性名、および属性値の各階層において変換後の文字列として同一の文字列が重複しなければ、異なる階層において変換後の文字列として同一の文字列が重複しても、その変換後の文字列はタグ名を表わす文字列なのか、属性名を表わす文字列なのか、属性値を表わす文字列なのかが識別可能である。
このように、変換後の文字列が、タグ名を表わす文字列なのか、属性名を表わす文字列なのか、属性値を表わす文字列なのかがそのタグ内の配置によって識別可能である場合には、変換前の異なったタグ名や属性名などに、変換後の文字列として同じ文字列を割当てることが好ましい。変換前の異なったタグ名や属性名などに、変換後の文字列として同じ文字列を割当てることにより、変換タグデータの文字列の出現頻度の偏りを大きくすることができ、変換後の変換タグデータの容量を、さらにハフマン符号化やZip等の任意の圧縮方式で圧縮を行なった場合の圧縮効果を高めることができる。
図4を参照して、始めに、タグ変換処理部0405において、記述タグデータバッファ0404に格納されている記述タグデータに含まれるすべてのタグについて、後述する置換処理が終了しているか否かを判定する(S201)。そして、置換処理が終了していないタグが存在する場合には(S201でNO)、当該記述タグデータより置換処理が行なわれていないタグが抽出される(S203)。ステップS203で抽出されるものは、タグ名とタグの属性名と属性値との少なくとも1つを含むタグ全体であって、たとえば、記述タグデータが、XML(Extesible Hypertext Markup Language)方式やHTML(Hypertext Markup Language)方式などで記述されている場合には、「<」または「</」と「>」または「/>」とに囲まれた記述が抽出される。
次に、ステップS203で抽出されたタグ〈注釈:単数〉に含まれるタグ名を表わす文字列が、タグ変換テーブルを用いて置換えられる(S205)。ステップS205で用いられるタグ変換テーブルは、タグ変換ルールをテーブル化したものであって、タグ変換ルールが図5に示されるような場合には、タグ変換テーブルは図6に示されるテーブルとなる。
図6を参照して、変換テーブルはカンマで変換前の名前と変換後の名前とを区切っており、たとえば、変換テーブルの記述「html,a」は、タグ名「html」を文字列「a」に置換えることを意味する。また、変換テーブルの記述「g.size,a」は、gタグのsize属性を属性名aに置換えることを意味する。また、変換テーブルの記述「i.a.center,a」は、iタグのa属性に対する属性値centerを属性値aに置換えることを意味する。なお、変換テーブルは、変換前後が対応つけられるものであればどのような方式でもよい。
ステップS205でのタグ名を表わす文字列の置換えは、図6に示されるような変換テーブルを用いて行なわれるもので、ステップS203で抽出されたタグ名の中から、変換テーブルのカンマの前の文字列と一致するタグ名を表わす文字列を検索し、その文字列を変換テーブルのカンマの後の文字列に変換する処理である。
次に、ステップS203で抽出されたタグ〈注釈:単数〉のすべての属性について、上述の置換え処理が終了しているかを判定する(S207)。そして、変換処理が終了していない属性を含むタグが存在する場合には(S207でNO)、ステップS203で抽出されたタグ〈注釈:単数〉より、置換え処理が終了していない属性を抽出する(S209)。
次に、ステップS209で抽出されたタグの属性の属性名を表わす文字列を、上述のステップS205の処理と同様に、タグ変換テーブルを用いて置換える(S211)。さらに、ステップS209で抽出されたタグの属性に対する属性値を表わす文字列も、上述のステップS205の処理と同様に、タグ変換テーブルを用いて置換える(S213)。ステップS211あるいはステップS213での置換えもまた、ステップS209で抽出されたタグの属性の中から、変換テーブルのカンマの前の文字列と一致する属性名あるいは属性値を検索し、そのタグ名を変換テーブルのカンマの後の属性名あるいは属性値に変換する処理である。
上述のステップS209〜S213の置換処理を、ステップS203で抽出されたタグ〈注釈:単数〉に含まれるすべての属性が置換えられるまで実行し(S207でYES)、記述タグデータバッファ0404に格納されている記述タグデータに含まれるすべてのタグについて上述の置換処理が終了すると(S201でYES)、本処理を終了して、図3に示されるメインルーチンに処理を戻す。
本実施の形態におけるコンバータ0102がこのような変換処理を実行することによって、図34に示される記述タグデータが、図7に示されるタグデータに変換される。すなわち、図34に示される記述タグデータと、図7に示される変換タグデータとを比較すると、変換タグデータは、記述タグデータに含まれるタグ名を表わす文字列、属性名を表わす文字列、および属性値を表わす文字列が、それよりも短い文字列に変換されることによって文書の冗長性が減少され、データ量が削減している。また、記述タグデータに含まれるタグに関する情報量が削減されてデータ全体の容量が小さくなるため、ネットワーク0103などを介したデータ転送を高速に行なうことができる。また、ネットワーク0103を介した通信に替えてメディアを介したやり取りを行なう際、メディアの容量に限りのある場合であっても、多くのコンテンツなどのデータを格納することができる。
さらに、マークアップ言語は、タグに基づいてデータのアクセスを実行させる言語であり、マークアップ言語を解読してデータにアクセスを行なう際には、タグ名や属性の検索処理は頻繁に行なわれる。そのため、本実施の形態におけるコンバータ0102において上述の置換えがなされることによって、マークアップ言語に含まれる大半(もしくはすべて)のタグ名、属性名を表わす文字列の文字数が短くなり、これらを検索する処理量を減らすことになる。その結果、全体として、データへのアクセス処理量も減らすことができ、処理速度を速めることができる。
すなわち、本実施の形態におけるコンバータ0102で上述の処理が実行されることで、データ量の削減と、データアクセスに必要な処理量の低下との両方を同時に実現することが可能になる。
(変形例)
コンバータ0102で記述タグデータを変換タグデータに変換する際にコンバータ0102の使用者に知らせるべき問題や注意があった場合、コンバータ0102は、コンバータ使用者に対してその内容を伝えるメッセージを示す必要がある。そこで、次に、変形例として、上述の図2に示されるコンバータ0102の構成に対して、コンバータ0102の使用者に対して警告表示を行なう機能を追加したコンバータ0102aについて説明する。図36を参照して、第1の実施の形態の変形例にかかるシステム0101aは、ネットワーク1703で接続されたコンバータ0102aとビューワ0104とを含んで構成される。
なお、変形例におけるコンバータ0102aは、そのメッセージを出すタイミングがコンバータ0102a内部ですでに記述タグデータのタグ名等を表わす文字列の変換を行なった後であっても、メッセージの内容は、変換前の記述タグデータのタグ名等を表わす文字列を用いて出力する。これによりコンバータ0102aの使用者は、容易にメッセージの内容を理解することができる。
具体的には、対応しているビューワ0104の機種Aの処理能力が低く、コンテンツの容量がある一定容量(たとえば500BYTE)を越えると、表示動作が大幅に遅くなる場合、変形例におけるコンバータ0102aは、作成されたコンテンツである変換タグデータが、ビューワ0104の機種Aでの使用に支障をきたす容量(500BYTE超)である場合に、警告としてコンバータ0102aの使用者にその旨を伝える。また、コンバータ0102aの使用者が記述タグデータを見直す際に役立つように、ビューワ0104の機種Aで表示可能な容量は、どの記述タグデータのどの位置までかを知らせることが好ましい。このようなメッセージの具体例については、後に図を挙げて詳細に説明する。
図8を参照して、変形例におけるコンバータ0102aは、記述タグデータの入力を受付ける記述タグデータ入力装置0801とコンバータ本体0802と警告表示装置0803とを含んで構成される。記述タグデータ入力装置0801は、図2に示される記述タグデータ入力装置0401と同様のものであり、記述タグデータ入力装置0801で入力された記述タグデータをコンバータ本体0802で変換して、ネットワーク0103に変換タグデータを出力する。また、警告表示装置0803に記述タグ警告メッセージを出力する。
さらに、コンバータ本体0802は、入力された記述タグデータを記憶する記述タグデータバッファ0805と、記述タグデータから変換タグデータへの変換処理を行なうタグ変換処理部0806と、タグ変換処理部0806で変換された変換タグデータを記憶する変換タグデータバッファ0807と、ビューワ0104で表示可能な容量などの警告条件を記憶する警告条件記憶部0813と、変換タグデータの容量をチェックするサイズチェック処理部0808と、変換タグ警告メッセージを作成する変換タグ警告メッセージ作成処理部0809と、変換タグ警告メッセージ作成処理部0809で作成された変換タグ警告メッセージを記憶する変換タグ警告メッセージバッファ0810と、変換タグ警告メッセージを記述タグ警告メッセージに変換するタグ逆変換処理部0811と、タグ逆変換処理部0811で作成された記述タグ警告メッセージを記憶する記述タグ警告メッセージバッファ0812とを含んで構成される。
記憶タグデータバッファ0805、変換タグデータバッファ0807、変換タグ警告メッセージバッファ0810、記述タグ警告メッセージバッファ0812、および警告条件記憶部0813は、フラッシュメモリやハードディスク等のRAMによって実現される。
タグ変換処理部0806、サイズチェック処理部0808、変換タグ警告メッセージ作成処理部0809、タグ逆変換処理部0811は、たとえばそれぞれ独立した回路によって実現される。また、たとえばコンピュータ等の演算処理回路によって実現される仮想回路によって実現されてもよい。
なお、記述タグデータバッファ0805、タグ変換処理部0806、および変換タグデータバッファ0807は、図2に示される記述タグデータバッファ0404、タグ変換処理部0405、および変換タグデータバッファ0406と同様である。
次に、コンバータ0102aにおける処理の流れを、図9のフローチャートを用いて説明する。図9のフローチャートに示される処理もまた、コンバータ0102aに含まれるCPU(図示せず)がROMなどの記憶装置(図示せず)に記憶されているプログラムを読出して実行し、図8に示される各部を機能させることで実現される。なお、図9のステップS301〜S305は、上述の図4に示されるフローチャートのステップS101〜S105と同じ処理を表わしているため、ここでは、ステップS307以降の処理について説明する。
図9を参照して、サイズチェック処理部0808は、警告条件記憶部0813を参照して、変換タグデータバッファ0807に格納された変換タグデータが、ビューワ0104の機種Aで表示可能な容量(500BYTE以下)であるか否かを判定する(S307)。
ステップS307での判定の結果、変換タグデータが、ビューワ0104の機種Aで表示可能な容量(500BYTE以下)である場合には(S307でYES)、当該処理を終了する。
一方、ステップS307での判定の結果、変換タグデータが、ビューワ0104の機種Aで表示不可能な容量(500BYTE以上)である場合には(S307でNO)、変換タグ警告メッセージ作成処理部0809で、変換タグ警告メッセージの作成を行なう(S309)。ステップS309で作成される変換タグ警告メッセージの具体例を図10に示す。図10を参照して、変換タグ警告メッセージは、メッセージの内容(範囲A)と、変換タグデータ内の参照位置を示す表示(範囲B)とを含む。なお、図10では、範囲Bに、変換タグデータの先頭から500BYTEの位置から前100BYTE分をコピーしたものが参照位置として表示されている変換タグ警告メッセージが示されている。
次に、ステップS309で作成された変換タグ警告メッセージを、変換タグ警告メッセージバッファ0810に格納する(S311)。
次に、タグ逆変換処理部0811で、変換タグ警告メッセージバッファ0810に格納された変換タグ警告メッセージを記述タグ警告メッセージに変換し(S313)、変換された記述タグ警告メッセージを記述タグ警告メッセージバッファ0812に格納する(S315)。なお、ステップS313における変換タグ警告メッセージの変換処理(タグ逆変換処理)については、後にサブルーチンを挙げて詳細な説明を行なう。
さらに、記述タグ警告メッセージバッファ0812に格納された記述タグ警告メッセージを、コンバータ本体0802から警告表示装置0803に出力し(S317)、本処理を終了する。
次に、上述のステップS313で実行されるタグ逆変換処理について、図11のフローチャートを用いて詳細に説明する。
図11を参照して、始めに、タグ逆変換処理部0811において、変換タグ警告メッセージバッファ0810に格納されている変換タグ警告メッセージに含まれるすべてのタグについて、後述する置換処理が終了しているか否かが判定される(S401)。そして、置換処理が終了していないタグが存在する場合には(S401でNO)、当該変換タグ警告メッセージより置換処理が行なわれていないタグが抽出される(S403)。
さらに、ステップS403で抽出されたタグ〈注釈:単数〉のすべての属性について、後述する置換え処理が終了しているかが判定される(S405)。そして、変換処理が終了していない属性が存在する場合には(S405でNO)、ステップS403で抽出されたタグより、置換え処理が終了していない属性が抽出され(S407)、その属性値を表わす文字列および属性名を表わす文字列が逆変換テーブルを用いて置換えられる(S409,S411)。ステップS409あるいはS411で用いられる逆変換テーブルは、タグ変換ルールの逆変換をテーブル化したものであって、タグ変換ルールが図5に示されるような場合には、逆変換テーブルは、図12に示されるテーブルとなる。
図12を参照して、逆変換テーブルはカンマで変換前の名前と変換後の名前とを区切っており、たとえば、逆変換テーブルの記述「a,html」はタグ名を表わす文字列「a」をタグ名を表わす文字列「html」に置換えることを意味する。また、逆変換テーブルの記述「h.a,size]は、hタグの属性aをsize属性に置換えることを意味する。また、逆変換テーブルの記述「i.a.a,center」は、iタグの属性aに対する属性値aを属性値centerに置換えることを意味する。
上述のステップS409,S411では、図12に示されるような逆変換テーブルが用いられて、変換タグ警告メッセージから抽出された置換処理をされていないタグに含まれる属性値を表わす文字列および属性名を表わす文字列が置換えられる。なお、その詳細な方法については、上述のステップS103で実行される記述タグデータの変換処理でのタグ変換テーブルを用いた置換処理と同様である。
上述のステップS407〜S411の置換処理が、ステップS403で抽出されたタグ〈注釈:単数〉のすべての属性が置換えられるまで実行されると(S405でYES)、次に、ステップS403で抽出されたタグのタグ名を表わす文字列が、同様の逆タグ変換テーブルを用いて置換えられる(S413)。
その後、ステップS401へ処理を戻し、変換タグ警告メッセージバッファ0810に格納されている変換タグ警告メッセージに含まれるすべてのタグについて、上述の置換処理が終了していることが確認されると(S401でYES)、本処理を終了して、図9に示されるメインルーチンに処理を戻す。
なお、上述の逆変換処理で、図10に示される変換タグ警告メッセージが変換された場合の、記述タグ警告メッセージの具体例を図13に示す。図13を参照して、記述タグ警告メッセージは、メッセージの内容(範囲A)と、変換前の記述タグデータ内の参照位置を示す表示(範囲B)とを含む。
図13に示されるような記述タグ警告メッセージが警告表示装置0803に表示されることで、コンバータ0102aの使用者は容易にその内容を理解でき、そのメッセージの内容により、入力した記述タグデータを見直し、書換えることもできる。
なお、上述の例においては、コンバータ0102aからビューワ0104の機種Aの表示能力に基づいた警告を発する場合の具体例を示したが、メッセージの内容はビューワ0104の表示能力に限定されず、その他の条件でなされてもよい。その場合、警告条件記憶部0813は警告内容に応じた警告条件を記憶し、サイズチェック処理部0808は警告条件記憶部0813に記憶されている警告条件を参照して、変換タグデータが警告条件に合致するか否かをチェックする。なお、警告条件は警告条件記憶部0813に記憶されている形態に限定されず、たとえばビューワ0104の表示能力など他の装置に関する条件である場合には、必要に応じてその他の装置から取得する形態であってもよい。
次に、図1に示されるビューワ0104に含まれるビューワ本体0105についてより詳細に説明する。
図14に、本実施の形態におけるビューワ本体0105の構成の具体例を示す。ビューワ本体0105は、ネットワーク0103を介してコンバータ0102から変換タグデータを受取り、表示装置0106に表示データを出力する。
図14を参照して、ビューワ本体0105は、変換タグデータを格納する変換タグデータバッファ1404と、変換タグデータの表示データを作成するためのパージング(解析)処理を行なうパージング処理部1405と、内部データを格納する内部データバッファ1406と、パージング処理部1405における解析結果に基づいて表示データの作成を行なう表示データ作成処理部1407と、表示データを格納する表示データバッファ1408とを含んで構成される。
変換タグデータバッファ1404、内部データバッファ1406、および表示データバッファ1408は、フラッシュメモリやハードディスク等のRAMによって実現される。
パージング処理部1405、および表示データ作成処理部1407は、たとえばそれぞれ独立した回路によって実現される。また、たとえばコンピュータ等の演算処理回路によって実現される仮想回路によって実現されてもよい。
次に、ビューワ本体0105における処理の流れを、図15のフローチャートを用いて説明する。図15のフローチャートに示される処理は、ビューワ本体0105に含まれるCPU(図示せず)がROMなどの記憶装置(図示せず)に記憶されているプログラムを読出して実行し、図14に示される各部を機能させることで実現される。
図15を参照して、始めに、ビューワ本体0105は、入力された変換タグデータを、変換タグデータバッファ1404に格納する(S501)。
次に、パージング処理部1405で、変換タグデータバッファ1404に格納した変換タグデータから表示データを作成するためのパージング(解析)処理を行なう(S503)。ステップS503においては、変換タグデータに含まれる変換後のタグ名、属性名、および属性値を表わす文字列に基づいて、実行する処理を切替えて、変換タグデータから表示データを作成するための解析を行なっていく。より具体的には、たとえば、図16に示される対応に応じて処理を実行する場合、変換タグデータに含まれるaタグに対応して処理F1を実行する。また、変換タグデータに含まれるdタグに対応して処理F4を実行し、さらにそのdタグに含まれる属性aに対応して処理F41を実行する。また、変換タグデータに含まれるiタグに対応して処理F9を実行し、さらにそのiタグに含まれる属性aに対応して処理F91を実行し、さらにその属性aに対する属性値aに対応して処理F911を実行する。
そして、ステップS503での表示データを作成するためのパージング結果を、内部データとして内部データバッファ1406に格納する(S505)。
次に、表示データ作成処理部1407で、内部データバッファ1406に格納した内部データを基に、表示データを作成する(S507)。ステップS507における表示データの作成方法については、一般的なビューワで行なわれている方法であって、本発明において限定されるものではない。
そして、ステップS507で作成された表示データは、表示データバッファ1408に格納される(S509)。以上で本処理を終了する。
この、表示データバッファ1408に格納された表示データが表示装置0106に出力されることで、表示装置0106に変換タグデータに基づいたコンテンツなどが表示される。
このように、本実施の形態におけるビューワ本体0105では、コンバータ0102で変換されて情報量が減った(この場合文字数が減った)変換タグデータを表示させるための処理を行なうため、必要とするメモリ量を削減できる。さらに、ビューワ本体0105でも、上述の変換された文字列に基づいたパージング処理を行なうため、変換タグデータから少ない文字数の文字列で表わされたタグ名、属性名、および属性値を検索する。すなわち、パージング処理における検索文字数を減少しているため、高速な処理が可能になる。
また、上述のビューワ本体0105は、先述の一般的なビューワ本体のパージング処理部でパージング処理を行なう際の検索文字列であるタグ名、属性名、および属性値を表わす文字列を、変換後の文字列に変更するだけで実現できるため、従来のビューワ本体の構成を変更することなく容易に構築することができる。
[第2の実施の形態]
図17を参照して、第2の実施の形態にかかるシステム1701もまた、ネットワーク1703で接続されたコンバータ1702とビューワ1704とを含んで構成される。
ネットワーク1703は、インターネットなどの公衆回線を介したネットワークであってもよいし、LAN等の専用回線を介したネットワークであってもよい。また、有線通信に限定されず、無線通信によるネットワークであってもよい。なお、本実施の形態においても、コンバータ1702とビューワ1704とのデータのやり取りはネットワーク1703を介したデータのやり取りであるものとして述べるが、ネットワーク1703を介したデータのやり取りに替えて、メディアを介したデータのやり取りであってもよいし、内部メモリを介したデータのやり取りであってもよい。
また、ビューワ1704は、変換タグデータとタグ変換テーブルとから、ビューワ本体1706が解釈できる内部変換タグデータを作成する内部コンバータ1705と、内部変換タグデータを解釈し、表示装置1707に表示データを渡すビューワ本体1706と、表示装置1707とを含んで構成される。
図1に示される第1の実施の形態にかかるシステム0101において、コンバータ0102とビューア本体0105とに同じタグ変換テーブルを内蔵させてタグ変換ルールを固定しているのに対して、図17に示される第2の実施の形態にかかるシステム1701においては、コンバータ1702からビューワ1704にタグ変換テーブルを渡すことにより、コンテンツごとに動的にタグ変換ルールを設定することができる。
図18を参照して、コンバータ1702は、記述タグデータの入力を受付ける記述タグデータ入力装置1801とコンバータ本体1802とを含んで構成され、記述タグデータ入力装置1801で入力された記述タグデータをコンバータ本体1802で変換して、ネットワーク1703に変換タグデータと変換に用いたタグ変換テーブルとを出力する。
さらに、コンバータ本体1802は、記述タグデータを記憶する記述タグデータバッファ1804と、記述タグデータ内のタグ関連情報の出現頻度をカウントするタグ関連情報カウンタ1805と、タグ関連情報カウントデータを記憶するタグ関連情報カウントデータバッファ1806と、タグ変換テーブルを作成するタグ変換テーブル作成処理部1807と、タグ変換テーブルを記憶するタグ変換テーブルバッファ1808と、タグ変換処理を行ない変換タグデータを作成するタグ変換処理部1809と、変換タグデータを格納する変換タグデータバッファ1810とを含んで構成される。
記述タグデータバッファ1804、タグ関連情報カウントデータバッファ1806、タグ変換テーブルバッファ1808、および変換タグデータバッファ1810は、フラッシュメモリやハードディスク等のRAMによって実現される。
タグ関連情報カウンタ1805、タグ変換テーブル作成処理部1807、およびタグ変換処理部1809は、たとえばそれぞれ独立した回路によって実現される。また、たとえばコンピュータ等の演算処理回路によって実現される仮想回路によって実現されてもよい。
次に、コンバータ1702における処理の流れを、図19のフローチャートを用いて説明する。図19のフローチャートに示される処理は、コンバータ1702に含まれるCPU(図示せず)がROMなどの記憶装置(図示せず)に記憶されているプログラムを読出して実行し、図18に示される各部を機能させることで実現される。
図19を参照して、始めに、コンバータ1702は、記述タグデータ入力装置1801から入力された記述タグデータを、コンバータ本体1802の記述タグデータバッファ1804に格納する(S601)。
次に、タグ関連情報カウンタ1805で、記述タグデータバッファ1804に格納された記述タグデータに含まれるタグ関連情報をカウントする(S603)。ここでは、タグ関連情報として、記述タグデータにおけるタグ名を表わす文字列、属性を表わす文字列、および属性値を表わす文字列の出現回数がそれぞれカウントされる。記述タグデータが図34に示される記述タグデータである場合、ステップS603では、図20に示されるようなタグ情報カウントデータが取得される。なお、ステップS603におけるタグ関連情報のカウント処理については、後にサブルーチン挙げて詳細に説明する。そして、ステップS603で得られたタグ情報カウントデータをタグ情報カウントデータバッファ1806に格納する(S605)。
次に、タグ関連情報テーブル作成処理部1807で、タグ情報カウントデータバッファ1806に格納されたタグ関連情報カウントデータに基づいてタグ変換テーブルを作成する(S607)。ステップS607におけるタグ変換テーブルの作成処理は、以下の方法で実行される。
すなわち、タグ情報カウントデータを参照して、各タグ名を表わす文字列に対して、記述タグデータにおける出現回数の多い順に、aから順にアルファベット順に変換後の文字列を割当て、タグ変換テーブルを作成する。また、各タグに含まれる属性名を表わす文字列に対しても、それぞれ出現回数の多い順に同様にアルファベットを割当て、タグ変換テーブルを作成する。さらに、各タグの各属性名に対する属性値を表わす文字列に対しても、それぞれ出現回数の多い順に同様にアルファベットを割当て、タグ変換テーブルを作成する。
たとえば、ステップS607において、図20に示されたタグ関連情報カウントデータに基づいてタグ変換テーブルを作成した場合、図21に示されるような変換ルールができる。このような変換ルールをテーブル化すると、たとえば図22に示されるようなタグ変換テーブルとなる。なお、図22に示されるようなタグ変換テーブルのデータ構造は、第1の実施の形態におけるコンバータ0102で用いられたタグ変換テーブルのデータ構造と同じである。
そして、ステップS607で得られたタグ変換テーブルがタグ変換テーブルバッファ1808に格納される(S609)。
次に、タグ変換処理部1809で、タグ変換テーブルバッファ1808に格納されたタグ変換テーブルと、記述タグデータバッファ1804に格納された記述タグデータとを用いてタグ変換処理を行ない、変換タグデータを作成する(S611)。なお、記述タグデータが図34に示される記述タグデータである場合、ステップS611では、図23に示される変換タグデータが作成される。
そして、ステップS611で作成された変換タグデータが変換タグデータバッファ1810に格納され(S613)、処理を終了する。
コンバータ0102は、この変換タグデータバッファ1810に格納された変換タグデータと、タグ変換テーブルバッファ1808に格納されたタグ変換テーブルとをネットワーク1703を介してビューワ1704に出力する。
次に、上述のステップS603で実行されるタグ関連情報のカウント処理について、図24のフローチャートを用いて詳細に説明する。タグ関連情報のカウント処理では、記述タグデータにおける各タグ名を表わす文字列の出現回数、各タグの各属性を表わす文字列の出現回数、および各タグの各属性に対する各属性値を表わす文字列の出現回数をそれぞれカウントする。
図24を参照して、始めに、タグ変換処理部1809において、記述タグデータバッファ1804に格納されている記述タグデータに含まれるすべてのタグについて、後述するカウント処理が終了しているか否かを判定する(S701)。そして、カウント処理が終了していないタグが存在する場合には(S701でNO)、当該記述タグデータよりカウント処理が行なわれていないタグを抽出する(S703)。
次に、ステップS703で抽出したタグ〈注釈:単数〉のタグ名を表わす文字列について、カウント処理が行なわれる(S705)。ステップS705では、ステップS703で抽出したタグのタグ名を表わす文字列が、当該記述タグデータにおいて初めて出現したタグ名を表わす文字列であれば、そのタグ名を表わす文字列のカウンタ変数を生成して初期化し1にする処理が行なわれる。また、当該タグ名を表わす文字列が初めて出現した文字列でなければ、そのタグ名を表わす文字列のカウンタ変数を1インクリメントする処理が行なわれる。
次に、ステップS703で抽出されたタグ内のすべての属性について、上述のカウント処理が終了しているかが判定される(S707)。そして、ステップS703で抽出されたタグ内にカウント処理が終了していない属性が存在する場合には(S707でNO)、ステップS703で抽出されたタグより、カウント処理が終了していない属性が抽出される(S709)。
次に、ステップS709で抽出されたタグの属性名を表わす文字列に対して、上述のステップS705の処理と同様に、カウント処理が行なわれる(S711)。ステップS711では、抽出された属性名を表わす文字列がそのタグ名のタグにおいて初めて出現した属性名を表わす文字列であれば、そのタグ名のその属性名を表わす文字列のカウンタ変数を生成して初期化し1にする処理が行なわれる。また、抽出された属性名を表わす文字列がそのタグ名当該タグ名のタグにおいて初めて出現した属性名を表わす文字列でなければ、そのタグ名のその属性名を表わす文字列のカウンタ変数を1インクリメントする処理が行なわれる。
さらに、ステップS709で抽出されたタグの属性に対する属性値についてもカウント処理が行なわれる(S713)。ステップS713では、属性値について、所定の属性値(たとえば、h2タグのalign属性に対する属性値)である場合のみ、当該属性値を表わす文字列がカウント処理の対象(変換対象)とされる。これは、属性値の形態が任意の文字列などであって自由度が高いために、記述タグデータ内に同じ属性値が複数回出現しにくく、属性値を表わす文字列を変換することによる容量の削減効果があまり見込めないという実情によるものである。そのため、変換処理の負荷を軽くする観点より、属性値については、複数回出現する可能性の高いものに限定してカウント処理の対象(変換対象)とすることが好ましい。もちろん、このような限定を無くしてすべての属性値を表わす文字列に対してカウント処理が行なわれてもかまわない。
そこで、ステップS713では、抽出された属性の属性値がカウント処理対象の所定の属性値である場合に当該属性値を表わす文字列についてカウント処理が行なわれる。その際、そのタグ名のその属性名に対する属性値を表わす文字列が、そのタグ名のその属性名に対する属性値として初めて出現した文字列であれば、そのタグ名のその属性に対するその属性値を表わす文字列のカウンタ変数を生成して初期化し1にする処理が行なわれる。また、そのタグ名のその属性名に対する属性値を表わす文字列が、そのタグ名のその属性名に対する属性値として初めて出現した文字列でなければ、そのカウンタ変数を1インクリメントする処理が行なわれる。
上述のステップS709〜S713のカウント処理が、ステップS703で抽出されたタグに含まれる属性がカウントされるまで実行され(S707でYES)、記述タグデータバッファ1804に格納されている記述タグデータに含まれるすべてのタグについて上述のカウント処理が終了すると(S701でYES)、本処理を終了して、図19に示されるメインルーチンに処理を戻す。
上述のカウント処理が実行されることによって、記述タグデータが図34に示される記述タグデータである場合、図20に示されるタグ情報カウントデータが得られる。
以上のように、本実施の形態におけるコンバータ1701では、記述タグデータでのタグ名を表わす文字列、属性名を表わす文字列、および属性値を表わす文字列の出現頻度によりタグ変換テーブルを決定することを特徴としている。そのため、変換タグデータの文字列の出現頻度の偏りが第1の実施の形態におけるコンバータ0102で用いられているタグ変換テーブルの文字列の出現頻度の偏りよりさらに大きくなり、変換タグデータをハフマン符号化やZip方式等の圧縮方式で圧縮したときの効果が、第1の実施の形態のコンバータ0102で記述タグデータを変換した場合より更に大きくなる。
なお、上述の例においては、タグ変換テーブルで変換後の文字列としてアルファベット順に割当てるものとしているが、この割当て順序および文字は自由に選んでもよい。また、この割当てを記述タグデータの文書(タグ以外の箇所)で用いられる文字列の頻度の高い順に割当てるものとすることでさらに大きな効果が得られる。
次に、図17に示されるビューワ1704に含まれる内部コンバータ1705の構成の具体例を図25に示す。なお、ビューワ1704に含まれるビューワ本体1706と表示装置1707とは、それぞれ第1の実施の形態のビューワ本体0105と表示装置0106と同等のものでよい。
図25を参照して、内部コンバータ1705は、ネットワーク1703を介して、コンバータ1702から変換タグデータとタグ変換テーブルとを受取り、ビューワ本体1706に内部変換タグデータを出力する。
内部コンバータ1705は、受取った変換タグデータを格納する変換タグデータバッファ2504と、受取ったタグ変換テーブルを格納するタグ変数テーブルバッファ2505と、内部タグ変換テーブルを作成する内部タグ変換テーブル作成処理部2506と、内部タグ変換テーブルを格納する内部タグ変換テーブルバッファ2507と、内部タグ変換データを作成する内部タグ変換処理部2508と、内部変換タグデータを格納する内部変換タグデータバッファ2509と、記述タグデータをビューワ本体1706で解釈可能なタグデータに変換するためのタグ変換テーブル(ビューワ本体1706で前提となっているタグ変換テーブル)をビューワ本体1706に対応付けて記憶するビューワ本体タグ変換テーブル記憶部2503とを含んで構成される。
変換タグデータバッファ2504、タグ変換テーブルバッファ2505、内部タグ変換テーブルバッファ2507、内部変換タグデータバッファ2509、およびビューワ本体タグ変換テーブル記憶部2503は、フラッシュメモリやハードディスク等のRAMによって実現される。
内部タグ変換テーブル作成処理部2506、および内部タグ変換処理部2508は、たとえばそれぞれ独立した回路によって実現される。また、たとえばコンピュータ等の演算処理回路によって実現される仮想回路によって実現されてもよい。
次に、内部コンバータ1705における処理の流れを、図26のフローチャートを用いて説明する。図26のフローチャートに示される処理は、内部コンバータ1705に含まれるCPU(図示せず)がROMなどの記憶装置(図示せず)に記憶されているプログラムを読出して実行し、図25に示される各部を機能させることで実現される。
図26を参照して、始めに、内部コンバータ1705は、ネットワーク1703を介してコンバータ1702から受取った変換タグデータを変換タグデータバッファ2504に、タグ変換テーブルをタグ変換テーブルバッファ2505に、それぞれ格納する(S801)。
次に、内部タグ変換テーブル作成処理部2506で、変換タグデータバッファ2504に格納された変換タグデータを内部変換タグデータに変換するために必要な内部タグ変換テーブルを作成する(S803)。
ここで、ビューワ本体1706は第1の実施の形態におけるビューワ本体0105と同等のものであるとすると、ビューワ本体1706で解釈できるデータは、記述タグデータを図6に示されるようなタグ変換テーブル(以下、この変換テーブルをビューワ用タグ変換テーブルという)を用いて変換して得られる変換データである。しかし、本ビューワ1704が受取った変換タグデータは、図22に示されるようなタグ関連情報カウントデータに基づいてコンバータ1702において当該記述タグデータに対して動的に作成されたタグ変換テーブル(以下、受信タグ変換テーブルという)を用いて変換して得られるタグデータである。そのため、このままではビューワ本体1706は解釈できない形式である。そこで、ステップS803において、内部コンバータ1705は、受信した、タグ変換テーブルで変換された変換タグデータを、内部変換タグデータにさらに変換するために必要な内部タグ変換テーブルを作成する。なお、内部変換タグデータとは、元の記述タグデータをビューワ用タグ変換テーブルを用いて変換したものに相当する。なお、このような、ビューワ用タグ変換テーブルは、ビューワ本体1706に対応付けられてビューワ本体タグ変換テーブル記憶部2503に記憶されている。あるいは、必要に応じてビューワ本体1706から取得してもよい。
そこで、ステップS803では、ビューワ本体タグ変換テーブル記憶部2503に記憶されているビューワ用変換テーブルと、コンバータ1702から受取った受信変換テーブルとに基づいて、内部タグ変換テーブルが作成される。
ステップS803での、具体的な内部タグ変換テーブルの作成方法は、ビューワ用タグ変換テーブルが図6に示されるタグ変換テーブル、受信タグ変換テーブルが図22に示されるタグ変換テーブルである場合、以下のようになる。
すなわち、まず、図6に示されるのビューワ用タグ変換テーブルのカンマの左側に示される、変換後のタグ名および属性名を表わす文字列を、変換前のタグ名および属性名を表わす文字列に置換える。この、置換えられたビューワ用タグ変換テーブルの具体例を、図27に示す。
そして、図27に示される置換えられたビューワ用タグ変換テーブルの、カンマの左側に示されるタグ名、属性名、および属性値を表わす文字列が、図22に示される受信タグ変換テーブルで変換されることで、図28に示される内部タグ変換テーブルが生成される。
次に、ステップS803で作成された内部タグ変換テーブルが、内部タグ変換テーブルバッファ2507に格納される(S805)。
次に、内部タグ変換処理部2508で、変換タグデータバッファ2504に格納された変換タグデータを、内部タグ変換テーブルバッファ2507に格納された内部タグ変換テーブルを用いて変換する(S807)。ステップS807において、変換タグデータが図23に示される変換タグデータ、内部タグ変換テーブルが図28に示される内部タグ変換テーブルである場合、変換ルールは図29に示される変換ルールとなる。この変換ルールに従って図23に示される変換タグデータを変換した変換結果である内部変換タグデータは、図7に示されるタグデータとなる。
そして、変換結果が内部変換タグデータとして内部変換タグデータバッファ2509に格納され(S809)、本処理を終了する。
内部コンバータ1705が、このようにして得られた内部変換タグデータをビューワ本体1706に渡すことで、ビューワ本体1706において第1の実施の形態において説明された処理と同様の処理が行なわれて解釈される。
ビューワ1704に含まれる内部コンバータ1705が上述の処理を行なうことで、コンバータ1702における変換形式がビューワ本体1706で解釈できない形式であっても、コンバータ1702から受信した変換タグデータを内部コンバータ1705がビューワ本体1706が解釈できる形式の内部変換タグデータに変換することにより、表示装置1707にて表示を行なうことができる。
さらに、上述のコンバータが行なうデータ変換方法、およびビューワが行なうデータ表示方法を、プログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD−ROM、ROM、RAMおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
なお、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
データにアクセスするのに必要な処理量が大きい点は、逆に復号処理の分だけ助長されてしまう。
また、複数のコンテンツ中から、特定の情報を含んだコンテンツを取出す時にキーワード検索がよく用いられるが、特開2000−76155号公報で開示されている技術を用いてコンテンツの圧縮が行なわれた場合には、コンテンツを取出すときにも復号処理が必要となり、検索時間が大幅に増加してしまうという問題がある。また、汎用的なテキスト検索プログラムが使用できないという問題もある。
また、特開2002−312278号公報で開示されているタグの変換は、単にビューワが解釈可能な形式への置換えであり、データ量の削減や処理量の低下には結びつかないという問題もある。
本発明は、このような問題に鑑みてなされたものであって、データ量の削減と、データアクセスに必要な処理量の低下との両方を同時に実現して、マークアップ言語の処理を最適に行なうことのできるデータ変換方法、データ表示方法、データ変換装置、およびデータ表示装置を提供することを目的とする。
【発明の開示】
上記目的を達成するために、本発明のある局面に従うと、データ変換方法は、マークアップ言語で記述された第1のデータから、第1のデータに含まれるタグ名を表わす文字列と属性名を表わす文字列と属性値を表わす文字列との少なくとも1つの文字列を抽出する抽出ステップと、第1のデータから抽出された文字列を、抽出された文字列よりもデータ量の小さな他の文字列に変換して、第2のデータを生成する生成ステップと、生成された第2のデータが所定の条件を満たすか否かを判定する判定ステップと、判定結果に応じて、メッセージを出力する出力ステップとを備え、出力するメッセージの中で、第1のデータの内容が参照して出力される。
本発明の他の局面に従うと、データ表示方法は、マークアップ言語で記述された第1のデータに含まれるタグ名を表わす文字列と属性名を表わす文字列と属性値を表わす文字列との少なくとも1つの文字列が、他の文字列に変換されて生成された第2のデータを取得する取得ステップと、第2のデータに含まれる変換された他の文字列に対応した解析処理を実行して、第1のデータを表示するための解析を行う解析ステップとを備える。
本発明のさらに他の局面に従うと、データ変換装置は、マークアップ言語で記述された第1のデータから、第1のデータに含まれるタグ名を表わす文字列と属性名を表わす文字列と属性値を表わす文字列との少なくとも1つの文字列を抽出する抽出部と、第1のデータから抽出された文字列を、抽出された文字列よりもデータ量の小さな他の文字列に変換して、第2のデータを生成する生成部と、生成された第2のデータが所定の条件を満たすか否かを判定する判定部と、判定結果に応じて、メッセージを出力する出力部とを備え、出力部は、メッセージの中で第1のデータの内容を参照して出力する。
本発明のさらに他の局面に従うと、データ表示装置は、マークアップ言語で記述された第1のデータに含まれるタグ名を表わす文字列と属性名を表わす文字列と属性値を表わす文字列との少なくとも1つの文字列が、他の文字列に変換されて生成された第2のデータを取得する取得部と、第2のデータに含まれる変換された他の文字列に対応した解析処理を実行して、第1のデータを表示するための解析を行なう解析部とを備える。
【図面の簡単な説明】
第1図は、第1の実施の形態における電子情報表示システム0101の構成の具体例と、当該システムにおけるデータの流れとを示す図である。
第2図は、コンバータ0102の構成の具体例を示す図である。
第3図は、コンバータ0102における処理の流れを示すフローチャートである。
第4図は、ステップS103で実行される記述タグデータの変換処理を示すフローチャートである。
第5図は、タグ変換ルールの具体例を示す図である。
第6図は、タグ変換テーブルの具体例を示す図である。
第7図は、変換タグデータの具体例を示す図である。
第8図は、変形例におけるコンバータ0102aの構成の具体例を示す図である。
第9図は、コンバータ0102aにおける処理の流れを示すフローチャートである。
第10図は、変換タグ警告メッセージの具体例を示す図である。
(1)データ量が大きい。(特に、近年のコンテンツの複雑化により、制御タグの使用頻度は増加する傾向にあり、それに伴いデータの冗長性も大きくなる傾向にある。)
(2)データにアクセスするのに必要な処理量が大きい。(マークアップ言語は、上述のようにタグに基づいてデータのアクセスを行なう。そのため、データアクセス中にタグの検索処理は頻繁に行なわれる。タグが必要以上の文字長になっているため、検索対象の文字長が大きく、処理量も大きくなる。)
これら2つの問題は、特にデータ記憶容量が小さく、処理能力が低い携帯機器での快適な利用を妨げる。
第1の実施の形態にかかる電子情報表示システム(以下、システムという)0101は、マークアップ言語で記述されたオリジナル文書データである記述タグデータの低容量化を行なうと共に、閲覧時にビューワの処理量を低減することを主な特徴とする。
コンバータ0102は、記述タグデータに含まれるタグ名、属性名、および属性値を表わす文字列を、所定の変換ルールに従って他の文字列に変換し、変換された他の文字列を含む変換タグデータを生成する。
コンバータ0102で記述タグデータを変換タグデータに変換する際にコンバータ0102の使用者に知らせるべき問題や注意があった場合、コンバータ0102は、コンバータ使用者に対してその内容を伝えるメッセージを示す必要がある。そこで、次に、変形例として、上述の図2に示されるコンバータ0102の構成に対して、コンバータ0102の使用者に対して警告表示を行なう機能を追加したコンバータ0102aについて説明する。図36を参照して、第1の実施の形態の変形例にかかるシステム0101aは、ネットワーク1703で接続されたコンバータ0102aとビューワ0104とを含んで構成される。
図17を参照して、第2の実施の形態にかかるシステム1701もまた、ネットワーク1703で接続されたコンバータ1702とビューワ1704とを含んで構成される。
Claims (12)
- マークアップ言語で記述された第1のデータから、前記第1のデータに含まれるタグ名を表わす文字列と属性名を表わす文字列と属性値を表わす文字列との少なくとも1つの文字列を抽出する抽出ステップ(S203,S209)と、
前記第1のデータから抽出された文字列を、前記抽出された文字列よりもデータ量の小さな他の文字列に変換して、第2のデータを生成する生成ステップ(S205,S211,S213)とを備える、データ変換方法。 - 前記生成ステップは、前記抽出された文字列と他の抽出された文字列とが、そのタグ内の配置に基づいて識別可能である場合に、前記抽出された文字列と前記他の抽出された文字列とを同一の前記他の文字列に変換する、請求の範囲第1項に記載のデータ変換方法。
- 前記第1のデータに含まれるタグ名を表わす文字列と属性を表わす文字列名と属性値を表わす文字列との少なくとも1つの文字列について、前記第1のデータにおける出現頻度に基づいて、前記生成ステップで変換する際に用いる前記他の文字列を決定する決定ステップ(S205,S211,S213)をさらに備える、請求の範囲第1項に記載のデータ変換方法。
- 前記生成された第2のデータが所定の条件を満たすか否かを判定する判定ステップ(S307)と、
前記判定結果に応じて、メッセージを出力する出力ステップ(S317)とをさらに備え、
前記出力するメッセージは、その中で前記第1のデータの内容を参照する、請求の範囲第1項に記載のデータ変換方法。 - マークアップ言語で記述された第1のデータに含まれるタグ名を表わす文字列と属性名を表わす文字列と属性値を表わす文字列との少なくとも1つの文字列が、他の文字列に変換されて生成された第2のデータを取得する取得ステップ(S501)と、
前記第2のデータに含まれる前記変換された他の文字列に対応した解析処理を実行して、前記第1のデータを表示するための解析を行なう解析ステップ(S503)とを備える、データ表示方法。 - 前記取得ステップは、前記第2のデータと共に、前記第1のデータに含まれる、タグ名を表わす文字列と属性名を表わす文字列と属性値を表わす文字列とのいずれか1つの文字列と前記他の文字列との対応を示す情報とを取得し、
前記解析ステップは、取得した前記対応を示す情報に基づいて前記他の文字列に対応した解析処理を実行して、前記第1のデータを表示するための解析を行なう、請求の範囲第5項に記載のデータ表示方法。 - マークアップ言語で記述された第1のデータから、前記第1のデータに含まれるタグ名を表わす文字列と属性名を表わす文字列と属性値を表わす文字列との少なくとも1つの文字列を抽出する抽出部(0405)と、
前記第1のデータから抽出された文字列を、前記抽出された文字列よりもデータ量の小さな他の文字列に変換して、第2のデータを生成する生成部(0405)とを備える、データ変換装置。 - 前記生成部は、前記抽出された文字列と他の抽出された文字列とが、そのタグ内の配置に基づいて識別可能である場合に、前記抽出された文字列と前記他の抽出された文字列とを同一の前記他の文字列に変換する、請求の範囲第7項に記載のデータ変換装置。
- 前記第1のデータに含まれるタグ名を表わす文字列と属性を表わす文字列名と属性値を表わす文字列との少なくとも1つの文字列について、前記第1のデータにおける出現頻度に基づいて、前記生成手段で変換する際に用いる前記他の文字列を決定する決定部(0405)をさらに備える、請求の範囲第7項に記載のデータ変換装置。
- 前記生成された第2のデータが所定の条件を満たすか否かを判定する判定部(0808)と、
前記判定結果に応じて、メッセージを出力する出力部(0803)とをさらに備え、
前記出力するメッセージは、その中で前記第1のデータの内容を参照する、請求の範囲第7項に記載のデータ変換装置。 - マークアップ言語で記述された第1のデータに含まれるタグ名を表わす文字列と属性名を表わす文字列と属性値を表わす文字列との少なくとも1つの文字列が、他の文字列に変換されて生成された第2のデータを取得する取得部(1404)と、
前記第2のデータに含まれる前記変換された他の文字列に対応した解析処理を実行して、前記第1のデータを表示するための解析を行なう解析部(1405)とを備える、データ表示装置。 - 前記取得部は、前記第2のデータと共に、前記第1のデータに含まれるタグ名を表わす文字列と属性名を表わす文字列と属性値を表わす文字列とのいずれか1つの文字列と前記他の文字列との対応を示す情報とを取得し、
前記解析部は、取得した前記対応を示す情報に基づいて前記他の文字列に対応した解析処理を実行して、前記第1のデータを表示するための解析を行なう、請求の範囲第11項に記載のデータ表示装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003061757 | 2003-03-07 | ||
JP2003061757 | 2003-03-07 | ||
PCT/JP2004/001300 WO2004079586A1 (ja) | 2003-03-07 | 2004-02-06 | マークアップ言語の処理を最適に行なうことのできるデータ変換方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2004079586A1 true JPWO2004079586A1 (ja) | 2006-06-08 |
Family
ID=32958969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005502992A Pending JPWO2004079586A1 (ja) | 2003-03-07 | 2004-02-06 | マークアップ言語の処理を最適に行なうことのできるデータ変換方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1610228A4 (ja) |
JP (1) | JPWO2004079586A1 (ja) |
WO (1) | WO2004079586A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4252030B2 (ja) | 2004-12-03 | 2009-04-08 | シャープ株式会社 | 記憶装置およびコンピュータ読取り可能な記録媒体 |
US20060184547A1 (en) * | 2005-02-11 | 2006-08-17 | Fujitsu Limited | Method and system for fast encoding of data documents |
JP4930305B2 (ja) * | 2007-09-20 | 2012-05-16 | 日本電気株式会社 | データ通信システム、端末、カタログサーバ、データ通信方法、および通信プログラム |
JP2010282327A (ja) * | 2009-06-03 | 2010-12-16 | Nec Corp | フォーマット変換システムおよびフォーマット変換方法並びにプログラム |
AU2015415125A1 (en) * | 2015-11-20 | 2018-05-31 | Hewlett-Packard Development Company, L.P. | XML file condensing |
JP7011029B2 (ja) * | 2020-12-28 | 2022-01-26 | ヒューレット-パッカード デベロップメント カンパニー エル.ピー. | Xmlファイルの凝縮 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0981763A (ja) * | 1995-07-07 | 1997-03-28 | Oki Data:Kk | 文字・イメージ混在データの圧縮方法及び装置 |
JP2001067348A (ja) * | 1999-06-21 | 2001-03-16 | Fujitsu Ltd | 構造化文書の圧縮方法および圧縮装置並びに構造化文書圧縮プログラムを記録したコンピュータ読取可能な記録媒体 |
EP1279267A2 (en) * | 1999-09-10 | 2003-01-29 | General Instrument Corporation | Method and apparatus for compressing scripting language content |
US7054953B1 (en) * | 2000-11-07 | 2006-05-30 | Ui Evolution, Inc. | Method and apparatus for sending and receiving a data structure in a constituting element occurrence frequency based compressed form |
JP2002297568A (ja) * | 2001-03-29 | 2002-10-11 | Fujitsu Ltd | 構造化文書符号化装置及び記録媒体 |
-
2004
- 2004-02-06 EP EP04708919A patent/EP1610228A4/en not_active Withdrawn
- 2004-02-06 WO PCT/JP2004/001300 patent/WO2004079586A1/ja active Application Filing
- 2004-02-06 JP JP2005502992A patent/JPWO2004079586A1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP1610228A4 (en) | 2009-07-29 |
EP1610228A1 (en) | 2005-12-28 |
WO2004079586A1 (ja) | 2004-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7519903B2 (en) | Converting a structured document using a hash value, and generating a new text element for a tree structure | |
US7680333B2 (en) | System and method for binary persistence format for a recognition result lattice | |
US20080301545A1 (en) | Method and system for the intelligent adaption of web content for mobile and handheld access | |
US8117217B2 (en) | Information processing apparatus and encoding method | |
JP5671320B2 (ja) | 情報処理装置及びその制御方法並びにプログラム | |
US7747942B2 (en) | System and method for obtaining a markup language template through reversing engineering | |
JP2009134741A (ja) | データ処理方法 | |
JP2015026350A (ja) | 情報処理システム、情報処理方法、および情報処理プログラム | |
JP2019149161A (ja) | 単語表現を生成する方法、装置及びコンピュータ読み取り可能な記憶媒体 | |
JP6680126B2 (ja) | 符号化プログラム、符号化装置、符号化方法、及び検索方法 | |
JP2006236315A (ja) | 符号化が利用できないときに外国語テキスト表示を実現する方法および装置 | |
EP1990737A1 (en) | Document transformation system | |
JPWO2004079586A1 (ja) | マークアップ言語の処理を最適に行なうことのできるデータ変換方法 | |
JP2002297568A (ja) | 構造化文書符号化装置及び記録媒体 | |
WO2001082121A2 (en) | Pre-computing and encoding techniques for an electronic document to improve run-time processing | |
CN113127776A (zh) | 面包屑路径生成方法、装置及终端设备 | |
JP4821287B2 (ja) | 構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造 | |
JP4575064B2 (ja) | 情報検索装置 | |
JPWO2005101210A1 (ja) | データ解析装置およびデータ解析プログラム | |
CN114911973A (zh) | 动作生成方法、装置、电子设备及存储介质 | |
JP5570202B2 (ja) | 構造化文書解析装置、構造化文書解析方法、及びコンピュータプログラム | |
JP2007219579A (ja) | ドキュメント変換装置、およびプログラム | |
CN100385439C (zh) | 数据处理装置及数据处理方法 | |
JP2019185145A (ja) | データ生成プログラム、データ生成方法および情報処理装置 | |
JP4018528B2 (ja) | 文書処理装置、文書処理方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061110 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070215 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070314 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070406 |