(57)【要約】【課題】ＸＭＬ文書を圧縮する際、専用のアプリケーションがなくても、簡単にＸＭＬ文書を復元することができるような形式で圧縮することができる文書圧縮装置を得ることを目的とする。【解決手段】ＸＭＬ文書解析部１２により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成するＸＭＬ文書圧縮部１３を設け、そのＸＭＬ文書圧縮部１３により作成された対応表に基づいて圧縮後の要素を復元する際に参照する復元用ＸＳＬＴ４を生成するように構成した。【選択図】        図２
2004258773.tif 000002
【特許請求の範囲】
【請求項１】
構造化文書の構造を解析して、圧縮対象の要素を特定する要素特定手段と、上記要素特定手段により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成する要素圧縮手段と、上記要素圧縮手段により作成された対応表に基づいて圧縮後の要素を復元する際に参照するテンプレートを生成するテンプレート生成手段とを備えた文書圧縮装置。
【請求項２】
要素圧縮手段は、要素特定手段により特定された要素が属性及び子要素を有しない場合、その要素の開始タグと終了タグを削除し、その要素の内容を親要素の属性として付加することを特徴とする請求項１記載の文書圧縮装置。
【請求項３】
要素圧縮手段は、要素特定手段により特定された要素が子要素を有しないが属性を有する場合、その属性名を短縮化して、短縮化前後の属性名の対応関係を示す対応表を作成することを特徴とする請求項１記載の文書圧縮装置。
【請求項４】
要素圧縮手段は、要素の開始タグと終了タグを削除し、その要素の内容を親要素の属性として付加することにより、親要素が子要素を持たなくなると、その親要素の終了タグを空要素タグに変更することを特徴とする請求項２記載の文書圧縮装置。
【請求項５】
要素圧縮手段は、親要素の要素名及び属性名を短縮化して、短縮化前後の要素名及び属性名の対応関係を示す対応表を作成することを特徴とする請求項２記載の文書圧縮装置。
【請求項６】
文書圧縮装置により要素が圧縮された構造化文書と上記文書圧縮装置により生成されたテンプレートとを入力する入力手段と、上記入力手段により入力されたテンプレートを参照して、その圧縮された要素を復元する要素復元手段とを備えた文書復元装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えば、ＸＭＬ文書などの構造化文書を圧縮する文書圧縮装置と、その圧縮された構造化文書を復元する文書復元装置とに関するものである。
【０００２】
【従来の技術】
近年、インターネットの普及に伴って、様々な電子データをインターネットを介してやり取りする機会が増加している。その際、データ交換方式として、ＸＭＬが採用される機会が多くなってきている。
ＸＭＬは、開始タグと終了タグによって、データである「要素」を挟む形式の文書であり、その要素の内容として、別要素を持つことができるため、入れ子になった階層的な構造を実現することができる。また、要素は「属性」を有することができる。
＜要素名＞要素の内容＜／要素名＞
＜要素名  属性名＝“属性値”＞要素の内容＜／要素名＞
【０００３】
しかし、要素名や属性名に長い名前が指定された場合、データの冗長度が高くなり、データ容量が大きくなる。
そこで、ＸＭＬ文書を圧縮する文書圧縮装置が以下の特許文献１に開示されているが、従来の文書圧縮装置がＸＭＬ文書を圧縮した場合、専用のアプリケーションがなければ、そのＸＭＬ文書を復元することができない。
【０００４】
【特許文献１】
特開２００１−６７３４８公報（段落番号［００５０］から［００６５］、図１）
【０００５】
【発明が解決しようとする課題】
従来の文書圧縮装置は以上のように構成されているので、ＸＭＬ文書を圧縮してデータ容量を小さくすることができるが、専用のアプリケーションがなければ、そのＸＭＬ文書を復元することができず、インターネットなどを利用したＸＭＬ文書の交換に適さないなどの課題があった。
【０００６】
この発明は上記のような課題を解決するためになされたもので、ＸＭＬ文書を圧縮する際、専用のアプリケーションがなくても、簡単にＸＭＬ文書を復元することができるような形式で圧縮することができる文書圧縮装置を得ることを目的とする。
また、この発明は、専用のアプリケーションがなくても、簡単にＸＭＬ文書を復元することができる文書復元装置を得ることを目的とする。
【０００７】
【課題を解決するための手段】
この発明に係る文書圧縮装置は、要素特定手段により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成する要素圧縮手段を設け、その要素圧縮手段により作成された対応表に基づいて圧縮後の要素を復元する際に参照するテンプレートを生成するようにしたものである。
【０００８】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１による文書圧縮装置及び文書復元装置が適用されるシステムを示すシステム構成図であり、図において、文書圧縮装置２はＸＭＬ文書の原文１を入力して、その原文１を圧縮するとともに、圧縮後のＸＭＬ文書３を復元する際に参照する復元用ＸＳＬＴ４を生成する。
文書復元装置６は文書圧縮装置２からネットワーク５を介して圧縮後のＸＭＬ文書３と復元用ＸＳＬＴ４を受信すると、その復元用ＸＳＬＴ４を参照してＸＭＬ文書の原文１を復元する。
【０００９】
図２はこの発明の実施の形態１による文書圧縮装置２を示す構成図であり、図において、ＸＭＬ文書入力部１１は構造化文書であるＸＭＬ文書を入力する。ＸＭＬ文書解析部１２はＸＭＬ文書入力部１１により入力されたＸＭＬ文書の構造を解析して、圧縮対象の要素を特定する。なお、ＸＭＬ文書解析部１２は要素特定手段を構成している。
ＸＭＬ文書圧縮部１３はＸＭＬ文書解析部１２により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成する。なお、ＸＭＬ文書圧縮部１３は要素圧縮手段を構成している。ＸＳＬＴ生成部１４はＸＭＬ文書圧縮部１３により作成された対応表に基づいて圧縮後の要素を復元する際に参照する復元用ＸＳＬＴ４を生成する。なお、ＸＳＬＴ生成部１４はテンプレート生成手段を構成している。
ＸＭＬ文書送信部１５は圧縮後のＸＭＬ文書３をネットワーク５を介して文書復元装置６に送信し、ＸＳＬＴ送信部１６はＸＳＬＴ生成部１４により生成された復元用ＸＳＬＴ４をネットワーク５を介して文書復元装置６に送信する。
【００１０】
図３はこの発明の実施の形態１による文書復元装置６を示す構成図であり、図において、ＸＭＬ文書受信部２１は文書圧縮装置２から送信された圧縮後のＸＭＬ文書３を受信し、ＸＳＬＴ受信部２２は文書圧縮装置２から送信された復元用ＸＳＬＴ４を受信する。なお、ＸＭＬ文書受信部２１及びＸＳＬＴ受信部２２から入力手段が構成されている。
ＸＭＬ文書復元部２３はＸＳＬＴ受信部２２により受信された復元用ＸＳＬＴ４を参照して、ＸＭＬ文書受信部２１により受信された圧縮後のＸＭＬ文書３を復元する。なお、ＸＭＬ文書復元部２３は要素復元手段を構成している。
ＸＭＬ文書出力部２４はＸＭＬ文書復元部２３により復元されたＸＭＬ文書を出力する。
図４はＸＭＬ文書解析部１２及びＸＭＬ文書圧縮部１３の処理内容を示すフローチャートであり、図９はＸＳＬＴ生成部１４の処理内容を示すフローチャートである。
【００１１】
次に動作について説明する。
まず、文書圧縮装置２のＸＭＬ文書入力部１１がＸＭＬ文書の原文１を入力すると、ＸＭＬ文書解析部１２がＸＭＬ文書入力部１１により入力されたＸＭＬ文書の構造を解析して、圧縮対象の要素を特定する。
ＸＭＬ文書圧縮部１３は、ＸＭＬ文書解析部１２により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成する。
【００１２】
具体的には、下記の通りである。
まず、ＸＭＬ文書の構造情報と内容をメモリ上に展開してＤＯＭツリーを生成し（ステップＳＴ１）、処理対象を指し示すポインタをＸＭＬ文書のルート要素に指定する（ステップＳＴ２）。
例えば、ＸＭＬ文書入力部１１により図５（ａ）のようなＸＭＬ文書が入力された場合、処理対象ポインタをルート要素である＜ｐｒｏｄｕｃｔｓ＞に指定する。
【００１３】
次に、ＸＭＬ文書解析部１２は、そのルート要素＜ｐｒｏｄｕｃｔｓ＞が未処理の子要素を有しているか否かを確認し（ステップＳＴ３）、そのルート要素＜ｐｒｏｄｕｃｔｓ＞が未処理の子要素を有している場合には、処理対象ポインタをルート要素＜ｐｒｏｄｕｃｔｓ＞から子要素に移行する（ステップＳＴ４）。
この例では、ルート要素＜ｐｒｏｄｕｃｔｓ＞は、未処理の子要素として＜ｐｒｏｄｕｃｔ  ｉｄ＝“０００１”＞を有しているので、図５（ｂ）に示すように、処理対象ポインタを＜ｐｒｏｄｕｃｔ  ｉｄ＝“０００１”＞に移行する。
【００１４】
さらに、ＸＭＬ文書解析部１２は、移行後の要素＜ｐｒｏｄｕｃｔ  ｉｄ＝“０００１”＞が未処理の子要素を有しているか否かを確認し（ステップＳＴ３）、移行後の要素＜ｐｒｏｄｕｃｔ  ｉｄ＝“０００１”＞が未処理の子要素を有している場合には、処理対象ポインタを要素＜ｐｒｏｄｕｃｔ  ｉｄ＝“０００１”＞から子要素に移行する（ステップＳＴ４）。
この例では、要素＜ｐｒｏｄｕｃｔ  ｉｄ＝“０００１”＞は、未処理の子要素として＜ｎａｍｅ＞を有しているので、図５（ｃ）に示すように、処理対象ポインタを＜ｎａｍｅ＞に移行する。
【００１５】
次に、ＸＭＬ文書解析部１２は、移行後の要素＜ｎａｍｅ＞は、未処理の子要素を有していないので、要素＜ｎａｍｅ＞が未処理の属性を有しているか否かを確認する（ステップＳＴ５）。
この例では、要素＜ｎａｍｅ＞は、未処理の属性を有していないので、図５（ｄ）に示すように、ＸＭＬ文書圧縮部１３が要素＜ｎａｍｅ＞の要素名を短くする（ステップＳＴ６）。要素名を“ｎａｍｅ”→“ａ”のように短くしている。
ＸＭＬ文書圧縮部１３は、このように要素名を短くすると、図６に示すように、短縮前後の要素名の対応関係を示す対応表を作成する。
【００１６】
次に、ＸＭＬ文書解析部１２は、要素＜ｎａｍｅ＞が親要素を有しているか否かを確認し（ステップＳＴ７）、即ち、要素＜ｎａｍｅ＞がルート要素であるか否かを確認し、要素＜ｎａｍｅ＞がルート要素ではないので、要素＜ｎａｍｅ＞が属性又は子要素を有しているか否かを確認する（ステップＳＴ８）。
この例では、要素＜ｎａｍｅ＞は、属性も子要素も有していないので、その親要素である＜ｐｒｏｄｕｃｔ  ｉｄ＝“０００１”＞が内容を有しているか否かを確認する（ステップＳＴ９）。
この例では、その親要素である＜ｐｒｏｄｕｃｔ  ｉｄ＝“０００１”＞は内容を有していないので、ＸＭＬ文書圧縮部１３が図５（ｅ）に示すように、要素＜ｎａｍｅ＞の開始タグと終了タグを削除して、その要素の内容“ＡＢＣ”を親要素の属性として付加する（ステップＳＴ１０）。即ち、要素＜ｎａｍｅ＞を削除して、親要素を＜ｐｒｏｄｕｃｔ  ｉｄ＝“０００１”ａ＝“ＡＢＣ”＞のように変更する。
【００１７】
上記のようにしてＸＭＬ文書圧縮部１３が要素の圧縮処理を実施して、対応表を更新すると（ステップＳＴ１１またはＳＴ１２）、ＸＭＬ文書解析部１２が処理対象ポインタを親要素に移行し（ステップＳＴ１３）、ステップＳＴ３の処理に戻ることにより、上記と同様の処理を繰り返し実行する。
これにより、この例では、要素＜ｐｒｉｃｅ＞の要素名が“ｐｒｉｃｅ”→“ｂ”のように短くされたのち、要素＜ｐｒｉｃｅ＞の開始タグと終了タグが削除されて、要素＜ｐｒｉｃｅ＞の要素の内容“１０００”が親要素の属性として付加される。
その結果、親要素が子要素を有しないようになるので、図５（ｆ）に示すように、その親要素の終了タグ＜／ｐｒｏｄｕｃｔ＞を空要素タグ“／”に変更する。即ち、＜ｐｒｏｄｕｃｔ  ｉｄ＝“０００１”ａ＝“ＡＢＣ”ｂ＝“１０００”／＞のように変更される。
【００１８】
その後、親要素＜ｐｒｏｄｕｃｔ  ｉｄ＝“０００１”ａ＝“ＡＢＣ”ｂ＝“１０００”／＞に処理対象ポインタが移行すると（ステップＳＴ１３）、親要素＜ｐｒｏｄｕｃｔ  ｉｄ＝“０００１”ａ＝“ＡＢＣ”ｂ＝“１０００”／＞が未処理の子要素を有していないので（ステップＳＴ３）、ＸＭＬ文書解析部１２が未処理の属性を有しているか否かを確認する（ステップＳＴ５）。
ＸＭＬ文書圧縮部１３は、親要素＜ｐｒｏｄｕｃｔ  ｉｄ＝“０００１”ａ＝“ＡＢＣ”ｂ＝“１０００”／＞が未処理の属性“ｉｄ”を有しているので、図５（ｇ）に示すように、その属性名を短くする（ステップＳＴ１４）。属性名を“ｉｄ”→“ｃ”のように短くしている。
ＸＭＬ文書圧縮部１３は、このように属性名を短くすると、図７に示すように、短縮前後の属性名の対応関係を示す対応表を作成する。
【００１９】
ＸＭＬ文書圧縮部１３は、その後、要素＜ｐｒｏｄｕｃｔ  ｃ＝“０００１”ａ＝“ＡＢＣ”ｂ＝“１０００”／＞が未処理の属性を有しなくなると、図５（ｈ）に示すように、要素＜ｐｒｏｄｕｃｔ  ｃ＝“０００１”ａ＝“ＡＢＣ”ｂ＝“１０００”／＞の要素名を短くする（ステップＳＴ６）。要素名を“ｐｒｏｄｕｃｔ”→“ｄ”のように短くしている。
ＸＭＬ文書圧縮部１３は、このように要素名を短くすると、図８に示すように、短縮前後の要素名の対応関係を示す対応表を作成する。
【００２０】
その後、ルート要素＜ｐｒｏｄｕｃｔｓ＞に処理対象ポインタが移行すると（ステップＳＴ１３）、ＸＭＬ文書圧縮部１３は、図５（ｉ）に示すように、ルート要素＜ｐｒｏｄｕｃｔｓ＞の要素名を短くする。要素名を“ｐｒｏｄｕｃｔｓ”→“ｅ”のように短くしている。
ＸＭＬ文書圧縮部１３は、このように要素名を短くすると、図８に示すように、短縮前後の要素名の対応関係を示す対応表を作成する（ステップＳＴ１６）。
【００２１】
ＸＳＬＴ生成部１４は、上記のようにして、ＸＭＬ文書圧縮部１３がＸＭＬ文書の圧縮処理を終了すると、その際に作成された図６〜図８の対応表に基づいて圧縮後の要素を復元する際に参照する復元用ＸＳＬＴ４を生成する（ステップＳＴ１７）。
即ち、属性として変換された葉要素（属性や子要素を有しない要素）や属性は、ＸＳＬＴのテンプレートとして記述し、親要素となる要素は、子要素へのテンプレート適用を記述したテンプレートとして記述する。具体的には次の通りである。
【００２２】
まず、ＸＳＬＴ生成部１４は、図６の対応表の各要素をＸＳＬＴのテンプレートにする（ステップＳＴ２１）。
次に、ＸＳＬＴ生成部１４は、図７の対応表の各属性をＸＳＬＴのテンプレートにする（ステップＳＴ２２）。
次に、ＸＳＬＴ生成部１４は、図８の対応表の各要素をＸＳＬＴのテンプレートにする（ステップＳＴ２３）。
【００２３】
次に、ＸＳＬＴ生成部１４は、図７の対応表から該当する要素に属する属性を探して、テンプレートを適用する（ステップＳＴ２４）。
次に、ＸＳＬＴ生成部１４は、図６の対応表から該当する要素に属する葉要素を探し、テンプレートを適用する（ステップＳＴ２５）。
ＸＳＬＴ生成部１４は、図８の対応表における全ての要素について、テンプレートを作成するまで、ステップＳＴ２４，ＳＴ２５の処理を繰り返し実行する（ステップＳＴ２６）。
図１０はＸＳＬＴ生成部１４により生成された復元用ＸＳＬＴ４の一例を示している。
【００２４】
ＸＭＬ文書送信部１５は、圧縮後のＸＭＬ文書３をネットワーク５を介して文書復元装置６に送信し、ＸＳＬＴ送信部１６はＸＳＬＴ生成部１４により生成された復元用ＸＳＬＴ４をネットワーク５を介して文書復元装置６に送信する。
【００２５】
一方、文書復元装置６のＸＭＬ文書復元部２３は、ＸＭＬ文書受信部２１が文書圧縮装置２から送信された圧縮後のＸＭＬ文書３を受信し、ＸＳＬＴ受信部２２が文書圧縮装置２から送信された復元用ＸＳＬＴ４を受信すると、その復元用ＸＳＬＴ４を参照して、圧縮後のＸＭＬ文書３を復元する。
即ち、復元処理は、ＸＭＬ文書形式で記述されている復元用ＸＳＬＴ４の記述内容を順次実行することにより、圧縮後のＸＭＬ文書３を復元する。図１１は復元処理の処理内容を示しており、図１１（ｋ）が復元されたＸＭＬ文書に相当する。
【００２６】
以上で明らかなように、この実施の形態１によれば、ＸＭＬ文書解析部１２により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成するＸＭＬ文書圧縮部１３を設け、そのＸＭＬ文書圧縮部１３により作成された対応表に基づいて圧縮後の要素を復元する際に参照する復元用ＸＳＬＴ４を生成するように構成したので、ＸＭＬ文書を圧縮する際、専用のアプリケーションがなくても、簡単にＸＭＬ文書を復元することができるような形式で圧縮することができる効果を奏する。
また、この実施の形態１によれば、文書圧縮装置により生成された復元用ＸＳＬＴ４を参照して、文書圧縮装置により圧縮されたＸＭＬ文書の要素を復元するように構成したので、専用のアプリケーションがなくても、簡単にＸＭＬ文書を復元することができる効果を奏する。
【００２７】
この実施の形態１によれば、ＸＭＬ文書解析部１２により特定された要素が属性及び子要素を有しない場合、その要素の開始タグと終了タグを削除し、その要素の内容を親要素の属性として付加するように構成したので、ＸＭＬ文書の容量を小さくすることができる効果を奏する。
また、この実施の形態１によれば、ＸＭＬ文書解析部１２により特定された要素が子要素を有しないが属性を有する場合、その属性名を短縮化して、短縮化前後の属性名の対応関係を示す対応表を作成するように構成したので、ＸＭＬ文書の容量を小さくすることができるとともに、容易にＸＭＬ文書を復元することができる効果を奏する。
【００２８】
さらに、この実施の形態１によれば、要素の開始タグと終了タグを削除し、その要素の内容を親要素の属性として付加することにより、親要素が子要素を持たなくなると、その親要素の終了タグを空要素タグに変更するように構成したので、ＸＭＬ文書の容量を小さくすることができる効果を奏する。
また、この実施の形態１によれば、親要素の要素名及び属性名を短縮化して、短縮化前後の要素名及び属性名の対応関係を示す対応表を作成するように構成したので、ＸＭＬ文書の容量を小さくすることができるとともに、容易にＸＭＬ文書を復元することができる効果を奏する。
【００２９】
【発明の効果】
以上のように、この発明によれば、要素特定手段により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成する要素圧縮手段を設け、その要素圧縮手段により作成された対応表に基づいて圧縮後の要素を復元する際に参照するテンプレートを生成するように構成したので、ＸＭＬ文書を圧縮する際、専用のアプリケーションがなくても、簡単にＸＭＬ文書を復元することができるような形式で圧縮することができる効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１による文書圧縮装置及び文書復元装置が適用されるシステムを示すシステム構成図である。
【図２】この発明の実施の形態１による文書圧縮装置を示す構成図である。
【図３】この発明の実施の形態１による文書復元装置を示す構成図である。
【図４】ＸＭＬ文書解析部及びＸＭＬ文書圧縮部の処理内容を示すフローチャートである。
【図５】圧縮処理の処理内容を示す説明図である。
【図６】葉要素名と短文字列の対応表を示す説明図である。
【図７】属性名と短文字列の対応表を示す説明図である。
【図８】要素名と短文字列の対応表を示す説明図である。
【図９】ＸＳＬＴ生成部の処理内容を示すフローチャートである。
【図１０】復元用ＸＳＬＴを示す説明図である。
【図１１】復元処理の処理内容を示す説明図である。
【符号の説明】
１  ＸＭＬ文書の原文、２  文書圧縮装置、３  圧縮後のＸＭＬ文書、４  復元用ＸＳＬＴ、５  ネットワーク、６  文書復元装置、１１  ＸＭＬ文書入力部、１２  ＸＭＬ文書解析部（要素特定手段）、１３  ＸＭＬ文書圧縮部（要素圧縮手段）、１４  ＸＳＬＴ生成部（テンプレート生成手段）、１５  ＸＭＬ文書送信部、１６  ＸＳＬＴ送信部、２１  ＸＭＬ文書受信部（入力手段）、２２  ＸＳＬＴ受信部（入力手段）、２３  ＸＭＬ文書復元部（要素復元手段）、２４ＸＭＬ文書出力部。
【図１】
2004258773.tif 000003
【図２】
2004258773.tif 000004
【図３】
2004258773.tif 000005
【図４】
2004258773.tif 000006
【図５】
2004258773.tif 000007
【図６】
2004258773.tif 000008
【図７】
2004258773.tif 000009
【図８】
2004258773.tif 000010
【図９】
2004258773.tif 000011
【図１０】
2004258773.tif 000012
【図１１】
2004258773.tif 000013