(57)【特許請求の範囲】
【請求項１】
構造化文書を保持する構造化文書保持部と、
構造化文書から予め定めた要素名の開始タグと終了タグに挟まれた部分領域を取得する部分領域取得部と、
取得した部分領域を１層構造に変換する構造変換部と、
構造化文書の部分領域を、変換した構造化文書に置き換えて出力する構造化文書出力部を備え、
前記構造変換部は、部分領域の各要素を取得する要素取得手段と、
前記部分領域から要素名を入れ子の内側から外側の順に取得する要素名取得手段と、
取得した順に並べた要素名の間に予め区切りコードを挟んだ文字列を生成する文字列生成手段と、
１層構造にしたときの要素名を、前記文字列生成手段により生成した文字列にする要素名生成手段と、
生成した要素名のタグで各要素を挟んで構造化文書を生成する構造化文書生成手段、
とを有することを特徴とする構造化文書変換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＸＭＬ文書などの構造化文書の構造変換に利用する構造化文書変換装置に関する。
【０００２】
近年、インターネットを通じて複数のシステム、企業、個人が繋がれ、ＥＤＩ（Electronic Data Interchange ：電子取引）、ＥＣ（Electronic Commerce ：電子商取引）、携帯電話サービスやデジタルテレビ向けのサービス、Ｗｅｂサービスなど、幅広いデータ交換が行われるようになってきている。このような状況に合わせて、計算機で扱うデータの形式を統一する動きがある。
【０００３】
これまで、計算機あるいはアプリケーションによってばらばらであったデータ形式を異なる計算機、アプリケーションでも使用できるようにするものである。この統一のための規則はＸＭＬ（eXtensible Markup Language）として１９９８年２月にＷ３Ｃ（World Wide Web Consortium ）によって正式に勧告されている。ＸＭＬ規則は、同様の規則ＳＧＭＬ（Stsndard Generated Markup Language）のサブセットになっている。
【０００４】
また、ＸＭＬ文書をメモリ上のオブジェクトに展開し、そのオブジェクトを扱うインタフェースの規格ＤＯＭ（Document Object Model ）も１９９８年１０月にＷ３Ｃによって勧告されている。
【０００５】
【従来の技術】
従来、前記のように、ＸＭＬ文書などの構造化文書が知られていた。このような構造化文書において、以下では、ＸＭＬ規則に基づき、「＜」と「＞」で囲まれた文字列をタグ、「＜文字列＞」を開始タグ、「＜／文字列＞」を終了タグ、開始タグと終了タグで挟まれた文字列を要素、タグ内に記述される要素の名前を要素名、要素に対する付加情報を属性と呼ぶようにする。
【０００６】
構造化文書は、文書自身の中にタグを埋め込む形で、データ構造を記述する。データ構造をタグとして文書に埋め込んだ構成をとることにより、データ構造の柔軟性／拡張性の高さを持っている。また、タグを人が見て意味のあるテキストで記述することにより、それまで独立のシステムで扱っていたデータを他のシステムでも容易に扱うことができる。
【０００７】
【発明が解決しようとする課題】
前記のような従来のものにおいては、次のような課題があった。例えばＸＭＬ文書は、木構造のデータ構造をとることができ、深い階層も表現できる。また、階層構造の方が、人は整理し易く、データ操作にも間違いが少ない。しかし、処理システム上は、階層が深くなるにつれ、構造を表すためのメモリ量（記憶容量）が多く必要になり、データアクセス効率も悪くなる。
【０００８】
本発明はこのような従来の課題を解決し、構造化文書の階層を浅くすることにより、動作記憶容量の削減を可能にすると共に、データアクセス効率を改善することを目的とする。
【０００９】
【課題を解決するための手段】
本発明は前記の目的を達成するため、次のように構成した。
【００１０】
(1) ：構造化文書変換装置において、構造化文書を保持する構造化文書保持部と、構造化文書から予め定めた要素名の開始タグと終了タグに挟まれた部分領域を取得する部分領域取得部と、取得した部分領域を１層構造に変換する構造変換部と、構造化文書の部分領域を、変換した構造化文書に置き換えて出力する構造化文書出力部を備え、前記構造変換部は、部分領域の各要素を取得する要素取得手段と、前記部分領域から要素名を入れ子の内側から外側の順に取得する要素名取得手段と、取得した順に並べた要素名の間に予め区切りコードを挟んだ文字列を生成する文字列生成手段と、１層構造にしたときの要素名を、前記文字列生成手段により生成した文字列にする要素名生成手段と、生成した要素名のタグで各要素を挟んで構造化文書を生成する構造化文書生成手段とを有することを特徴とする。
【００１５】
（作用）
(a) ：前記(1) では、部分領域取得部が構造化文書保持部に保持している構造化文書から、予め定めた要素名の開始タグと終了タグに挟まれた部分領域を取得し、構造変換部が前記取得した部分領域を１層構造に変換する。そして、構造化文書出力部は、構造化文書の部分領域を、前記変換した構造化文書に置き換えて出力する。
【００１６】
このようにして、構造化文書変換装置は、構造化文書の予め定めた要素名の開始タグと終了タグに挟まれた部分領域を１層構造に変換して出力する。従って、構造化文書の階層を浅くすることができ、動作記憶容量の削減を可能にすると共に、データアクセス効率を改善することができる。
【００１７】
また、要素取得手段が部分領域の各要素を取得し、要素名取得手段が前記部分領域から要素名を入れ子の内側から外側の順に取得し、文字列生成手段が取得した順に並べた要素名の間に予め区切りコードを挟んだ文字列を生成し、要素名生成手段が１層構造にしたときの要素名を、前記文字列生成手段により生成した文字列にし、構造化文書生成手段が生成した要素名のタグで各要素を挟んで構造化文書を生成する。
【００１８】
このようにして、構造変換部は１層構造にしたときの要素名を、入れ子になっている要素名を結合して生成する。従って、構造化文書の記述規則に準拠したままで構造化文書の階層を浅くすることができ、変換後の構造化文書を既存の構造化文書処理システムで扱え、動作記憶容量の削減を可能にすると共に、データアクセス効率を改善することができる。
【００２０】
また、構造変換部は１層構造にしたときの要素名を、入れ子の内側から外側の順に要素名を並べ、間に予め区切りコードを挟んだものとする。従って、構造化文書の記述規則に準拠したままで構造化文書の階層を浅くすることができ、変換後の構造化文書を既存の構造化文書処理システムで扱え、動作記憶容量の削減を可能にすると共に、データアクセス効率を改善することができる。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００２４】
§１：構造化文書の構造変換の説明（その１）
構造化文書の構造変換説明図（その１）を図１に示し、構造化文書の構造変換説明図（その２）を図２に示す。図１、２において、(a) はテキストベースの変換、(b) はオブジェクトベースの変換、(c) はクエリーの変換を示す。
【００２５】
図１、２に示した変換は、構造化文書の階層を浅くすることにより、動作記憶容量の削減を可能にすると共に、データアクセス効率を改善し、処理装置や処理システムの性能向上を図るための処理である。以下、具体例について前記構造変換処理を説明する。
【００２６】
(1) ：テキストベースの構造変換例
この構造変換例は、図１の(a) 図に示したように、テキストベースでの変換例であり、入れ子の外側の要素名とその内側の要素名を区切りコード（例えば、「−」）で繋ぎあわせて新しい要素名とすることによって構造変換を行う例である。この例では、元のデータの入れ子が３層になっていたのを、前記構造変換により入れ子を１階層に変換しており、構造化文書の階層を浅くすることができた。
具体的には次の通りである。
【００２７】
図１の例では、「氏名」と「姓」を「−」で繋ぎ、「氏名」と「名」を「−」で繋ぐ。また、「会社」と「住所」と「郵便番号」を「−」で繋ぎ、「会社」と「住所」と「住所」を「−」で繋ぎ、「会社」と「電話」と「外線」を「−」で繋ぎ、「会社」と「電話」と「内線」を「−」で繋いでいる。このような変換により、３階層から１階層への構造変換が行われる。
【００２８】
(2) ：オブジェクトベースの構造変換例
図２の(b) 図において、「名簿」、「個人」、「氏名」、「会社」、「住所」、「電話」、「姓」、「名」、「郵便番号」、「住所」、「外線」、「内線」はそれぞれ「ノード」と呼び、前記「名簿」が「個人」の、「個人」が「氏名」及び「会社」の、「氏名」が「姓」及び「名」の「親ノード」であり、「姓」及び「名」が「氏名」の、「氏名」及び「会社」が「個人」の「子ノード」である。
【００２９】
また、図の破線で囲まれた部分のように、１つのノードから派生して構成された木を「部分木」と呼び、一番元のノード、図では「個人」を「根」と呼び、「姓」、「名」、「郵便番号」、「住所」、「外線」、「内線」をそれぞれ「葉」と呼ぶ。
【００３０】
この変換例は、図２の(b) 図に示したように、オブジェクトベースの変換例であり、親ノードの要素名とその子ノードの要素名を区切りコード（例えば、「−」）で繋ぎあわせて親ノードの層の要素名とすることによって構造変換を行う例である。この例では、元のデータの入れ子が３層になっていたのを、前記構造変換により入れ子を１階層に変換しており、構造化文書の階層を浅くすることができた。具体的には次の通りである。
【００３１】
図の点線で囲まれた部分木内では、元のオブジェクトベースは３階層（例えば、「会社」、「電話」、「内線」）である。この３階層のクラスタ毎に図示矢印で示された構造変換を行うと、前記クラスタが１階層になる。
【００３２】
この場合、「氏名」と「姓」が「−」で繋がれ、「氏名」と「名」が「−」で繋がれ、「会社」と「住所」と「郵便番号」が「−」で繋がれ、「会社」と「住所」と「住所」が「−」で繋がれ、「会社」と「電話」と「外線」が「−」で繋がれ、「会社」と「電話」と「内線」が「−」で繋がれている。このような変換により、３階層から１階層への構造変換が行われる。
【００３３】
(3) ：クエリーの変換
クエリーの変換では、予め保持している構造変換規則に従って、構造化文書に対するクエリーを変換してから文書処理に渡す処理を行う。例えば、図２の(c) 図に示した例では、「“個人”／“氏名”／“姓”」の３階層の下の要素内容を取得するための記述をクエリーの変換で「“個人−氏名−姓”」の要素内容を取得するための記述に変換する。
【００３４】
§２：構造化文書の構造変換の説明（その２）
構造化文書の構造変換説明図（その３）を図３に示し、構造化文書の構造変換説明図（その４）を図４に示す。図３、４において、(a) はテキストベースの変換、(b) はオブジェクトベースの変換、(c) はクエリーの変換を示す。
【００３５】
図３、４に示した変換は、前記図１、２の例とは逆に、入れ子の内側から外側へ、葉から根の方向へ並べた要素名を生成する構造変換例である。この場合にも、構造化文書の階層を浅くすることにより、動作記憶容量の削減を可能にすると共に、データアクセス効率を改善し、処理装置や処理システムの性能向上を図るための処理である。以下、具体例について前記構造変換処理を説明する。
【００３６】
(1) ：テキストベースの構造変換例
この構造変換例は、図３の(a) 図に示したように、テキストベースでの変換例であり、変換時に入れ子の内側から外側への方向へ要素名を並べる。なお、要素名の並べ方以外は図１の構造変換と同じである。
【００３７】
図３の(a) 図では、変換後のテキストベースを示してあるが、元のデータは図１の(a) 図と同じである。
【００３８】
前記変換後のテキストベースでは、「姓」と「氏名」を「−」で繋ぎ、「名」と「氏名」を「−」で繋ぐ。また、「郵便番号」と「住所」と「会社」を「−」で繋ぎ、「住所」と「住所」と「会社」を「−」で繋ぎ、「外線」と「電話」と「会社」を「−」で繋ぎ、「内線」と「電話」と「会社」を「−」で繋いでいる。このような変換により、３層から１層への構造変換が行われる。
【００３９】
(2) ：オブジェクトベースの構造変換例
この構造変換例は、図４の(b) 図に示したように、オブジェクトベースでの変換例であり、変換時に葉から根の方向へ要素名を並べる。なお、要素名の並べ方以外は図２の構造変換と同じである。図４の(b) 図では、変換後のオブジェクトデータを示してあるが、元のデータは図２と同じである。
【００４０】
図４の(b) 図に示した例では、「姓」と「氏名」が「−」で繋がれ、「名」と「氏名」が「−」で繋がれ、「郵便番号」と「住所」と「会社」が「−」で繋がれ、「住所」と「住所」と「会社」が「−」で繋がれ、「外線」と「電話」と「会社」が「−」で繋がれ、「内線」と「電話」と「会社」が「−」で繋がれている。このような変換により、３階層から１階層への構造変換が行われる。
【００４１】
(3) ：クエリーの変換
クエリーの変換では、予め保持している構造変換規則に従って、構造化文書に対するクエリーを変換してから文書処理に渡す。例えば、図３の(c) 図に示した例では、“姓”の要素内容を取得するための記述を、クエリーの変換で“姓＊”の要素内容を取得するための記述に変換する。なお、前記「＊」は、前方一致の記号であり、「姓」に続く文字は何でも良いことを表している。
【００４２】
§３：構造化文書変換装置及びクエリー変換装置の説明
装置の説明図図５に示す。図５において、(a) 図はテキストベースの構造変換装置、(b) はオブジェクトベースの構造変換装置、(c) はクエリーの変換装置を示す。
【００４３】
(1) ：テキストベースの構造変換装置
テキストベースの構造変換装置は、構造化文書を保持する構造化文書保持部１と、構造化文書保持部１が保持している構造化文書から、予め定めた要素名の開始タグと終了タグに挟まれた部分領域を取得する部分領域取得部２と、部分領域取得部２が取得した部分領域を１階層構造に変換する構造変換部３と、構造化文書の部分領域を、変換した構造化文書に置き換えて出力する構造化文書出力部４と、取得する部分領域を指定する部分領域指定部５（詳細は後述する）を備え、構造化文書の予め定めた要素名の開始タグと終了タグに挟まれた部分領域を１層構造に変換する。
【００４４】
なお、前記テキストベースの構造変換装置は、パーソナルコンピュータ、ワークステーション等の任意のコンピュータにより実現される装置であり、前記構造化文書保持部１、部分領域取得部２、構造変換部３、構造化文書出力部４、部分領域指定部５は、それぞれ前記コンピュータのＣＰＵがプログラムを実行することにより実現するものである。
【００４５】
この装置の処理は次の通りである。構造化文書保持部１に、予め、変換対象の構造化文書を保持しておく。そして、部分領域取得部２は、部分領域指定部５から指定情報を受け取ると、構造化文書保持部１の構造化文書から、前記指定情報で指定された部分領域を取得し、構造変換部３が、前記取得した部分領域に対し、構造変換を行う。
【００４６】
そして、構造化文書出力部４は、前記構造変換部３が変換した部分領域のデータを取り込むと共に、前記変換対象の部分領域以外のデータをそのまま構造化文書保持部１から取り出す。そして、前記構造化文書の部分領域を、前記変換した構造化文書に置き換えて出力する。
【００４７】
(2) ：オブジェクトベースの構造変換装置
オブジェクトベースの構造変換装置は、構造化文書をメモリ上で木構造に展開したオブジェクトを保持するオブジェクト保持部１１と、前記木構造から、予め定めた部分木を取得する部分木取得部１２と、取得した部分木を１階層の木に変換する構造変換部１３と、木構造の指定部分木を、変換した部分木に置き換えて出力するオブジェクト出力部１４と、取得する部分木を指定する部分木指定部１５（詳細は後述する）を備え、構造化文書をメモリ上に展開した木構造の予め定めた部分木を１階層の木に変換する。
【００４８】
なお、前記オブジェクトベースの構造変換装置は、パーソナルコンピュータ、ワークステーション等の任意のコンピュータにより実現される装置であり、前記オブジェクト保持部１１、部分木取得部１２、構造変換部１３、オブジェクト出力部１４、部分木指定部１５は、それぞれ前記コンピュータのＣＰＵがプログラムを実行することにより実現するものである。
【００４９】
この装置の処理は次の通りである。オブジェクト保持部１１に、予めオブジェクトデータを保持しておく。そして、部分木取得部１２は、部分木指定部１５から指定情報を受け取ると、オブジェクト保持部１１のオブジェクトデータから、前記指定情報で指定された部分木を取得し、構造変換部１３は、前記取得した部分木に対し、構造変換を行う。
【００５０】
そして、オブジェクト出力部１４は、前記構造変換部１３が変換した部分木のデータを取り込むと共に、前記変換対象の部分木以外のデータをそのままオブジェクト保持部１１から取り出す。そして、前記オブジェクトデータの部分木を、前記変換したオブジェクトデータに置き換えて出力する。
【００５１】
(3) ：クエリーの構造変換装置
クエリーの構造変換装置は、構造変換規則を保持する構造変換規則保持部２４と、前記構造変換規則に従って、クライアント２１から依頼されたクエリーを変換するクエリー変換部２２を持ち、構造変換規則に従って、構造化文書に対するクエリーを変換してからデータベース処理部２３に渡す。
【００５２】
この場合のシステム（構造化文書処理システム）は、例えば、クライアント・サーバ−システムであり、クライアント２１からサーバへのクエリーの変換要求に応じて、サーバ（クエリー変換装置に対応）側でクエリーの変換処理を行う。そして、データベース処理部２３が、クエリーの変換後のデータに応じて、サーバのデータベースからデータを取得し、クライアントへ返す。
【００５３】
なお、前記クエリー変換部２２、データベース処理部２３、データベースは、それぞれサーバ側の処理手段であり、例えば、サーバのＣＰＵがプログラムを実行することにより実現するものである。また、前記構造変換規則保持部２４は、例えば、サーバのハードディスク装置で構成する。
【００５４】
クエリーの構造変換装置の処理は次の通りである。先ず、構造変換規則保持部２４に、予め、クエリーの変換を行う際の構造変換規則を格納しておく。この状態でクライアント２１からサーバに対してクエリーの要求が出されると、サーバのクエリー変換部２２は、構造変換規則保持部２４を参照し、該規則に従って、クエリーの変換を行い、データベース処理部２３に変換後のデータを渡す。データベース処理部２３は、クエリーの変換後のデータを受け取ると、そのデータに応じてデータベースからデータを取得し、クライアントへ返す。
【００５５】
§４：属性変換の説明
属性変換の説明図を図６に示す。図６において、(a) 図は属性の変換、(b) 図は一層構造への変換を示す。なお、この例は、テキストベースの変換例であり、元のテキストデータを、図示矢印で示す方向への属性変換をしている。
【００５６】
この例では、要素“姓”の属性だった“かな”を、“姓”の下層の要素名にしている。このデータをさらに階層を一層に構造変換すると、図６の(a) 図のようになる。
【００５７】
また、図６の(a) 図に示す変換後のデータを、更に、図１に示す「一層構造への変換」を行った場合のデータを図６の (b)図に示す。
【００５８】
§５：部分領域指定部／部分木指定部の説明
部分領域指定部／部分木指定部の説明図を図７に示す。図７において、(a) 図は部分領域取得部、 (b)図は部分木取得部を示す。
【００５９】
(1) ：前記図５の(a) 図に示す部分領域指定部５は、小部分領域取得部３１が前記構造化文書保持部１から構造化文書中の小部分領域を取得し、保持部３２が保持する。その後、構造検索部３３が前記保持部３２と同じ構造をしている領域を検索する。
【００６０】
この場合、構造検索部３３は、構造化文書中の小さな部分領域から始まり、同じ要素名を持つデータ構造が検索できたか否かを判断し、同じ要素名を持つデータ構造が検索できた場合、部分領域拡大部３５は、部分領域を一回り大きくし、更に、構造検索部３３が同じ要素名を持つデータ構造を検索する。
【００６１】
この検索は同じデータ構造が見つからなくなるまで、これを繰り返す。このようにして決定した繰り返し出現しているデータ構造を、前記一層構造への構造変換の対象として、部分領域取得部２へ渡す。
【００６２】
なお、前記の例は、部分領域の指定をプログラムの実行により自動的に行う例であるが、このような例に限らず、人手により行うことも可能である。この場合、部分領域指定部５に、テーブルデータを設定しておき、このテーブルデータを部分領域取得部２が参照することで、指定された部分領域を取得することも可能である。
【００６３】
(2) ：前記図５の(b) に示す部分木指定部１５は、小部分木取得部４１が前記オブジェクト保持部１１からオブジェクトデータの小部分木を取得し、保持部４２が保持する。その後、構造検索部４３が保持部４２のデータを検索する。この場合、構造検索部４３は、オブジェクトデータベース中の小さな部分木から始まり、同じ要素名を持つデータ構造が検索できたか否かを判断し、同じ要素名を持つデータ構造が検索できた場合、部分領域拡大部４５は部分木を一回り大きくし、更に、構造検索部４３が同じ要素名を持つデータ構造を検索する。
【００６４】
この検索は同じデータ構造が見つからなくなるまで、これを繰り返す。このようにして検索した繰り返し出現しているデータ構造を、前記一層構造への構造変換の対象として、部分木取得部１２へ渡す。なお、ＤＴＤ（Document Type Definition；文書型定義）やスキーマから使用されるデータ構造を解析し、構造変換の対象としてもよい。
【００６５】
また、この場合にも、部分木の指定をプログラムの実行により自動的に行う例であるが、このような例に限らず、人手により行うことも可能である。この場合、部分木指定部１５に、テーブルデータを設定しておき、このテーブルデータを部分木取得部１２が参照することで、指定された部分木を取得することも可能である。
【００６６】
前記の説明に対し、次の構成を付記する。
【００６７】
（付記１）  構造化文書を保持する構造化文書保持部と、
構造化文書から予め定めた要素名の開始タグと終了タグに挟まれた部分領域を取得する部分領域取得部と、
取得した部分領域を１層構造に変換する構造変換部と、
構造化文書の部分領域を、変換した構造化文書に置き換えて出力する構造化文書出力部を備え、
構造化文書の予め定めた要素名の開始タグと終了タグに挟まれた部分領域を１層構造に変換することを特徴とする構造化文書変換装置。
【００６８】
（付記２）  前記構造変換部は、部分領域の各要素を取得する要素取得手段と、  各要素について入れ子になっている要素名を取得する要素名取得手段と、
取得した要素名を結合して新しい要素名を生成する要素名生成手段と、
生成した要素名のタグで各要素を挟んで構造化文書を生成する構造化文書生成手段を備え、
１層構造にしたときの要素名を、入れ子になっている要素名を結合して生成することを特徴とする（付記１）記載の構造化文書変換装置。
【００６９】
（付記３）  前記部分領域から要素名を入れ子の内側から外側の順に取得する要素名取得手段と、
取得した順に並べた要素名の間に予め区切りコード挟んだ文字列を生成する文字列生成手段を備え、
１層構造にしたときの要素名を、入れ子の内側から外側の順に要素名を並べ、間に予め区切りコードを挟んだものとすることを特徴とする（付記２）記載の構造化文書変換装置。
【００７０】
（付記４）  構造化文書処理システムにおいて、構造化文書に対するクエリーを変換するクエリー変換装置であって、
構造変換規則を保持する構造変換規則保持部と、
構造変換規則に従ってクエリーを変換するクエリー変換部を備え、
構造変換規則に従って、構造化文書に対するクエリーを変換してから文書処理に渡すことを特徴とするクエリー変換装置。
【００７１】
（付記５）  属性を持っているタグを検出する属性付タグ検出部と、
属性をその要素の下層の要素名に、属性値を要素に変換する属性変換部を備え、
属性を持っているタグを検出し、属性をそのタグの下層の要素に変換することを特徴とする構造化文書変換装置。
【００７２】
（付記６）  構造化文書をメモリ上で木構造に展開したオブジェクトを保持するオブジェクト保持部と、
木構造から予め定めた部分木を取得する部分木取得部と、
取得した部分木を１階層の木に変換する構造変換部と、
木構造の指定部分木を、変換した部分木に置き換えて出力するオブジェクト出力部を備え、
構造化文書をメモリ上に展開した木構造の予め定めた部分木を１階層の木に変換することを特徴とする構造化文書変換装置。
【００７３】
（付記７）  前記構造変換部において、取得した部分木の各要素を取得する要素取得手段と、
各要素について部分木の根から各要素に対応付けられた節点への経路にある要素名を取得する要素名取得手段と、
取得した要素名を結合して新しい要素名を生成する要素名生成手段と、
生成した要素名を１階層の木の節点とした部分木を生成する部分木生成手段を備え、
１階層の木に変換したときの要素名を、部分木の根からの経路にある要素名を結合して生成したものとすることを特徴とする（付記６）記載の構造化文書変換装置。
【００７４】
（付記８）  前記部分木から要素名を部分木の葉から根の方向に取得する手段と、
取得した順に並べた要素名の間に区切りコードを挟んだ文字列を生成する手段を備え、
１階層の木としたときの要素名を、部分木の葉から根の方向に順に並べ、予め定めた区切りコードを挟んだものとすることを特徴とする（付記６）記載の構造化文書変換装置。
【００７５】
（付記９）  前記構造化文書から繰り返し出現しているデータ構造を検出し、検出した部分木を、前記構造変換対象とすることを特徴とする（付記１）又は（付記６）記載の構造化文書変換装置。
【００７６】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
【００７７】
(1) ：構造化文書の階層を浅くすることにより、データアクセス効率の改善、動作記憶容量の削減が期待できる。
【００７８】
(2) ：人が設計する際には、理解しやすい階層構造を扱え、計算機上では、効率のいいフラットに近い形でデータを扱える。
【００７９】
(3) ：請求項１では、部分領域取得部が構造化文書保持部に保持している構造化文書から、予め定めた要素名の開始タグと終了タグに挟まれた部分領域を取得し、構造変換部が前記取得した部分領域を１層構造に変換する。そして、構造化文書出力部は、構造化文書の部分領域を、前記変換した構造化文書に置き換えて出力する。
【００８０】
このようにして、構造化文書変換装置は、構造化文書の予め定めた要素名の開始タグと終了タグに挟まれた部分領域を１層構造に変換して出力する。従って、構造化文書の階層を浅くすることができ、動作記憶容量の削減を可能にすると共に、データアクセス効率を改善することができる。
【００８１】
また、要素取得手段が部分領域の各要素を取得し、要素名取得手段が前記部分領域から要素名を入れ子の内側から外側の順に取得し、文字列生成手段が取得した順に並べた要素名の間に予め区切りコードを挟んだ文字列を生成し、要素名生成手段が１層構造にしたときの要素名を、前記文字列生成手段により生成した文字列にし、構造化文書生成手段が生成した要素名のタグで各要素を挟んで構造化文書を生成する。
【００８２】
このようにして、構造変換部は１層構造にしたときの要素名を、入れ子になっている要素名を結合して生成する。従って、構造化文書の階層を浅くすることができ、動作記憶容量の削減を可能にすると共に、データアクセス効率を改善することができる。
【００８４】
また、構造変換部は１層構造にしたときの要素名を、入れ子の内側から外側の順に要素名を並べ、間に予め区切りコードを挟んだものとする。従って、構造化文書の階層を浅くすることができ、動作記憶容量の削減を可能にすると共に、データアクセス効率を改善することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態における構造化文書の構造変換説明図（その１）であり、(a) 図はテキストベースを示す。
【図２】本発明の実施の形態における構造化文書の構造変換説明図（その２）であり、 (b)図はオブジェクトベース、(c) 図はクエリーの変換を示す。
【図３】本発明の実施の形態における構造化文書の構造変換説明図（その３）であり、(a) 図はテキストベース、(c) 図はクエリーの変換を示す。
【図４】本発明の実施の形態における構造化文書の構造変換説明図（その４）であり、(b) 図はオブジェクトベースを示す。
【図５】本発明の実施の形態における構造化文書変換装置を示した図であり、(a) 図はテキストベースの構造変換装置、(b) 図はオブジェクトベースの構造変換装置、(c) 図はクエリーの構造変換装置を示す。
【図６】本発明の実施の形態における属性の変換説明図であり、(a) 図は属性の変換、(b) 図は一層構造への変換を示す。
【図７】本発明の実施の形態における部分領域指定部／部分木指定部の説明図であり、(a) 図は部分領域指定部、(b) 図は部分木指定部を示す。
【符号の説明】
１  構造化文書保持部
２  部分領域取得部
３  構造変換部
４  構造化文書出力部
５  部分領域指定部
１１  オブジェクト保持部
１２  部分木取得部
１３  構造変換部
１４  オブジェクト出力部
１５  部分木指定部
２１  クライアント
２２  クエリー変換部
２３  データベース処理部
２４  構造変換規則保持部
２５  データベース
３１  小部分領域取得部
３２  保持部
３３  構造検索部
３４  対象部分領域決定部
３５  部分領域拡大部
４１  小部分木取得部
４２  保持部
４３  構造検索部
４４  対象部分木決定部
４５  部分木拡大部
【図１】
0004689856.tif 000002
【図２】
0004689856.tif 000003
【図３】
0004689856.tif 000004
【図４】
0004689856.tif 000005
【図５】
0004689856.tif 000006
【図６】
0004689856.tif 000007
【図７】
0004689856.tif 000008