JP2007148751A - 構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造 - Google Patents

構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造 Download PDF

Info

Publication number
JP2007148751A
JP2007148751A JP2005341895A JP2005341895A JP2007148751A JP 2007148751 A JP2007148751 A JP 2007148751A JP 2005341895 A JP2005341895 A JP 2005341895A JP 2005341895 A JP2005341895 A JP 2005341895A JP 2007148751 A JP2007148751 A JP 2007148751A
Authority
JP
Japan
Prior art keywords
node
data
record
structured document
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005341895A
Other languages
English (en)
Other versions
JP4821287B2 (ja
Inventor
Arei Kobayashi
亜令 小林
Shigeki Muramatsu
茂樹 村松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2005341895A priority Critical patent/JP4821287B2/ja
Publication of JP2007148751A publication Critical patent/JP2007148751A/ja
Application granted granted Critical
Publication of JP4821287B2 publication Critical patent/JP4821287B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】符号化された状態で編集処理が可能である構造化文書の符号化方法を提供する。
【解決手段】構造化文書の符号化方法は、構造化文書を木構造で表したときの各ノードに対応し、対応するノードのノード位置、ノード種別、ノード名及びノードのデータ保存位置を示す符号語を含む固定長のレコードを生成する第1のステップと、ノードがデータを有する場合、対応するレコードのデータ保存位置が示すデータテーブルの位置に、ノードのデータを設定する第2のステップとを備えている。
【選択図】図4

Description

本発明は、XML(Extensible Markup Language)等の構造化文書の符号化に関し、より詳しくは、テキスト形式と比べ構造化文書を表現するためのデータ量を削減することができ、かつ、符号化された状態での構造化文書の編集処理を可能とする符号化技術に関する。
文書にタグを付与して構造を示す構造化文書としては、XMLや、SGML(Standard Generalized Markup Language)等があり、これらは異なるコンピュータ環境においても文書の相互利用を可能とするために、テキスト形式により文書の保存及び送受信を行うことを想定している。
また、構造化文書の検索処理及び/又は編集処理を行うためにDOM(Document Object Model)が規定され使用されているが、DOMでは、構造化文書全体を木構造の形式でデータ展開し、展開したデータをメモリに保存して処理を行うため、文書構造が大きくなるにつれ、検索処理及び編集処理負担が重くなるという問題がある。特に、携帯電話端末等の処理能力の低い装置においては、この処理負担は無視できないものとなり得る。
このため、特許文献1には、大規模なXML文書であっても高速に検索することができるXML文書のランダムアクセス方法が開示されている。特許文献1によると、XML文書を上位構造の要素と下位構造の要素に分割した上で、下位構造の要素が保存されているメモリアドレスを、その上位構造の要素をキーとするハッシュテーブルで管理することにより検索の高速化を行っている。
特許文献1では、ハッシュテーブルにより下位構造の要素に素早く辿り着くことを可能としているが、ハッシュテーブルにより提供されるのは検索及び並べ替え処理のみであり、構造化文書そのものの編集処理、つまり、要素、属性値、要素値についての追加、削除及び/又は変更を提供しているわけではなく、構造化文書の編集処理には、DOMに基づきメモリに展開されたデータを直接処理する必要がある。
また、特許文献2では、構造化文書を送受信するにあたり、そのデータ量を削減するための符号化方法が開示されているが、データ量の削減を重視して設計されているため、要素の追加や変更等の編集処理のためには、文書全体の再符号化が必要となるなど、符号化された状態での編集処理は難しい。
特開2005−284417号公報 特開2005−215951号公報
携帯電話端末等の処理能力の低く、かつ、通信速度の比較的遅い装置においては、構造化文書の送受信、表示、検索及び編集処理のためには、構造化文書を表現するためのデータ量が少ないこと、及び、符号化された状態で編集処理が可能であることが望ましい。
したがって、本発明は、符号化された状態で編集処理が可能である構造化文書の符号化方法、符号化装置、コンピュータに符号化方法を実行させるプログラム、構造化文書の符号化データのデータ構造及び該データ構造で表現された構造化文書の復号装置を提供することを目的とする。
本発明における符号化方法によれば、
構造化文書の符号化方法であって、構造化文書を木構造で表したときの各ノードに対応し、対応するノードのノード位置、ノード種別、ノード名及びノードのデータ保存位置を示す符号語を含む固定長のレコードを生成する第1のステップと、ノードがデータを有する場合、対応するレコードのデータ保存位置が示すデータテーブルの位置に、ノードのデータを設定する第2のステップとを有することを特徴とする。
本発明の符号化方法における他の実施形態によれば、
ノード位置は、ノードの階層と、構造化文書で1つ前に出現するノードに対応するレコードを示すポインタと、1つ後に出現するノードに対応するレコードを示すポインタで表されることも好ましい。
また、本発明の符号化方法における他の実施形態によれば、
レコードは、ノードが有するデータの、データ型を示す符号語も含んでいることも好ましい。
更に、本発明の符号化方法における他の実施形態によれば、
レコードに含まれるノード種別、ノード名及びデータ型に使用する符号語は、符号化テーブルで規定され、構造化文書で使用されている要素及び属性から符号化テーブルを作成するステップを、第1のステップの前に有することも好ましい。
本発明におけるプログラムによれば、
コンピュータに前記符号化方法を実行させることを特徴とする。
本発明における符号化装置によれば、
構造化文書の符号化装置であって、構造化文書を木構造で表した場合におけるノードの、ノード種別及びノード名の符号語を示す符号化テーブルと、構造化文書の各ノードに対応し、対応するノードのノード位置、ノード種別、ノード名及びノードのデータ保存位置を示す符号語を含む固定長のレコードを、符号化テーブルに基づき生成する手段と、ノードがデータを有する場合、対応するレコードのデータ保存位置が示すデータテーブルの位置に、ノードのデータを設定する手段とを有することを特徴とする。
本発明におけるデータ構造によれば、
コンピュータに読み込まれる構造化文書の符号化データのデータ構造であって、構造化文書を木構造で表した場合におけるノードの、ノード種別及びノード名の符号語を示す符号化テーブルと、ノードに対応して設けられ、対応するノードの、木構造でのノード位置、ノード種別、ノード名及びノードのデータ保存位置を示す符号語を含む固定長のレコードと、レコードのデータ保存位置によりポイントされ、該レコードに対応するノードが有するデータを保持するデータテーブルとを有することを特徴とする。
本発明における復号装置によれば、
前記符号化データから構造化文書の復号を行うことを特徴とする。
構造化文書の符号化データは、構造化文書で使用されているノードについての、木構造でのノード位置、ノード種別、ノード名及びデータ保存位置を、固定長のレコードで表現することにより、構造化文書の検索、編集処理を行う装置では、レコードの編集に伴うメモリ領域の割当て処理や、検索を行う場合の検索位置の計算処理等を簡略化することができ、検索や編集の処理負担が低減される。
また、符号化テーブルで、構造化文書で使用するノード種別、ノード名、データ型の符号語を定義することで、テキスト形式でのデータ量と比較して構造化文書を記述するためのデータ量を削減することができる。
更に、構造化文書の編集処理は固定長のレコードの操作と、レコードがポイントするデータテーブルの編集処理で実行可能であり、符号化データのままで編集を行うことができる。
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。
図1は、本発明による符号化方法の説明に用いる構造化文書を示す図であり、図1(a)は、XML形式で記載し、図1(b)は、図1(a)の構造化文書を木構造にて表現したものである。構造化文書は、一般的に、図1(b)に示す様に木構造で表現することができ、木構造のノードは、例えば、XML文書においては要素、属性、要素値のいずれかに対応する。以後、本説明において、ノードの種類、つまり、要素、属性、要素値のいずれであるかをノード種別と呼ぶ。以下、XML文書を例にして説明を行うが、本発明はXML文書に限定されるものではなく、木構造で表現できる構造化文書総てに適用可能であり、また、ノード種別も、要素、属性、要素値に限定されず、各構造化文書の規定及び/又は符号化の設計に応じて他の種別を使用可能である。ここで、符号化の設計に応じてとは、例えば、XML文書においても、本実施形態でのように要素値をノードとして扱わず、属性に対する属性値のように、要素ノードのデータとして扱う等、ノードとするものについても設計事項であることを意味する。
図1に示す様に、本発明の説明に用いる構造化文書では、ルート要素であるノードN0は、子ノードとして要素名“g”であるノードN1及びノードN4を有し、ノードN1は、子ノードとして要素名“polyline”であるノードN2を有し、ノードN2は、子ノードとして属性名“points”であるノードN3を有している。また、ノードN4は、子ノードとして要素名“text”であるノードN5を有し、ノードN5は、子ノードとして要素値“あいう”であるノードN6を有している。
図2は、本発明による符号化装置が作成又は取得する符号化テーブルを示す図である。図2によると、使用する要素“svg”、“g”、“polyline”及び“text”に対して、要素のインデックスと、属性がある場合は、属性のインデックス、名前及びデータ型と、要素が要素値を持つ場合には要素値のデータ型の定義が行われている。
符号化テーブルでは、ノード種別の符号語が固定長で定義される。図2においては、要素は“0”、属性は“1”、要素値は“2”として定義されている。尚、実際には、符号語で定義されるが、簡単のため、以後の説明において、符号語は、文字又は10進数で表記する。
また、符号化テーブルでは、ノード名の符号語も固定長で定義される。ノード名とは、要素名又は属性名であり、図2においては、インデックスが符号語に該当する。図2において、“svg”と“points”には、ともに“0”が定義されているが、ノード種別により両者を区別することができる。更に、符号化テーブルでは、データ型の符号語が固定長で定義される。図2においては、文字(char)は“0”、整数(int)は“1”として定義されている。
本発明による符号化装置は、例えば、テキスト形式で取得した構造化文書から、符号化テーブルを作成し、作成した符号化テーブルに基づき本発明による符号化方法で構造化文書を符号化して保存する。尚、符号化テーブルを他の装置から取得して、取得した符号化テーブルに基づき、構造化文書を符号化する使用形態もとり得る。いずれにしても、取得したテキスト形式の構造化文書を保存する必要はない。
また、他の例として、本発明による符号化装置は、特許文献2に記載の方法等、送受信のためのデータ量削減を主目的とした符号化方法により符号化された構造化文書を他の装置から受信し、本発明による符号化方法で符号化された構造化文書に符号変換して保存する。この場合においても、符号化テーブルについては、本発明による符号化装置が、受信した他の符号化方法で符号化された構造化文書から生成する使用形態も、他の符号化方法で符号化された構造化文書と共に取得する使用形態もとり得る。尚、構造化文書で使用する要素、属性及び要素値が同一であるなら同じ符号化テーブルを使用できるため、符号化テーブルを他の装置から取得する使用形態においては、構造化文書の送受信の度に、符号化テーブルを送受信する必要はない。結局、本発明による符号化装置は、取得した構造化文書がいずれの形式で表現されたものであっても、本発明による符号化方法で符号化された形式に変換して保存し、編集処理等を符号化された状態のまま行う。
図3は、本発明による符号化方法の処理フロー図を示す図であり、図4は、図1に記載の構造化文書を、図2に示す符号化テーブルに基づき符号化した結果であるノードテーブル及びデータテーブルを示す図である。ノードテーブルは、各ノードに対応するレコードから構成され、各レコードは、階層、前ポインタ、後ポインタ、ノード種別、ノード名、データ型、データ数及びデータ保存位置フィールドを有し、各フィールドには固定長の符号語が設定される。したがって、レコードも固定長となる。尚、ノード種別、ノード名及びデータ型フィールドには、符号化テーブルで定義される符号語が設定され、階層及びデータ数フィールドには整数を固定長で符号化した符号語が設定され、前ポインタ、後ポインタ及びデータ保存位置フィールドには、ポインタ値を固定長で符号化した符号語が設定される。
以下、図3を参照して符号化方法を説明する。
(S31) 構造化文書を読み込み、出現順に処理対象とするノードを選択する。ここで、ノードとは、要素、属性、要素値のいずれかである。
(S32) ノードテーブルに選択ノードについて記述するレコードを追加し、ルート要素からの階層を階層フィールドに、選択ノードの前に出現するノードに対応するレコードへのポインタを前ポインタフィールドに、選択ノードの後に出現するノードに対応するレコードへのポインタを後ポインタフィールドに設定する。
(S33) 続いて、ノード種別を判定し、ノードが要素であればS34の処理を行い、ノードが属性であればS35の処理を行い、ノードが要素値であればS36の処理を行う。
(S34) ノードが要素である場合には、ノード種別フィールド及びノード名フィールドには符号化テーブルを参照して符号語を設定し、データ型、データ数及びデータ保存位置フィールドには総て、“該当しない”を意味する符号語を設定する。以後の説明において、“該当しない”を意味する符号語を“−1”で表す。
(S35) ノードが属性である場合には、ノード種別フィールド、ノード名フィールド及びデータ型フィールドには符号化テーブルを参照して符号語を設定し、データ数フィールドには、属性値のデータ数を設定し、データ保存位置フィールドには属性値の実体を保存するデータテーブルの位置、つまりポインタを設定する。また、属性値をデータ保存位置フィールドがポイントするデータテーブルの位置に格納する。
(S36) ノードが要素値である場合には、ノード種別フィールド及びデータ型フィールドには符号化テーブルを参照して符号語を設定し、ノード名フィールドには、“該当しない”を意味する符号語を設定し、データ数フィールドには、要素値のデータ数を設定し、データ保存位置フィールドには要素値の実体を保存するデータテーブルの位置を設定する。また、要素値をデータ保存位置フィールドが示すデータテーブルの位置に格納する。
(S37) 未処理ノードがある限りS31からS36までの処理を繰り返す。
以後、図1に記載の構造化文書を、図2に示す符号化テーブルに基づき符号化し、図4に示すノードテーブル及びデータテーブルを作成する処理について具体的に説明する。
(要素“svg”) 図1(a)より、まず要素“svg”が出現するため、要素“svg”について記載するレコードをノードテーブルに追加する。図4においては、符号N0を付与したレコードが要素“svg”のレコードである。要素“svg”はルート要素であるため階層フィールドは“0”であり、ノード種別フィールドは要素であるため符号化テーブルより“0”であり、ノード名フィールドは符号化テーブルより“0”であり、データ型、データ数及びデータ保存位置フィールドは、図3のS34より総て“−1”である。尚、前ポインタフィールドは、最初のノードであるため“該当しない”であり、後ポインタフィールドは次に出現する要素“g”に対応するレコードを示す。
(要素“g”) 図1(a)より、続いて、要素“g”が出現するため、要素“g”について記載するレコードをノードテーブルに追加する。図4においては、符号N1を付与したレコードが該当するレコードである。要素“g”は、ルート要素の子要素であるため階層フィールドは“1”であり、ノード種別フィールドは符号化テーブルより“0”であり、ノード名フィールドは符号化テーブルより“1”であり、データ型、データ数及びデータ保存位置フィールドは総て“−1”である。尚、前ポインタフィールドは要素“svg”に対応するレコードを示し、後ポインタフィールドは次に出現する要素“polyline”に対応するレコードを示す。
(要素“polyline”) 図1(a)より、続いて、要素“polyline”が出現するため、要素“polyline”について記載するレコードをノードテーブルに追加する。図4においては、符号N2を付与したレコードが該当するレコードである。要素“polyline”は、ルート要素の2つ下に位置するため階層フィールドは“2”であり、ノード種別フィールドは符号化テーブルより“0”であり、ノード名フィールドは符号化テーブルより“2”であり、データ型、データ数及びデータ保存位置フィールドは総て“−1”である。尚、前ポインタは要素“g”に対応するレコードを示し、後ポインタは次に出現する属性“points”に対応するレコードを示す。
(属性“points”) 図1(a)より、続いて、属性“points”が出現するため、属性“points”について記載するレコードをノードテーブルに追加する。図4においては、符号N3を付与したレコードが該当するレコードである。属性“points”は、ルート要素の3つ下に位置するための階層フィールドは“3”であり、ノード種別フィールドは属性であるため符号化テーブルより“1”であり、ノード名フィールドは符号化テーブルより“0”であり、データ型フィールドは符号化テーブルより“1”であり、データ数フィールドは、属性値が“100、120、130、140、150、160”の6つの数字からなっているため“6”であり、データ保存位置フィールドは、属性値を格納するデータテーブル内の位置を示す“D0”である。尚、前ポインタフィールドは要素“polyline”に対応するレコードを示し、後ポインタフィールドは次に出現する2番目の要素“g”に対応するレコードを示す。また、続いて、ノードのデータ、つまり、属性値をデータテーブル内で、データ保存位置フィールドがポイントする位置に格納する。
(要素“g) 図1(a)より、続いて、2番目の要素“g”が出現するため、要素“g”について記載するレコードをノードテーブルに追加する。図4においては、符号N4を付与したレコードが該当するレコードである。要素“g”の階層フィールドは“1”であり、ノード種別フィールドは符号化テーブルより“0”であり、ノード名フィールドは符号化テーブルより“1”であり、データ型、データ数及びデータ保存位置フィールドは、総て“−1”である。尚、前ポインタは属性“points”に対応するレコードを示し、後ポインタは次に処理する要素“text”に対応するレコードを示す。
(要素“text”) 図1(a)より、続いて、要素“text”が出現するため、要素“text”について記載するレコードをノードテーブルに追加する。図4においては、符号N5を付与したレコードが該当するレコードである。要素“text”の階層フィールドは“2”であり、ノード種別フィールドは符号化テーブルより“0”であり、ノード名フィールドは符号化テーブルより“3”であり、データ型、データ数及びデータ保存位置フィールドは、総て“−1”である。尚、前ポインタは2番目の要素“g”に対応するレコードを示し、後ポインタは次に出現する要素値に対応するレコードを示す。
(要素値) 図1(a)より、要素値が出現するため、要素値について記載するレコードをノードテーブルに追加する。図4においては、符号N6を付与したレコードが該当するレコードである。要素値の階層フィールドは“3”であり、ノード種別フィールドは要素値であるため符号化テーブルより“2”であり、データ型フィールドは符号化テーブルより“0”であり、データ数フィールドは、“あいう”の3文字であるため“3”であり、データ保存位置フィールドは、要素値を格納するデータテーブル内の位置である“D1”である。また、ノード名フィールドは、図3のS36より“−1”である。尚、前ポインタは要素“text”に対応するレコードを示し、後ポインタは、最後のノードであるため“該当しない”を示す。
以上、ノードテーブル及びデータテーブルにより構造化文書の構造を含めた文書内容の認識が可能である。
本発明による符号化方法で符号化された構造化文書の符号化データは、構造化文書で使用されているノードについての、木構造でのノード位置、ノード種別、ノード名、データ情報及びデータ保存位置を、それぞれ固定長の符号語で示す固定長のレコードを有する。ここで、ノード位置とは、本実施形態においては階層、前ポインタ及び後ポインタフィールドであり、データ情報とは、本実施形態においてはデータ型及びデータ数フィールドである。
つまり、本発明による符号化方法では、ノードのデータ以外を、固定長のレコードで表現することにより、構造化文書の検索、編集処理を行う装置では、レコードの編集に伴うメモリ領域の割当て処理や、検索を行う場合の検索位置の計算処理等を簡略化することができ、検索や編集の処理負担が低減される。
また、符号化テーブルにおいて、構造化文書で使用するノード属性、ノード名及びデータ型の符号語を定義し、更に、ノード位置、データ保存位置、データ数等も符号化して表現することで、テキスト形式でのデータ量と比較して構造化文書を記述するためのデータ量を削減することができる。
本発明による復号装置は、符号化テーブルと、ノードテーブルと、データテーブルからもとの構造化文書を復号又は復元する。ここで、符号化テーブルで定義されるノード種別、ノード名及びデータ型が共通であるかぎり、符号化テーブルは、個々の構造化文書とは切り離すことができるため、個々の構造化文書の送受信は、ノードテーブルとデータテーブルの送受信のみにより行い、各構造化文書に共通して使用できる符号化テーブルは予め符号化装置と復号装置で共有しておくことも可能である。
いずれにしても、復号装置は、ノードテーブルのノード種別及びノード名フィールドに設定されている符号語を、符号化テーブルを用いて復号して、ノード種別及びノード名を認識し、階層、前ポインタ及び後ポインタフィールドに設定されている符号語を復号して構造化文書内でのノードの位置を認識し、データ型フィールドに設定されている符号語を、符号化テーブルを用いて復号してデータ型を認識し、データ数フィールドに設定されている符号語を復号してデータ数を認識し、データ保存位置フィールドに設定されている符号語を復号して、データテーブルに設定されているノードのデータを認識する。
続いて、本発明による符号化方法で符号化された構造化文書の編集処理について説明を行う。本編集処理は、本発明による符号化装置及び復号装置が実行するものである。尚、以後の説明において、ノードテーブルの各レコードを、ノードに付与している符号で特定する。つまり、例えば、図4の要素“svg”について記載しているレコードをレコードN0と表現して特定する。
図5(a)は、図1に示す構造化文書から要素“polyline”削除した後の文書内容を示している。要素“polyline”を削除することは、削除するノードの配下にある全ノードの削除を、つまり、本例においては、属性“points”の削除も意味する。したがって、図4のレコードN2及びN3を削除するとともに、レコードN2をポイントしている、レコードN1の後ポインタフィールドと、レコードN3をポイントしている、レコードN4の前ポインタフィールドを変更することで編集を行うことも可能である。
しかし、図5(b)に示す様に、ノードテーブルに削除を示すレコードN7を追加し、削除するレコード群の前にあるレコードの後ポインタフィールドと、後にあるレコードの前ポインタフィールドを、それぞれレコードN7をポイントするように変更する構成とすることも可能である。具体的には、図5(b)に示す様に、削除を示すレコードN7を追加し、レコードN1の後ポインタフィールド及びレコードN4の前ポインタフィールドを、それぞれ、追加した削除を表すレコードN7を示す様に変更する。
この場合、削除を表すレコードは、例えば、ノード種別で要素を表し、ノード名を通常の要素であればとり得ることのない“−1”に設定することで特定する。削除を示すレコードの追加による削除処理の利点は、階層構造が深い場合、その上位の要素等を削除することにより複数のノードが削除されることになるが、削除対象ノードに対応するレコード総てをノードテーブルから削除する処理方法に較べ、ノードテーブルのメモリ上での更新処理量が少なくなり、装置の処理負担を軽くすることができることである。
図6は、図5(a)に示す構造化文書の要素値を“あいう”から“えお”と変更した後の文書内容と、編集されたノードテーブルを示す図である。要素値“あいう”から“えお”への変更であるため、図5(b)の要素値について記載しているレコードN6のデータ数フィールドを“2”と変更した上で、“D1”で示されるデータテーブルの内容を“えお”に変更する構成とすることも可能であり、また、レコードN6のデータ数フィールド及びデータ保存位置フィールドを、それぞれ“2”及び“D2”に変更した上で、“D2”が示すデータテーブルに“えお”を設定する構成とすることも可能である。
しかし、図6(b)に示す様に、ノードテーブルに変更後の要素値について記載するレコードN8を追加し、変更前の要素値をポイントしているレコードN5の後ポインタフィールドを、変更後の要素値を表すレコードN8をポイントするように変更する構成とすることも可能である。要素値の変更時に、合わせて要素等の削除が行われる場合には、要素の削除で説明したのと同様の理由により処理が軽くなる利点がある。
図7は、図6(a)に示す構造化文書のルート要素の子要素として、要素“polyline”を追加した後の文書内容と、対応する、編集されたノードテーブルを示す図である。図7(b)に示すとおり、追加する、要素“polyline”を記述するレコードN9をノードテーブルに追加して、追加に伴う既存レコードの前ポインタ及び後ポインタフィールドを変更する。
図8は、本発明による復号装置が、図7(b)に示すノードテーブルから構造化文書を復号する方法について説明する図である。図8において、各ノードに付与している符号は、図7(b)における各レコードの符号に対応しており、点線の矢印は前ポインタ及び後ポインタでのポイントを示している。ここで、双方向の矢印は、前ポインタフィールドと後ポインタフィールドが、それぞれポイントし合う関係にあることを示している。つまり、例えば、N5の後ポインタフィールドはN8を示し、N8の前ポインタフィールドはN5を示していることを表している。N2、N3及びN6のように、自身に向く矢印がないノードは、他からポイントされないノード、即ち、削除等の編集処理が行われたノードであり、復号過程において、実際には無視される。
したがって、図7(b)のノードテーブルの前ポインタ及び後ポインタから、図8のN0−N1―N7−N4−N5−N8−N9とつながる関係が認識でき、各要素の階層は階層フィールドから認識できるため、各ノードについて実線で示す木構造での位置を認識でき、編集後の木構造を再現することができる。尚、図8の符号N7は、削除を示すレコードであり、実際には表示等はされない。
尚、上記実施形態では、ノードテーブルでデータ数及びデータ型を示すこととしたが、どちらか、あるいは、両方をデータテーブル側に持たせ、ノードテーブルにおいては、ノードのデータに関しては、データテーブルへのポインタ値のみを持たせる構成とすることも可能である。
本発明による符号化方法は、コンピュータに読み込まれることで上述した処理を実行するプログラムにより、本発明による符号化装置及び復号装置は、コンピュータに読み込まれることで、コンピュータを上記装置として動作させるプログラムにより実現可能である。
本発明による符号化方法の説明に用いる構造化文書を示す図である。 本発明による符号化装置が保持する符号化テーブルを示す図である。 本発明による符号化方法の処理フロー図を示す図である。 図1に示す文書の符号化結果を示す図である。 図1に示す構造化文書から要素削除後の文書内容と、対応する、編集されたノードテーブルを示す図である。 図5に示す構造化文書の要素値変更後の文書内容と、対応する、編集されたノードテーブルを示す図である。 図6に示す構造化文書の要素追加後の文書内容と、対応する、編集されたノードテーブルを示す図である。 図7に示すノードテーブルの復号を説明する図である。
符号の説明
N0〜N9 ノード

Claims (8)

  1. 構造化文書の符号化方法であって、
    構造化文書を木構造で表したときの各ノードに対応し、対応するノードのノード位置、ノード種別、ノード名及びノードのデータ保存位置を示す符号語を含む固定長のレコードを生成する第1のステップと、
    ノードがデータを有する場合、対応するレコードのデータ保存位置が示すデータテーブルの位置に、ノードのデータを設定する第2のステップと、
    を有することを特徴とする符号化方法。
  2. ノード位置は、ノードの階層と、構造化文書で1つ前に出現するノードに対応するレコードを示すポインタと、1つ後に出現するノードに対応するレコードを示すポインタで表されること、
    を特徴とする請求項1に記載の方法。
  3. レコードは、ノードが有するデータの、データ型を示す符号語も含んでいること、
    を特徴とする請求項1又は2に記載の符号化方法。
  4. レコードに含まれるノード種別、ノード名及びデータ型に使用する符号語は、符号化テーブルで規定され、
    構造化文書で使用されている要素及び属性から符号化テーブルを作成するステップを、第1のステップの前に有すること、
    を特徴とする請求項3に記載の符号化方法
  5. コンピュータに構造化文書の符号化を実行させるプログラムであって、
    構造化文書を木構造で表したときの各ノードに対応し、対応するノードのノード位置、ノード種別、ノード名及びノードのデータ保存位置を示す符号語を含む固定長のレコードを生成する第1のステップと、
    ノードがデータを有する場合、対応するレコードのデータ保存位置が示すデータテーブルの位置に、ノードのデータを設定する第2のステップと、
    をコンピュータに実行させることを特徴とするプログラム。
  6. 構造化文書の符号化装置であって、
    構造化文書を木構造で表した場合におけるノードの、ノード種別及びノード名の符号語を示す符号化テーブルと、
    構造化文書の各ノードに対応し、対応するノードのノード位置、ノード種別、ノード名及びノードのデータ保存位置を示す符号語を含む固定長のレコードを、符号化テーブルに基づき生成する手段と、
    ノードがデータを有する場合、対応するレコードのデータ保存位置が示すデータテーブルの位置に、ノードのデータを設定する手段と、
    を有することを特徴とする符号化装置。
  7. コンピュータに読み込まれる構造化文書の符号化データのデータ構造であって、
    構造化文書を木構造で表した場合におけるノードの、ノード種別及びノード名の符号語を示す符号化テーブルと、
    ノードに対応して設けられ、対応するノードの、木構造でのノード位置、ノード種別、ノード名及びノードのデータ保存位置を示す符号語を含む固定長のレコードと、
    レコードのデータ保存位置によりポイントされ、該レコードに対応するノードが有するデータを保持するデータテーブルと、
    を有することを特徴とするデータ構造。
  8. 請求項7に記載の符号化データから構造化文書の復号を行うこと、
    を特徴とする復号装置。
JP2005341895A 2005-11-28 2005-11-28 構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造 Expired - Fee Related JP4821287B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005341895A JP4821287B2 (ja) 2005-11-28 2005-11-28 構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005341895A JP4821287B2 (ja) 2005-11-28 2005-11-28 構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造

Publications (2)

Publication Number Publication Date
JP2007148751A true JP2007148751A (ja) 2007-06-14
JP4821287B2 JP4821287B2 (ja) 2011-11-24

Family

ID=38210105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005341895A Expired - Fee Related JP4821287B2 (ja) 2005-11-28 2005-11-28 構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造

Country Status (1)

Country Link
JP (1) JP4821287B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009439A (ja) * 2007-06-29 2009-01-15 Mitsubishi Electric Corp Xml文書変換装置及びその方法、xml文書復元装置及びその方法、xml文書処理装置
JP2009205406A (ja) * 2008-02-27 2009-09-10 Sony Corp ファイル構造解析装置、ファイル構造解析方法およびプログラム
JP2010113461A (ja) * 2008-11-05 2010-05-20 Ntt Docomo Inc 情報端末、データ復元方法及びデータバックアップ方法
JP2020098583A (ja) * 2017-03-15 2020-06-25 センシェア アーゲー データベースにおけるトライデータ構造の有効使用

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01263742A (ja) * 1988-04-14 1989-10-20 Nec Corp コマンド履歴参照装置
JPH06195398A (ja) * 1992-12-22 1994-07-15 Taisei Corp Cadシステム
JP2003271668A (ja) * 2002-03-15 2003-09-26 Toshiba Corp 構造化データ管理プログラム及び方法並びに装置
JP2004178084A (ja) * 2002-11-25 2004-06-24 Systems Engineering Constructions Co Ltd Xmlデータの格納方法及び格納装置、並びにプログラムおよびプログラムを記録した記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01263742A (ja) * 1988-04-14 1989-10-20 Nec Corp コマンド履歴参照装置
JPH06195398A (ja) * 1992-12-22 1994-07-15 Taisei Corp Cadシステム
JP2003271668A (ja) * 2002-03-15 2003-09-26 Toshiba Corp 構造化データ管理プログラム及び方法並びに装置
JP2004178084A (ja) * 2002-11-25 2004-06-24 Systems Engineering Constructions Co Ltd Xmlデータの格納方法及び格納装置、並びにプログラムおよびプログラムを記録した記録媒体

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009439A (ja) * 2007-06-29 2009-01-15 Mitsubishi Electric Corp Xml文書変換装置及びその方法、xml文書復元装置及びその方法、xml文書処理装置
JP2009205406A (ja) * 2008-02-27 2009-09-10 Sony Corp ファイル構造解析装置、ファイル構造解析方法およびプログラム
JP4513876B2 (ja) * 2008-02-27 2010-07-28 ソニー株式会社 ファイル構造解析装置、ファイル構造解析方法およびプログラム
US8370325B2 (en) 2008-02-27 2013-02-05 Sony Corporation File structure analyzing apparatus, file structure analyzing method, and program
JP2010113461A (ja) * 2008-11-05 2010-05-20 Ntt Docomo Inc 情報端末、データ復元方法及びデータバックアップ方法
JP2020098583A (ja) * 2017-03-15 2020-06-25 センシェア アーゲー データベースにおけるトライデータ構造の有効使用
US11275740B2 (en) 2017-03-15 2022-03-15 Censhare Gmbh Efficient use of trie data structure in databases
US11347741B2 (en) 2017-03-15 2022-05-31 Censhare Gmbh Efficient use of TRIE data structure in databases
JP7198192B2 (ja) 2017-03-15 2022-12-28 センシェア ゲーエムベーハー データベースにおけるトライデータ構造の有効使用
US11899667B2 (en) 2017-03-15 2024-02-13 Censhare Gmbh Efficient use of trie data structure in databases

Also Published As

Publication number Publication date
JP4821287B2 (ja) 2011-11-24

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
JP3272014B2 (ja) 階層構造データ処理情報を含むデータ処理辞書を作成する方法及び装置
US10122380B2 (en) Compression of javascript object notation data using structure information
KR100461019B1 (ko) 소형 화면 단말기를 위한 웹 컨텐츠 변환 시스템 및 방법
US8346737B2 (en) Encoding of hierarchically organized data for efficient storage and processing
JP4653381B2 (ja) 構造化文書の圧縮/解凍方法
CA2438176A1 (en) Xml-based multi-format business services design pattern
US9378126B2 (en) Decompression apparatus and decompression method
US8117217B2 (en) Information processing apparatus and encoding method
JP2001217720A (ja) データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置
US20070112810A1 (en) Method for compressing markup languages files, by replacing a long word with a shorter word
US20090254882A1 (en) Methods and devices for iterative binary coding and decoding of xml type documents
EP1519279B1 (en) Document transformation system
JP2011146036A (ja) 情報処理装置及びその制御方法並びにプログラム
CN108664546B (zh) Xml数据结构转换方法和装置
JP4821287B2 (ja) 構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造
US20080313291A1 (en) Method and apparatus for encoding data
CN110308907B (zh) 数据转换方法、装置、存储介质及电子设备
CN113127776A (zh) 面包屑路径生成方法、装置及终端设备
JPH10261969A (ja) データ圧縮方法および装置
US20110320927A1 (en) Methods and Apparatus Utilizing XooML: Cross (X) Tool Markup Language
CN106802922A (zh) 一种基于对象的溯源存储系统及方法
KR101396090B1 (ko) Xml 문서변환장치 및 방법과, 그를 이용한 xml문서처리시스템
CN112069775A (zh) 数据的转换方法及装置、存储介质、电子装置
Shaamood Encoding JSON by using Base 64

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110809

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110822

R150 Certificate of patent or registration of utility model

Ref document number: 4821287

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees