JP2004258773A - 文書圧縮装置及び文書復元装置 - Google Patents
文書圧縮装置及び文書復元装置 Download PDFInfo
- Publication number
- JP2004258773A JP2004258773A JP2003046217A JP2003046217A JP2004258773A JP 2004258773 A JP2004258773 A JP 2004258773A JP 2003046217 A JP2003046217 A JP 2003046217A JP 2003046217 A JP2003046217 A JP 2003046217A JP 2004258773 A JP2004258773 A JP 2004258773A
- Authority
- JP
- Japan
- Prior art keywords
- document
- xml document
- compression
- unit
- attribute
- 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.)
- Pending
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
【解決手段】XML文書解析部12により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成するXML文書圧縮部13を設け、そのXML文書圧縮部13により作成された対応表に基づいて圧縮後の要素を復元する際に参照する復元用XSLT4を生成するように構成した。
【選択図】 図2
Description
【発明の属する技術分野】
この発明は、例えば、XML文書などの構造化文書を圧縮する文書圧縮装置と、その圧縮された構造化文書を復元する文書復元装置とに関するものである。
【0002】
【従来の技術】
近年、インターネットの普及に伴って、様々な電子データをインターネットを介してやり取りする機会が増加している。その際、データ交換方式として、XMLが採用される機会が多くなってきている。
XMLは、開始タグと終了タグによって、データである「要素」を挟む形式の文書であり、その要素の内容として、別要素を持つことができるため、入れ子になった階層的な構造を実現することができる。また、要素は「属性」を有することができる。
<要素名>要素の内容</要素名>
<要素名 属性名=“属性値”>要素の内容</要素名>
【0003】
しかし、要素名や属性名に長い名前が指定された場合、データの冗長度が高くなり、データ容量が大きくなる。
そこで、XML文書を圧縮する文書圧縮装置が以下の特許文献1に開示されているが、従来の文書圧縮装置がXML文書を圧縮した場合、専用のアプリケーションがなければ、そのXML文書を復元することができない。
【0004】
【特許文献1】
特開2001−67348公報(段落番号[0050]から[0065]、図1)
【0005】
【発明が解決しようとする課題】
従来の文書圧縮装置は以上のように構成されているので、XML文書を圧縮してデータ容量を小さくすることができるが、専用のアプリケーションがなければ、そのXML文書を復元することができず、インターネットなどを利用したXML文書の交換に適さないなどの課題があった。
【0006】
この発明は上記のような課題を解決するためになされたもので、XML文書を圧縮する際、専用のアプリケーションがなくても、簡単にXML文書を復元することができるような形式で圧縮することができる文書圧縮装置を得ることを目的とする。
また、この発明は、専用のアプリケーションがなくても、簡単にXML文書を復元することができる文書復元装置を得ることを目的とする。
【0007】
【課題を解決するための手段】
この発明に係る文書圧縮装置は、要素特定手段により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成する要素圧縮手段を設け、その要素圧縮手段により作成された対応表に基づいて圧縮後の要素を復元する際に参照するテンプレートを生成するようにしたものである。
【0008】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による文書圧縮装置及び文書復元装置が適用されるシステムを示すシステム構成図であり、図において、文書圧縮装置2はXML文書の原文1を入力して、その原文1を圧縮するとともに、圧縮後のXML文書3を復元する際に参照する復元用XSLT4を生成する。
文書復元装置6は文書圧縮装置2からネットワーク5を介して圧縮後のXML文書3と復元用XSLT4を受信すると、その復元用XSLT4を参照してXML文書の原文1を復元する。
【0009】
図2はこの発明の実施の形態1による文書圧縮装置2を示す構成図であり、図において、XML文書入力部11は構造化文書であるXML文書を入力する。XML文書解析部12はXML文書入力部11により入力されたXML文書の構造を解析して、圧縮対象の要素を特定する。なお、XML文書解析部12は要素特定手段を構成している。
XML文書圧縮部13はXML文書解析部12により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成する。なお、XML文書圧縮部13は要素圧縮手段を構成している。XSLT生成部14はXML文書圧縮部13により作成された対応表に基づいて圧縮後の要素を復元する際に参照する復元用XSLT4を生成する。なお、XSLT生成部14はテンプレート生成手段を構成している。
XML文書送信部15は圧縮後のXML文書3をネットワーク5を介して文書復元装置6に送信し、XSLT送信部16はXSLT生成部14により生成された復元用XSLT4をネットワーク5を介して文書復元装置6に送信する。
【0010】
図3はこの発明の実施の形態1による文書復元装置6を示す構成図であり、図において、XML文書受信部21は文書圧縮装置2から送信された圧縮後のXML文書3を受信し、XSLT受信部22は文書圧縮装置2から送信された復元用XSLT4を受信する。なお、XML文書受信部21及びXSLT受信部22から入力手段が構成されている。
XML文書復元部23はXSLT受信部22により受信された復元用XSLT4を参照して、XML文書受信部21により受信された圧縮後のXML文書3を復元する。なお、XML文書復元部23は要素復元手段を構成している。
XML文書出力部24はXML文書復元部23により復元されたXML文書を出力する。
図4はXML文書解析部12及びXML文書圧縮部13の処理内容を示すフローチャートであり、図9はXSLT生成部14の処理内容を示すフローチャートである。
【0011】
次に動作について説明する。
まず、文書圧縮装置2のXML文書入力部11がXML文書の原文1を入力すると、XML文書解析部12がXML文書入力部11により入力されたXML文書の構造を解析して、圧縮対象の要素を特定する。
XML文書圧縮部13は、XML文書解析部12により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成する。
【0012】
具体的には、下記の通りである。
まず、XML文書の構造情報と内容をメモリ上に展開してDOMツリーを生成し(ステップST1)、処理対象を指し示すポインタをXML文書のルート要素に指定する(ステップST2)。
例えば、XML文書入力部11により図5(a)のようなXML文書が入力された場合、処理対象ポインタをルート要素である<products>に指定する。
【0013】
次に、XML文書解析部12は、そのルート要素<products>が未処理の子要素を有しているか否かを確認し(ステップST3)、そのルート要素<products>が未処理の子要素を有している場合には、処理対象ポインタをルート要素<products>から子要素に移行する(ステップST4)。
この例では、ルート要素<products>は、未処理の子要素として<product id=“0001”>を有しているので、図5(b)に示すように、処理対象ポインタを<product id=“0001”>に移行する。
【0014】
さらに、XML文書解析部12は、移行後の要素<product id=“0001”>が未処理の子要素を有しているか否かを確認し(ステップST3)、移行後の要素<product id=“0001”>が未処理の子要素を有している場合には、処理対象ポインタを要素<product id=“0001”>から子要素に移行する(ステップST4)。
この例では、要素<product id=“0001”>は、未処理の子要素として<name>を有しているので、図5(c)に示すように、処理対象ポインタを<name>に移行する。
【0015】
次に、XML文書解析部12は、移行後の要素<name>は、未処理の子要素を有していないので、要素<name>が未処理の属性を有しているか否かを確認する(ステップST5)。
この例では、要素<name>は、未処理の属性を有していないので、図5(d)に示すように、XML文書圧縮部13が要素<name>の要素名を短くする(ステップST6)。要素名を“name”→“a”のように短くしている。
XML文書圧縮部13は、このように要素名を短くすると、図6に示すように、短縮前後の要素名の対応関係を示す対応表を作成する。
【0016】
次に、XML文書解析部12は、要素<name>が親要素を有しているか否かを確認し(ステップST7)、即ち、要素<name>がルート要素であるか否かを確認し、要素<name>がルート要素ではないので、要素<name>が属性又は子要素を有しているか否かを確認する(ステップST8)。
この例では、要素<name>は、属性も子要素も有していないので、その親要素である<product id=“0001”>が内容を有しているか否かを確認する(ステップST9)。
この例では、その親要素である<product id=“0001”>は内容を有していないので、XML文書圧縮部13が図5(e)に示すように、要素<name>の開始タグと終了タグを削除して、その要素の内容“ABC”を親要素の属性として付加する(ステップST10)。即ち、要素<name>を削除して、親要素を<product id=“0001”a=“ABC”>のように変更する。
【0017】
上記のようにしてXML文書圧縮部13が要素の圧縮処理を実施して、対応表を更新すると(ステップST11またはST12)、XML文書解析部12が処理対象ポインタを親要素に移行し(ステップST13)、ステップST3の処理に戻ることにより、上記と同様の処理を繰り返し実行する。
これにより、この例では、要素<price>の要素名が“price”→“b”のように短くされたのち、要素<price>の開始タグと終了タグが削除されて、要素<price>の要素の内容“1000”が親要素の属性として付加される。
その結果、親要素が子要素を有しないようになるので、図5(f)に示すように、その親要素の終了タグ</product>を空要素タグ“/”に変更する。即ち、<product id=“0001”a=“ABC”b=“1000”/>のように変更される。
【0018】
その後、親要素<product id=“0001”a=“ABC”b=“1000”/>に処理対象ポインタが移行すると(ステップST13)、親要素<product id=“0001”a=“ABC”b=“1000”/>が未処理の子要素を有していないので(ステップST3)、XML文書解析部12が未処理の属性を有しているか否かを確認する(ステップST5)。
XML文書圧縮部13は、親要素<product id=“0001”a=“ABC”b=“1000”/>が未処理の属性“id”を有しているので、図5(g)に示すように、その属性名を短くする(ステップST14)。属性名を“id”→“c”のように短くしている。
XML文書圧縮部13は、このように属性名を短くすると、図7に示すように、短縮前後の属性名の対応関係を示す対応表を作成する。
【0019】
XML文書圧縮部13は、その後、要素<product c=“0001”a=“ABC”b=“1000”/>が未処理の属性を有しなくなると、図5(h)に示すように、要素<product c=“0001”a=“ABC”b=“1000”/>の要素名を短くする(ステップST6)。要素名を“product”→“d”のように短くしている。
XML文書圧縮部13は、このように要素名を短くすると、図8に示すように、短縮前後の要素名の対応関係を示す対応表を作成する。
【0020】
その後、ルート要素<products>に処理対象ポインタが移行すると(ステップST13)、XML文書圧縮部13は、図5(i)に示すように、ルート要素<products>の要素名を短くする。要素名を“products”→“e”のように短くしている。
XML文書圧縮部13は、このように要素名を短くすると、図8に示すように、短縮前後の要素名の対応関係を示す対応表を作成する(ステップST16)。
【0021】
XSLT生成部14は、上記のようにして、XML文書圧縮部13がXML文書の圧縮処理を終了すると、その際に作成された図6〜図8の対応表に基づいて圧縮後の要素を復元する際に参照する復元用XSLT4を生成する(ステップST17)。
即ち、属性として変換された葉要素(属性や子要素を有しない要素)や属性は、XSLTのテンプレートとして記述し、親要素となる要素は、子要素へのテンプレート適用を記述したテンプレートとして記述する。具体的には次の通りである。
【0022】
まず、XSLT生成部14は、図6の対応表の各要素をXSLTのテンプレートにする(ステップST21)。
次に、XSLT生成部14は、図7の対応表の各属性をXSLTのテンプレートにする(ステップST22)。
次に、XSLT生成部14は、図8の対応表の各要素をXSLTのテンプレートにする(ステップST23)。
【0023】
次に、XSLT生成部14は、図7の対応表から該当する要素に属する属性を探して、テンプレートを適用する(ステップST24)。
次に、XSLT生成部14は、図6の対応表から該当する要素に属する葉要素を探し、テンプレートを適用する(ステップST25)。
XSLT生成部14は、図8の対応表における全ての要素について、テンプレートを作成するまで、ステップST24,ST25の処理を繰り返し実行する(ステップST26)。
図10はXSLT生成部14により生成された復元用XSLT4の一例を示している。
【0024】
XML文書送信部15は、圧縮後のXML文書3をネットワーク5を介して文書復元装置6に送信し、XSLT送信部16はXSLT生成部14により生成された復元用XSLT4をネットワーク5を介して文書復元装置6に送信する。
【0025】
一方、文書復元装置6のXML文書復元部23は、XML文書受信部21が文書圧縮装置2から送信された圧縮後のXML文書3を受信し、XSLT受信部22が文書圧縮装置2から送信された復元用XSLT4を受信すると、その復元用XSLT4を参照して、圧縮後のXML文書3を復元する。
即ち、復元処理は、XML文書形式で記述されている復元用XSLT4の記述内容を順次実行することにより、圧縮後のXML文書3を復元する。図11は復元処理の処理内容を示しており、図11(k)が復元されたXML文書に相当する。
【0026】
以上で明らかなように、この実施の形態1によれば、XML文書解析部12により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成するXML文書圧縮部13を設け、そのXML文書圧縮部13により作成された対応表に基づいて圧縮後の要素を復元する際に参照する復元用XSLT4を生成するように構成したので、XML文書を圧縮する際、専用のアプリケーションがなくても、簡単にXML文書を復元することができるような形式で圧縮することができる効果を奏する。
また、この実施の形態1によれば、文書圧縮装置により生成された復元用XSLT4を参照して、文書圧縮装置により圧縮されたXML文書の要素を復元するように構成したので、専用のアプリケーションがなくても、簡単にXML文書を復元することができる効果を奏する。
【0027】
この実施の形態1によれば、XML文書解析部12により特定された要素が属性及び子要素を有しない場合、その要素の開始タグと終了タグを削除し、その要素の内容を親要素の属性として付加するように構成したので、XML文書の容量を小さくすることができる効果を奏する。
また、この実施の形態1によれば、XML文書解析部12により特定された要素が子要素を有しないが属性を有する場合、その属性名を短縮化して、短縮化前後の属性名の対応関係を示す対応表を作成するように構成したので、XML文書の容量を小さくすることができるとともに、容易にXML文書を復元することができる効果を奏する。
【0028】
さらに、この実施の形態1によれば、要素の開始タグと終了タグを削除し、その要素の内容を親要素の属性として付加することにより、親要素が子要素を持たなくなると、その親要素の終了タグを空要素タグに変更するように構成したので、XML文書の容量を小さくすることができる効果を奏する。
また、この実施の形態1によれば、親要素の要素名及び属性名を短縮化して、短縮化前後の要素名及び属性名の対応関係を示す対応表を作成するように構成したので、XML文書の容量を小さくすることができるとともに、容易にXML文書を復元することができる効果を奏する。
【0029】
【発明の効果】
以上のように、この発明によれば、要素特定手段により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成する要素圧縮手段を設け、その要素圧縮手段により作成された対応表に基づいて圧縮後の要素を復元する際に参照するテンプレートを生成するように構成したので、XML文書を圧縮する際、専用のアプリケーションがなくても、簡単にXML文書を復元することができるような形式で圧縮することができる効果がある。
【図面の簡単な説明】
【図1】この発明の実施の形態1による文書圧縮装置及び文書復元装置が適用されるシステムを示すシステム構成図である。
【図2】この発明の実施の形態1による文書圧縮装置を示す構成図である。
【図3】この発明の実施の形態1による文書復元装置を示す構成図である。
【図4】XML文書解析部及びXML文書圧縮部の処理内容を示すフローチャートである。
【図5】圧縮処理の処理内容を示す説明図である。
【図6】葉要素名と短文字列の対応表を示す説明図である。
【図7】属性名と短文字列の対応表を示す説明図である。
【図8】要素名と短文字列の対応表を示す説明図である。
【図9】XSLT生成部の処理内容を示すフローチャートである。
【図10】復元用XSLTを示す説明図である。
【図11】復元処理の処理内容を示す説明図である。
【符号の説明】
1 XML文書の原文、2 文書圧縮装置、3 圧縮後のXML文書、4 復元用XSLT、5 ネットワーク、6 文書復元装置、11 XML文書入力部、12 XML文書解析部(要素特定手段)、13 XML文書圧縮部(要素圧縮手段)、14 XSLT生成部(テンプレート生成手段)、15 XML文書送信部、16 XSLT送信部、21 XML文書受信部(入力手段)、22 XSLT受信部(入力手段)、23 XML文書復元部(要素復元手段)、24XML文書出力部。
Claims (6)
- 構造化文書の構造を解析して、圧縮対象の要素を特定する要素特定手段と、上記要素特定手段により特定された要素を圧縮するとともに、その要素の圧縮前後の対応関係を示す対応表を作成する要素圧縮手段と、上記要素圧縮手段により作成された対応表に基づいて圧縮後の要素を復元する際に参照するテンプレートを生成するテンプレート生成手段とを備えた文書圧縮装置。
- 要素圧縮手段は、要素特定手段により特定された要素が属性及び子要素を有しない場合、その要素の開始タグと終了タグを削除し、その要素の内容を親要素の属性として付加することを特徴とする請求項1記載の文書圧縮装置。
- 要素圧縮手段は、要素特定手段により特定された要素が子要素を有しないが属性を有する場合、その属性名を短縮化して、短縮化前後の属性名の対応関係を示す対応表を作成することを特徴とする請求項1記載の文書圧縮装置。
- 要素圧縮手段は、要素の開始タグと終了タグを削除し、その要素の内容を親要素の属性として付加することにより、親要素が子要素を持たなくなると、その親要素の終了タグを空要素タグに変更することを特徴とする請求項2記載の文書圧縮装置。
- 要素圧縮手段は、親要素の要素名及び属性名を短縮化して、短縮化前後の要素名及び属性名の対応関係を示す対応表を作成することを特徴とする請求項2記載の文書圧縮装置。
- 文書圧縮装置により要素が圧縮された構造化文書と上記文書圧縮装置により生成されたテンプレートとを入力する入力手段と、上記入力手段により入力されたテンプレートを参照して、その圧縮された要素を復元する要素復元手段とを備えた文書復元装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003046217A JP2004258773A (ja) | 2003-02-24 | 2003-02-24 | 文書圧縮装置及び文書復元装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003046217A JP2004258773A (ja) | 2003-02-24 | 2003-02-24 | 文書圧縮装置及び文書復元装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004258773A true JP2004258773A (ja) | 2004-09-16 |
Family
ID=33112818
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003046217A Pending JP2004258773A (ja) | 2003-02-24 | 2003-02-24 | 文書圧縮装置及び文書復元装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004258773A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100354862C (zh) * | 2004-11-19 | 2007-12-12 | 北京九州软件有限公司 | 计算机文档的存储及解析方法 |
| JP2008219264A (ja) * | 2007-03-01 | 2008-09-18 | Ntt Communications Kk | データ圧縮転送装置、データ圧縮転送システム、データ圧縮転送方法、およびデータ圧縮転送プログラム |
| JP2010267034A (ja) * | 2009-05-13 | 2010-11-25 | Canon Inc | 情報処理装置、情報処理方法 |
| US9110874B2 (en) | 2007-09-03 | 2015-08-18 | Canon Kabushiki Kaisha | Document conversion apparatus and document conversion method |
-
2003
- 2003-02-24 JP JP2003046217A patent/JP2004258773A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100354862C (zh) * | 2004-11-19 | 2007-12-12 | 北京九州软件有限公司 | 计算机文档的存储及解析方法 |
| JP2008219264A (ja) * | 2007-03-01 | 2008-09-18 | Ntt Communications Kk | データ圧縮転送装置、データ圧縮転送システム、データ圧縮転送方法、およびデータ圧縮転送プログラム |
| US9110874B2 (en) | 2007-09-03 | 2015-08-18 | Canon Kabushiki Kaisha | Document conversion apparatus and document conversion method |
| JP2010267034A (ja) * | 2009-05-13 | 2010-11-25 | Canon Inc | 情報処理装置、情報処理方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3832807B2 (ja) | データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ | |
| KR101247075B1 (ko) | 마크업 언어 데이터의 인코딩 | |
| CA2368089C (en) | Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients | |
| US7924183B2 (en) | Method and system for reducing required storage during decompression of a compressed file | |
| US6020972A (en) | System for performing collective symbol-based compression of a corpus of document images | |
| EP1376388A2 (en) | Method and system for encoding a mark-up language document | |
| US20050182779A1 (en) | Method and system for storing and retrieving document data using a markup language string and a serialized string | |
| US6850948B1 (en) | Method and apparatus for compressing textual documents | |
| US20130114626A1 (en) | Methods and network devices for communicating data packets | |
| CN100561464C (zh) | 文档变换系统 | |
| JP2000076118A (ja) | 分散ファイル処理装置および分散ファイル処理方法 | |
| JP2004510251A (ja) | 電子ドキュメントの構成可能な変換方法 | |
| US8954400B2 (en) | Method, system and program product for managing structured data | |
| JP4997777B2 (ja) | デリミタを減少させる方法及びシステム | |
| WO1999027460A1 (en) | Identification and processing of compressed hypertext markup language (html) | |
| JP2004302799A (ja) | コンピュータシステム、コンピュータプログラム、コンピュータ間の通信方法、構造化文書の符号化方法、符号化された構造化文書の復号方法 | |
| JP5789236B2 (ja) | 構造化文書分析方法、構造化文書分析プログラム、および構造化文書分析システム | |
| JP2004258773A (ja) | 文書圧縮装置及び文書復元装置 | |
| JP5377818B2 (ja) | コンパイル済みスキーマに順次アクセスする方法とシステム | |
| JP5267342B2 (ja) | マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法 | |
| JP2006221653A (ja) | 文書分析において受付状態を決定するシステム及び方法 | |
| WO2003075542A1 (en) | Method and apparatus for decreasing bandwidth for wireless data interchange | |
| JP4776389B2 (ja) | 符号化文書復号方法及びシステム | |
| CN109783160B (zh) | 一种快速传送及渲染的网页文件加载系统及方法 | |
| US20070300147A1 (en) | Compression of mark-up language data |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060120 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070601 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070605 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070717 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070821 |