JP2004178084A - Method, device and program for storing xml data, and recording medium with program recorded thereon - Google Patents

Method, device and program for storing xml data, and recording medium with program recorded thereon Download PDF

Info

Publication number
JP2004178084A
JP2004178084A JP2002341210A JP2002341210A JP2004178084A JP 2004178084 A JP2004178084 A JP 2004178084A JP 2002341210 A JP2002341210 A JP 2002341210A JP 2002341210 A JP2002341210 A JP 2002341210A JP 2004178084 A JP2004178084 A JP 2004178084A
Authority
JP
Japan
Prior art keywords
data
column
stored
xml data
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002341210A
Other languages
Japanese (ja)
Other versions
JP3560043B2 (en
Inventor
Norio Doi
憲雄 土井
Koji Kawaguchi
浩司 川口
Shinji Kosho
晋二 古庄
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.)
SYSTEMS ENGINEERING CONST CO L
SYSTEMS ENGINEERING CONSTRUCTIONS CO Ltd
TURBO DATA LAB KK
Turbo Data Laboratories Inc
Original Assignee
SYSTEMS ENGINEERING CONST CO L
SYSTEMS ENGINEERING CONSTRUCTIONS CO Ltd
TURBO DATA LAB KK
Turbo Data Laboratories Inc
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 SYSTEMS ENGINEERING CONST CO L, SYSTEMS ENGINEERING CONSTRUCTIONS CO Ltd, TURBO DATA LAB KK, Turbo Data Laboratories Inc filed Critical SYSTEMS ENGINEERING CONST CO L
Priority to JP2002341210A priority Critical patent/JP3560043B2/en
Publication of JP2004178084A publication Critical patent/JP2004178084A/en
Application granted granted Critical
Publication of JP3560043B2 publication Critical patent/JP3560043B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide the storage technology of XML data for preventing the degree of freedom or flexibility of XML data from being greatly blocked. <P>SOLUTION: Tables 200, 201 and 202 are prepared for each element by defining link relations between the items of the contents and attribute values of each element defined by the schema information 101 of XML data and the data as columns C1 to C7. The XML data following the schema information are successively traced from a route, and the data of each element are stored in the columns C1 to C7 of the corresponding tables. In particular, the down-grip column C3 and an up-grip column C4 are prepared, sequential numbers are assigned to the down-grip column in the order of appearance of data, and the values of the down-grip assigned to a master element are assigned to the up-grip column. The order of appearance and inter-data hierarchical relations are made distinguishable. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、XML(拡張可能なマーク付け言語;Extensible Markup Language)で記述された階層構造を有するXMLデータのデータベースに関するもので、特に、XMLデータを表形式のテーブルに格納する場合の格納技術に関する。
【0002】
【従来の技術】
XMLデータをデータベース管理システムに格納し、また格納したデータを高速に検索する仕組みは、従来から様々な手法がとられてきた。
XMLデータをリレーショナルモデルに基づき格納する場合は、基本的に3つの方法が考えられる。
【0003】
第1は、一つのXMLデータを一つの文字列データとして格納する方法である。
この場合、基本的にはXMLデータを格納するために設けたテーブルの特定のカラムに、XMLデータ全体が一つの文字列データとして格納される。
また、主に検索性能を向上させる目的で、XMLデータを文字列として格納するカラムとは別に同じテーブルに検索用のカラムを用意し、検索に使用するXMLデータ中のエレメントまたは属性の値をあらかじめ抽出して当該カラムに格納しておく手法なども、同時に用いられることがある。
【0004】
第2は、XMLデータの各エレメントと属性を分解し、あらかじめターゲットとなるXML専用に設計し作成してある複数のテーブルの各カラムに、それぞれ対応させて格納する方法である。
この場合、全てのエレメント・属性の値を分解して格納する方法のほか、必要なエレメント・属性の値のみを抽出して格納する方法がある。後者の場合は、第1の方法と組み合わせて使用する場合もある。
【0005】
第3は、XMLデータのエレメントまたは属性の情報を格納するテーブルと、エレメント間の親子関係を表わすリンク情報を格納するテーブルに分ける方法である。
リレーショナルデータベースにおいては、検索を高速化するために、検索対象となるエレメントまたは属性の値のインデックス情報を別途作成しておき、検索の際には最初にインデックス情報を参照して目的のデータを探す手法が一般的に用いられる。
【0006】
【発明が解決しようとする課題】
第1の方法の問題点は、データベースにおいてはXMLデータ全体を一つの文字列情報として扱うため、検索を高速化するためには特殊なインデックスなどをあらかじめ作成しておく必要があり、一つでも情報が変化した場合はインデックスを作成しなおす必要がある。
また、特定の位置にあるエレメントまたは属性の値についての範囲検索や集計などを高速に処理することが困難であるほか、エレメントや属性の値のデータ型が文字型に限定されてしまうなどの問題がある。
【0007】
第2の方法の問題点は、格納対象となるXMLデータの構造にしたがってあらかじめデータベースを設計しておく必要があるため、XMLデータの構造が変化すると設計からやり直す必要があり、XMLデータの持つ自由度や柔軟性を大きく阻害してしまうことである。
また、一般的に木構造を持つXMLデータをリレーショナルモデルに対応付けることは技術的にも難しく、その結果として検索性能を向上させることも難しいものになる。
【0008】
第3の方法の問題点は、特定の位置にあるエレメントまたは属性の情報を探すために毎回リンク情報を辿って行く必要があることで、XMLデータ構造や検索内容によってはリンクを何度も辿る必要があり、一般的に高速な検索処理を行うことが難しい。また第1の方法と同様に比較的多くのXMLデータ構造に柔軟に対応できる半面、数値型や文字型などデータ型のバリエーションを持たせることは困難である。
その他の関連する技術としては、たとえば、特開2002−73589号、特開2001−34618号、特開2001−318935号、特開2001−282856号、特開2001−195406号公報等がある。
【0009】
本発明は、上記した従来技術の課題を解決するためになされたもので、その目的とするところは、XMLデータの持つ自由度や柔軟性を大きく阻害することないXMLデータの格納方法および格納装置、並びにプログラムおよびプログラムを記録した記録媒体、さらに表形式のXMLデータの格納構造及びデータを格納した記録媒体を提供することにある。
【0010】
【課題を解決するための手段】
上記目的を達成するために、本発明のXMLデータの格納方法は、記憶装置のデータベース領域に格納すべきXMLデータのスキーマ情報に基づいてエレメント毎に一つのテーブルを作成し、テーブルに前記スキーマ情報に従ったデータを格納することを特徴とする。
XMLデータとは、周知のXMLで記述された階層構造を有するデータであり、エレメント(要素)を単位とし、エレメントはデータにその内容を示すタグを付けて記述される。エレメントをグループ化することによってエレメントの階層構造が表現され、全体として木構造(ツリー構造)のモデルで表現できるデータである。
【0011】
使用するエレメントやデータ内容、エレメントの属性、エレメント間の親子兄弟関係等の規則をスキーマとして設計される。スキーマの記述方法としては、たとえばDTD等が定められているが、DTDに即した記述に限定されるものではなく、XML Schema等、種々の言語を用いることができる。
XMLデータはDTDの記述を不要にすることができるが、この発明では、スキーマ情報が記述されていることが前提であり、スキーマ情報に基づいてテーブルを作成し、同じスキーマ情報に基づくXMLデータを格納するようにしたものである。
テーブルには、エレメントの内容および属性情報を入れるカラム、データ間の親子関係情報を入れるカラムを作成する。
【0012】
データの格納は、ルートエレメントから順にたどって各テーブルに格納し、格納したデータには出現順序情報を付加する。
各テーブルにはダウングリップカラムとアップグリップカラムを作成し、ダウングリップカラムに前記出現順序情報を入れ、前記アップグリップカラムには当該データと親子関係にある親データのダウングリップカラムの出現順序情報を割り当ててデータ間のリンク関係をつけたことを特徴とする。
各テーブルはルートエレメントからの階層の深さを表すレベルカラムを作成し、レベルカラムにレベル値を格納することが好適である。
エレメント間の親子関係情報を、前記テーブルとは別に記憶装置に保存することが好ましい。
テータベース領域に作成されたフォルダ内にスキーマ情報とテーブルが保存される構成とする。異なるスキーマ情報に応じて別のフォルダを作成しておけば、複数のスキーマ情報に対応可能である。
【0013】
本発明は、上記XMLデータの格納方法を実施する上で好適なデータ格納装置も提供する。
すなわち、本発明のデータ格納装置は、XMLデータを読み込み、読み込んだXMLデータのスキーマ情報に基づいて、記憶装置のデータベース領域にエレメント毎に一つのテーブルを作成し、作成したテーブルにデータを登録する処理手段を備えていることを特徴とする。
テーブルには、エレメントの内容および属性情報を入れるカラム、データ間の親子関係情報を入れるカラムを作成する。
【0014】
データの格納は、ルートエレメントから順にたどって各テーブルに格納し、格納したデータには出現順序情報を付加する。
各テーブルにはダウングリップカラムとアップグリップカラムを作成し、ダウングリップカラムに前記出現順序情報を入れ、前記アップグリップカラムには当該データと親子関係にある親データのダウングリップカラムの出現順序情報を割り当ててデータ間のリンク関係がつけられる。
各テーブルにはルートエレメントからの階層の深さを表すレベルカラムを作成し、該レベルカラムにレベル値を格納する。
処理手段は、エレメント間の親子関係情報を、前記テーブルとは別に記憶装置上に記憶するようにしてもよい。
また、データが保存されるテーブルを、テータベース領域に作成されたフォルダ内にスキーマ情報と共に保存するようにし、さらに、異なるスキーマ情報に応じて別のフォルダを作成することが好適である。
【0015】
本発明は、上記XMLデータの格納方法をコンピュータに実行させるためのプログラムおよびこのプログラムを記録したコンピュータ読取可能な記録媒体も提供する。
すなわち、記憶装置のデータベース領域に格納すべきXMLデータのスキーマ情報に基づいてエレメント毎に一つのテーブルを作成するステップと、テーブルに前記スキーマ情報に従ったデータを格納するステップとを有する。
テーブルを作成する際に、エレメントの内容および属性情報を入れるカラム、また、データ間の親子関係情報を入れるカラムを作成する。
データの格納は、ルートエレメントから順にたどって各テーブルに格納し、格納したデータには出現順序情報を付加する。
【0016】
各テーブルにはダウングリップカラムとアップグリップカラムを作成し、ダウングリップカラムに前記出現順序情報を入れ、前記アップグリップカラムには当該データと親子関係にある親データのダウングリップカラムの出現順序情報を割り当ててデータ間のリンク関係をつける。
また、テーブルを作成する際に、ルートエレメントからの階層の深さを表すレベルカラムを作成し、該レベルカラムにレベル値を格納することが好適である。
また、エレメント間の親子関係情報を、前記テーブルとは別に記憶装置上に記憶するステップを有する。
記憶装置のデータベース領域にフォルダを作成し、該フォルダにテーブルとスキーマ情報とを保存する。異なるスキーマ情報に応じて別のフォルダを作成する。
【0017】
さらに、本発明は、上記XMLデータの格納方法を用いて格納された表形式のXMLデータの格納構造および表形式のXMLデータを記録したコンピュータ読取可能な記録媒体についても提供する。
すなわち、本発明の表形式のXMLデータの格納構造は、記憶装置のデータベース領域にデータ格納すべきXMLデータのスキーマ情報に基づいてエレメント毎に一つのテーブルを作成され、該テーブルに前記スキーマ情報に従ったデータが格納された構造となっている。
テーブルは、エレメントの内容および属性情報を入れるカラムを有する。
テーブルには、データ間の親子関係情報を入れるカラムを有する。
【0018】
データは、ルートエレメントから順にたどって各テーブルに格納され、格納したデータには出現順序情報が付加されている。
各テーブルにはダウングリップカラムとアップグリップカラムが作成され、ダウングリップカラムに前記出現順序情報を入れ、前記アップグリップカラムには当該データと親子関係にある親データのダウングリップカラムの出現順序情報を割り当ててデータ間のリンク関係がつけられていることを特徴とする。
各テーブルはルートエレメントからの階層の深さを表すレベルカラムが作成され、該レベルカラムにレベル値が格納されている。
エレメント間の親子関係情報が、前記テーブルとは別に記憶装置に保存されている。
テータベース領域に作成されたフォルダ内にスキーマ情報とテーブルが保存されている。また、異なるスキーマ情報に応じて別のフォルダが作成されている。
【0019】
【発明の実施の形態】
以下に本発明を図示の実施の形態に基づいて説明する。
図1(A)は、本発明のXMLデータを格納方法が適用される装置構成を概念的に示している。
このXMLデータ格納装置は、データを記憶するデータベース領域401を備えた記憶装置400と、XMLデータ100のスキーマ情報が記述されたDTD101(文書型定義;Document Type Definition)で定義されているエレメント毎に記憶装置400のデータベース領域401にテーブル200,201,202を作成し、実際のタグ付きデータが記述されたデータ本体部102のデータを対応する各テーブル200,201,202に振り分けて格納するようにプログラムされたコンピュータの主制御部300とを備えた構成となっている。テータベース領域401にはフォルダ402が作成され、このフォルダ402内にDTD101と共に各テーブル200,201,202が作成される。
主制御部300は、特に図示しないが、通常のコンピュータのマイクロプロセッサ(CPU)とRAM等の主記憶装置を含む構成で、主記憶装置に読み込まれたプログラムに従ってデータが処理される。プログラムは一般的にはハードディスク等の補助記憶装置に記憶され、処理実行時に主記憶装置に読み出されて実行される。
テーブル200,・・・が作成される記憶装置400についてもRAM等の主記憶装置が用いられる。
【0020】
図示例では、親子関係にあるルート(root),チャイルド(child),グランドチャイルド(grchild)の3つのエレメントに対応して、3つのテーブル200,201,202が作成される場合が示されている。
XMLはスキーマ情報としてDTD等の記載を不要とすることができる構造化データ記述言語であるが、本発明で扱うXMLデータ100は、スキーマ情報を必要とする。スキーマ情報としては、DTD101に限定されるものではなく、XML SchemaやRELAX NGなどの他のスキーマ言語を用いた情報でもよい。図1(A)において、DTD101が必要となるのは、最初にフォルダ402を作成する際のみで、XMLデータを格納する際には不要である。
【0021】
図1(B)には、テーブルに作成されるカラムが例示されている。
属性(attr−)カラムC1には属性値が格納される。属性省略時にはNULL値を格納する。
テキスト(text)カラムC2には、テキスト値が格納される。このテキストカラムは、テキスト値を持つ場合のみ記入される。
ダウングリップ(down−grip)カラムC3には、データ本体部102のデータ出現順に出現順序情報として順番号が割り当てられる。
アップグリップ(up−grip)カラムC4には、対応する子エレメントのダウングリップの値が格納される。対応する子エレメントが存在しない場合には、子となるデータが無いことを表示する。
ネーム(name)カラムC5は、XML文書のドキュメント名であり、ルートエレメントにのみ記載される。
親(parent)要素カラムC6には、親要素のエレメント名を格納する。
レベルカラム(level)C7には、ルートエレメントからの階層の深さを表すレベル値が格納される。ルートエレメントであれば0、ルートエレメントの子であれば1となる。
【0022】
図2(A),(B)には、XMLデータのデータ各テーブルへの格納例が示されており、この格納手順を図9のフローチャートを参照して説明する。
XMLデータの格納手順は、まず、DTDを指定してフォルダ402内にテーブルを作成し、当該DTDに従うXMLデータをフォルダ内のテーブルに順次格納していく。
まず、フォルダ作成手順を説明する(図9(A)参照)。
すなわち、フォルダ作成開始を指示すると、処理装置300のプログラムが実行されて、登録すべきDTD101を検索してDTD101を解析し(S−1)、DTD101に基づいて、記憶装置400のデータベース領域401にエレメント毎にテーブルを作成する(S−2)。次いで、テーブルの親子関係を設定し(S−3)、フォルダ作成が終了する。
たとえば、テーブルは、図2に示すように、ルートテーブル200,チャイルドテーブル201およびグランドチャイルドテーブル202が生成され、データベース領域401にはフォルダ402が作成され、フォルダ402にDTD101と各テーブル200,201,202が作成される。
ルートテーブル200には、アップグリップカラムC4、ダウングリップカラムC3、名前カラムC5、親要素カラムC6、レベルカラムC7が作成され、チャイルドテーブル201には、アップグリップカラムC4、ダウングリップカラムC3、テキストカラムC2、親要素カラムC6、レベルカラムC7が作成される。また、グランドチャイルドテーブル202には、アップグリップカラムC4、ダウングリップカラムC3、属性カラムC1、親要素カラムC6、レベルカラムC7が作成される。
【0023】
テーブルを作成した後、XMLデータ登録を行う(図9(B)参照)。
すなわち、登録開始を指示すると、処理装置300のプログラムが実行され、格納すべきXMLデータ100を解析し(S−11)、エレメントを取得してエレメントと属性のデータを対応するテーブルに格納する(S−12,S−13)。
エレメントの取得とテーブルへの格納は、XMLデータのデータ本体部102のデータをルートからたどり、タグ名を参照して対応するテーブルを選択し、属性値があれば属性値を属性カラムに格納し、テキストデータがあればテキストカラムに格納する
ダウングリップカラムには、エレメント出現順に若い値から割り当てる。すべてのエレメントに対して一意の値となる。アップグリップカラムには、当該エレメントの親エレメントに割り当てられたダウングリップの値となる。同じ値のアップグリップを持つエレメントが複数存在する場合、それらの出現順はダウングリップの若い順となっている。
ダウングリップに対応するアップグリップを持つ子エレメントが存在しない場合には、子が無いことを表す。
次に全エレメントが終了したかどうかを判断し(S−14)、全エレメントの格納が終了していなければ次のエレメントを取得し、データ格納手順を繰り返す。
全エレメントのデータの格納が終了した場合には、登録すべき全XMLデータの格納が終了したがどうかが判断され(S−15)、全XMLデータの格納が終了していなければ次のXMLデータを解析して(S−11)、データの格納手順を繰り返す。全XMLデータの格納が終了した場合には、登録処理を終了する。
【0024】
図2に示す例では、1行目のルートタグからルートテーブル200を選択し、ルートテーブル200のダウングリップカラムに”0”、アップグリップカラムC4に対応する親エレメントが無いことを示す”−1”を格納し、さらに名前カラムC5に文書名として”family.xml”、レベルカラムC7に”0”を格納する。
次に、2行目のチャイルドタグからチャイルドテーブル201を選択し、このチャイルドテーブル201のダウングリップカラムC3に”1”、アップグリップカラムC4に”0”を記入し、テキストカラムC2に”Smith”、親エレメントカラムC6に”root”、レベルカラムC7に”1”を記入する。
【0025】
次に、3行目のグランドチャイルドタグからグランドチャイルドテーブル202を選択し、このグランドチャイルドテーブル202のダウングリップカラムC3に”2”、属性カラムC1に”10”、テキストカラムC2に”Bob”、親エレメントカラムに”child”、レベルカラムC7に”2”を記入する。
次に、4行目のグランドチャイルドタグからグランドチャイルドテーブル202を選択し、このグランドチャイルドテーブル202のダウングリップカラムC3に”3”、属性カラムC1に”8”、テキストカラムC2に”May”、親エレメントカラムに”child”、レベルカラムC7に”2”を記入する。
データ本体部102のデータを全てたどり終えると、登録処理を終了する。
【0026】
このように、フォルダに格納したXMLデータは、エレメントの内容、属性、階層構造、エレメントの出現順序等の情報がすべて登録されることになり、フォルダに保存された表形式のデータを、XMLデータに再現することも可能である。
なお、XMLデータ100を登録する前に、DTDによる妥当性検証(Validiation)を行うようにしてもよい。
【0027】
以上の格納方法を実行するためのプログラムは、一般的にはコンピュータのハードディスク等の記憶装置に格納され、処理実行時にコンピュータの主記憶装置に読み込まれて実行される。
プログラムは、CD−ROM,CD−R、CD−RW、DVD−ROM、DVD−R、DVD−RW等、種々の記録媒体に格納することができるし、ネットワークを介して配信することもできる。
【0028】
エレメント間の親子関係については、データテーブルとは別にメモリ上に格納する。
図7にはエレメントの親子関係を付ける一例を示している。
図示例は、テーブル500にリンク関係を記憶した例で、テーブル500には、エレメント名カラム501と、テーブル名に一連の番号を順番に付けるテーブル番号カラム502と、各テーブルに対して親となるテーブルの番号を格納する親カラム503と、各テーブルの子となるテーブルの番号を格納する子カラム504とが設けられている。この親子関係のデータは、各フォルダ402に対応付けられて管理されている。
【0029】
図示例では、エレメント名カラム501に”ルート(root)”、”チャイルド(child)”、”グランドチャイルド(grchild)”を格納し、その横の番号カラムに、0、1、2と固有の番号を付ける。
そして、テーブルの1行目のルートエレメントについては、親カラムに”0”、子カラムに”1”を格納する。
テーブル500の2行目のチャイルドエレメントについては、親カラムに”1”、子カラムに”2”を格納する。
テーブルの3行目のグランドチャイルドエレメントについては、親カラムに”1”、子カラムに”3”(不図示の次のエレメント)を格納する。
このようにすれば、各テーブル間の親子関係を付けることができる。
【0030】
図3乃至図5には、より具体的なXMLデータの格納例を例示している。
図3はテーブル作成工程を示している。
すなわち、DTD101のスキーマ情報に基づいて、ウェザデータエレメント(weather_data)に対応するウェザデータテーブル210と、ウェザエレメント(weather)に対応するウェザテーブル211が作成される。
【0031】
ウェザデタテーブル210には、アップグリップ(up−grip)カラムC4,ダウングリップ(down−grip)カラムC3、名前(name)カラムC5、親要素(parent)カラムC6、レベル(level)カラムC7の5つのカラムが作成される。
ウェザテーブル211には、属性−日(attr−day)カラムC11、属性−月(attr−month)カラムC12、テキスト(text)カラムC2、アップグリップ(up−gri)カラムC4、ダウングリップ(down−grip)カラムC3、親要素(parent)カラムC6、レベル(level)カラムC7の7つのカラムが作成される。
【0032】
図4は、XMLデータの格納状態を示している。
すなわち、XMLデータのデータ本体部102をルートから順にたどり、各エレメントについて、対応するテーブルに格納する。
まず、タグ付きデータが記載された1行目のエレメントのルートタグからウェザデータテーブル210を選択し、ウェザデータテーブル210のダウングリップカラムに”0”、アップグリップカラムC4に対応する親エレメントが無いことを示す(−1)を記入し、さらに名前カラムC5に文書名として”wather_data.xml”、レベルカラムC7に”0”を記入する。
第2行はウェザエレメントなので、ウェザテーブル211にデータを格納する。
すなわち、属性−月カラムC12が”3”、属性−日カラム11の値が”1”、テキストカラムC2に”晴れ”(Fine)、アップグリップとして”0”、ダウングリップとして”1”、親要素カラムC6にウェザデータ(weather_data)、レベルカラムC7にレベル値として1を格納する。
【0033】
第3行もウェザエレメントなので、ウェザテーブルにデータを格納する。
属性−月の値が”3”、属性−日の値が”2”、テキスト値として”曇り”(Cloud)、アップグリップとして”0”、ダウングリップとして”2”、親要素カラムC6に”ウェザデータ”、レベルカラムに”1”を格納する。
以下、第4行から第9行までウェザエレメントであり、同様にしてウェザテーブル211の次の行に順番に格納する。
ダウングリップカラムC3には、エレメント出現順に1から9まで割り当てられており、すべてのエレメントに対して一意の値となる。アップグリップは、当該エレメントの親エレメントであるウェザデータエレメント210に割り当てられたダウングリップの値(0)である。
ダウングリップC3に対応するアップグリップを持つ子エレメントが存在しない場合には、子が無いことを表す。
図5は、DTDを共通とする別のXMLデータを追加する場合を示している。
図ではデータは記載していないが、ウェザデータテーブルの2行目に、ダウングリップが”10”として、文書名(wather2.xml)が入り、以下、不図示のデータが各テーブルに追加される。
【0034】
図6は、XMLデータに再帰的に同じ名前のエレメントが現れる場合のテーブル格納例である。このような再帰的な構造の場合、レベルカラムが有効となる。
図示例では、図6(A)に示すように、チャイルドエレメントが再帰的に現れる構成となっている。
特に、DTDを記載しないが、テーブルはDTDに基づいて作成する点は上記した例と同様であり、ルート(root)テーブル220と、チャイルド(child)テーブル221と、ネーム(name)テーブル222とが作成される(同図(B),(C),(D)参照)。カラムについては、図1(B)に示したカラムが作成される。説明を分かりやすくするために、図6(A)にはダウングリップの値を付し、図6(E)にツリー構造を示す。
【0035】
まず、1行目のルートタグからルートテーブル200を選択し、ルートテーブル200のダウングリップカラムに”0”、アップグリップカラムC4に対応する親エレメントが無いことを示す”−1”を記入する。レベルカラムは”0”である。
次に、2行目のチャイルドタグからチャイルドテーブル201を選択し、このチャイルドテーブル201のダウングリップカラムC3に1、アップグリップカラムC4に0を格納する。
次に、3行目の名前タグから名前テーブルを選択し、名前テーブルの1行目のダウングリップカラムに”2”、アップグリップカラムに”1”、テキストカラムに”Bob”、親エレメントカラムに”root”、レベルカラムC7に”1”を格納する。
【0036】
次に、4行目のチャイルドタグからチャイルドテーブル201を選択し、このチャイルドテーブル202の2行目に、ダウングリップカラムC3に”3”、アップグリップカラムC4に”1”、レベルカラムに”2”を格納する。
次に、5行目の名前タグから名前テーブルを選択し、名前テーブルの2行目のダウングリップカラムに”4”、アップグリップカラムに”3”、テキストカラムに”Smith”、レベルカラムC7に”3”を格納する。
次に、7行目のチャイルドタグからチャイルドテーブル201を選択し、このチャイルドテーブル202の3行目の、ダウングリップカラムC3に”5”、アップグリップカラムC4に”1”、レベルカラムに”2”を格納する。
【0037】
次に、8行目の名前タグから名前テーブルを選択し、名前テーブルの3行目のダウングリップカラムC3に”6”、アップグリップカラムに”5”、テキストカラムに”Mary”、レベルカラムC7に”3”を格納する。
次に、9行目のチャイルドタグからチャイルドテーブル201を選択し、このチャイルドテーブル202の4行目の、ダウングリップカラムC3に”7”、アップグリップカラムC4に”5”、レベルカラムC7に”3”を格納する。
次に、10行目の名前タグから名前テーブルを選択し、名前テーブルの4行目のダウングリップカラムC3に”8”、アップグリップカラムに”7”、テキストカラムに”Beth”、レベルカラムC7に”4”を格納する。
このXMLデータの場合には、チャイルドエレメントの中に何階層同じものがでてくるのか分からないような構造であり、レベルカラムC7が無いと、チャイルドテーブルの各データの階層がルートエレメントからどの深さにあるかは、同一テーブル内のダウングリップカラムとアップグリップカラムをすべてたどらないと分からない。レベルカラC7ムを設けておけば、着目するデータの階層が直ぐに判定できる。
【0038】
なお、上記実施の形態では、一つのスキーマに従ったXMLデータを格納する場合について説明したが、異なるスキーマ情報を有するXMLデータについても、記憶装置に専用のテーブルを作成することによって格納することができる。
図8には、スキーマ情報の異なるXMLデータ100A,100Bの格納構成例を示している。
すなわち、異なるスキーマ情報に応じて別のフォルダ402A,402Bを作成し、それぞれのフォルダ402A,402BにDTD(A),DTD(B)と共に作成したテーブルセット200A,200Bが保存される。
【0039】
【発明の効果】
以上説明したように、本発明によれば、記憶装置のデータベース領域に格納すべきXMLデータのスキーマ情報に基づいてデータの単位となるエレメント毎に一つのテーブルを作成し、テーブルに前記スキーマ情報に従ったデータを格納するようになっているので、同じスキーマのXMLデータは過不足なくすべて格納することができる。
テーブルに、エレメントの内容および属性情報を入れるカラムの他に、データ間の親子関係情報を入れるカラムを有する構成としておけば、XMLデータの特徴である階層構造についてもテーブルに格納することができる。
データの格納は、ルートエレメントから順にたどって各テーブルに格納し、格納したデータには出現順序情報を付加する構成としておけば、データの出現順序についてもテーブルに格納可能となる。
【0040】
特に、各テーブルにダウングリップカラムとアップグリップカラムを作成し、ダウングリップカラムに前記出現順序情報を入れ、前記アップグリップカラムには当該データと親子関係にある親データのダウングリップカラムの出現順序情報を割り当ててデータ間のリンク関係をつけたので、データ間の階層関係までテーブルに格納できる。
また、各テーブルはルートエレメントからの階層の深さを表すレベルカラムを作成し、レベルカラムにレベル値を格納するようにすれば、同じエレメント内でデータが階層関係になっている場合でも、ダウングリップおよびアップグリップをたどることなく、ルートからのレベルが直ぐに判定できる。
【0041】
エレメント間の親子関係情報を、前記テーブルとは別に記憶装置に保存しておけば、エレメント間の親子関係情報を利用して迅速に検索処理が可能となる。
テータベース領域に作成されたフォルダ内にスキーマ情報とテーブルを保存しておけば、登録するXMLデータがスキーマに合致しているかどうかの検証ができる。
異なるスキーマ情報に応じて別のフォルダを作成しておけば、スキーマの異なるXMLデータを整理して保存できる。
【図面の簡単な説明】
【図1】図1(A)は本発明の実施の形態に係るXMLデータの格納装置の概略構成を示す図、図1(B)は同図(A)の記憶装置のテーブルに形成されるカラムの種類を示す図である。
【図2】図2(A)はDTDのデータとテーブルの関係を示す図、同図(B)はXMLデータのデータ内容とテーブルのデータ格納状態を示す図である。
【図3】図3は他のXMLデータのDTDとテーブルの関係を示す図である。
【図4】図4はXMLデータのテーブルへの格納状態を示す図である。
【図5】図5は図4のテーブルへ、さらに追加のXMLデータを追加する場合の説明図である。
【図6】図6はレベルカラムの機能の説明で、同図(A)はXMLのデータ内容を示す図、同図(B)乃至(D)は各テーブルへのデータ格納状態を示す図、同図(E)はXMLデータのツリー構造を示す図である。
【図7】図7はテーブル間の親子関係を示すテーブル構成例を示す図である。
【図8】図8は、図1の装置の異なるDTDを有するXMLデータの格納状態を示す図である。
【図9】図9(A),(B)は図1の格納装置の処理手順を示すフローチャートである。
【符号の説明】
100 XMLデータ
101 DTD
102 データ本体部
200,201,202 テーブル
300 処理装置
400 記憶装置
C1 属性カラム
C2 テキストカラム
C3 ダウングリップカラム
C4 アップグリップカラム
C5 ネームカラム
C6 親要素カラム
C7 レベルカラム
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a database of XML data having a hierarchical structure described in XML (Extensible Markup Language), and more particularly to a storage technique for storing XML data in a table format. .
[0002]
[Prior art]
Conventionally, various methods have been used for storing XML data in a database management system and for searching stored data at high speed.
When storing XML data based on a relational model, there are basically three methods.
[0003]
The first is a method of storing one XML data as one character string data.
In this case, basically, the entire XML data is stored as one character string data in a specific column of a table provided for storing the XML data.
In addition, mainly for the purpose of improving search performance, a search column is prepared in the same table separately from a column that stores XML data as a character string, and an element or attribute value in the XML data to be used for search is previously determined. A method of extracting and storing in the column may be used at the same time.
[0004]
A second method is to decompose each element and attribute of the XML data and store them in correspondence with each column of a plurality of tables designed and created exclusively for the target XML in advance.
In this case, besides a method of decomposing and storing all element / attribute values, there is a method of extracting and storing only necessary element / attribute values. In the latter case, it may be used in combination with the first method.
[0005]
Third, there is a method of dividing into a table for storing information of elements or attributes of XML data and a table for storing link information indicating a parent-child relationship between elements.
In relational databases, in order to speed up the search, index information of the value of the element or attribute to be searched is separately created, and at the time of the search, the target data is searched by first referring to the index information Techniques are commonly used.
[0006]
[Problems to be solved by the invention]
The problem with the first method is that the database treats the entire XML data as one piece of character string information, so it is necessary to create a special index or the like in advance to speed up the search. If the information changes, the index needs to be recreated.
In addition, it is difficult to perform high-speed range search and aggregation for an element or attribute value at a specific position, and the data type of the element or attribute value is limited to a character type. There is.
[0007]
The problem with the second method is that it is necessary to design the database in advance according to the structure of the XML data to be stored, so if the structure of the XML data changes, it is necessary to start over from the design, and the freedom of the XML data That is, it greatly impairs the degree and flexibility.
Generally, it is technically difficult to associate XML data having a tree structure with a relational model, and as a result, it is difficult to improve search performance.
[0008]
The problem with the third method is that it is necessary to follow the link information every time to search for the information of the element or attribute at a specific position. Depending on the XML data structure or the content of the search, the link is followed many times. And it is generally difficult to perform high-speed search processing. Also, as in the first method, it is possible to flexibly cope with a relatively large number of XML data structures, but it is difficult to provide data type variations such as a numeric type and a character type.
Other related technologies include, for example, JP-A-2002-73589, JP-A-2001-34618, JP-A-2001-318935, JP-A-2001-282856, JP-A-2001-195406, and the like.
[0009]
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems of the prior art, and an object of the present invention is to provide a method and apparatus for storing XML data that does not significantly impede the flexibility and flexibility of XML data. It is another object of the present invention to provide a program and a recording medium on which the program is recorded, and a storage medium for storing XML data in a tabular format and a recording medium for storing the data.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, a method for storing XML data according to the present invention comprises: creating one table for each element based on schema information of XML data to be stored in a database area of a storage device; Is stored.
The XML data is data having a hierarchical structure described in the well-known XML, and is described in units of elements (elements). The elements are described by attaching tags indicating the contents of the data. The hierarchical structure of the elements is represented by grouping the elements, and the data can be represented as a whole by a tree structure (tree structure) model.
[0011]
Rules such as elements to be used, data contents, element attributes, parent-child sibling relationships between elements, etc. are designed as a schema. For example, DTD or the like is defined as a schema description method. However, the description is not limited to the DTD, and various languages such as XML Schema can be used.
The XML data can eliminate the need to describe the DTD. However, in the present invention, it is assumed that schema information is described. A table is created based on the schema information, and the XML data based on the same schema information is created. It is intended to be stored.
In the table, a column for storing the content and attribute information of the element and a column for storing parent-child relationship information between data are created.
[0012]
Data is stored in each table in order from the root element, and appearance information is added to the stored data.
A down grip column and an up grip column are created in each table, and the appearance order information is put in the down grip column, and the appearance order information of the down grip column of the parent data having a parent-child relationship with the data is stored in the up grip column. It is characterized by linking between data by assigning.
Preferably, each table creates a level column indicating the depth of the hierarchy from the root element, and stores the level value in the level column.
It is preferable that parent-child relationship information between elements is stored in a storage device separately from the table.
The configuration is such that schema information and tables are stored in a folder created in the database area. If another folder is created according to different schema information, a plurality of schema information can be handled.
[0013]
The present invention also provides a data storage device suitable for implementing the method for storing XML data.
That is, the data storage device of the present invention reads XML data, creates one table for each element in the database area of the storage device based on the schema information of the read XML data, and registers the data in the created table. It is characterized by having processing means.
In the table, a column for storing the content and attribute information of the element and a column for storing parent-child relationship information between data are created.
[0014]
Data is stored in each table in order from the root element, and appearance information is added to the stored data.
A down grip column and an up grip column are created in each table, and the appearance order information is put in the down grip column, and the appearance order information of the down grip column of the parent data having a parent-child relationship with the data is stored in the up grip column. A link relationship between data is assigned by assigning.
In each table, a level column representing the depth of the hierarchy from the root element is created, and the level value is stored in the level column.
The processing means may store the parent-child relationship information between the elements on a storage device separately from the table.
Further, it is preferable that a table in which data is stored is stored together with schema information in a folder created in the database area, and that another folder is created according to different schema information.
[0015]
The present invention also provides a program for causing a computer to execute the method for storing XML data, and a computer-readable recording medium on which the program is recorded.
That is, the method includes a step of creating one table for each element based on schema information of XML data to be stored in the database area of the storage device, and a step of storing data according to the schema information in the table.
When creating a table, create a column to store the element content and attribute information, and a column to store parent-child relationship information between data.
Data is stored in each table in order from the root element, and appearance information is added to the stored data.
[0016]
A down grip column and an up grip column are created in each table, and the appearance order information is put in the down grip column, and the appearance order information of the down grip column of the parent data having a parent-child relationship with the data is stored in the up grip column. Assign and establish link relationships between data.
When creating a table, it is preferable to create a level column indicating the depth of the hierarchy from the root element, and store the level value in the level column.
The method further includes the step of storing parent-child relationship information between elements on a storage device separately from the table.
A folder is created in the database area of the storage device, and the table and the schema information are stored in the folder. Create different folders according to different schema information.
[0017]
Further, the present invention provides a storage structure of tabular XML data stored by using the above-described method of storing XML data, and a computer-readable recording medium that records tabular XML data.
In other words, according to the storage structure of the tabular XML data of the present invention, one table is created for each element based on the schema information of the XML data to be stored in the database area of the storage device. It has a structure that stores the following data.
The table has columns for entering element content and attribute information.
The table has a column for entering parent-child relationship information between data.
[0018]
Data is stored in each table in order from the root element, and appearance order information is added to the stored data.
In each table, a down grip column and an up grip column are created, the appearance order information is put in the down grip column, and the appearance order information of the down grip column of the parent data having a parent-child relationship with the data is put in the up grip column. It is characterized in that a link relationship between data is assigned by assignment.
In each table, a level column representing the depth of the hierarchy from the root element is created, and a level value is stored in the level column.
Parent-child relationship information between elements is stored in a storage device separately from the table.
Schema information and tables are stored in the folder created in the database area. Further, another folder is created according to different schema information.
[0019]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described based on the illustrated embodiments.
FIG. 1A conceptually shows an apparatus configuration to which a method for storing XML data according to the present invention is applied.
The XML data storage device includes a storage device 400 having a database area 401 for storing data and a DTD 101 (document type definition: Document Type Definition) in which schema information of the XML data 100 is described. The tables 200, 201, and 202 are created in the database area 401 of the storage device 400, and the data of the data body 102 in which the actual tagged data is described is sorted and stored in the corresponding tables 200, 201, and 202. It has a main controller 300 of a programmed computer. A folder 402 is created in the database area 401, and the tables 200, 201, and 202 are created in the folder 402 together with the DTD 101.
Although not shown, the main control unit 300 includes a general computer microprocessor (CPU) and a main storage device such as a RAM, and processes data according to a program read into the main storage device. The program is generally stored in an auxiliary storage device such as a hard disk, and is read out and executed in the main storage device when executing processing.
A main storage device such as a RAM is also used as the storage device 400 in which the tables 200,... Are created.
[0020]
In the illustrated example, a case where three tables 200, 201, and 202 are created corresponding to three elements of a root (child), a child (child), and a grand child (grchild) in a parent-child relationship. .
XML is a structured data description language that does not require the description of DTD or the like as schema information, but the XML data 100 handled in the present invention requires schema information. The schema information is not limited to the DTD 101, and may be information using another schema language such as XML Schema or RELAX NG. In FIG. 1A, the DTD 101 is required only when the folder 402 is first created, and is not required when storing XML data.
[0021]
FIG. 1B illustrates columns created in the table.
The attribute value is stored in the attribute (attr-) column C1. When the attribute is omitted, a NULL value is stored.
A text value is stored in the text column C2. This text column is only filled if it has a text value.
A sequence number is assigned to the down-grip (down-grip) column C3 as appearance order information in the data appearance order of the data body 102.
The up-grip column C4 stores the value of the down grip of the corresponding child element. If there is no corresponding child element, it indicates that there is no child data.
The name (name) column C5 is the document name of the XML document, and is described only in the root element.
The element name of the parent element is stored in the parent element column C6.
The level column (level) C7 stores a level value indicating the depth of the hierarchy from the root element. The value is 0 for a root element and 1 for a child of the root element.
[0022]
FIGS. 2A and 2B show examples of storing XML data in each data table. The storage procedure will be described with reference to the flowchart of FIG.
In the XML data storage procedure, first, a table is created in the folder 402 by specifying the DTD, and the XML data according to the DTD is sequentially stored in the table in the folder.
First, a folder creation procedure will be described (see FIG. 9A).
That is, when the start of folder creation is instructed, the program of the processing device 300 is executed, the DTD 101 to be registered is searched and the DTD 101 is analyzed (S-1), and based on the DTD 101, the DTD 101 is stored in the database area 401 of the storage device 400. A table is created for each element (S-2). Next, the parent-child relationship of the table is set (S-3), and the folder creation ends.
For example, as shown in FIG. 2, a route table 200, a child table 201, and a grand child table 202 are generated, a folder 402 is created in the database area 401, and the DTD 101 and the tables 200, 201, and 202 is created.
In the route table 200, an up grip column C4, a down grip column C3, a name column C5, a parent element column C6, and a level column C7 are created. In the child table 201, an up grip column C4, a down grip column C3, a text column. C2, a parent element column C6, and a level column C7 are created. In the grand child table 202, an upgrip column C4, a downgrip column C3, an attribute column C1, a parent element column C6, and a level column C7 are created.
[0023]
After the table is created, the XML data is registered (see FIG. 9B).
That is, when the registration start is instructed, the program of the processing device 300 is executed, the XML data 100 to be stored is analyzed (S-11), the element is acquired, and the element and attribute data are stored in the corresponding table (S-11). S-12, S-13).
To acquire an element and store it in a table, the data in the data body 102 of the XML data is traced from the root, the corresponding table is selected by referring to the tag name, and if there is an attribute value, the attribute value is stored in the attribute column. , If there is text data, store it in text column
The down grip column is assigned from the youngest value in the order of element appearance. Unique value for all elements. The value of the down grip assigned to the parent element of the element is stored in the up grip column. When there are a plurality of elements having the same value of the upgrip, the appearance order of the elements is the descending order of the downgrip.
When there is no child element having the up grip corresponding to the down grip, it indicates that there is no child.
Next, it is determined whether or not all elements have been completed (S-14). If storage of all elements has not been completed, the next element is acquired, and the data storage procedure is repeated.
When the storage of all the elements has been completed, it is determined whether the storage of all the XML data to be registered has been completed (S-15). If the storage of all the XML data has not been completed, the next XML data is not determined. Is analyzed (S-11), and the data storage procedure is repeated. When the storage of all the XML data is completed, the registration processing is completed.
[0024]
In the example shown in FIG. 2, the route table 200 is selected from the route tag in the first row, and “0” is set in the down grip column of the route table 200, indicating that there is no parent element corresponding to the up grip column C4. , And “family.xml” as a document name in the name column C5, and “0” in the level column C7.
Next, the child table 201 is selected from the child tag in the second row, "1" is entered in the down grip column C3, "0" is entered in the up grip column C4 of the child table 201, and "Smith" is entered in the text column C2. , "Root" is written in the parent element column C6, and "1" is written in the level column C7.
[0025]
Next, the grand child table 202 is selected from the grand child tag in the third row, and “2” is set in the down grip column C3, “10” is set in the attribute column C1, “Bob” is set in the text column C2, and so on. Write "child" in the parent element column and "2" in the level column C7.
Next, the grand child table 202 is selected from the grand child tag in the fourth row, and “3” is set in the down grip column C3, “8” is set in the attribute column C1, “May” is set in the text column C2, and so on. Write "child" in the parent element column and "2" in the level column C7.
When all the data in the data main body 102 has been traced, the registration processing ends.
[0026]
As described above, in the XML data stored in the folder, all information such as the content of the element, the attribute, the hierarchical structure, and the appearance order of the element are registered, and the tabular data stored in the folder is converted into the XML data. It is also possible to reproduce it.
Before registering the XML data 100, validity verification (Validation) by DTD may be performed.
[0027]
A program for executing the storage method described above is generally stored in a storage device such as a hard disk of a computer, and is read and executed in a main storage device of the computer at the time of execution of the process.
The program can be stored in various recording media such as a CD-ROM, a CD-R, a CD-RW, a DVD-ROM, a DVD-R, a DVD-RW, and can be distributed via a network.
[0028]
The parent-child relationship between elements is stored in a memory separately from the data table.
FIG. 7 shows an example in which a parent-child relationship between elements is provided.
The illustrated example is an example in which a link relationship is stored in the table 500. The table 500 has an element name column 501, a table number column 502 for sequentially assigning a series of numbers to the table name, and a parent for each table. A parent column 503 for storing table numbers and a child column 504 for storing numbers of tables that are children of each table are provided. The parent-child relationship data is managed in association with each folder 402.
[0029]
In the illustrated example, “root”, “child”, and “grandchild” are stored in the element name column 501, and unique numbers such as 0, 1, and 2 are stored in the number column next to the “root”, “child”, and “grchild”. Attached.
For the root element in the first row of the table, “0” is stored in the parent column and “1” is stored in the child column.
For the child element in the second row of the table 500, "1" is stored in the parent column and "2" is stored in the child column.
As for the grand child element in the third row of the table, “1” is stored in the parent column and “3” (the next element not shown) is stored in the child column.
In this way, a parent-child relationship between the tables can be provided.
[0030]
3 to 5 show more specific examples of storing XML data.
FIG. 3 shows a table creation process.
That is, the weather data table 210 corresponding to the weather data element (weather_data) and the weather table 211 corresponding to the weather element (weather) are created based on the schema information of the DTD 101.
[0031]
The weather data table 210 includes an up-grip (up-grip) column C4, a down-grip (down-grip) column C3, a name (name) column C5, a parent element (parent) column C6, and a level (level) column C7. Two columns are created.
The weather table 211 includes an attribute-day (attr-day) column C11, an attribute-month (attr-month) column C12, a text (text) column C2, an upgrip (up-gri) column C4, and a downgrip (down-grid). Seven columns, ie, a “grip” column C3, a parent element (parent) column C6, and a level (level) column C7 are created.
[0032]
FIG. 4 shows a storage state of the XML data.
That is, the data body 102 of the XML data is sequentially traced from the root, and each element is stored in the corresponding table.
First, the weather data table 210 is selected from the root tag of the element on the first line in which the tagged data is described, and “0” is in the down grip column of the weather data table 210, and there is no parent element corresponding to the up grip column C4. (-1) is written, and "water_data.xml" is written as a document name in the name column C5, and "0" is written in the level column C7.
Since the second row is a weather element, data is stored in the weather table 211.
That is, the attribute-month column C12 is “3”, the attribute-day column 11 is “1”, the text column C2 is “sunny” (Fine), the up grip is “0”, the down grip is “1”, and the parent is “1”. Weather data (weather_data) is stored in the element column C6, and 1 is stored as a level value in the level column C7.
[0033]
Since the third row is also a weather element, data is stored in the weather table.
The attribute-month value is "3", the attribute-day value is "2", the text value is "cloudy" (Cloud), the up grip is "0", the down grip is "2", and the parent element column C6 is ""Weatherdata" and "1" are stored in the level column.
Hereinafter, the fourth to ninth rows are weather elements, and are similarly stored in the next row of the weather table 211 in order.
The down grip column C3 is assigned from 1 to 9 in the order of element appearance, and has a unique value for all elements. The up grip is the value (0) of the down grip assigned to the weather data element 210 which is the parent element of the element.
When there is no child element having the up grip corresponding to the down grip C3, it indicates that there is no child.
FIG. 5 shows a case where another XML data having a common DTD is added.
Although no data is shown in the figure, the document name (water2.xml) is entered in the second row of the weather data table with the down grip being “10”, and data (not shown) is added to each table. .
[0034]
FIG. 6 is an example of table storage when an element with the same name recursively appears in XML data. In such a recursive structure, the level column is effective.
In the illustrated example, as shown in FIG. 6A, the child elements appear recursively.
In particular, although the DTD is not described, the point that the table is created based on the DTD is the same as the above-described example, and the root (root) table 220, the child table 221 and the name (name) table 222 are included. It is created (see (B), (C), and (D) in the same figure). As for the columns, the columns shown in FIG. 1B are created. For the sake of simplicity, FIG. 6A shows downgrip values, and FIG. 6E shows a tree structure.
[0035]
First, the route table 200 is selected from the route tag on the first line, and “0” is entered in the down grip column of the route table 200, and “−1” indicating that there is no parent element corresponding to the up grip column C4 is entered. The level column is “0”.
Next, the child table 201 is selected from the child tag in the second row, and 1 is stored in the down grip column C3 and 0 is stored in the up grip column C4 of the child table 201.
Next, a name table is selected from the name tag on the third line, and “2” is assigned to the down grip column, “1” is assigned to the up grip column, “Bob” is assigned to the text column, and “Bob” is assigned to the parent element column of the first line of the name table. "Root" and "1" are stored in the level column C7.
[0036]
Next, the child table 201 is selected from the child tag in the fourth row, and in the second row of the child table 202, "3" is set in the down grip column C3, "1" is set in the up grip column C4, and "2" is set in the level column. Is stored.
Next, the name table is selected from the name tag on the fifth line, and “4” is set in the down grip column, “3” is set in the up grip column, “Smith” is set in the text column, and the level column C7 is set in the second line of the name table. "3" is stored.
Next, the child table 201 is selected from the child tag in the seventh row, and “5” is set in the down grip column C3, “1” is set in the up grip column C4, and “2” is set in the level column in the third row of the child table 202. Is stored.
[0037]
Next, the name table is selected from the name tag on the eighth line, "6" is set in the down grip column C3, "5" is set in the up grip column, "Mary" is set in the text column, and the level column C7 is set in the third line of the name table. To "3".
Next, the child table 201 is selected from the child tag in the ninth row, and "4" is set in the down grip column C3, "5" in the up grip column C4, and "5" in the level column C7 in the fourth row of the child table 202. 3 "is stored.
Next, a name table is selected from the name tag on the tenth line, and “8” is set in the down grip column C3, “7” is set in the up grip column, “Beth” is set in the text column, and the level column C7 is set in the fourth line of the name table. Is stored as "4".
In the case of this XML data, the structure is such that it is not known how many layers are the same in the child element. If there is no level column C7, the hierarchy of each data in the child table is at any depth from the root element. You can't tell if you have to follow all down grip columns and up grip columns in the same table. If the level color C7 is provided, the hierarchy of the data of interest can be determined immediately.
[0038]
In the above embodiment, the case where XML data according to one schema is stored has been described. However, XML data having different schema information may be stored by creating a dedicated table in the storage device. it can.
FIG. 8 shows a storage configuration example of XML data 100A and 100B having different schema information.
That is, different folders 402A and 402B are created according to different schema information, and the table sets 200A and 200B created together with the DTD (A) and DTD (B) are stored in the respective folders 402A and 402B.
[0039]
【The invention's effect】
As described above, according to the present invention, one table is created for each element serving as a data unit based on the schema information of the XML data to be stored in the database area of the storage device, and the schema information is added to the table. Since such data is stored, all the XML data of the same schema can be stored without excess or deficiency.
If the table has a column for storing parent-child relationship information between data in addition to a column for storing element content and attribute information, a hierarchical structure which is a characteristic of XML data can be stored in the table.
If the data is stored in each table by sequentially following the root element, and the stored data is added with the appearance order information, the appearance order of the data can be stored in the table.
[0040]
In particular, a down grip column and an up grip column are created in each table, the appearance order information is put in the down grip column, and the appearance order information of the down grip column of the parent data having a parent-child relationship with the data is stored in the up grip column. Is assigned to create a link relationship between data, so that a hierarchical relationship between data can be stored in a table.
In addition, if each table creates a level column that indicates the depth of the hierarchy from the root element and stores the level value in the level column, even if data has a hierarchical relationship in the same element, it will be down. The level from the root can be determined immediately without following the grip and upgrip.
[0041]
If the parent-child relationship information between elements is stored in a storage device separately from the table, a search process can be quickly performed using the parent-child relationship information between elements.
If the schema information and the table are stored in the folder created in the database area, it is possible to verify whether the XML data to be registered matches the schema.
If another folder is created according to different schema information, XML data with different schemas can be organized and stored.
[Brief description of the drawings]
FIG. 1A is a diagram illustrating a schematic configuration of an XML data storage device according to an embodiment of the present invention, and FIG. 1B is formed in a table of the storage device in FIG. It is a figure showing the kind of a column.
FIG. 2A is a diagram illustrating a relationship between DTD data and a table, and FIG. 2B is a diagram illustrating a data content of XML data and a data storage state of the table.
FIG. 3 is a diagram illustrating a relationship between a DTD of another XML data and a table;
FIG. 4 is a diagram illustrating a storage state of XML data in a table;
FIG. 5 is an explanatory diagram of a case where additional XML data is added to the table of FIG. 4;
6A and 6B are diagrams for explaining the function of a level column. FIG. 6A is a diagram showing data contents of XML, and FIGS. 6B to 6D are diagrams showing data storage states in respective tables. FIG. 1E is a diagram showing a tree structure of the XML data.
FIG. 7 is a diagram illustrating a table configuration example showing a parent-child relationship between tables;
FIG. 8 is a diagram showing a storage state of XML data having different DTDs in the apparatus of FIG. 1;
FIGS. 9A and 9B are flowcharts showing a processing procedure of the storage device of FIG. 1;
[Explanation of symbols]
100 XML data
101 DTD
102 Data body
200, 201, 202 tables
300 processing equipment
400 storage device
C1 attribute column
C2 text column
C3 down grip column
C4 upgrip column
C5 name column
C6 parent element column
C7 level column

Claims (38)

記憶装置のデータベース領域に格納すべきXMLデータのスキーマ情報に基づいてエレメント毎に一つのテーブルを作成し、
該テーブルに前記スキーマ情報に従ったデータを格納することを特徴とするXMLデータの格納方法。
One table is created for each element based on the schema information of the XML data to be stored in the database area of the storage device,
A method for storing XML data, wherein data according to the schema information is stored in the table.
テーブルには、エレメントの内容および属性情報を入れるカラムを作成する請求項1に記載のXMLデータの格納方法。2. The method for storing XML data according to claim 1, wherein a column for storing the content and attribute information of the element is created in the table. テーブルは、データ間の親子関係情報を入れるカラムを有する請求項1に記載のXMLデータの格納方法。2. The method of storing XML data according to claim 1, wherein the table has a column for storing parent-child relationship information between data. データの格納は、ルートエレメントから順にたどって各テーブルに格納し、格納したデータには出現順序情報を付加する請求項1に記載のXMLデータの格納方法。2. The XML data storage method according to claim 1, wherein data is stored in each table in order from a root element, and appearance order information is added to the stored data. 各テーブルにはダウングリップカラムとアップグリップカラムを作成し、
ダウングリップカラムに前記出現順序情報を入れ、前記アップグリップカラムには当該データと親子関係にある親データのダウングリップカラムの出現順序情報を割り当ててデータ間のリンク関係をつけたことを特徴とする請求項4に記載のXMLデータの格納方法。
Create a down grip column and an up grip column for each table,
The appearance order information is put into a down grip column, and the up grip column is assigned the appearance order information of a down grip column of the parent data having a parent-child relationship with the data, and a link relationship between the data is given. The method for storing XML data according to claim 4.
各テーブルはルートエレメントからの階層の深さを表すレベルカラムを作成し、該レベルカラムにレベル値を格納する請求項1乃至5のいずれかの項に記載のXMLデータの格納方法。6. The XML data storage method according to claim 1, wherein each table creates a level column indicating a depth of a hierarchy from a root element, and stores a level value in the level column. エレメント間の親子関係情報を、前記テーブルとは別に記憶装置に保存する請求項1に記載のXMLデータの格納方法。2. The XML data storage method according to claim 1, wherein parent-child relationship information between elements is stored in a storage device separately from the table. テータベース領域に作成されたフォルダ内にスキーマ情報とテーブルが保存される請求項1乃至6のいずれかの項に記載のXMLデータの格納方法。7. The method of storing XML data according to claim 1, wherein schema information and tables are stored in a folder created in the database area. 異なるスキーマ情報に応じて別のフォルダを作成する請求項8に記載のXMLデータの格納方法。The method of storing XML data according to claim 8, wherein another folder is created according to different schema information. XMLデータを読み込み、読み込んだXMLデータのスキーマ情報に基づいて、記憶装置のデータベース領域にエレメント毎に一つのテーブルを作成し、作成したテーブルにデータを登録する処理手段を備えていることを特徴とするXMLデータの格納装置。Processing means for reading XML data, creating one table for each element in the database area of the storage device based on the schema information of the read XML data, and registering the data in the created table. XML data storage device. テーブルには、エレメントの内容および属性情報を入れるカラムを作成する請求項10に記載のXMLデータの格納装置。The XML data storage device according to claim 10, wherein a column for storing element content and attribute information is created in the table. テーブルは、データ間の親子関係情報を入れるカラムを有する請求項10に記載のXMLデータの格納装置。The XML data storage device according to claim 10, wherein the table has a column for storing parent-child relationship information between data. データの格納は、ルートエレメントから順にたどって各テーブルに格納し、格納したデータには出現順序情報を付加する請求項10に記載のXMLデータの格納装置。11. The XML data storage device according to claim 10, wherein data is stored in each table in order from a root element, and appearance order information is added to the stored data. 各テーブルにはダウングリップカラムとアップグリップカラムを作成し、
ダウングリップカラムに前記出現順序情報を入れ、前記アップグリップカラムには当該データと親子関係にある親データのダウングリップカラムの出現順序情報を割り当ててデータ間のリンク関係をつけたことを特徴とする請求項13に記載のXMLデータの格納装置。
Create a down grip column and an up grip column for each table,
The appearance order information is put into a down grip column, and the up grip column is assigned the appearance order information of a down grip column of the parent data having a parent-child relationship with the data, and a link relationship between the data is given. The XML data storage device according to claim 13.
各テーブルはルートエレメントからの階層の深さを表すレベルカラムを作成し、該レベルカラムにレベル値を格納する請求項10乃至14のいずれかの項に記載のXMLデータの格納装置。15. The XML data storage device according to claim 10, wherein each table creates a level column indicating a depth of a hierarchy from a root element, and stores a level value in the level column. 処理手段は、エレメント間の親子関係情報を、前記テーブルとは別に記憶装置上に記憶する請求項10に記載のXMLデータの格納装置。The XML data storage device according to claim 10, wherein the processing unit stores parent-child relationship information between elements on a storage device separately from the table. 処理手段は、データが保存されるテーブルを、テータベース領域に作成されたフォルダ内にスキーマ情報と共に保存する請求項10乃至15のいずれかの項に記載のXMLデータの格納装置。The XML data storage device according to any one of claims 10 to 15, wherein the processing unit stores a table in which data is stored together with schema information in a folder created in the database area. 異なるスキーマ情報に応じて別のフォルダを作成する請求項17に記載のXMLデータの格納装置。18. The XML data storage device according to claim 17, wherein another folder is created according to different schema information. 記憶装置のデータベース領域に格納すべきXMLデータのスキーマ情報に基づいてエレメント毎に一つのテーブルを作成するステップと、
該テーブルに前記スキーマ情報に従ったデータを格納するステップとを有するXMLデータの格納方法をコンピュータに実行させるためのプログラム。
Creating one table for each element based on the schema information of the XML data to be stored in the database area of the storage device;
Storing the data in accordance with the schema information in the table.
テーブルを作成する際に、エレメントの内容および属性情報を入れるカラムを作成する請求項19に記載のプログラム。20. The program according to claim 19, wherein when creating the table, a column for storing the content of the element and the attribute information is created. テーブルを作成する際に、データ間の親子関係情報を入れるカラムを作成する請求項19または20に記載のプログラム。21. The program according to claim 19, wherein a column for storing parent-child relationship information between data is created when the table is created. データの格納は、ルートエレメントから順にたどって各テーブルに格納し、格納したデータには出現順序情報を付加する請求項19乃至21のいずれかの項に記載のプログラム。22. The program according to claim 19, wherein data is stored in each table in order from a root element, and appearance information is added to the stored data. 各テーブルにはダウングリップカラムとアップグリップカラムを作成し、
ダウングリップカラムに前記出現順序情報を入れ、前記アップグリップカラムには当該データと親子関係にある親データのダウングリップカラムの出現順序情報を割り当ててデータ間のリンク関係をつける請求項22に記載のプログラム。
Create a down grip column and an up grip column for each table,
23. The link relationship between data according to claim 22, wherein the appearance order information is put in a down grip column, and the up grip column is assigned the appearance order information of a down grip column of parent data having a parent-child relationship with the data, and a link relationship between the data is provided. program.
テーブルを作成する際に、ルートエレメントからの階層の深さを表すレベルカラムを作成し、該レベルカラムにレベル値を格納する請求項19乃至23のいずれかの項に記載のプログラム。24. The program according to claim 19, wherein, when creating the table, a level column representing a depth of a hierarchy from a root element is created, and a level value is stored in the level column. エレメント間の親子関係情報を、前記テーブルとは別に記憶装置上に記憶するステップを有する請求項19に記載のプログラム。20. The program according to claim 19, further comprising a step of storing parent-child relationship information between elements on a storage device separately from the table. 記憶装置のデータベース領域にフォルダを作成し、該フォルダにテーブルとスキーマ情報とを保存する請求項19乃至24のいずれかの項に記載のプログラム。25. The program according to claim 19, wherein a folder is created in a database area of the storage device, and the table and schema information are stored in the folder. 異なるスキーマ情報に応じて別のフォルダを作成する請求項19乃至24のいずれかの項に記載のプログラム。25. The program according to claim 19, wherein another folder is created according to different schema information. 請求項19乃至27のいずれかの項に記載のプログラムを記録したコンピュータ読取可能な記録媒体。A computer-readable recording medium recording the program according to any one of claims 19 to 27. 記録装置のデータベース領域に格納すべきXMLデータのスキーマ情報に基づいてエレメント毎に一つのテーブルを作成され、該テーブルに前記スキーマ情報に従ったデータが格納された表形式のXMLデータの格納構造。A storage structure of tabular XML data in which one table is created for each element based on schema information of XML data to be stored in a database area of a recording device, and data according to the schema information is stored in the table. テーブルは、エレメントの内容および属性情報を入れるカラムを有する請求項29に記載の表形式のXMLデータの格納構造。30. The storage structure of tabular XML data according to claim 29, wherein the table has a column for storing element content and attribute information. テーブルには、データ間の親子関係情報を入れるカラムを有する請求項29または30に記載のXMLデータの格納構造。31. The XML data storage structure according to claim 29, wherein the table has a column for inserting parent-child relationship information between data. データは、ルートエレメントから順にたどって各テーブルに格納され、格納したデータには出現順序情報が付加されている請求項29乃至31に記載の表形式のXMLデータの格納構造。32. The table-structured XML data storage structure according to claim 29, wherein the data is stored in each table in order from the root element, and the stored data is added with appearance order information. 各テーブルにはダウングリップカラムとアップグリップカラムが作成され、
ダウングリップカラムに前記出現順序情報を入れ、前記アップグリップカラムには当該データと親子関係にある親データのダウングリップカラムの出現順序情報を割り当ててデータ間のリンク関係がつけられていることを特徴とする請求項32に記載の表形式のXMLデータの格納構造。
Each table has a down grip column and an up grip column,
The appearance order information is put into a down grip column, and the up grip column is assigned the appearance order information of a down grip column of parent data having a parent-child relationship with the data, and a link relationship between the data is provided. 33. The storage structure of the tabular XML data according to claim 32.
各テーブルはルートエレメントからの階層の深さを表すレベルカラムが作成され、該レベルカラムにレベル値が格納されている請求項29乃至33のいずれかの項に記載の表形式のXMLデータの格納構造。34. The storage of the tabular XML data according to claim 29, wherein a level column representing the depth of the hierarchy from the root element is created in each table, and a level value is stored in the level column. Construction. エレメント間の親子関係情報が、前記テーブルとは別に記憶装置に保存されている請求項29のいずれかの項に記載の表形式のXMLデータの格納構造。30. The storage structure of tabular XML data according to claim 29, wherein the parent-child relationship information between elements is stored in a storage device separately from the table. テータベース領域に作成されたフォルダ内にスキーマ情報とテーブルが保存されている請求項29乃至34のいずれかの項に記載の表形式のXMLデータの格納構造。35. The storage structure of XML data in a table format according to claim 29, wherein the schema information and the table are stored in a folder created in the database area. 異なるスキーマ情報に応じて別のフォルダを作成されている請求項36に記載の表形式のXMLデータの格納構造。37. The storage structure of tabular XML data according to claim 36, wherein another folder is created according to different schema information. 請求項29乃至37のいずれかの項に記載の構造の表形式のXMLデータを記録したコンピュータ読取可能の記録媒体。A computer-readable recording medium having recorded thereon the tabular XML data having the structure according to any one of claims 29 to 37.
JP2002341210A 2002-11-25 2002-11-25 XML data storage method and storage device, program and recording medium storing program Expired - Fee Related JP3560043B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002341210A JP3560043B2 (en) 2002-11-25 2002-11-25 XML data storage method and storage device, program and recording medium storing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002341210A JP3560043B2 (en) 2002-11-25 2002-11-25 XML data storage method and storage device, program and recording medium storing program

Publications (2)

Publication Number Publication Date
JP2004178084A true JP2004178084A (en) 2004-06-24
JP3560043B2 JP3560043B2 (en) 2004-09-02

Family

ID=32703643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002341210A Expired - Fee Related JP3560043B2 (en) 2002-11-25 2002-11-25 XML data storage method and storage device, program and recording medium storing program

Country Status (1)

Country Link
JP (1) JP3560043B2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006054506A1 (en) * 2004-11-17 2006-05-26 Turbo Data Laboratories Inc. Tree data retrieving/accumulating/sorting method and program
JP2007148751A (en) * 2005-11-28 2007-06-14 Kddi Corp Encoding method, encoding device, encoding program and decoding device for structured document and data structure for encoded structured document
US7529726B2 (en) 2005-08-22 2009-05-05 International Business Machines Corporation XML sub-document versioning method in XML databases using record storages
JP2009129202A (en) * 2007-11-22 2009-06-11 Ntt Data Corp Data processor, data processing method, and program
US7580957B2 (en) 2006-01-31 2009-08-25 Victor Company Of Japan, Limited Structured data storage device and structured data storage method
JP2010541048A (en) * 2007-09-20 2010-12-24 アビニシオ テクノロジー エルエルシー Data flow management in graph-based calculations
US7937413B2 (en) 2004-05-04 2011-05-03 International Business Machines Corporation Self-adaptive prefix encoding for stable node identifiers
JP2011221682A (en) * 2010-04-07 2011-11-04 Seiko Epson Corp Information processor
US8543614B2 (en) 2005-08-22 2013-09-24 International Business Machines Corporation Packing nodes into records to store XML XQuery data model and other hierarchically structured data
US8572125B2 (en) 2005-08-22 2013-10-29 International Business Machines Corporation Scalable storage schemes for native XML column data of relational tables
CN110765123A (en) * 2018-07-09 2020-02-07 株式会社日立制作所 Material data storage method, device and system based on tree structure

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000331021A (en) * 1999-05-21 2000-11-30 Nec Corp Structurized document management system, its method and recording medium
JP2001034618A (en) * 1999-07-16 2001-02-09 Fujitsu Ltd Method and system for retrieval processing of xml data
JP2001195406A (en) * 2000-01-06 2001-07-19 Media Fusion Co Ltd Database management system
JP2001282856A (en) * 2000-03-31 2001-10-12 Toshiba Corp Index generation method, index display system, index retrieval method and index generation device
JP2001318935A (en) * 2000-05-09 2001-11-16 Komakkusu:Kk Information processor, its method, recording medium recording information processing software, and relational database
JP2002073589A (en) * 2000-08-25 2002-03-12 Nippon Telegr & Teleph Corp <Ntt> Device and method for extracting document information and recording medium with its program recorded thereon

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000331021A (en) * 1999-05-21 2000-11-30 Nec Corp Structurized document management system, its method and recording medium
JP2001034618A (en) * 1999-07-16 2001-02-09 Fujitsu Ltd Method and system for retrieval processing of xml data
JP2001195406A (en) * 2000-01-06 2001-07-19 Media Fusion Co Ltd Database management system
JP2001282856A (en) * 2000-03-31 2001-10-12 Toshiba Corp Index generation method, index display system, index retrieval method and index generation device
JP2001318935A (en) * 2000-05-09 2001-11-16 Komakkusu:Kk Information processor, its method, recording medium recording information processing software, and relational database
JP2002073589A (en) * 2000-08-25 2002-03-12 Nippon Telegr & Teleph Corp <Ntt> Device and method for extracting document information and recording medium with its program recorded thereon

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937413B2 (en) 2004-05-04 2011-05-03 International Business Machines Corporation Self-adaptive prefix encoding for stable node identifiers
WO2006054506A1 (en) * 2004-11-17 2006-05-26 Turbo Data Laboratories Inc. Tree data retrieving/accumulating/sorting method and program
JP4796970B2 (en) * 2004-11-17 2011-10-19 株式会社ターボデータラボラトリー Tree data search / aggregation / sorting method and program
US8161004B2 (en) 2005-08-22 2012-04-17 International Business Machines Corporation XML sub-document versioning method in XML databases using record storages
US7529726B2 (en) 2005-08-22 2009-05-05 International Business Machines Corporation XML sub-document versioning method in XML databases using record storages
US8543614B2 (en) 2005-08-22 2013-09-24 International Business Machines Corporation Packing nodes into records to store XML XQuery data model and other hierarchically structured data
US8572125B2 (en) 2005-08-22 2013-10-29 International Business Machines Corporation Scalable storage schemes for native XML column data of relational tables
JP2007148751A (en) * 2005-11-28 2007-06-14 Kddi Corp Encoding method, encoding device, encoding program and decoding device for structured document and data structure for encoded structured document
US7580957B2 (en) 2006-01-31 2009-08-25 Victor Company Of Japan, Limited Structured data storage device and structured data storage method
JP2010541048A (en) * 2007-09-20 2010-12-24 アビニシオ テクノロジー エルエルシー Data flow management in graph-based calculations
US8954482B2 (en) 2007-09-20 2015-02-10 Ab Initio Technology Llc Managing data flows in graph-based computations
JP2009129202A (en) * 2007-11-22 2009-06-11 Ntt Data Corp Data processor, data processing method, and program
JP2011221682A (en) * 2010-04-07 2011-11-04 Seiko Epson Corp Information processor
CN110765123A (en) * 2018-07-09 2020-02-07 株式会社日立制作所 Material data storage method, device and system based on tree structure

Also Published As

Publication number Publication date
JP3560043B2 (en) 2004-09-02

Similar Documents

Publication Publication Date Title
JP4561150B2 (en) A database model for hierarchical data formats.
US7219102B2 (en) Method, computer program product, and system converting relational data into hierarchical data structure based upon tagging trees
CN103823824B (en) A kind of method and system that text classification corpus is built automatically by the Internet
JP4045399B2 (en) Structured document management apparatus and structured document management method
US7962494B2 (en) Method, information processing apparatus, and program for generating array
JP4997749B2 (en) Document processing method, program, and system
Burkowski An algebra for hierarchically organized text-dominated databases
JP3560043B2 (en) XML data storage method and storage device, program and recording medium storing program
JP2002297605A (en) Method and device for structured document retrieval, and program
CN104781811A (en) Evaluating xml full text search
JP4045400B2 (en) Search device and search method
US20090019067A1 (en) Method, apparatus, and program for inserting node
CN102087666B (en) Indexes based on covering relationship between nodes and key words, constructing method and query method thereof
JP4398664B2 (en) XML data search method and search apparatus, program, and recording medium recording the program
Yin et al. A template-based method for theme information extraction from web pages
JP2002297601A (en) Method and device for structured document management, and program
Kapisha et al. Exploring XML Index Structures and Evaluating C-Tree Index-based Algorithm
JP4983060B2 (en) Common format creation program
Fan et al. Web data extraction based on visual information and partial tree alignment
Almarimi et al. A mediation layer for heterogeneous XML schemas
JP2002297603A (en) Information extracting method, structured document managing device, and program
Lim et al. Integrating HTML tables using semantic hierarchies and meta-data sets
JP2001134596A (en) Managing device and retrieving method for structured document
Carter et al. Working with Hierarchical Data and HierarchyID
Alghamdi et al. Efficient Processing of Queries over Recursive XML Data

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040324

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: 20040420

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040517

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080604

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080604

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20080604

Year of fee payment: 4

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20080604

Year of fee payment: 4

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20080604

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20080604

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100604

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110604

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120604

Year of fee payment: 8

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees