JP2002117020A - データ格納装置及び方法 - Google Patents

データ格納装置及び方法

Info

Publication number
JP2002117020A
JP2002117020A JP2000311114A JP2000311114A JP2002117020A JP 2002117020 A JP2002117020 A JP 2002117020A JP 2000311114 A JP2000311114 A JP 2000311114A JP 2000311114 A JP2000311114 A JP 2000311114A JP 2002117020 A JP2002117020 A JP 2002117020A
Authority
JP
Japan
Prior art keywords
data
xml
converted
xml data
elements
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
JP2000311114A
Other languages
English (en)
Other versions
JP3719125B2 (ja
Inventor
Hideo Nakamura
中村  秀男
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2000311114A priority Critical patent/JP3719125B2/ja
Publication of JP2002117020A publication Critical patent/JP2002117020A/ja
Application granted granted Critical
Publication of JP3719125B2 publication Critical patent/JP3719125B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】3階層以上の要素(タグ)の入れ子構造、繰り
返し、または再帰的構造を含むXML文書を、テーブル
形式のデータベースに格納することができるようにす
る。 【解決手段】XMLデータ101を表形式のデータに変
換してデータベース121に格納するデータ格納装置で
あって、XMLデータに含まれる内部の繰り返し構造を
括り出して新たなルート要素の下に分離するデータ変換
手段111と、XMLデータに含まれる再帰的なタグ構
造を繰り返し構造に変換するデータ変換手段112と、
XMLデータに複数階層の入れ子構造で含まれる下位の
要素を上位の要素へ繰り上げる変換を行うデータ変換手
段113と、変換された要素を各ルート要素に対応する
複数のテーブルに分割して格納するデータ更新手段11
4とを備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、要素(タグ)の入
れ子構造、繰り返し、再帰的構造を含むXML(Extens
ible Markup Language)文書をテーブル形式のデータベ
ースに格納する際に用いて好適なデータ格納装置及び方
法に関する。
【0002】
【従来の技術】XML(eXtensible Markup Language;
拡張可能なマーク付け言語)は、W3C(World Wide Web
Consortium)で標準化が進められているWeb上で構造
化文書をやりとりするためのデータフォーマットであ
る。XMLは、SGML(Standard Generalized Markup
Language)[ISO 8879]の利用を前提とし、そのサブセッ
トとして設計されている。XML文書は、ルートと呼ば
れる文書実体から始まり、それぞれマーク付けされ、か
つ入れ子構造を有している宣言、要素、コメント、文字
参照および処理命令を含んでいる。各文書は一つ以上の
要素を含み、各文書にはルートまたは文書要素という要
素が一つだけ存在し、これは他の要素の内容に含まれな
い。各要素は、開始タグと終了タグで区切られ、入れ子
構造をなしている。すべての要素は、その開始タグが他
の要素の内容に含まれれば、対応する終了タグも同じ要
素の内容に含まれる。また、要素Bが要素Aの内容に含
まれ、かつ要素Aの内容に含まれる他の要素に含まれな
いとき、要素Aを要素Bの親といい、要素Bを要素Aの
子という。
【0003】図18を参照して、XML文書を構成する
データ(以下、XMLデータ)をテーブル形式のデータ
ベースに格納するためのXMLデータ格納方式について
説明する。図18において、データ格納手段401は、
XMLデータ421の内容を解析し、XMLデータ42
1内に含まれる各要素を抽出してデータベース402内
のテーブル422に格納する。XMLデータ421が図
19に示すような内容を有している場合を例にして、図
18に示すデータ格納手段401の動作について説明す
る。この場合、XMLデータ421は1つのルート要素
421aを持ち、要素421aの子要素として、次の1
つ下位の階層に要素421b(421b1,421b
2)の繰り返しを持っている。各要素421b1,42
1b2は、要素421c,d,eからなる同じ子要素の
列をそれぞれ含んでいる。データ格納手段401はXM
Lデータ421を入力として受け取り、要素412aの
各子要素412b1,412b2をテーブル422の行
B01,B02に対応させて格納する。また各子要素4
12b1,412b2の子要素412c〜eを各行の列
C,D,Eに対応させて格納する。テーブル422の例
を図20に示す。
【0004】
【発明が解決しようとする課題】上述したような従来技
術には、次のような問題点があった。第1の問題点は、
要素421aの子要素421b1,2の子要素421c
〜eがさらに子要素を持つ場合にテーブルの列に対応さ
せて格納することができないということである。その理
由は、テーブルの列が要素421aの子要素421b
1,2の子要素421c〜eに対応しているためであ
る。第2の問題点は、要素421aの子要素421b
1,2の内部に繰り返しを持つ場合にテーブルに格納す
ることができないということである。その理由は、テー
ブルの行が表現する繰り返しが要素421aの子要素に
だけ対応しているためである。第3の問題点は、再帰的
なタグ構造をテーブルに格納できないということであ
る。その理由は、テーブルが再帰的なデータ構造をその
まま格納できないためである。
【0005】本発明は、従来の構成では対応できなかっ
た、3階層以上の要素(タグ)の入れ子構造、繰り返
し、または再帰的構造を含むXML文書を、テーブル形
式のデータベースに格納することができるようにするデ
ータ格納装置及び方法を提供することを目的とする。
【0006】
【課題を解決するための手段】上記課題を解決するた
め、請求項1記載の発明は、XMLデータを表形式のデ
ータに変換して所定の記憶手段に格納するデータ格納装
置において、変換すべきXMLデータに複数階層の入れ
子構造で含まれる下位の要素を上位の要素へ繰り上げる
変換を行う変換手段と、変換された要素をテーブルに格
納する格納手段とを備えることを特徴とする。請求項2
記載の発明は、前記変換すべきXMLデータが3階層以
上の入れ子構造を有していることを特徴とする。
【0007】請求項3記載の発明は、XMLデータを表
形式のデータに変換して所定の記憶手段に格納するデー
タ格納装置において、変換すべきXMLデータに含まれ
る内部の繰り返し構造を括り出して新たなルート要素の
下に分離する変換手段と、変換された要素を各ルート要
素に対応する複数のテーブルに分割して格納する格納手
段とを備えることを特徴とする。請求項4記載の発明
は、XMLデータを表形式のデータに変換して所定の記
憶手段に格納するデータ格納装置において、変換すべき
XMLデータに含まれる再帰的なタグ構造を繰り返し構
造に変換する変換手段と、変換された要素をテーブルに
格納する格納手段とを備えることを特徴とする。請求項
5記載の発明は、XMLデータを表形式のデータに変換
して所定の記憶手段に格納するデータ格納装置におい
て、変換すべきXMLデータに含まれる要素の位置を示
す情報を作成するとともに、そのXMLデータにに入れ
子構造で含まれる下位の要素を上位の要素へ繰り上げる
変換を行う変換手段と、変換された要素を、位置対応情
報とともにテーブルに格納する格納手段とを備えること
を特徴とする。
【0008】請求項6記載の発明は、XMLデータを表
形式のデータに変換して所定の記憶手段に格納するデー
タ格納装置において、XMLデータに複数階層の入れ子
構造で含まれる下位の要素を上位の要素へ繰り上げる変
換を行う第1の変換手段と、XMLデータに含まれる内
部の繰り返し構造を括り出して新たなルート要素の下に
分離する第2の変換手段と、XMLデータに含まれる再
帰的なタグ構造を繰り返し構造に変換する第3の変換手
段と、変換された要素を各ルート要素に対応する複数の
テーブルに分割して格納する格納手段とを備えることを
特徴とする。請求項7記載の発明は、XMLデータを表
形式のデータに変換して所定の記憶手段に格納するデー
タ格納方法において、変換すべきXMLデータに複数階
層の入れ子構造で含まれる下位の要素を上位の要素へ繰
り上げる変換を行う第1の変換過程と、変換すべきXM
Lデータに含まれる内部の繰り返し構造を括り出して新
たなルート要素の下に分離する第2の変換過程と、変換
すべきXMLデータに含まれる再帰的なタグ構造を繰り
返し構造に変換する第3の変換過程と、変換された要素
を各ルート要素に対応する複数のテーブルに分割して格
納する格納過程とを含んでいることを特徴とする。
【0009】
【発明の実施の形態】以下、図面を参照して本発明によ
るデータ格納装置の実施形態について説明する。
【0010】図1は、本発明によるデータ格納装置の一
実施形態を説明するためのブロック図である。図1にお
いて、データ変換手段111はXMLデータ101から
文書型定義上ルート要素の子要素以外に繰り返しのある
部分を分離し、分離した部分を除いたXMLデータ10
2と、分離した部分を新規のルート要素の下に同じ要素
が繰り返しになるように配置することで作成されたXM
Lデータ103およびその他のXMLデータとする。デ
ータ変換手段112はXMLデータ102から文書定義
上再帰的な構造になっている部分を分離し、分離した部
分を再帰的に現れる要素がルート要素の子要素の繰り返
し形式となるように変換することで作成したXMLデー
タ105およびその他のXMLデータと、分離した部分
を除いたXMLデータ104とする。XMLデータ10
3等、データ変換手段111のその他の出力XMLデー
タもXMLデータ102と同様の変換を行う。データ変
換手段113はXMLデータ104の文書定義上3レベ
ル以上の要素の入れ子になっている要素をルート要素の
子要素の子要素とする形式に変換しXMLデータ106
とする。XMLデータ105等、データ変換手段112
のその他の出力XMLデータについても同様に変換を行
う。データ変換手段111〜113の変換によりXML
データ101はルート要素の子要素としてそれぞれ同じ
要素の繰り返しを持ち子要素の内部に同じ要素の列を持
つXMLデータ106およびその他のXMLデータに変
換される。データ更新手段114はこれらのXMLデー
タのルート要素の子要素の子要素をテーブルの列に対応
付けることによってXMLデータをデータベース121
のテーブルに格納する。このようにして、3レベル以上
のタグの入れ子構造、繰り返し、再帰的タグ構造を含む
XML文書をテーブル形式のデータベースに格納するこ
とを可能にする。
【0011】次に、図2を参照して本発明によるデータ
格納装置の他の実施形態について説明する。図2を参照
すると、本発明のXMLデータ格納装置の一実施形態
は、XMLデータ入力手段201と、データ変換手段2
02と、データ変換手段203と、データ変換手段20
4と、データ格納手段205と、データベース211か
ら構成されている。XMLデータ221の例を図3に示
す。XMLデータ221はルート要素A(開始タグ:<
A>、終了タグ:</A>;以下同様。ただし図面では
開始タグに参照符号の引き出し線を付けている。)から
構成されている。要素Aは要素B(B01,B02)の
繰り返しで構成されている。要素B01は要素C(C0
1)と、要素D(D01,D02)から構成されてい
る。要素B02は要素C(C02)と、要素D(D0
3)から構成されている。要素C01は1つの要素E
(E01)と、要素F(F01,F02)の繰り返しか
ら構成されている。要素C02は1つの要素E(E0
2)と、要素F(F03)から構成されている。要素D
01は1つの要素G(G01)と1個の要素D(D0
2)から構成されている。要素D03は1つの要素G
(G03)から構成されている。要素F(F01,F0
2,F03)はそれぞれ要素Iと要素Jから構成されて
いる。要素E、要素G、要素I、要素Jは文字列から構
成されている。
【0012】上記各手段はそれぞれ概略つぎのように動
作する。データ入力手段201は、XMLデータ221
を入力しデータ変換手段202へ渡す。データ変換手段
202は、XMLデータ221の内部の繰り返し要素で
ある要素F(F01,F02)を分離しXMLデータ2
22とXMLデータ223とする。要素B(B01,B
02)も繰り返しになっているが、ルート要素Aの子要
素なので変換しない。データ変換手段203は、XML
データ222の内部の再帰になっている要素D(D0
1,D02)を分離しXMLデータ224とXMLデー
タ225とする。データ変換手段204は、XMLデー
タ224の内部の3レベル以上入れ子になっている要素
Eをルート要素Aの子要素Bの子要素として移動しXM
Lデータ226とする。データ格納手段205は、XM
Lデータ226をテーブルAに格納する。このとき要素
Eの内容を列Eに格納する。XMLデータ225をテー
ブルYに格納する。このとき要素Gの内容を列Gに格納
する。XMLデータ223をテーブルXに格納する。こ
のとき要素Iの内容を列Iに、要素Jの内容を列Jに格
納する。
【0013】[実施形態の動作の説明]次に、図4、図
5、図6、図7のフローチャートを参照して本実施形態
の全体の動作について詳細に説明する。
【0014】XMLデータ221をデータ変換手段20
2へ入力する。要素Xをルート要素とする新しいXML
データ223を生成する(図4のステップA101)。
ここでXは変数である。XMLデータ221に要素Bが
なければ終わり(ステップA102)、要素Bがあれば
最初の要素Bを要素B1とする(ステップA103)。
ここで、BおよびB1は変数を示す。次に、要素B1に
要素Fがなければ終わり(ステップA104)、要素B
1に要素Fがあれば要素B1の最初の要素FをF1とす
る(ステップA105)。ここでFおよびF1は変数で
ある。要素F1を要素B1から取り除き要素Xに追加す
る(ステップA106)。要素B1に次の要素Fがあれ
ばステップA108へ、なければステップA109へ進
む(ステップA107)。ステップA108では次の要
素FをF1として、ステップA106へ戻る。ステップ
A109では、次の要素BがあればステップA110
へ、なければ終わる。ステップA110では、次の要素
BをB1として、ステップA104へ戻る。終了時には
総ての要素Fが取り除かれたXMLデータ221をXM
Lデータ222とする。
【0015】データ変換手段203はデータ変換手段2
02からXMLデータ222を入力する。要素Yをルー
ト要素とする新しいXMLデータ225を生成する(図
5のステップA201)。ここでYは変数である。XM
Lデータ222に要素Bがなければ終わり(ステップA
202)、要素Bがあれば最初の要素Bを要素B1とす
る(ステップA203)。次に要素B1の子要素の要素
DをD1とする(ステップA204)。ここでDおよび
D1は変数である。次に要素D1を親要素から取り除き
要素Yの子要素として追加する(ステップA205)。
要素D1の子要素に要素DがあればステップA207
へ、なければステップA208へ進む(ステップA20
6)。ステップA207では子要素DをD1としてステ
ップA205へ戻る。ステップA208では次の要素B
があればステップA209へ、なければ終わる。ステッ
プA209では次の要素BをB1としてステップA20
4へ戻る。終了時には総ての要素Dが取り除かれたXM
Lデータ222をXMLデータ224とする。
【0016】データ変換手段204はデータ変換手段2
03からXMLデータ224を入力する。XMLデータ
224に要素Bがなければ終わり(図6のステップA3
01)、要素Bがあれば最初の要素Bを要素B1とする
(ステップA302)。要素B1の子要素Cの子要素E
を要素Cから取り除き、要素B1の子要素として追加す
る(ステップA303)。ここでC,Eは変数である。
要素B1から要素Cを削除する(ステップA304)。
次の要素BがあればステップA306へ、なければ終わ
る(ステップA305)。ステップA306では次の要
素BをB1としてステップA303へ戻る。終了時には
総ての要素C、要素Eの変換が行われたXMLデータ2
24をXMLデータ226とする。
【0017】データ格納手段205は、データ変換手段
204からXMLデータ226を、データ変換手段20
3からXMLデータ225を、データ変換手段203か
らXMLデータ223を入力する。XMLデータ226
に要素BがなければステップA407へ進む(図7のス
テップA401)。XMLデータ226に要素Bがあれ
ばXMLデータ226の最初の要素Bを要素B1とする
(ステップA402)。次にテーブルAに行A1を追加
する(ステップA403)。ここでA1は変数である。
次に要素B1の子要素Eの内容を行A1の列Eに格納す
る(ステップA404)。次の要素Bがあればステップ
A406へ、なければステップA407へ進む(ステッ
プA405)。ステップA406では次の要素BをB1
とし、ステップA403へ戻る。ステップA407で
は、XMLデータ225に要素DがなければステップA
413へ進み、要素DがあればステップA408へ進
む。ステップA408ではXMLデータ225の最初の
要素Dを要素D1とする。テーブルYに行Y1を追加す
る(ステップA409)。ここでY1は変数である。次
に要素D1の子要素Gの内容を行Y1の列Gに格納する
(ステップA410)。ここでGは変数である。次の要
素DがあればステップA412へ、なければステップA
413へ進む(ステップA411)。ステップA412
では次の要素DをD1としてステップA409へ戻る。
ステップA413ではXMLデータ223に要素Fがな
ければ終わり、要素FがあればステップA414へ進
む。ステップA414では、XMLデータ223の最初
の要素Fを要素F1とする。テーブルXに行X1を追加
する(ステップA415)。次に要素F1の子要素Iの
内容を行X1の列Iに格納する(ステップA416)。
ここでX1,Iは変数である。次に要素F1の子要素J
の内容を行X1の列Jに格納する(ステップA41
7)。ここでJは変数である。次に、次の要素Fがあれ
ばステップA419へ、なければ終了する(ステップA
418)。ステップA419では次の要素FをF1とし
てステップA415へ戻る。以上で処理が終了する。
【0018】次に、図3に示すXMLデータ221を入
力する場合の具体例を用いて説明する。XMLデータ2
21をデータ変換手段202へ入力する。データ変換手
段202では、要素Xをルート要素とする新しいXML
データ223を生成する(図4のステップA101)
(図8(a)参照)。図3に示すXMLデータ221の
最初の要素B、要素B01を取り出す(ステップA10
3)。要素B01の最初の要素F、要素F01取り出す
(ステップA105)。F01をB01から取り除き要
素Xに追加する(ステップA106)(図8(b)(図
8の右上))。要素B01の次の要素F、要素F02を
取り出す(ステップA108)。F02をB01から取
り除き要素Xに追加する(ステップA106)(図8
(c))。次の要素B、要素B02を取り出す(ステッ
プA110)。要素B02の最初の要素F、要素F03
取り出す(ステップA105)。F03をB02から取
り除き要素Xに追加する(ステップA106)(図8
(d))。総ての要素Fが取り除かれたXMLデータ2
21をXMLデータ222(図8(e))とする。
【0019】データ変換手段203はデータ変換手段2
02から図8(e)に示すXMLデータ222を入力す
る。要素Yをルート要素とする新しいXMLデータ22
5を生成する(図5のステップA201)(図9
(a))。図8(e)のXMLデータ222の最初の要
素B、要素B01を取り出す(ステップA203)。要
素B01の子要素の要素D、要素D01を取り出す(ス
テップA204)。D01をB01から取り除き要素Y
の子要素として追加する(ステップA205)(図9
(b)(図9の右上))。要素D01の子要素の要素
D、要素D02を取り出す(ステップA207)。D0
2をD01から取り除き要素Yの子要素として追加する
(ステップA205)(図9(c))。次の要素B、要
素B02を取り出す(ステップA209)。要素B02
の子要素の要素D、要素D03をB02から取り除き要
素Yの子要素として追加する(ステップA205)(図
9(d))。総ての要素Dが取り除かれたXMLデータ
222をXMLデータ224とする(図9(e))。
【0020】データ変換手段204はデータ変換手段2
03から図9(e)に示すXMLデータ224を入力す
る。XMLデータ224の最初の要素B、要素B01を
取り出す(ステップA302)。要素B01の子要素C
(C01)の子要素E(E01)を要素Cから取り除き
要素B01の子要素として追加する(ステップA30
3)(図10(a))。要素B01から要素Cを削除す
る(ステップA304)(図10(b))。次の要素
B、要素B02を取り出す(ステップA306)。要素
B02の子要素C(C02)の子要素E(E02)を要
素Cから取り除き要素B02の子要素として追加する
(ステップA303)(図10(c))。要素B02か
ら要素Cを削除する(ステップA304)(図10
(d))。総ての要素C、要素Eの変換が行われたXM
Lデータ224をXMLデータ226とする(図10
(e))。
【0021】データデータ格納手段205は変換手段2
04から図10(e)に示すXMLデータ226を、デ
ータ変換手段203から図9(d)に示すXMLデータ
225を、データ変換手段203から図8(d)に示す
XMLデータ223を入力する。XMLデータ226の
最初の要素B、要素B01を取り出す(図7のステップ
A402)。テーブルAに行A01を追加する(ステッ
プA403)(図11(a))。要素B01の子要素E
の内容を行A1の列Eに格納する(ステップA404)
(図11(b))。次の要素B、要素B02を取り出す
(ステップA406)。テーブルAに行A02を追加す
る(ステップA403)(図11(c))。要素B02
の子要素Eの内容を行A2の列Eに格納する(ステップ
A404)(図11(d))。XMLデータ225の最
初の要素D、要素D01を取り出す(ステップA40
8)。テーブルYに行Y01を追加する(ステップA4
09)(図11(e))。XMLデータ225の要素D
01の子要素Gの内容を行Y01の列Gに格納する(ス
テップA410)(図11(f))。次の要素D、要素
D02を取り出す(ステップA412)。テーブルYに
行Y02を追加する(ステップA409)。要素D02
の子要素Gの内容を行Y02の列Gに格納する(ステッ
プA410)。次の要素D、要素D03を取り出す。テ
ーブルYに行Y03を追加する(ステップA409)。
要素D03の子要素Gの内容を行Y03の列Gに格納す
る(ステップA410)(図11(g))。XMLデー
タ223の最初の要素F、要素F01を取り出す(ステ
ップA414)。テーブルXに行X01を追加する(ス
テップA415)(図11(h))。要素F01の子要
素Iの内容を行X01の列Iに格納する(ステップA4
16)。要素F01の子要素Jの内容を行X01の列J
に格納する(ステップA417)(図11(i))。次
の要素F、要素F02を取り出す(ステップA41
9)。テーブルXに行X02を追加する(ステップA4
15)(図11(j))。要素F02の子要素Iの内容
を行X02の列Iに格納する(ステップA416)。要
素F02の子要素Jの内容を行X02の列Jに格納する
(ステップA417)(図11(k))。次の要素F、
要素F03を取り出す(ステップA419)。テーブル
Xに行X03を追加する(ステップA415)(図11
(l))。要素F03の子要素Iの内容を行X03の列
Iに格納する(ステップA416)。要素F03の子要
素Jの内容を行X03の列Jに格納する(ステップA4
17)(図11(m))。
【0022】本実施形態によれば次のような効果を得る
ことができる。第1の効果は、タグの繰り返し構造を含
むXML文書をテーブル形式のデータベースに格納でき
ることにある。その理由は、タグの繰り返し構造を持つ
部分を別のデータとして括り出しテーブル形式に格納で
きる形に変換したためである。第2の効果は、再帰的タ
グ構造を含むXML文書をテーブル形式のデータベース
に格納できることにある。その理由は、再帰的タグ構造
を持つ部分を別のデータとして括り出しテーブル形式に
格納できる形に変換したためである。第3の効果は、3
レベル以上のタグ入れ子構造を含むXML文書をテーブ
ル形式のデータベースに格納できることにある。その理
由は、3レベル以上の入れ子構造を持つ部分の要素を上
位の要素へ移動しテーブル形式のデータベースに格納で
きる形に変換したためである。
【0023】[発明の他の実施形態]次に、本発明の他
の実施形態について図面を参照して詳細に説明する。図
12を参照すると、本発明のXMLデータ格納装置の他
の実施形態は、XMLデータ入力手段301と、データ
変換手段302と、データ格納手段303と、データベ
ース311から構成されている。XMLデータ321の
例を図13に示す。XMLデータ321はルート要素A
から構成されている。要素Aは要素Bの繰り返し(B0
1,B02)で構成されている。要素B01は要素C
(CT02)と文字列の繰り返し(CT01,CT0
3)から構成されている。要素B02は要素Cの繰り返
し(CT04,CT06)と文字列(CT05)から構
成されている。
【0024】上記各手段はそれぞれ概略つぎのような機
能を有する。データ入力手段301は、XMLデータ3
21を入力しデータ変換手段302へ渡す。データ変換
手段302は、XMLデータ321の内部の繰り返し要
素である要素Cと文字列を分離しXMLデータ322と
XMLデータ323とする。データ格納手段303は、
XMLデータ323をテーブルXに格納する。要素Cの
内容を列Cに、文字列を列TEXTに、要素Bの位置情
報を列IDに格納する。
【0025】次に、図14及び図15のフローチャート
を参照して本実施形態の全体の動作について詳細に説明
する。XMLデータ321をデータ変換手段302へ入
力する。要素Xをルート要素とする新しいXMLデータ
323を生成する(図14のステップA501)。XM
Lデータ321に要素Bがなければ終わる(ステップA
502)。最初の要素Bを要素B1とする(ステップA
503)。要素B1の順序位置をID1とする(ステッ
プA504)。要素B1に要素Cか文字列がなければA
514へ進む(ステップA505)。要素B1に要素C
か文字列があれば、要素B1の最初の要素Cか文字列を
CT1とする(ステップA506)。要素Yを生成しY
1とする(ステップA507)。要素XにY1を追加す
る(ステップA508)。CT1をB1から取り除き要
素Y1に追加する(ステップA509)。要素Y1に要
素IDを追加する(ステップA510)。要素IDの内
容としてID1を設定する(ステップA511)。要素
B1に次の要素Cか文字列があればステップA513
へ、なければステップA514へ進む(ステップA51
2)。次の要素Cか文字列をCT1とする(ステップA
513)。次の要素BがあればステップA515へ、な
ければ終わる(ステップA514)。次の要素BをB1
とする(ステップA515)。要素Bの子の総ての要素
Fと文字列が取り除かれたXMLデータ321をXML
データ322とする。
【0026】データ格納手段303はデータ変換手段3
02からXMLデータ323を入力する。XMLデータ
323に要素Yがなければ終わる(図15のステップA
601)。XMLデータ323の最初の要素Yを要素Y
1とする(ステップA602)。テーブルXに行X1を
追加する(ステップA603)。要素Y1に子要素Cが
あれば内容を行X1の列Cに格納する(ステップA60
4、A605)。要素Y1に文字列があれば行X1の列
TEXTに格納する(ステップA606、A607)。
要素Y1の子要素IDの内容を列X1の要素IDに格納
する(ステップA608)。次の要素Bがあればステッ
プA610へ、なければ終わる。次の要素BをB1とす
る(ステップA610)。次に、具体例について説明す
る。
【0027】XMLデータ321をデータ変換手段30
2へ入力する。要素Xをルート要素とする新しいXML
データ323を生成する(図14のステップA50
1)。最初の要素B、要素B01を取り出す(ステップ
A503)。要素B01の順序位置1をID1とする
(ステップA504)。要素B01の最初の文字列CT
01を取り出す(ステップA506)。要素Yを生成し
Y01とする(ステップA507)。要素XにY01を
追加する(ステップA508)。CT01をB01から
取り除き要素Y01に追加する(ステップA509)。
要素Y01に要素IDを追加する(ステップA51
0)。要素IDの内容としてID1の値1を設定する
(ステップA511)。次の要素C、要素CT02を取
り出す(ステップA513)。要素Yを生成しY02と
する(ステップA507)。要素XにY02を追加する
(ステップA508)。CT02をB01から取り除き
要素Y02に追加する(ステップA509)。要素Y0
2に要素IDを追加する(ステップA510)。要素I
Dの内容としてID1の値1を設定する(ステップA5
11)。次の文字列、CT03を取り出す(ステップA
513)。要素Yを生成しY03とする(ステップA5
07)。要素XにY03を追加する(ステップA50
8)。CT03をB01から取り除き要素Y03に追加
する(ステップA509)。要素Y03に要素IDを追
加する(ステップA510)。要素IDの内容としてI
D1の値1を設定する(ステップA511)。次の要素
B、要素B02を取り出す(ステップA515)。要素
B02の順序位置2をID1とする(ステップA50
4)。要素B02の最初の要素C、要素CT04を取り
出す(ステップA506)。要素Yを生成しY04とす
る(ステップA507)。要素XにY01を追加する
(ステップA508)。CT04をB02から取り除き
要素Y04に追加する(ステップA509)。要素Y0
4に要素IDを追加する(ステップA510)。要素I
Dの内容としてID1の値2を設定する(ステップA5
11)。次の文字列、CT05を取り出す(ステップA
513)。要素Yを生成しY05とする(ステップA5
07)。要素XにY05を追加する(ステップA50
8)。CT05をB02から取り除き要素Y05に追加
する(ステップA509)。要素Y05に要素IDを追
加する(ステップA510)。要素IDの内容としてI
D1の値2を設定する(ステップA511)。次の要素
C、CT06を取り出す(ステップA513)。要素Y
を生成しY06とする(ステップA507)。要素Xに
Y06を追加する(ステップA508)。CT06をB
02から取り除き要素Y06に追加する(ステップA5
09)。要素Y06に要素IDを追加する(ステップA
510)。要素IDの内容としてID1の値2を設定す
る(ステップA511)。要素Bの子の総ての要素Cと
文字列が取り除かれたXMLデータ321をXMLデー
タ322とする。作成されたXMLデータ323を図1
6に示す。
【0028】データ格納手段303はデータ変換手段3
02からXMLデータ323を入力する。XMLデータ
323の最初の要素Y、要素Y01を取り出す(図15
のステップA602)。テーブルXに行X01を追加す
る(ステップA603)。要素Y01の文字列を行X0
1の列TEXTに格納する(ステップA607)。要素
Y01の子要素IDの内容を行X01の列IDに格納す
る(ステップA608)。次の要素Y、要素Y02を取
り出す(ステップA610)。テーブルXに行X02を
追加する(ステップA603)。要素Y02の子要素C
の内容を行X02の列Cに格納する(ステップA60
5)。要素Y02の子要素IDの内容を行X02の列I
Dに格納する(ステップA608)。次の要素Y、要素
Y03を取り出す(ステップA610)。テーブルXに
行X03を追加する(ステップA603)。要素Y03
の文字列を行X01の列TEXTに格納する(ステップ
A607)。要素Y03の子要素IDの内容を列X03
の列IDに格納する(ステップA608)。次の要素
Y、要素Y04を取り出す(ステップA610)。テー
ブルXに行X04を追加する(ステップA603)。要
素Y04の子要素Cの内容を行X04の列Cに格納する
(ステップA605)。要素Y04の子要素IDの内容
を行X04の列IDに格納する(ステップA608)。
次の要素Y、要素Y05を取り出す(ステップA61
0)。テーブルXに行X05を追加する(ステップA6
03)。要素Y05の文字列を行X05の列TEXTに
格納する(ステップA607)。要素Y05の子要素I
Dの内容を列X05の列IDに格納する(ステップA6
08)。次の要素Y、要素Y06を取り出す(ステップ
A610)。テーブルXに行X06を追加する(ステッ
プA603)。要素Y06の子要素Cの内容を行X06
の列Cに格納する(ステップA605)。要素Y06の
子要素IDの内容を行X06の列IDに格納する(ステ
ップA608)。作成されたテーブルXを図17に示
す。
【0029】本実施形態の第1の効果は、文字列、要素
が混在した繰り返しがテーブル形式のデータベースに格
納できることである。その理由は、タグと文字列の繰り
返し構造を持つ部分を要素あるいは文字列を内容として
持つ要素で括り、別のデータとして括り出しテーブル形
式に格納できる形に変換したためである。第2の効果
は、テーブル形式のデータベースに格納された文字列、
要素のデータの元の位置情報を格納できることにある。
その理由は、文字列や要素を括り出す時に親要素の位置
情報を付加し、その情報もテーブルに格納したためであ
る。
【0030】なお、本発明の実施の形態は上述した形態
に限定されるものではなく適宜変更可能である。例え
ば、各実施形態における変換手段の位置は他の変換手段
と交換可能である。図2を参照して説明した実施形態
に、図18を参照して説明した実施形態で用いた要素の
位置情報を表す要素を追加する構成を付加することなど
が考えられる。また、本発明のデータ格納装置は、コン
ピュータとそのコンピュータで実行されるプログラムと
を用いて実現することができ、そのコンピュータで実行
されるプログラムはコンピュータ読み取り可能な記録媒
体あるいは通信回線を介して頒布することが可能であ
る。
【0031】
【発明の効果】以上説明したように発明によれば、次の
ような効果を得ることができる。第1の効果は、タグの
繰り返し構造を含むXML文書をテーブル形式のデータ
ベースに格納できることにある。その理由は、タグの繰
り返し構造を持つ部分を別のデータとして括り出しテー
ブル形式に格納できる形に変換したためである。第2の
効果は、再帰的タグ構造を含むXML文書をテーブル形
式のデータベースに格納できることにある。その理由
は、再帰的タグ構造を持つ部分を別のデータとして括り
出しテーブル形式に格納できる形に変換したためであ
る。第3の効果は、3レベル以上のタグ入れ子構造を含
むXML文書をテーブル形式のデータベースに格納でき
ることにある。その理由は、3レベル以上の入れ子構造
を持つ部分の要素を上位の要素へ移動しテーブル形式の
データベースに格納できる形に変換したためである。第
4の効果は、文字列、要素が混在した繰り返しがテーブ
ル形式のデータベースに格納できることである。その理
由は、タグと文字列の繰り返し構造を持つ部分を要素あ
るいは文字列を内容として持つ要素で括り、別のデータ
として括り出しテーブル形式に格納できる形に変換した
ためである。第5の効果は、テーブル形式のデータベー
スに格納された文字列、要素のデータの元の位置情報を
格納できることにある。その理由は、文字列や要素を括
り出す時に親要素の位置情報を付加し、その情報もテー
ブルに格納したためである。
【図面の簡単な説明】
【図1】 本発明によるデータ格納装置の一実施の形態
の構成を示すブロック図。
【図2】 本発明によるデータ格納装置の一実施の形態
の構成を示すブロック図。
【図3】 図2のXMLデータ221の一例を示す図。
【図4】 図2の構成(データ変換手段202)の動作
を示すフローチャート。
【図5】 図2の構成(データ変換手段203)の動作
を示すフローチャート。
【図6】 図2の構成(データ変換手段204)の動作
を示すフローチャート。
【図7】 図2の構成(データ格納手段205)の動作
を示すフローチャート。
【図8】 図2におけるデータ変換手段202によるX
MLデータ223の作成経過(a)〜(d)と作成され
たXMLデータ222(e)を示す図。
【図9】 図2におけるデータ変換手段203によるX
MLデータ225の作成経過(a)〜(d)と作成され
たXMLデータ224(e)を示す図。
【図10】 図2におけるデータ変換手段204による
XMLデータ224の変換経過(a)〜(d)と作成さ
れたXMLデータ226(e)を示す図。
【図11】 図2におけるデータ格納手段205による
データベース211内のテーブルA,X,Yの作成経過
(a)〜(m)を示す図。
【図12】 本発明によるデータ格納装置の他の実施の
形態の構成を示すブロック図。
【図13】 図12のXMLデータ321の一例を示す
図。
【図14】 図12の構成(データ変換手段302)の
動作を示すフローチャート。
【図15】 図12の構成(データ格納手段303)の
動作を示すフローチャート。
【図16】 図12においてデータ変換手段302によ
って作成されたXMLデータ323の内容の一例を示す
図。
【図17】 図12のデータ格納手段305によるデー
タベース311内のテーブルXの作成例を示す図。
【図18】 従来のデータ格納装置の構成を示すブロッ
ク図。
【図19】 図18のXMLデータ421の内容を示す
図。
【図20】 図18のテーブル422の内容を示す図。
【符号の説明】 101〜106,221〜226,321〜323…X
MLデータ 111〜113,202〜204,302…データ変換
手段 201,301…データ入力手段 121,211,311…データベース 114…データ更新手段 205,303…データ格納手段
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/00 520 G06F 12/00 520J

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 XML(eXtensible Markup Language)
    データを表形式のデータに変換して所定の記憶手段に格
    納するデータ格納装置において、 変換すべきXMLデータに複数階層の入れ子構造で含ま
    れる下位の要素を上位の要素へ繰り上げる変換を行う変
    換手段と、 変換された要素をテーブルに格納する格納手段とを備え
    ることを特徴とするデータ格納装置。
  2. 【請求項2】 前記変換すべきXMLデータが3階層以
    上の入れ子構造を有していることを特徴とする請求項1
    記載のデータ格納装置。
  3. 【請求項3】 XML(eXtensible Markup Language)
    データを表形式のデータに変換して所定の記憶手段に格
    納するデータ格納装置において、 変換すべきXMLデータに含まれる内部の繰り返し構造
    を括り出して新たなルート要素の下に分離する変換手段
    と、 変換された要素を各ルート要素に対応する複数のテーブ
    ルに分割して格納する格納手段とを備えることを特徴と
    するデータ格納装置。
  4. 【請求項4】 XML(eXtensible Markup Language)
    データを表形式のデータに変換して所定の記憶手段に格
    納するデータ格納装置において、 変換すべきXMLデータに含まれる再帰的なタグ構造を
    繰り返し構造に変換する変換手段と、 変換された要素をテーブルに格納する格納手段とを備え
    ることを特徴とするデータ格納装置。
  5. 【請求項5】 XML(eXtensible Markup Language)
    データを表形式のデータに変換して所定の記憶手段に格
    納するデータ格納装置において、 変換すべきXMLデータに含まれる要素の位置を示す情
    報を作成するとともに、そのXMLデータにに入れ子構
    造で含まれる下位の要素を上位の要素へ繰り上げる変換
    を行う変換手段と、 変換された要素を、位置対応情報とともにテーブルに格
    納する格納手段とを備えることを特徴とするデータ格納
    装置。
  6. 【請求項6】 XML(eXtensible Markup Language)
    データを表形式のデータに変換して所定の記憶手段に格
    納するデータ格納装置において、 XMLデータに複数階層の入れ子構造で含まれる下位の
    要素を上位の要素へ繰り上げる変換を行う第1の変換手
    段と、 XMLデータに含まれる内部の繰り返し構造を括り出し
    て新たなルート要素の下に分離する第2の変換手段と、 XMLデータに含まれる再帰的なタグ構造を繰り返し構
    造に変換する第3の変換手段と、 変換された要素を各ルート要素に対応する複数のテーブ
    ルに分割して格納する格納手段とを備えることを特徴と
    するデータ格納装置。
  7. 【請求項7】 XML(eXtensible Markup Language)
    データを表形式のデータに変換して所定の記憶手段に格
    納するデータ格納方法において、 変換すべきXMLデータに複数階層の入れ子構造で含ま
    れる下位の要素を上位の要素へ繰り上げる変換を行う第
    1の変換過程と、 変換すべきXMLデータに含まれる内部の繰り返し構造
    を括り出して新たなルート要素の下に分離する第2の変
    換過程と、 変換すべきXMLデータに含まれる再帰的なタグ構造を
    繰り返し構造に変換する第3の変換過程と、 変換された要素を各ルート要素に対応する複数のテーブ
    ルに分割して格納する格納過程とを含んでいることを特
    徴とするデータ格納方法。
JP2000311114A 2000-10-11 2000-10-11 データ格納装置及び方法 Expired - Fee Related JP3719125B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000311114A JP3719125B2 (ja) 2000-10-11 2000-10-11 データ格納装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000311114A JP3719125B2 (ja) 2000-10-11 2000-10-11 データ格納装置及び方法

Publications (2)

Publication Number Publication Date
JP2002117020A true JP2002117020A (ja) 2002-04-19
JP3719125B2 JP3719125B2 (ja) 2005-11-24

Family

ID=18790937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000311114A Expired - Fee Related JP3719125B2 (ja) 2000-10-11 2000-10-11 データ格納装置及び方法

Country Status (1)

Country Link
JP (1) JP3719125B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004104857A1 (ja) * 2003-05-22 2004-12-02 Sharp Kabushiki Kaisha データ処理装置、データ処理方法、データ処理プログラム、およびデータ処理プログラムを記録したコンピュータ読取可能な記録媒体
WO2008015788A1 (fr) * 2006-07-31 2008-02-07 Justsystems Corporation Dispositif de traitement de documents et procédé de traitement de documents
CN100385439C (zh) * 2003-05-22 2008-04-30 夏普株式会社 数据处理装置及数据处理方法
WO2008111314A1 (ja) * 2007-03-14 2008-09-18 Justsystems Corporation データ処理装置及びデータ処理方法
WO2008126346A1 (ja) * 2007-03-13 2008-10-23 Justsystems Corporation 文書処理装置及び文書処理方法
JP2015158767A (ja) * 2014-02-24 2015-09-03 富士通株式会社 情報処理装置,データ変換プログラム,及びデータ変換方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004104857A1 (ja) * 2003-05-22 2004-12-02 Sharp Kabushiki Kaisha データ処理装置、データ処理方法、データ処理プログラム、およびデータ処理プログラムを記録したコンピュータ読取可能な記録媒体
CN100385439C (zh) * 2003-05-22 2008-04-30 夏普株式会社 数据处理装置及数据处理方法
WO2008015788A1 (fr) * 2006-07-31 2008-02-07 Justsystems Corporation Dispositif de traitement de documents et procédé de traitement de documents
WO2008126346A1 (ja) * 2007-03-13 2008-10-23 Justsystems Corporation 文書処理装置及び文書処理方法
WO2008111314A1 (ja) * 2007-03-14 2008-09-18 Justsystems Corporation データ処理装置及びデータ処理方法
JP2015158767A (ja) * 2014-02-24 2015-09-03 富士通株式会社 情報処理装置,データ変換プログラム,及びデータ変換方法
US10268644B2 (en) 2014-02-24 2019-04-23 Fujitsu Limited Information processing apparatus, computer-readable recording medium having stored therein data conversion program, and data conversion method

Also Published As

Publication number Publication date
JP3719125B2 (ja) 2005-11-24

Similar Documents

Publication Publication Date Title
US10831449B2 (en) Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
US10303441B2 (en) Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
JP6065008B2 (ja) 制御装置
EP2196919B1 (en) User interface and methods for building structural queries
JP7384713B2 (ja) データ補完システム、およびデータ補完方法
CN110489625A (zh) 一种网页数据采集模板的生成方法和装置
JP2002117020A (ja) データ格納装置及び方法
CN111443904A (zh) 一种生成可执行代码的方法及计算机可读存储介质
Safdar et al. Evaluating variability modeling techniques for supporting cyber-physical system product line engineering
Brenig Reducing nonlinear dynamical systems to canonical forms
Quishpi et al. Extracting decision models from textual descriptions of processes
Subbotin et al. Knowledge-based recommendation system for embedded systems platform-oriented design
Murray et al. Information fusion-2-text: Explainable aggregation via linguistic protoforms
CN111814495B (zh) 一种基于svg的电路图到盲文转换方法及系统
Cao et al. Resistance furnace temperature control system based on OPC and MATLAB
Garanina et al. An ontology-based approach to support formal verification of concurrent systems
Zhang et al. A meta-model of computer numerical controlled part programming languages
JP7343820B2 (ja) オントロジを用いた文章データ解析情報生成装置、文章データ解析情報生成方法、および文章データ解析情報生成プログラム
Ha et al. Ontology-driven visualization system for semantic searching
EP0503944A2 (en) Command generator for a data processing system
CN115203360A (zh) 用于在工业数据网络中的服务器与客户端之间交换数据的系统和方法
KR102509859B1 (ko) Plc 래더정보로부터 공용 명령어정보를 추출하는 장치 및 방법
EP4072099B1 (en) System and method for exchanging data between a server and a client in an industrial data network
Das et al. A confidence machine for sparse high‐order interaction model
EP4258067A1 (en) System and computer-implemented method to generate a configuration for external datapoint access

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040322

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050829

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090916

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090916

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100916

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110916

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120916

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130916

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees