JP2005100057A - 文書変換装置 - Google Patents

文書変換装置 Download PDF

Info

Publication number
JP2005100057A
JP2005100057A JP2003332389A JP2003332389A JP2005100057A JP 2005100057 A JP2005100057 A JP 2005100057A JP 2003332389 A JP2003332389 A JP 2003332389A JP 2003332389 A JP2003332389 A JP 2003332389A JP 2005100057 A JP2005100057 A JP 2005100057A
Authority
JP
Japan
Prior art keywords
conversion
information
template
structure information
document
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
JP2003332389A
Other languages
English (en)
Other versions
JP4177218B2 (ja
Inventor
Akira Konno
晃 金野
Hideki Yukitomo
英記 行友
Takehiro Nakayama
雄大 中山
Atsushi Takeshita
敦 竹下
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo 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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2003332389A priority Critical patent/JP4177218B2/ja
Priority to US10/940,802 priority patent/US7530017B2/en
Priority to EP04022568A priority patent/EP1519279B1/en
Priority to DE602004025888T priority patent/DE602004025888D1/de
Priority to DE602004024260T priority patent/DE602004024260D1/de
Priority to EP08015224A priority patent/EP1990737B1/en
Priority to CNB2004100117331A priority patent/CN100561464C/zh
Publication of JP2005100057A publication Critical patent/JP2005100057A/ja
Application granted granted Critical
Publication of JP4177218B2 publication Critical patent/JP4177218B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 構造化文書の圧縮および変換をともに行い、その変換の際には構造情報を解凍しなくても、圧縮および変換を効率よく行える文書変換装置を提供する。
【解決手段】 文書変換装置101は、蓄積手段102により、特定パターンを有する構造情報をテンプレートとして蓄積し、一致箇所検出手段103により、構造情報106とその変換箇所を示す変換位置情報110とを入力し、構造情報106のうち、変換位置情報110が示す変換箇所を検出対象から除外して、構造情報106とテンプレートとの一致箇所を検出し、置換手段104により、構造情報106のうちの一致箇所をテンプレートで置換して置換後構造情報112を出力し、変換手段105により、変換規則113にしたがい、置換後構造情報112と文字列情報107を変換して、第1の出力データ108と、第2の出力データ109を出力する。
【選択図】 図1

Description

本発明は、構造化文書の変換を行う文書変換装置に関する。
XML(EXtensible Markup Language)文書をはじめとする構造化文書は構造情報と文字列情報とを記述する必要があるため、一般にデータサイズ(データボリューム)が大きいという特徴がある。そのため、近年では、構造化文書を記憶させるディスクスペースの有効利用や、ネットワークリソースの有効利用を目的として、構造化文書を圧縮する技術が注目を浴びている。
特に、構造化文書を構造情報と文字列情報とに分離して圧縮する技術は、その構造情報に着目することによって、文字列情報をも含む場合と比較すると、出現するパターンが少なくなることから、構造化文書をただ単にLZ77等の技術で圧縮するよりも圧縮率の向上を図ることができるとされている(LZ77について詳しくは、Jacob Ziv,Abraham Lempel:A Universal Algorithm for Sequential Data Compression.IEEE Transactions on Information Theory 23(3):337-343(1977)を参照)。
ここで、特許文献1には、予め与えられた構造指定情報を用いて構造化データの内部表現データを構造情報と文字列情報とに分離し、それぞれを独立に圧縮する方法が開示されている。この圧縮方法では、構造情報に着目して圧縮を行い、圧縮率の向上が図られている。そのほか、構造化文書は前処理として、構造情報の妥当性検証(バリデーションチェック)および構文解析(パージング)が行われるが、構造情報と文字列情報を独立に圧縮しているため、文字列情報を解凍(復元)することなく、構造情報を解凍(復元)すれば妥当性検証および構文解析が行える、とされている。
また、非特許文献1には、XML文書中に出現する部分的な構造を再利用することでXML文書を圧縮する方法が開示されている。この圧縮方法では、構造化文書を構造情報、ノードタイプ情報、テキスト情報の3つに分離したのち、そのそれぞれをLZ77等のような一般的な圧縮アルゴリズムで圧縮する。この非特許文献1によると、特許文献1に記載の技術と同様、構造情報に着目して圧縮することから、圧縮率の向上が図られる。
上述のとおり、従来技術のようにして、構造化文書を構造情報と文字列情報とに分離して圧縮すると、圧縮率の向上が図られ、妥当性検証および構文解析が文字列情報を解凍することなく行えることとなる。
特開2003−44459号公報 Hartmut Liefke and Dan Suciu.: "XMill: An Efficient Compressor for XML Data", In proceedings of ACM SIGMOD International Conference on Management of Data, 2000
一方、構造化文書を小さな表示装置しか持たないモバイル端末装置(例えば、携帯電話機等)で利用することを考えると、構造化文書をモバイル端末装置に合わせて変換して利用することが考えられる(例:XHTML文書をモバイル端末向けにc−HTML(Compact Hyper Text Markup Language)化する。なお、c−HTMLについて詳しくは、Compact HTML for small Information Appliance ,http://www.w3.org/TR/1998/NOTE-Compact HTML-19980209/ 参照)。
しかし、構造化文書を変換するには、構造情報と文字列情報とをともに変換する必要がある。その変換に先立ち、上述した従来技術のようにして構造化文書がLZ77等のアルゴリズムで圧縮されていると、その構造化文書を変換するときに、構造情報と文字列情報をすべて解凍しなければならなくなるから、変換処理に要する時間やメモリ量がともに増加してしまうという問題がある。
そこで、本発明は上記課題を解決するためになされたもので、構造化文書の圧縮および変換をともに行い、その変換の際には構造情報のすべてを解凍しなくてもよく、圧縮および変換を効率よく行える文書変換装置を提供することを目的とする。
上記課題を解決するため、本発明は、構造情報と文字列情報とを有する構造化文書を変換する文書変換装置であって、特定のパターンを有する構造情報をテンプレートとして蓄積するテンプレート蓄積手段と、構造化文書を構成する構造情報と、その構造情報の変換箇所を示す変換位置情報とを入力し、構造情報のうち、変換位置情報が示す変換箇所を検出対象から除外するようにして、構造情報とテンプレートとの一致箇所を検出するテンプレート一致箇所検出手段と、構造化文書を構成する構造情報と一致箇所を示す一致箇所情報とを入力し、構造情報のうち、一致箇所情報が示す一致箇所をテンプレートで置換し、置換後構造情報を出力するテンプレート置換手段と、構造化文書を構成する文字列情報と置換後構造情報と、構造化文書を構成する構造情報および文字列情報を変換するための変換規則とを入力し、その変換規則にしたがい、その入力した置換後構造情報と文字列情報とを変換し、変換後構造情報と変換後文字列情報とを出力する変換手段とを有する文書変換装置を特徴とする。
この文書変換装置は、変換位置情報が示す変換箇所を除外して、構造情報のうちの一致箇所をテンプレートで置換するため、変換手段において、構造情報を置換前に戻す処理が必要とされない。
また、文書変換装置は、変換規則が変換位置識別子を含み、変換規則から変換位置識別子を変換位置情報として検出し、その検出した変換位置識別子を一致箇所検出手段に入力する変換位置検出手段を更に有することが好ましい。
この構成によれば、入力された変換規則から得た変換位置情報を用いて一致箇所を検出することができる。
さらに、文書変換装置は、変換規則が変換位置識別子を含み、変換規則に含まれる変換位置識別子を蓄積する変換規則蓄積手段と、その変換規則蓄積手段に蓄積されている変換位置識別子の利用頻度に応じて、変換位置情報を検出する変換位置検出手段とを更に有する文書変換装置とすることもできる。
また、変換規則が変換位置識別子を含み、変換規則に含まれる変換位置識別子を蓄積する変換規則蓄積手段と、その変換規則蓄積手段に蓄積されている変換位置識別子を変換位置情報として検出する変換位置検出手段とを更に有する文書変換装置としてもよい。
いずれの文書変換装置についても、変換手段に変換規則を入力する前に変換位置情報を一致箇所検出手段に入力することができる。
上記いずれの文書変換装置でも、変換規則が変換後構造化文書を含み、変換規則から変換後構造化文書の構造情報を抽出し、テンプレートとしてテンプレート蓄積手段に蓄積させるテンプレート発見手段を更に有することが好ましい。
これにより、変換規則が入力されるたびに、発見手段がテンプレートを発見して蓄積手段に新たなテンプレートを自動的に加え、蓄積手段を更新することができる。
この文書変換装置では、テンプレート発見手段により発見されたテンプレートの蓄積要否を判断するテンプレート検証手段を更に有し、そのテンプレート検証手段の判断に応じて、テンプレート発見手段がテンプレートを蓄積することが好ましい。
この文書変換装置は、蓄積する必要のないテンプレートを蓄積対象から除外することができる。
また、この文書変換装置の場合、テンプレート検証手段が、テンプレート発見手段により発見されたテンプレートと同型のテンプレートのテンプレート蓄積手段における蓄積有無により、蓄積要否を判断することができる。
これにより、蓄積済みのテンプレートと同型のテンプレートを蓄積せずに除外することができる。
さらに、上記いずれの文書変換装置でも、テンプレート一致箇所検出手段が変換後構造情報とテンプレートとの一致箇所を検出し、テンプレート置換手段が、テンプレート一致箇所検出手段から出力される一致箇所情報が示す一致箇所をテンプレートで置換することが好ましい。
この文書変換装置は、変換後構造情報にテンプレートを再度適用することで、データ量をさらに削減し、圧縮することができる。
そして、本発明は、構造情報と文字列情報とを有する構造化文書を変換する文書変換装置であって、特定のパターンを有する構造情報をテンプレートとして蓄積するテンプレート蓄積手段と、変換後構造化文書を含み、構造化文書を構成する構造情報および文字列情報を変換するための変換規則を入力し、その変換規則から変換後構造化文書の構造情報を抽出して、その構造情報と一致するテンプレートを検出し、構造情報を検出されたテンプレートで置換した置換後変換規則を出力する変換規則テンプレート置換手段と、構造化文書を構成する構造情報および文字列情報と、置換後変換規則とを入力し、その置換後変換規則にしたがい、その入力した構造情報と文字列情報を変換し、変換後構造情報と変換後文字列情報とを出力する変換手段とを有する文書変換装置を提供する。
この文書変換装置は、置換後変換規則の変換後構造化文書の構造情報がすでにテンプレートで置換されているため、変換手段が置換後変換規則を用いて変換を行うと、そのテンプレートが自動的に適用され、変換とともに圧縮が行われるようになる。
また、変換規則テンプレート置換手段が、変換後構造化文書の構造情報との差分が最も小さい近似テンプレートを検出し、差分を示す差分情報を抽出し、置換後変換規則を差分情報と近似テンプレートとに置換する文書変換装置とすることもできる。
このような近似テンプレートを用いることにより、テンプレートを効率よく利用することが可能となる。
さらに、本発明は、構造情報と文字列情報とを有する構造化文書を変換する文書変換装置であって、特定のパターンを有する構造情報をテンプレートとして蓄積するテンプレート蓄積手段と、構造化文書を構成する構造情報と、その構造情報の変換箇所を示す変換位置情報とを入力し、構造情報のうち、変換位置情報が示す変換箇所を検出対象から除外するようにして、構造情報とテンプレートとの一致箇所を検出するテンプレート一致箇所検出手段と、構造化文書を構成する構造情報と一致箇所を示す一致箇所情報とを入力し、構造情報のうち、一致箇所情報が示す一致箇所をテンプレートで置換し、置換後構造情報を出力するテンプレート置換手段と、変換後構造化文書を含み、構造化文書を構成する構造情報および文字列情報を変換するための変換規則を入力し、その変換規則から変換後構造化文書の構造情報を抽出して、その構造情報と一致するテンプレートを検出し、構造情報を検出されたテンプレートで置換した置換後変換規則を出力する変換規則テンプレート置換手段と、構造化文書を構成する文字列情報、置換後構造情報および置換後変換規則を入力し、その置換後変換規則にしたがい、その入力した置換後構造情報および文字列情報を変換し、変換後構造情報と変換後文字列情報を出力する変換手段とを有する文書変換装置を提供する。
この文書変換装置では、蓄積手段に蓄積されているテンプレートは構造情報を置換するためとともに、変換規則を置換するためのテンプレートとして利用できるようになる。
本発明による文書変換装置によれば、XML文書等の構造化文書の変換と圧縮をともに行い、構造情報を解凍することなく、圧縮および変換を効率よく行い、文書変換の処理速度を向上することができる。
以下、本発明に係る文書変換装置の実施の形態について、添付図面を用いて詳細に説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態にかかる文書変換装置101の構成を示すブロック図である。文書変換装置101は、テンプレート蓄積手段(以下「蓄積手段」という)102と、テンプレート一致箇所検出手段(以下「一致箇所検出手段」という)103と、テンプレート置換手段(以下「置換手段」という)104および変換手段105を有している。この文書変換装置101は、構造化文書100の構造情報106と文字列情報107とを入力し、第1の出力データ108と第2の出力データ109とを出力するように構成されている。
ここで、入力される構造化文書100について説明する。図2は構造化文書100の一例となるXML文書10を示す図である。構造化文書100は、XML文書10のほか、XML文書10と同様に構造情報と文字列情報とを有し、その両者が分離可能であれば入力の対象とすることができる。図3は、図2に記載されているXML文書10を既知の手法(例えばhttp://xml.apache.org/xerces2-j/ において示されるXercesなど)によって解析し、コンピュータの内部利用に適した形式に変換したデータ構造11を示している。
図3において、データ構造11はノード(頂点ともいう)301〜322を有し、各ノードが矢印で結ばれている。各矢印はノード間の参照関係を示している。図面において、ノードからみて上方向に向かう矢印は参照先が親ノードであるという意味(親参照)を示している。また、ノードからみて下方向に向かう矢印は参照先が子ノードであるという意味(子参照)を示している。さらに、ノードからみて左方向に向かう矢印は参照先が前兄弟ノードであるという意味(前兄弟参照)を示し、同じく右方向に向かう矢印は参照先が次兄弟ノードであるという意味(次兄弟参照)を示している。
各ノード301〜323にはノードタイプ情報及びテキスト情報が記述されている。ノードタイプ(型ともいう)情報はノードの左側に記述されていて、“E”であれば、そのノードがエレメント(要素)ノードであることを示し、“T”であれば、そのノードがテキストノードであることを示している。また、テキスト情報はノードの右側に記述されている。ノードタイプ情報が“E”であるときは、エレメント名が記述され、ノードタイプ情報が“T”であるときは、文字列が記述されている。例えば、ノード302は、左側のノードタイプ情報が“E”であるから、右側がエレメント名“B”となる。一方、ノード307は、左側のノードタイプ情報が“T”であるから、右側が文字列“abcd”となる。
また、データ構造11は、構造情報と、ノードタイプ情報やテキスト情報を含む情報(以下「文字列情報」という)とを分離して管理するため、そのそれぞれを図4(a)、図4(b)のように表現することも可能である。図4(a)はデータ構造11から分離された構造情報12を示し、各ノードがどのように接続しているか(各ノードの接続関係)を示している。一方、図4(b)は、各ノードが有する文字列情報(ノードタイプ情報またはテキスト情報)を列記したテーブル13を示している。
本発明の第1の実施の形態にかかる文書変換装置101は、構造化文書100を入力するにあたり、構造化文書100が図4(a)に示す構造情報12といった構造情報106と、図4(b)に示すテーブル13に列記された文字列情報といった文字列情報107とに分離された状態で入力する。
蓄積手段102は構造化文書における構造情報の予め定めておいた特定のパターン、例えば、頻繁に出現することがわかっているパターンをテンプレートとして蓄積している。ここで、テンプレートの構成例を図5(a)に示す。図5(a)に示すテンプレート500は、テンプレートID501と、接続情報502およびパターン構造情報503を有している。
テンプレートID501は、テンプレート識別子(識別ID)を示しており、蓄積手段102に複数のテンプレートが蓄積されている際に、各テンプレートを一意に識別するために用いられる。接続情報502はテンプレートの外部インタフェースを示しており、そのテンプレートが指し示すパターンが他のテンプレートや他のノードと、どのように接続可能なのかを示す情報が設定されている。パターン構造情報503はテンプレート500の構造情報を示していて、複数のノードとそれらの相互参照とを有している。
図5(b)は、テンプレート500の具体的な一例となる第1のテンプレート515の構成を示すブロック図である。テンプレートID504には、具体的な値として“1”が設定されている。パターン構造情報505は、5つのノード506〜510と、それらの相互参照とを有している。各ノードの相互参照は、図5(b)において、矢印で示されている。相互参照の種類は矢印に対し、親参照はp、子参照はc、次兄弟参照はns、前兄弟参照はpsとして記述されている。また、このパターン構造情報505で示された構造情報は、5つの端点を有しているが、そのうち、4つの端点が外部インタフェースとして許されている。それは「○」で記述されている。逆に、「×」で記述された端点は、外部インタフェースとして許されていない。つまり、ノード506の親参照、ノード508、ノード509、ノード510の子参照が外部インタフェースとなる。接続情報511は、これらの外部インタフェースをノードと相互参照の種類ごとに列挙して記述している。
一致箇所検出手段103は、構造情報106と、構造情報106における変換手段105により変換される箇所(変換箇所)を示す変換位置情報110とを入力し、その変換位置情報110が示す変換箇所を検出対象から除外するように(検出対象に含まないように)して、構造情報106と蓄積手段102に蓄積されたテンプレートとが一致する箇所(一致箇所)を検出する。
図1に示したように、文書変換装置101では、変換位置情報110が内部に予め備えられている。ただし、文書変換装置101は、変換位置情報110を外部から入力して、取得するようにしてもよい。また、変換位置情報110を蓄積する変換位置蓄積手段(図示せず)を設け、一致箇所検出手段103がその変換位置蓄積手段から変換位置情報を取得するようにしてもよい。
ここで、変換位置情報110として、例えば、図4(a)に示した構造情報12における“ノード312”を入力するとする。一致箇所検出手段103における一致箇所検出手順は、例えば図23に示す手順(後述する)によって行う。図23に示すとおり、一致箇所検出手段103は、入力する変換位置情報110が示す“ノード312”を一致箇所の検出対象から除外し、検索対象に含めないようにして、構造情報12について、蓄積手段102に蓄積されたテンプレートとの一致箇所を検出する。
そして、蓄積手段102には、図5(b)に示す第1のテンプレート515が蓄積されているとする。すると、構造情報12のうち、ノード302,303,304,305,306(302〜306)が示す構造情報が第1のテンプレート515と一致しているため、一致箇所検出手段103はノード302〜ノード306を、構造情報12と第1のテンプレート515との一致箇所を示す一致箇所情報111として出力する。同様に、ノード310,311,315,316,317が示す構造情報も、第1のテンプレート515と一致しているため、ノード310,311,315,316,317も、一致箇所情報111として出力される。ただし、ノード308,309,312,313,314が示す構造情報も第1のテンプレート515と一致しているが、“ノード312”が変換位置情報110として入力されているため、ノード308,309,312,313,314は、検出対象から除外され、一致箇所情報111には含まれない。
また、変換位置情報110として、複数のノードが入力される場合も、一致箇所検出手段103は上記同様にして一致箇所を検出する。例えば、図4(b)において、変換位置情報110としてノード312に加えて、“ノード315”が入力されるとき、一致箇所検出手段103は、ノード312,315を一致箇所の検出対象から除外して一致箇所を検出する。そのため、蓄積手段102に蓄積されているテンプレートが第1のテンプレート515のみであるとすると、一致箇所情報111として出力される情報は、ノード302〜306のみとなる。
なお、一致箇所検出手段103は、変換位置情報110として、構造情報と文字列情報とを用いて、構造情報における変換位置の対象を評価する評価式(例えば、Xpath式)を入力しても良い。その場合、一致箇所検出手段103は、文字列情報107を入力し、入力される変換位置情報110が示す評価式にしたがい、構造情報12における変換位置の対象を評価することとなる。
置換手段104は構造情報106と一致箇所情報111とを入力し、その構造情報106のうち、一致箇所情報111が示す一致箇所をテンプレートで置換し、そのテンプレートによる置換後の構造情報(置換後構造情報)112を出力する。
ここで、テンプレートで置換する際のテンプレートの呼び出しとなるテンプレート実体600を図6に示す。図6に示すとおり、テンプレート実体600は、採用テンプレートID601、実体ID602、実体接続情報603および実体ノード情報604を有するオブジェクトとして呼び出される。採用テンプレートID601は、蓄積手段102に蓄積されているテンプレートのうち、置換する際に採用したテンプレートを指定するための情報が設定されている。
図5(a)に示すとおり、テンプレート500はテンプレートID501によって一意に特定できるため、採用されたテンプレートは図6に示す採用テンプレートID601により、確実に指定することができる。同じく、図6に示す実体ID602はテンプレート実体600を一意に特定するためのIDである。また同じく、図6に示す実体接続情報603は、テンプレート実体600がどのノードと接続されるかの接続関係を指定する情報が設定されている。図5(a)に示すとおり、テンプレート500では、接続情報502により外部インタフェースが記述されているが、実体接続情報603には、それぞれの外部インタフェースがどのノードと接続されるかが記述されている。外部インタフェースが他のテンプレート内のノードと接続されていることを示すときは、そのテンプレート実体を示す実体ID602とそのテンプレート内のノードを結び付けて記述する。実体ノード情報604はテンプレート内の各ノードがどの文字列情報と結び付けられているかを指定する。図5(a)に示すとおり、テンプレート500にはパターン構造情報503が記述されており、パターン構造情報503内の各ノードがどの文字列情報と結び付けられているかが、実体ノード情報604によって記述されている。図4(b)に示すテーブル13のように、文字列情報は各ノードに付された番号(ノード番号,図4(b)では301〜323)と、ノードタイプ情報およびテキスト情報とを有し、そのノード番号によって一意に特定できるので、実体ノード情報604にはノード番号が記述されている。
ここで、置換手段104により、置換した結果を図7に示す。図7は置換手段104により置換された置換後構造情報300の構成を示すブロック図である。置換後構造情報300は、置換手段104から出力される置換後構造情報112の具体的な一例となるもので、テンプレート実体600a,600bを2つ有し、両者は実体ID602(前者が実体ID“1”、後者は実体ID“2”)によって、相互に識別可能になっている。各テンプレート実体600a,600bはいずれも採用テンプレートIDに“1”が設定されているので、図5(b)に示した第1のテンプレート515が採用されている。それぞれの実体接続情報603には、図7において示される順に、上から第1のテンプレート515の接続情報511と対応する情報が設定されている。なお、本実施の形態では、各頂点からの参照を一意に識別するため、(頂点ID,相互参照の種類)と表示し、例えば頂点508の子参照を(508,c)と表示している。
そして、テンプレート実体600aでは、(506,p)にノード301が接続され、(508,c)にノード307が接続されることを示す情報が設定されている。また、(509,c)にノード308が接続され、(510,c)に2−506が接続されることを示す情報が設定されている。なお、(2−506,p)はテンプレート実体600b(実体ID=“2”)のテンプレート内におけるノード506の親参照pを示している。テンプレート実体600bにおいては、第1のテンプレート515における(506,p)に(1−510,c)が接続され、(508,c)にノード321が接続されることを示す情報が設定されている。また、(509,c)にノード322が接続され、(510,c)にノード323が接続されることを示す情報が設定されている。
実体ノード情報604には、図7において示される順に、上から第1のテンプレート515におけるパターン構造情報505内の各ノード506〜510と左上から右下に向かって対応する情報が設定されている。テンプレート実体600aでは、ノード506,507,508,509,510(506〜510)に、ノード302,303,304,305,306がそれぞれ対応することを示す情報が設定されている。テンプレート実体600bでは、ノード506〜510に、ノード310,311,315,316,317がそれぞれ対応することを示す情報が設定されている。このように、図7に示した置換後構造情報300は、図4(a)に示した構造情報12と同じ意味をなしている。また、テンプレートを適用することにより構造情報の再利用が行われているため、構造情報12よりもデータ量が少なく、圧縮されている。
構造情報12におけるノード308以降の構造情報(308,309,312,313,314,318,319,320で形成される構造情報)は、一致箇所検出手段103による一致箇所の検出がノード312を除外するようにして行われているため、一致箇所情報111には反映されていない。そのため、置換手段104により、テンプレートで置換されてなく構造情報12の内容がそのまま承継されている。
そして、変換手段105は文字列情報107と、置換後構造情報112と、文字列情報107および置換後構造情報112を変換するための変換規則113を入力し、その変換規則113にしたがい、文字列情報107と置換後構造情報112とを変換する。また、変換手段105は変換後の置換後構造情報(以下「変換後構造情報」という)を第1の出力データ108として出力し、変換後の文字列情報(以下「変換後文字列情報」という)を第2の出力データ109として出力する。
変換規則113は変換手段105の処理内容を記述したもので、変換対象の位置を示す変換対象位置と、その変換対象位置で示されたノードを含む構造情報が、変換後にどういった構造化文書になるかを示す変換後構造化文書(構造情報と文字列情報で構成される)とにより構成されている。この変換規則113は、文書変換装置101の外部から入力してもよいし、変換手段105に予め指定しておいてもよい。
ここで、図12は変換規則113の具体的な一例となる変換規則120の構成を示す図である。図12に示した変換規則120はXMLで記述されており、“312”を変換対象位置とし、その変換対象位置が示すノード(ノード312)以降の構造情報を<transform match=“312”>と</transform>で囲まれた構造化文書120aに変換せよ、という意味の規則が含まれている。
この変換規則120にしたがい、変換手段105により、変換された置換後構造情報、すなわち変換後構造情報350を図8に示し、変換された文字列情報、すなわち、変換後文字列情報を図13にそれぞれ示す。図8は変換後構造情報350の構成を示すブロック図、図13は変換後文字列情報を列記したテーブル23を示す図である。図8に示すとおり、図4(a)に示した構造情報12におけるノード312以降(312〜318)の構造情報が変換後構造情報350では、ノード801以降(801〜807)の構造情報に変換されている。また、図13に示すとおり、構造情報12におけるノード312,318の文字列情報が、変換後構造情報350では、ノード801,802,803,804,805,806,807の文字列情報にそれぞれ変換されている(ノード312,318の文字列情報の代わりにノード801〜807の文字列情報が設定されている)。そして、変換後構造情報350と、テーブル23を構成する文字列情報とが、それぞれ第1の出力データ108と、第2の出力データ109として出力される。
ここで、変換規則113の別の一例となる変換規則121を図16に示す。図16は変換規則121を示す図である。この変換規則121は、XSLT(extensible Stylesheet language-transformation)で記述されているが、変換規則120と同様、変換対象位置と変換後構造化文書とにより構成されている。そして、要素121aに示される“/A/B/D/F”が変換対象位置を示しており、<xsl:template match=“/A/B/D/F”>と</xsl:template>で囲まれた<J>以下の構造化文書121bが変換後構造化文書となる。この例では、“/A/B/D/F”で示される箇所を<j>以下の構造化文書に変換せよ、という意味の規則が記述されている。変換対象位置は構造情報と文字列情報とを用いて対象を探索していく評価式の標準技術であるXPathで記述されている。この例では、上記“/A/B/D/F”が意味する変換対象位置は、ルートノード”/”の子ノードであるAのさらに子ノードであるBのさらに子ノードであるDのさらに子ノードであるFを示している。そのため、このXPath式を評価するためには自ノードの子ノードに何が存在するのか、さらにそのノードはどういう文字列情報をもっているのかを両方とも知る必要がある。したがって、この場合、変換手段105は構造情報106と文字列情報107を用いて変換対象位置を決定することになる。
ここで、仮に、変換位置情報が示す変換箇所を含めてテンプレートによる置換を行い、圧縮を行うとすると、置換後の変換箇所は、変換手段105により、変換前とは別の構造情報を有する構造化文書に変換されてしまうおそれがある。すると、変換後の構造情報は置換に用いたテンプレートと整合がとれなくなってしまうので、変換手段105において置換された変換箇所を置換前の元の構造情報に戻す処理が必要となり、圧縮および変換処理の効率が悪化する。しかし、本実施の形態における文書変換装置101のように、変換箇所を除外して置換を行うことにより、テンプレートで置換された構造情報を解凍することなく変換を行えるので、圧縮および変換が効率よく行われる。
ところで、図1に示した文書変換装置101は、蓄積手段102から変換手段105までが一体化された単一の装置として構成されているが、本発明による文書変換装置は、必ずしも単一の装置として実現される必要はなく、図示しない通信手段により、複数の装置を接続して実現することも可能である。ここで、図26は、複数の装置から構成される文書変換装置の構成を示すブロック図である。図26に示す通り、文書変換装置は蓄積手段2602、一致箇所検出手段2603、置換手段2604から構成される第1の文書変換装置2601と、変換手段2605から構成される第2の文書変換装置2606とに分離されている。第1の文書変換装置2601は、構造化文書100を構成する構造情報2607を入力して置換後構造情報2613を出力し、それを第2の文書変換装置2606に伝達(入力)する。第2の文書変換装置2606は置換後構造情報2613と、構造化文書100を構成する文字列情報2608および変換規則2614を入力して、変換後構造情報を第1の出力データ2609として出力し、変換後文字列情報を第2の出力データ2610として出力する。
一方、文書変換装置101では、図1における第1の出力データ108を蓄積手段102に蓄積されたテンプレートにより置換することができる。ここで、蓄積手段102に図9に示す第2のテンプレート900が蓄積されているとする。図9は、第2のテンプレート900の構成を示すブロック図である。図9に示す第2のテンプレート900は、テンプレートID901と、接続情報907と、パターン構造情報902とを有している。テンプレートID901には“2”が設定され、接続情報907には、(903,p),(903,ns),(904,c),(905,c),(906,c)が設定されている。また、パターン構造情報902には、ノード903,904,905,906が接続されている構造情報が設定されている。
そして、文書変換装置101では、一致箇所検出手段103に変換後構造情報350(図8参照)を入力するようにして、その一致箇所検出手段103により、変換後構造情報350を構成するノード801〜804が第2のテンプレート900と一致することを検出し、その検出結果を示す一致箇所情報111を出力する。また、置換手段104が、一致箇所情報111が示すノード801〜804を第2のテンプレート900で置換する。図10はその置換後における変換後構造情報360の構成を示すブロック図である。図10に示すとおり、ノード801〜804に第2のテンプレート900が採用されている。このように、変換後構造情報にテンプレートを再度適用することで、データ量をさらに削減し、圧縮することができる。
また、文書変換装置は、図24に示すように、テンプレート発見手段(以下「発見手段」という)2401を設けた文書変換装置2400とすることもできる。この文書変換装置2400は、一致箇所検出手段103、置換手段104、変換手段105とともに、蓄積手段102と同様の蓄積手段2402と、発見手段2401とを有している。そして、文書変換装置2400では、発見手段2401が、変換後構造化文書を含む変換規則2403から、その変換後構造化文書の構造情報(図12の場合であれば、構造情報120b)を抽出し、それをテンプレートとして、蓄積手段2402に蓄積する。これにより、文書変換装置2400では、変換規則2403が入力されるたびに、発見手段2401がテンプレートを発見して蓄積手段2402に新たなテンプレートを加え、蓄積手段2402を更新することができる。
さらに、蓄積手段2402にテンプレートを蓄積する際に、蓄積しようとするテンプレートに蓄積時のタイムスタンプ(更新日時)を付加し、置換手段104がテンプレートを利用するたびに、そのタイムスタンプを変換時のタイムスタンプに更新するようにしてもよい。こうすると、LRU(Least Recently Used)アルゴリズム等で蓄積手段2402を動的に管理することができ、蓄積手段2402のために必要なメモリキャッシュの容量を小さくすることができる。
さらにまた、文書変換装置は図25に示す文書変換装置2500のように、テンプレート検証手段(以下「検証手段」という)2501を設けてもよい。この文書変換装置2500は文書変換装置2400と比較して、検証手段2501を有する点で相違している。検証手段2501は、発見手段2401により発見されたテンプレートが蓄積手段2402に蓄積すべきものかどうか(テンプレートの蓄積要否)を判断する。
この文書変換装置2500は、検証手段2501の判断に応じて、発見手段2401により発見されたテンプレートを蓄積手段2503に蓄積するようになっている。例えば、検証手段2501は、発見手段2401により発見されたテンプレートが、蓄積手段2503に蓄積されているテンプレートと同型のテンプレートであるとき(つまり、発見されたテンプレートと同型のテンプレートが蓄積手段2503にあるとき)に、その発見されたテンプレートは、蓄積対象のテンプレートとして妥当でないと判断し、蓄積対象から除外するように作動する。これにより、蓄積手段2503に、無駄なテンプレートが蓄積されなくなるので、蓄積手段2503の空間利用効率を向上させることができる。
なお、本発明は図3で例示したデータ構造11のみを対象としているものではない。テンプレートに設定されているパターン構造情報と同一の解析方法によって、構造情報を導出可能な構造化文書であれば入力対象にすることができるので、例えばXMLの構造を表す標準的なモデル(Document Object Model)で表現された例を図19に示す。図19はデータ構造1900を示す図である(なお、Document Object Modelについて詳しくは、http://www.w3.org/DOM/を参照)。
(第2の実施形態)
図11は第2の実施形態に係る文書変換装置1101の構成を示すブロック図である。図11に示すとおり、文書変換装置1101は蓄積手段1102と、一致箇所検出手段1103と、置換手段1104と、変換手段1105および変換位置検出手段1112を有している。この文書変換装置1101は構造情報1106、文字列情報1107、変換規則1111を入力し、第1の出力データ1108と、第2の出力データ1109とを出力する。蓄積手段1102、一致箇所検出手段1103、置換手段1104および変換手段1105は、それぞれ第2の実施形態に係る文書変換装置101の蓄積手段102、一致箇所検出手段103、置換手段104および変換手段105と同じ構成を有している。
変換位置検出手段1112は、変換規則1111を入力し、その変換規則1111に含まれる変化対象位置を示す数字(変換位置識別子)を変換位置情報1110として検出する。例えば、変換位置検出手段1112が変換規則1111として、例えば図12に示した変換規則120を入力するときは、<transform match=“312”>から、変換位置識別子となる“312”を変換位置情報1110として検出する。検出された変換位置情報1110は一致箇所検出手段1103に伝達(入力)され、これ以降は、第1の実施の形態における文書変換装置101と同様にして、構造情報1106および文字列情報1107を対象とするテンプレートでの置換と、変換とが行われる。なお、変換規則1111は変換位置検出手段1112のほか、変換手段1105にも入力されている。
なお、変換規則1111が、図16に示した変換規則121のように、ノード番号が記載されてなく、変換対象位置を構造情報と文字列情報とを参照しながら探索する必要のある言語(例えば、XSLT:extensible style-sheet language-transformation等)で記述されているときがある。その場合は、図示はしないが、変換位置検出手段1112に、変換規則1111のほか、構造情報1106および文字列情報1107を入力し、変換位置検出手段1112により、要素121aで指定される<xsl:template match=“xxx”>における“xxx”に部分に記述されたXPath式を構造情報1106と文字列情報1107において評価して、変換位置情報を検出すればよい。その変換位置情報は一致箇所検出手段1103で利用できるように、構造情報1106のノード番号で記述してもよい。また、変換位置検出手段1112が“xxx”の部分に記述されたXPath式を変換位置情報として出力する一方、一致箇所検出手段1103に文字列情報1107をさらに入力し、入力されるXPath式を一致箇所検出手段1103が評価することにより、変換対象位置を特定してもよい。
図14は、図11に示した文書変換装置1101に、さらに変換規則蓄積手段1401を設けた文書変換装置1400の構成を示すブロック図である。文書変換装置1400は文書変換装置1101と比較して、変換規則蓄積手段1401を有する点、変換位置検出手段1112と入力情報が相違する変換位置検出手段1403を有する点で相違し、他は共通している。
変換規則蓄積手段1401は変換規則1111を変換手段1105で利用するたびに、変換規則1111に含まれる変換位置識別子を蓄積する。図15は、その変換位置識別子を蓄積するテーブル150を示す図である。テーブル150は、変換位置枠151と利用回数枠152とを有し、変換位置識別子が蓄積されている。
また、変換規則蓄積手段1401は変換位置識別子を蓄積するときには、変換手段1105で利用のあった変換規則1111から、変換位置識別子を抽出して変換位置枠1501に格納する一方、利用回数枠1502には、各変換位置識別子の利用回数を格納する。テーブル150は変換手段1105により、ノード305,312,315がそれぞれ、3回、11回、1回づつ利用されたことを示している。
そして、変換位置検出手段1403は変換規則蓄積手段1401に蓄積されている変換位置識別子をその利用頻度に応じて、つまり、利用頻度が高く、統計的にみて利用されやすい変換位置識別子を抽出し、それを変換位置情報として一致箇所検出手段1103に伝達(入力)している。例えば、テーブル150のようにして、変換位置識別子が蓄積されているとき、利用頻度の高い変換位置識別子は、例えば、ある閾値を超える利用回数をもつ変換位置識別子とすることができる。その閾値を“10”としたときは、利用回数枠1502の値からみて、変換位置識別子として“312”のみが抽出され、その“312”が変換位置情報として一致箇所検出手段1103に入力される。
後の処理は、第1の実施形態と同様にして行えばよい。すなわち、一致箇所検出手段1103により、構造情報1106から蓄積手段1102に蓄積されたテンプレートとの一致箇所を検出する。その一致箇所を示す一致箇所情報にしたがい、置換手段1104が構造情報1106をテンプレートで置換し、置換後構造情報を出力する。そして、変換手段1105が置換後構造情報と文字列情報を変換規則にしたがい変換して、変換後構造情報を第1の出力データ1108として出力し、変換後文字列情報を第2の出力データ1109として出力する。
本実施の形態における文書変換装置1101、1400によれば、変換手段1105に変換規則を入力する前に変換位置情報を一致箇所検出手段1103に入力することができるため、置換後構造情報を事前に生成し、保存しておくことが可能となる。したがって、例えば、すでに変換された構造化文書と同一の構造化文書を新たに変換しようとするときは、生成済みの置換後構造情報を用いることにより、一致箇所検出手段1103と置換手段1104における一致箇所の検出とテンプレートでの置換処理をスキップ(省略)することが可能となる。そのため、文書変換装置1101、1400全体の処理時間を短縮することができる。
(第3の実施形態)
図17は、本発明の第3の実施の形態に係る文書変換装置1700の構成を示すブロック図である。文書変換装置1700はテンプレート蓄積手段(以下「蓄積手段」という)1701と変換規則テンプレート置換手段(以下「変換規則置換手段」という)1702と変換手段1703とを有している。文書変換装置1700は、変換対象である構造化文書の構造情報1704および文字列情報1705と、変換後構造化文書の構造情報が記述された変換規則1708とを入力し、変換後構造情報を第1の出力データ1706として出力し、変換後文字列情報を第2の出力データ1707として出力する。
蓄積手段1701は第1の実施形態で説明した蓄積手段102(図1参照)と同様に、構造化文書における構造情報の予め定めておいた特定のパターンをテンプレートとして蓄積している。変換規則置換手段1702は、XSLTスタイルシート等の変換後構造化文書を含む変換規則1708を入力し、その変換規則1708から変換後構造化文書の構造情報を抽出する。また、変換規則置換手段1702は、抽出した構造情報と一致するテンプレートを蓄積手段1701から検出する一方、その構造情報を検出されたテンプレートで置換して、置換後変換規則1710として変換手段1703に伝達(入力)する。
ここで、図12に示した変換規則120を変換規則1708の一例とすると、変換後構造化文書とは、<transform match=“312”>と、</transform>とで囲まれた部分の構造化文書120aとなる。ここで、変換後構造化文書の構造情報120bと同一のパターンをもつテンプレートを蓄積手段1701から検索するときの検索手順の例を図20に示す。図20はテンプレート検索手順を示す図である。このテンプレート検索手順により検出されたテンプレートは、図9に示す第2のテンプレート900のようになる。
テンプレート検索手順は、図20に示すとおり、処理開始後のステップ1において、変換規則1708から変換後構造化文書の構造情報を抽出する。抽出された変換後構造化文書をPjとする。抽出された変換後構造化文書の構造情報の数分、以下を繰り返す。
ステップ2に進み、蓄積手段1701からPjとノードの数が等しいものを選択する。
選択されたテンプレートをX1,X2,・・・・Xmとする。
選択されたテンプレートの数分、以下を繰り返す。
ステップ3に進み、PjとXkが同型か否かを判断して、同型の場合はステップ4に進み、同型でなければステップ4を実行することなく処理を終了する。ステップ4に進むとテンプレートを同型テンプレートとして登録し、処理を終了する。
図21は置換後変換規則1710の一例となる置換後変換規則171を示す図である。図21に示す置換後変換規則171は、図12に示した変換規則120に、図9に示した第2のテンプレート900を適用した場合を示している。図示のとおり、置換後変換規則171においては、変換規則120に記述された<transform match=“312”>と、</transform>とで囲まれた構造化情報120bが、採用テンプレートIDが“2”のテンプレート(すなわち、第2のテンプレート900)で置換されている。
変換手段1703は、構造情報1704、文字列情報1705、置換後変換規則1710を入力して、その置換後変換規則1710にしたがい、構造情報1704および文字列情報1705を変換し、変換後構造情報を第1の出力データ1706として出力し、変換後文字列情報を第2の出力データ1707として出力する。
変換手段1703は、その変換の際には、置換後変換規則1710に含まれる変換位置情報(図21の例では“312”)を用いて、変換後構造化文書の構造情報を構造情報1704にあてはめる。図22は、その変換結果として、第1の出力データ1706の一例となる変換後構造情報176を示す図である。また、第2の出力データ1707の一例となる文字列情報は図13に示したテーブル23に列記されている。これらは、図4(a)に示した構造情報12と、図4(b)に記載の文字列情報を列記したテーブル13と、図21に示した置換後変換規則171とを入力したときの第1の出力データ1706および第2の出力データ1707の一例である。図22に示す変換後構造情報176のとおり、第1の出力データ1706は構造情報のノード312以降がテンプレートで置換されている。
置換後変換規則1710は変換後構造化文書の構造情報がすでにテンプレートで置換されているため、変換手段1703がこの置換後変換規則1710を用いて変換を行うと、そのテンプレートが自動的に適用され、置換が行われるようになる。すなわち、文書変換とともに圧縮が行われ、圧縮と変換が同時に行われたことになる。これにより、文書変換装置1700では、変換および圧縮処理がより効率的に行われる。
変換規則置換手段1702は変換規則1708から抽出した構造情報と差分が最も小さいテンプレート(以下「近似テンプレート」という)を蓄積手段1701から検出し、上記差分を示す差分情報を抽出し、置換後変換規則1710を近似テンプレートと差分情報とに置換するようにしてもよい。ここで、変換規則1708の例を図27(a)に示し、図27(a)に示した変換規則1708から抽出した構造情報1709を図27(b)に示す。例えば、蓄積手段1701に蓄積されているテンプレートが図5(b)に記載の第1のテンプレート515のみであったとき、変換規則置換手段1702は、パターン構造情報内のノード数と図27に示した(抽出した)構造情報1709内のノード数とを比較し、それらが等しければ近似テンプレートとして検出する。この例では、第1のテンプレート515のパターン構造情報505において、ノード509がノード510のnsに接続されたパターンを想定すると(ここで想定しているパターンは図示せず)、そのパターンが図27に示した(抽出した)構造情報1709と一致している。
図28は図27(a)に記載の変換規則1708をテンプレートで置換した置換後変換規則の一例を示す図である。図28に示すとおり、テンプレートで置換された置換後変換規則280は近似テンプレートの識別子を示す採用テンプレートID2801、パターン構造情報の外部インターフェースを示す実体接続情報2802、パターン構造情報内のノード番号を示す実体ノード情報2803、テンプレート実体そのものの識別子を示す実体ID2804、および実際の構造情報との差分を示す差分情報としてのテンプレート差分2805から構成されている。採用テンプレートID2801、実体接続情報2802、実体ノード情報2803、実体ID2804はそれぞれ図6に示したテンプレート実体600を構成する採用テンプレートID601、実体接続情報603、実体ノード情報604、実体ID602と利用形態が同じである。テンプレート差分2805は、例えば、テンプレート内のパターン構造情報における各ノードの接続の切替え方を示している。図27(b)に示した構造情報1709については、図5(b)に示した第1のテンプレート515のパターン構造情報505におけるノード509がノード510のnsに接続される構造となるので、ノード508のnsの接続を切るための情報(テンプレート差分2805の1行目)、ノード509のpsをノード510のnsに接続するための情報(テンプレート差分2805の2行目)、ノード510のnsをノード509のpsに接続するための情報(テンプレート差分2805の3行目)をそれぞれ有している。
以上のとおり、このような近似テンプレートを用いることにより、蓄積手段1701に蓄積されたテンプレートを効率よく利用することが可能となり、蓄積手段1701の容量を抑制することができる。
(第4の実施形態)
図18は、第4の実施の形態に係る文書変換装置1800の構成を示すブロック図である。文書変換装置1800は、蓄積手段1801、一致箇所検出手段1802、置換手段1803、変換手段1804、変換規則置換手段1805を有している。文書変換装置1800は、変換対象である構造化文書の構造情報1806および文字列情報1807を入力し、変換後構造情報を第1の出力データ1808として出力し、変換後文字列情報を第2の出力データ1809として出力する。
蓄積手段1801は、第1の実施形態に係る文書変換装置101における蓄積手段102(図1参照)と同様、予め定めておいた特定のパターンをテンプレートとして蓄積している。なお、テンプレートは特定のパターンを有すれば、予め定められてなくてもよく、第1の実施形態で説明した発見手段2401(図24参照)により、変換規則から抽出してもよい。
一致箇所検出手段1802は、第1の実施形態に係る文書変換装置101における一致箇所検出手段103(図1参照)と同様に、構造情報1806と、構造情報1806における変換手段1804による変換箇所を示す変換位置情報1810とを入力し、その変換位置情報110が示す変換箇所を検出対象から除外して、構造情報1806と蓄積手段1801に蓄積されたテンプレートとの一致箇所を検出し、一致箇所情報1811を出力する。一致箇所検出手段1802は例えば、図23に示した一致箇所検出手順にしたがい検出を行う。変換位置情報1810は第2の実施形態に係る変換位置検出手段1112(図18には図示せず、図1参照)によって変換規則から抽出することができる。また、図示はしないが、文書変換装置1800に第2の実施形態に係る文書変換装置1400における変換規則蓄積手段1401と変換位置検出手段1403とを設け、その変換規則蓄積手段1401に蓄積されている変換位置識別子を利用頻度に応じて抽出するようにしてもよい。
図23に示した一致箇所検出手順は次のとおりである。
処理開始後のステップ10で、蓄積手段1801に蓄積されたテンプレートからノードの多い順に1つづつ選択し、以下を繰り返す。
選択したテンプレートをPjとする。
次に、ステップ11に進み、構造情報に含まれるノードから変換対象となるノードを除いた後に、Pjのノード数と一致するノードの組み合わせをX1,X2,・・・Xmと記述し、その中から、1つづつ選択して、以下を繰り返す。
選択したノードの組み合わせをXkとする。
次に、ステップ12に進み、Xkに含まれるノードはすべて置換済みのマークが無いか否かを判断し、すべて置換済みのマークが無ければステップ13に進み、そうでなければ後続のステップ13,14を実行することなく処理を終了する。ステップ13に進むと、Pj,Xkが同型か否かを判断し、同型であればステップ14に進み、そうでなければ後続のステップ14を実行することなく処理を終了する。ステップ14に進むと、Xkをテンプレート一致箇所として登録し、Xkに含まれるノードは置換済みとしてマークする。
置換手段1803は第1の実施形態に係る文書変換装置101における置換手段104(図1参照)と同様に、構造情報1806と一致箇所情報1811とを入力し、その構造情報1806における一致箇所情報1811が示す一致箇所をテンプレートで置換し、置換後構造情報1812を出力する。
変換規則置換手段1805は第3の実施形態における変換規則置換手段1702(図17参照)と同様、変換後構造化文書を含む変換規則1813を入力する。そして、変換規則置換手段1805は入力した変換規則1813から変換後構造化文書の構造情報を抽出する一方、抽出した構造情報と一致するテンプレートを蓄積手段1801から検出して、その構造情報をそのテンプレートで置換し、置換後変換規則1814として変換手段1804に伝達(入力)する。
変換手段1804は、第3の実施形態における変換手段1703(図17参照)と同様に、構造情報1806、文字列情報1807、置換後変換規則1814を入力して、置換後変換規則1814にしたがい、構造情報1806および文字列情報1807を変換し、変換後構造情報を第1の出力データ1808として出力し、変換後文字列情報を第2の出力データ1809として出力する。
構造情報1806は、上述した図4(a)に示す構造情報12と同様の構成を有している。文字列情報1807は、上述した図4(b)に示すテーブル13のように列記されている。変換規則1813は、上述した図12に示す変換規則120と同様の構成を有している。蓄積手段1801には、図5(b)に示した第1のテンプレート515と、図9に示した第2のテンプレート900とが蓄積されているとする。また、変換位置情報1810は“312”が予め設定されている。
この例では、一致箇所検出手段1802から出力される一致箇所情報1811は、ノード302,310であり、置換手段1803から出力される置換後構造情報1812は図7に示す置換後構造情報300となる。さらに、変換規則置換手段1805から出力される置換後変換規則1814は、図21に示した置換後変換規則171のようになる。変換手段1804から出力される第1の出力データ1808は、図10に示す変換後構造情報360となり、第2の出力データ1809は図13に示したテーブル23に列記された変換後文字列情報となる。
以上のような構成により、蓄積手段1801に蓄積されているテンプレートは、構造情報1806を置換するためのテンプレートとしても、変換規則1813を置換するためのテンプレートとしても利用できるようになる。すると、一致箇所検出手段1802において、図23に示す一致箇所検出手順を用いれば、蓄積手段1801に蓄積されているテンプレートがメモリ上にのるオンメモリのテンプレートになるため、変換手段1804において、置換後変換規則1814に含めたテンプレートはそのオンメモリテンプレートを用いたものとなる。そのため、変換手段1804はテンプレートの読み出し時間を早めることができるので、処理速度が向上することになる。
また、この構成により、第1の出力データ1808は変換手段1804で変換されずに残った構造情報と変換後構造情報とが双方ともテンプレートが適用された形で出力することができる。すなわち、第1の実施形態で説明した変換後構造情報を圧縮するべく、第1の出力データ1808に対しても再度テンプレートを適用して圧縮するという、再圧縮をする必要がなく、変換手段1804を通過するだけで、変換されずに残った構造情報と変換後構造情報を同時に圧縮することができることになる。
本発明の第1の実施形態に係る文書変換装置の構成を示すブロック図である。 XML文書を示す図である。 XML文書のデータ構造を示す図である。 (a)は図3のデータ構造から分離された構造情報を示す図、(b)は各ノードが有する文字列情報を列記したテーブルを示す図である。 (a)はテンプレートの構成を示すブロック図、(b)は第1のテンプレートの構成を示すブロック図である。 テンプレート実体の構成を示すブロック図である。 置換後構造情報を示す図である。 変換後構造情報を示す図である。 第2のテンプレートの構成を示すブロック図である。 別の変換後構造情報を示す図である。 本発明の第2の実施形態に係る文書変換装置の構成を示すブロック図である。 変換規則の一例を示す図である。 第2の出力データの一例となる文字列情報を列記した別のテーブルを示す図である。 図11に示した文書変換装置に、変換規則蓄積手段を設けた文書変換装置の構成を示すブロック図である。 図14の変換規則蓄積手段に蓄積されている変換位置識別子を示すテーブルの一例を示す図である。 別の変換規則の一例を示す図である。 本発明の第3の実施形態に係る文書変換装置の構成を示すブロック図である。 本発明の第4の実施形態に係る文書変換装置の構成を示すブロック図である。 XML文書とは異なるデータ構造の一例を示す図である。 テンプレート検索手順を示す図である。 別の置換後変換規則を示す図である。 別の変換後構造情報を示す図である。 一致箇所検出手順の一例を示す図である。 発見手段を有する文書変換装置の構成を示すブロック図である。 検証手段を有する文書変換装置の構成を示すブロック図である。 複数の装置から構成される文書変換装置の構成を示すブロック図である。 (a)は変換規則の他例を示す図、(b)は(a)の変換規則から抽出した構造情報を示すブロック図である。 別の置換後変換規則を示す図である。
符号の説明
10…XML文書、11,1900…データ構造
12…構造情報、13,23…テーブル
100…構造化文書
101,1101,1400…文書変換装置
1700,1800,2400…文書変換装置
2500,1800,2400…文書変換装置
102,1102,1701,1801…蓄積手段
2402,2602…蓄積手段
103,1103,1802…一致箇所検出手段
2603…一致箇所検出手段
104,1104,1803,2604…置換手段
105,1105,1703,1804…変換手段
2605…変換手段
106,1106,1704,1806…構造情報
2607…構造情報
107,1107,1705,1807…文字列情報
2608…文字列情報
108,1108,1706…第1の出力データ
1808,2609…第1の出力データ
109,1109,1707…第2の出力データ
1809,2610…第2の出力データ
110…変換位置情報
111…一致箇所情報、
112…置換後構造情報
113,120,121,1708…変換規則
300…置換後構造情報
176,350,360…変換後構造情報
500…テンプレート、515…第1のテンプレート
600…テンプレート実体
900…第2のテンプレート
2601…第1の文書変換装置
2606…第2の文書変換装置

Claims (11)

  1. 構造情報と文字列情報とを有する構造化文書を変換する文書変換装置であって、
    特定のパターンを有する構造情報をテンプレートとして蓄積するテンプレート蓄積手段と、
    前記構造化文書を構成する構造情報と、該構造情報の変換箇所を示す変換位置情報とを入力し、前記構造情報のうち、前記変換位置情報が示す変換箇所を検出対象から除外するようにして、前記構造情報と前記テンプレートとの一致箇所を検出するテンプレート一致箇所検出手段と、
    前記構造化文書を構成する構造情報と前記一致箇所を示す一致箇所情報とを入力し、前記構造情報のうち、前記一致箇所情報が示す一致箇所を前記テンプレートで置換し、置換後構造情報を出力するテンプレート置換手段と、
    前記構造化文書を構成する文字列情報と、前記置換後構造情報と、前記構造化文書を構成する構造情報および文字列情報を変換するための変換規則とを入力し、該変換規則にしたがい、その入力した前記置換後構造情報と前記文字列情報とを変換し、変換後構造情報と変換後文字列情報とを出力する変換手段とを有することを特徴とする文書変換装置。
  2. 前記変換規則が変換位置識別子を含み、
    前記変換規則から前記変換位置識別子を前記変換位置情報として検出し、その検出した変換位置識別子を前記一致箇所検出手段に入力する変換位置検出手段を更に有することを特徴とする請求項1記載の文書変換装置。
  3. 前記変換規則が変換位置識別子を含み、
    前記変換規則に含まれる変換位置識別子を蓄積する変換規則蓄積手段と、
    該変換規則蓄積手段に蓄積されている前記変換位置識別子の利用頻度に応じて、前記変換位置情報を検出する変換位置検出手段とを更に有することを特徴とする請求項1記載の文書変換装置。
  4. 前記変換規則が変換位置識別子を含み、
    前記変換規則に含まれる変換位置識別子を蓄積する変換規則蓄積手段と、
    該変換規則蓄積手段に蓄積されている前記変換位置識別子を前記変換位置情報として検出する変換位置検出手段とを更に有することを特徴とする請求項1記載の文書変換装置。
  5. 前記変換規則が変換後構造化文書を含み、
    前記変換規則から前記変換後構造化文書の構造情報を抽出し、前記テンプレートとして前記テンプレート蓄積手段に蓄積させるテンプレート発見手段を更に有することを特徴とする請求項1〜4のいずれか一項記載の文書変換装置。
  6. 前記テンプレート発見手段により発見された前記テンプレートの蓄積要否を判断するテンプレート検証手段を更に有し、
    該テンプレート検証手段の判断に応じて、前記テンプレート発見手段が前記テンプレートを蓄積することを特徴とする請求項5記載の文書変換装置。
  7. 前記テンプレート検証手段が、前記テンプレート発見手段により発見された前記テンプレートと同型のテンプレートの前記テンプレート蓄積手段における蓄積有無により、前記蓄積要否を判断することを特徴とする請求項6記載の文書変換装置。
  8. 前記テンプレート一致箇所検出手段が前記変換後構造情報と前記テンプレートとの一致箇所を検出し、
    前記テンプレート置換手段が、前記テンプレート一致箇所検出手段から出力される前記一致箇所情報が示す一致箇所を前記テンプレートで置換することを特徴とする請求項1〜7のいずれか一項記載の文書変換装置。
  9. 構造情報と文字列情報とを有する構造化文書を変換する文書変換装置であって、
    特定のパターンを有する構造情報をテンプレートとして蓄積するテンプレート蓄積手段と、
    変換後構造化文書を含み、前記構造化文書を構成する構造情報および文字列情報を変換するための変換規則を入力し、該変換規則から前記変換後構造化文書の構造情報を抽出して、その構造情報と一致する前記テンプレートを検出し、前記構造情報を前記検出されたテンプレートで置換した置換後変換規則を出力する変換規則テンプレート置換手段と、
    前記構造化文書を構成する構造情報および文字列情報と、前記置換後変換規則とを入力し、該置換後変換規則にしたがい、その入力した前記構造情報と文字列情報を変換し、変換後構造情報と変換後文字列情報とを出力する変換手段とを有することを特徴とする文書変換装置。
  10. 前記変換規則テンプレート置換手段が、前記変換後構造化文書の構造情報との差分が最も小さい近似テンプレートを検出し、前記差分を示す差分情報を抽出し、前記置換後変換規則を前記差分情報と前記近似テンプレートとに置換することを特徴とする請求項9記載の文書変換装置。
  11. 構造情報と文字列情報とを有する構造化文書を変換する文書変換装置であって、
    特定のパターンを有する構造情報をテンプレートとして蓄積するテンプレート蓄積手段と、
    前記構造化文書を構成する構造情報と、該構造情報の変換箇所を示す変換位置情報とを入力し、前記構造情報のうち、前記変換位置情報が示す変換箇所を検出対象から除外するようにして、前記構造情報と前記テンプレートとの一致箇所を検出するテンプレート一致箇所検出手段と、
    前記構造化文書を構成する構造情報と前記一致箇所を示す一致箇所情報とを入力し、前記構造情報のうち、前記一致箇所情報が示す一致箇所を前記テンプレートで置換し、置換後構造情報を出力するテンプレート置換手段と、
    変換後構造化文書を含み、前記構造化文書を構成する構造情報および文字列情報を変換するための変換規則を入力し、該変換規則から前記変換後構造化文書の構造情報を抽出して、その構造情報と一致する前記テンプレートを検出し、前記構造情報を前記検出されたテンプレートで置換した置換後変換規則を出力する変換規則テンプレート置換手段と、
    前記構造化文書を構成する文字列情報、前記置換後構造情報および前記置換後変換規則を入力し、該置換後変換規則にしたがい、その入力した前記置換後構造情報および文字列情報を変換し、変換後構造情報と変換後文字列情報を出力する変換手段とを有することを特徴とする文書変換装置。
JP2003332389A 2003-09-24 2003-09-24 文書変換装置 Expired - Fee Related JP4177218B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2003332389A JP4177218B2 (ja) 2003-09-24 2003-09-24 文書変換装置
US10/940,802 US7530017B2 (en) 2003-09-24 2004-09-15 Document transformation system
DE602004025888T DE602004025888D1 (de) 2003-09-24 2004-09-22 Dokumentenumwandlungssystem
DE602004024260T DE602004024260D1 (de) 2003-09-24 2004-09-22 Dokumentenumwandlungssystem
EP04022568A EP1519279B1 (en) 2003-09-24 2004-09-22 Document transformation system
EP08015224A EP1990737B1 (en) 2003-09-24 2004-09-22 Document transformation system
CNB2004100117331A CN100561464C (zh) 2003-09-24 2004-09-24 文档变换系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003332389A JP4177218B2 (ja) 2003-09-24 2003-09-24 文書変換装置

Publications (2)

Publication Number Publication Date
JP2005100057A true JP2005100057A (ja) 2005-04-14
JP4177218B2 JP4177218B2 (ja) 2008-11-05

Family

ID=34191464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003332389A Expired - Fee Related JP4177218B2 (ja) 2003-09-24 2003-09-24 文書変換装置

Country Status (5)

Country Link
US (1) US7530017B2 (ja)
EP (2) EP1990737B1 (ja)
JP (1) JP4177218B2 (ja)
CN (1) CN100561464C (ja)
DE (2) DE602004025888D1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8185820B1 (en) * 2005-04-06 2012-05-22 Adobe Systems Incorporated System and/or method for document generation
CA2607495A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited System and method for efficient hosting of wireless applications by encoding application component definitions
US8286075B2 (en) * 2006-03-07 2012-10-09 Oracle International Corporation Reducing resource requirements when transforming source data in a source markup language to target data in a target markup language using transformation rules
JP2007249754A (ja) * 2006-03-17 2007-09-27 Internatl Business Mach Corp <Ibm> 情報処理装置、情報処理方法およびプログラム
GB2443438A (en) * 2006-10-30 2008-05-07 Hewlett Packard Development Co Method of constructing and storing a document
FR2914759B1 (fr) * 2007-04-03 2009-06-05 Canon Kk Procede et dispositif de codage d'un document hierarchise
US7933871B2 (en) * 2007-12-28 2011-04-26 Microsoft Corporation Discovering and updating templates
US8756407B2 (en) 2008-09-30 2014-06-17 International Business Machines Corporation Configuration rule prototyping tool
US8086618B2 (en) * 2008-09-30 2011-12-27 International Business Machines Corporation Configuration rule translation mapper
US8209341B2 (en) * 2008-09-30 2012-06-26 International Business Machines Corporation Configurable transformation macro
JP5440004B2 (ja) * 2008-10-20 2014-03-12 セイコーエプソン株式会社 情報配信システム、情報配信システムのサービス実現方法およびそのプログラム
JP5293086B2 (ja) * 2008-10-28 2013-09-18 セイコーエプソン株式会社 情報配信システム、情報配信システムのサービス実現方法およびそのプログラム
CN102103591B (zh) * 2009-12-18 2014-04-16 北大方正集团有限公司 一种利用结构化数据实现文档内容自动更新的方法及系统
US8793273B1 (en) * 2011-06-29 2014-07-29 Google Inc. Parsing framework method and device
FR2977692B1 (fr) * 2011-07-07 2015-09-18 Aquafadas Sas Enrichissement de document electronique
CN103177064B (zh) * 2012-12-05 2016-10-05 师建中 一种自动取录电子文档中指定内容的方法
US20190034392A1 (en) * 2017-07-31 2019-01-31 Ca, Inc. Correlation across hierarchical serialization boundaries
US10783138B2 (en) 2017-10-23 2020-09-22 Google Llc Verifying structured data

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487566B1 (en) * 1998-10-05 2002-11-26 International Business Machines Corporation Transforming documents using pattern matching and a replacement language
US6643652B2 (en) * 2000-01-14 2003-11-04 Saba Software, Inc. Method and apparatus for managing data exchange among systems in a network
JP3368883B2 (ja) 2000-02-04 2003-01-20 インターナショナル・ビジネス・マシーンズ・コーポレーション データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置
US7111076B2 (en) * 2000-04-13 2006-09-19 Intel Corporation System using transform template and XML document type definition for transforming message and its reply
US20010051962A1 (en) * 2000-06-08 2001-12-13 Robert Plotkin Presentation customization
JP4774145B2 (ja) 2000-11-24 2011-09-14 富士通株式会社 構造化文書圧縮装置および構造化文書復元装置並びに構造化文書処理システム
JP4689856B2 (ja) * 2001-03-30 2011-05-25 富士通株式会社 構造化文書変換装置
JP3692054B2 (ja) 2001-05-21 2005-09-07 株式会社東芝 文書構造変換方法および文書構造変換装置およびプログラム
JP2003044459A (ja) 2001-08-02 2003-02-14 Hitachi Software Eng Co Ltd 構造化データに対するデータ圧縮方法およびデータ交換方法
US7284191B2 (en) * 2001-08-13 2007-10-16 Xerox Corporation Meta-document management system with document identifiers
US7133862B2 (en) * 2001-08-13 2006-11-07 Xerox Corporation System with user directed enrichment and import/export control
US7130861B2 (en) * 2001-08-16 2006-10-31 Sentius International Corporation Automated creation and delivery of database content
JP3857663B2 (ja) * 2002-04-30 2006-12-13 株式会社東芝 構造化文書編集装置、構造化文書編集方法及びプログラム
WO2004068320A2 (en) * 2003-01-27 2004-08-12 Vincent Wen-Jeng Lue Method and apparatus for adapting web contents to different display area dimensions

Also Published As

Publication number Publication date
EP1519279B1 (en) 2010-03-10
DE602004025888D1 (de) 2010-04-22
US7530017B2 (en) 2009-05-05
DE602004024260D1 (de) 2009-12-31
EP1990737B1 (en) 2009-11-18
CN100561464C (zh) 2009-11-18
EP1519279A3 (en) 2007-12-19
CN1601519A (zh) 2005-03-30
US20050097454A1 (en) 2005-05-05
EP1990737A1 (en) 2008-11-12
EP1519279A2 (en) 2005-03-30
JP4177218B2 (ja) 2008-11-05

Similar Documents

Publication Publication Date Title
JP4177218B2 (ja) 文書変換装置
US7593949B2 (en) Compression of structured documents
WO2006043142A1 (en) Adaptive compression scheme
JP5377818B2 (ja) コンパイル済みスキーマに順次アクセスする方法とシステム
JP2006221654A (ja) デリミタを減少させる方法及びシステム
JP5800441B2 (ja) 文書の圧縮、解凍及び照会のための方法及び装置
JP2006221653A (ja) 文書分析において受付状態を決定するシステム及び方法
JP5044943B2 (ja) データ文書の高速符号化方法及びシステム
US20050102304A1 (en) Data compressor, data decompressor, and data management system
JP5789236B2 (ja) 構造化文書分析方法、構造化文書分析プログラム、および構造化文書分析システム
US7676742B2 (en) System and method for processing of markup language information
JP4776389B2 (ja) 符号化文書復号方法及びシステム
US20110270862A1 (en) Information processing apparatus and information processing method
US20060212799A1 (en) Method and system for compiling schema
US20110145700A1 (en) Structured document analysis apparatus and structured document analysis method
JP6589317B2 (ja) 書換装置、処理方法とそのプログラム、および、情報処理装置
JP2008209996A (ja) 検索索引作成装置・検索索引作成方法及び検索索引作成プログラム
JP2008140157A (ja) 構造化文書処理装置
Böttcher et al. Searchable compression of office documents by XML schema subtraction
KR100902255B1 (ko) 웹 문서에 대한 유알아이 참조의 압축 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080602

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080821

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

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130829

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees