JP3832807B2 - データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ - Google Patents
データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ Download PDFInfo
- Publication number
- JP3832807B2 JP3832807B2 JP2001195797A JP2001195797A JP3832807B2 JP 3832807 B2 JP3832807 B2 JP 3832807B2 JP 2001195797 A JP2001195797 A JP 2001195797A JP 2001195797 A JP2001195797 A JP 2001195797A JP 3832807 B2 JP3832807 B2 JP 3832807B2
- Authority
- JP
- Japan
- Prior art keywords
- xml document
- xml
- header
- encoding
- compression
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Document Processing Apparatus (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、データファイルの圧縮方法に関し、特に圧縮後においても元のデータファイルの種類を識別することができる圧縮方法に関する。
【0002】
【従来の技術】
XML(eXtensible Markup Language)は、文書の意味構造を簡単なマークで記述(マークアップ)するマークアップ言語の一種である。XMLでは、文法を規定し、文書の構成要素に論理的意味を持たせることにより、ユーザが独自の拡張を行うことが可能である。そのため、インターネットにおけるデータ交換に用いるデータフォーマットとして期待されている。
【0003】
XMLには、DTD(文書型定義:Document Type Definition)という概念があり、あるDTDに関して、文書が妥当(valid)かどうかを判定することができる。具体的には、例えば、<BOOK>というノードの下には、<TITLE>、<AUTHOR>、<PUBLISHER>というノードがこの順にそれぞれ1回ずつ現れる、というような文法規則を規定する。そして、所定のXML文書が妥当かどうか、すなわち、当該XML文書が当該文法規則に則しているかどうかを判定することができる。
【0004】
さて、XML文書は、上述したように所定のマーク(以下、タグと称す)を用いてデータ構造を汎用的に表現するため、専用のデータ構造を持ったファイル形式に比べて、ファイルサイズが増大するという特徴がある。
これに対し、汎用のデータ圧縮技術を利用してXML文書を圧縮することによりファイルサイズの縮小を図ることができる。XML文書は、基本的にテキストベースのフラットなデータファイルであるため、高い圧縮効果を期待することができる。
【0005】
図9は、XML文書をXMLパーサにて処理する際の従来の手順を説明する図である。ここで、XMLパーサとは、XML文書をアプリケーションプログラムが利用しやすい形に変換するソフトウェア及びこれを実行するコンピュータ装置である。
図9において、(A)はXML文書をそのままXMLパーサに入力する場合の手順を示す。
図示のように、XMLパーサ910は、デコーダ911と、パーサ912とを備える。XMLパーサ910は、XML文書を入力すると、まずデコーダ911にて入力されたXML文書に用いられている文字コードをアプリケーションが用いる文字コードに変換する(例えばJavaのアプリケーションであれば、UTF−8やUTF−16)。そして、パーサ912にて当該XML文書を解析し、アプリケーションが用いるDOM(Document Object Model)ツリーなどのデータ形式に変換して出力する。
【0006】
また、図9(B)は圧縮されたXML文書を解凍(展開)した後にXMLパーサに入力する場合の手順を示す。
この場合、XMLパーサ910の動作は図9(A)の場合と同様であるが、XML文書をXMLパーサ910に入力する前に、当該XML文書の圧縮形式に応じた解凍ツール920を用いて解凍処理を行う。
【0007】
【発明が解決しようとする課題】
上述したように、XML文書は、専用のデータ構造を持ったファイル形式に比べてデータサイズが増大するという特徴があるため、データ圧縮を行うことが望ましい。
一般に、データ交換を行ったりデータベースにデータを格納したりする際には、送信効率の向上や格納するデータファイルのサイズを縮小するために、データファイルの圧縮を行う。そのため、種々のデータフォーマットに対して適用できる汎用的なデータ圧縮技術が数多く提案されている。したがって、XML文書の圧縮においてもこれら従来のデータ圧縮技術を適用することが考えられる。
しかしながら、上記従来の汎用的なデータ圧縮技術を用いた場合、圧縮処理はXML文書のデータ形式に関わらずに行われるため、圧縮されたデータファイルのままでは当該データファイルがXML文書であるかどうかを識別することができない。
【0008】
また、この圧縮されたXML文書をアプリケーションにて利用しようとする場合、上述したように、前処理として圧縮形式に応じた解凍処理を行った上でXMLパーサに入力するという2段階の手順を経なければならないため、処理が煩雑となる。
さらに、XMLパーサの前段に解凍ツール(プログラム)を置くため、XML文書をXMLパーサにて解析し所定のアプリケーションにて利用する既存のシステムへの導入が容易ではない。
【0009】
そこで、本発明は、データ圧縮が施された状態でもXML文書を識別することができ、かつ圧縮形式を認識することが可能なXML文書の変換方法を実現することを目的とする。
【0010】
また、本発明は、データ圧縮が施された状態でも直接XMLパーサにて処理することができ、既存のシステムにも導入が容易なXML文書の変換システムを提供することを目的とする。
【0011】
【課題を解決するための手段】
上記の目的を達成する本発明は、XMLなどのように、データの意味構造をマークで記述し、データファイルの記述に用いられている文字コードの情報を当該データファイルのヘッダに記述するマークアップ言語で記述されたデータファイルに対するデータ処理方法において、処理対象であるデータファイルを処理装置に読み込み、このデータファイルにおけるヘッダ以外の部分に対して所定のエンコードを施すステップと、このヘッダにおける文字コードの情報を記述する位置にこの文字コードの情報と共通の書式でかかるエンコードに関する情報を記述するステップとを含むことを特徴とする。
【0012】
ここで、このデータ処理方法は、処理対象のデータファイルがXML文書である場合、データファイルのヘッダにこのエンコードに関する情報を記述するステップにおいて、XMLヘッダのエンコーディング宣言の記述として、このエンコードに関する情報を記述する。
さらにここで、データファイルにエンコードを施すステップは、このデータファイルのヘッダ以外の部分を圧縮する構成とする。
【0013】
また、本発明は、コンピュータ制御によりXML文書をエンコードするエンコーダにおいて、処理対象であるXML文書を圧縮する圧縮手段と、圧縮されたXML文書に圧縮を含むエンコーディングがなされていることを示すエンコーディング宣言を記述したXMLヘッダを付加するXMLヘッダ付加手段とを備えることを特徴とする。
さらにこのエンコーダは、上記の構成に加えて、処理対象であるXML文書に用いられている文字コードの情報を独自のヘッダ情報として、圧縮されたXML文書に付加する独自ヘッダ付加手段を備える構成とすることができる。
かかるエンコーダは、コンピュータを制御し、上述した圧縮手段及びXMLヘッダ付加手段、さらに独自ヘッダ付加手段として当該コンピュータを機能させるプログラムとして提供することができる。
【0014】
また、本発明は、コンピュータ制御により、エンコードされたXML文書をデコードするデコーダにおいて、処理対象であるXML文書のヘッダ情報を読み取り、このXML文書が圧縮を含むエンコードを施されたXML文書であるかどうかを判定する判定手段と、処理対象のXML文書が圧縮を含むエンコードを施されたXML文書であると判定された場合に、この圧縮の形式に応じた手法でこのXML文書の圧縮を解除する圧縮解除手段と、圧縮解除されたXML文書の文字コードを、このXML文書を利用するアプリケーションが要求する文字コードに変換する文字コード変換手段とを備えることを特徴とする。
ここで、この判定手段は、ヘッダ情報を記述したXMLヘッダにおけるエンコーディング宣言を読み取り、このXML文書の圧縮形式に関する情報を取得して圧縮解除手段に渡す。
さらに、この判定手段は、処理対象であるXML文書のXMLヘッダ以外の部分に、このXML文書にて用いられている文字コードに関する情報が記述されている場合には、この文字コードに関する情報を取得して文字コード変換手段に渡す。
かかるデコーダは、コンピュータを制御し、上述した判定手段、圧縮解除手段及び文字コード変換手段として当該コンピュータを機能させるプログラムとして提供することができる。
【0015】
また、本発明は、XML文書を解析してこのXML文書を利用するアプリケーションが要求する形式に変換するXMLパーサにおいて、処理対象であるXML文書を、このアプリケーションが用いるコード体系に変換するデコーダ部と、このデコーダ部によりコード変換されたXML文書を解析し、このアプリケーションが用いるデータ形式に変換するパーサ部とを備え、このデコーダ部は、処理対象であるXML文書が所定のエンコードを施されたXML文書である場合に、かかるエンコードの種類に応じた手法でこのXML文書をデコードすることを特徴とする。
ここで、このデコーダ部は、処理対象であるXML文書が圧縮されたXML文書である場合に、この圧縮の形式に応じた手法で圧縮を解除する。
さらに詳しくは、このデコーダ部は、処理対象であるXML文書のXMLヘッダを読み取り、このXMLヘッダのエンコーディング宣言の記述に基づいてこのXML文書の圧縮形式を認識する。
【0016】
また、本発明は、かかるXML文書のエンコード技術を、データ交換にXML文書を用いるデータ通信システムに適用することができる。すなわち、このデータ通信システムは、送信側と受信側のデータ処理装置を備え、送信側データ処理装置は、送信対象であるXML文書に対して圧縮を含むエンコードを施し、このXML文書に圧縮を含むエンコーディングがなされていることを示すエンコーディング宣言を記述したXMLヘッダを付加するエンコーダと、このエンコーダによりエンコードされたXML文書を送信する送信部とを備え、受信側データ処理装置は、送信側データ処理装置から送信されたXML文書を受信する受信部と、この受信部にて受信されたXML文書のXMLヘッダの記述に基づいて、このXML文書における圧縮形式に応じた手法でこのXML文書の圧縮を解除し、圧縮が解除されたXML文書を解析してアプリケーションが用いるデータ形式に変換するXMLパーサとを備えることを特徴とする。
【0017】
さらに本発明は、コンピュータを制御するプログラムとして実現することができる。すなわち、処理対象であるXML文書を圧縮する処理と、圧縮されたXML文書に圧縮を含むエンコーディングがなされていることを示すエンコーディング宣言を記述したXMLヘッダを付加する処理とをコンピュータに実行させるプログラムである。
また、処理対象であるXML文書のXMLヘッダを読み取り、このXML文書が圧縮を含むエンコードを施されたXML文書であるかどうかを判定する処理と、処理対象のXML文書が圧縮を含むエンコードを施されたXML文書であると判定された場合に、このXML文書のXMLヘッダの記述に基づいて、このXML文書における圧縮形式に応じた手法でこのXML文書の圧縮を解除する処理と、圧縮解除されたXML文書の文字コードを、このXML文書を利用するアプリケーションが要求する文字コードに変換する処理とをコンピュータに実行させるプログラムとしても実現できる。
【0018】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
まず、本発明の概要について説明する。
XML文書には、通常、先頭にXMLヘッダ(XML宣言)が付加される。詳しくは、W3C勧告XML1.0の付属書Fを参照されたい。このXMLヘッダは、当該データがXML文書であることを明確に示す文字列であり、XMLのバージョン宣言、エンコーディング宣言(文字コードの宣言)及びスタンドアロン文書か否かの宣言を行うことができる。XMLパーサは、このXMLヘッダ中のエンコーディング宣言を参照して当該XML文書に用いられている文字コードを認識することができる。
本発明は、XML文書を圧縮する際にこのXMLヘッダを残して他の部分(XMLインスタンス、DTD)を圧縮する。これにより、データファイルのヘッダであるXMLヘッダを参照することにより、圧縮された当該データファイルがXML文書であることを識別することが可能となる。
また、上記本発明の手法でXMLファイルを圧縮する際に、このエンコーディング宣言、すなわち文字コードを指定する宣言を拡張して用い、XML文書の圧縮形式(エンコード方法)を宣言する。これにより、データ圧縮された後も参照可能なXMLヘッダを参照することができることとなり、これにより圧縮形式を認識することが可能となる。
【0019】
図1は、本実施の形態によるデータ圧縮方法を説明する図である。
図1において、(A)は圧縮していない通常のXML文書を示す図、(B)は本実施の形態による圧縮を施された状態を示す図である。
図1(A)を参照すると、本実施の形態で用いるXML文書110は、XMLヘッダ111とその他のデータ部112とで構成される(XMLヘッダ111以外の部分としては、DTDやXMLインスタンスがあるが、本実施の形態ではXMLヘッダ111における記述に特徴を有するため、他の部分をまとめてデータ部112と表記する)。
XMLヘッダ111には、XMLのバージョン宣言とエンコーディング宣言とが記述されており、文字コードはシフトJISが指定されている。したがって、データ部112は、シフトJISで可読なテキストにて記述されていることとなる。
【0020】
図1(B)を参照すると、圧縮されたXML文書120は、XMLヘッダ121とその他のデータ部122とで構成される。
XMLヘッダ121には、XMLのバージョン宣言とエンコーディング宣言とが記述されており、エンコーディングの種類の宣言にはデータ圧縮されていることを示す「x-XMLCompress」が記述されている。すなわち、本発明では、XML文書120における文字コードの宣言に用いられていたエンコーディング宣言を圧縮形式の宣言にも拡張することによって、比較的簡便な修正でXML文書の圧縮、解凍と識別を可能にする。したがって、この段階では、データ部122は、データ圧縮されたバイナリデータとなっており、データ部112と比べてサイズが小さくなっているが、そのままでは読むことができない。
【0021】
言い換えれば、本実施の形態は、XML文書120のデータに対して、通常の文字エンコーディングと同様の扱いで圧縮を含むエンコードを行う。したがって、以下の説明では、通常の文字エンコーディングのみならず、データ部122の圧縮処理を含む意味でエンコード、変換などの文言を適宜用いる。
【0022】
図2は、本実施の形態を用いて図1(B)に示した書式に変換されたXML文書120をXMLパーサにて処理する際の手順を説明する図である。
図2に示すように、XMLパーサ200は、デコーダ210と、パーサ220とを備える。
XMLパーサ200は、図1(B)に示した書式に変換されたXML文書120を入力すると、まずデコーダ210にて入力されたXML文書120をアプリケーションが用いるコード体系に変換する。そして、パーサ220にて当該XML文書120を解析し、アプリケーションが用いるDOMツリーなどのデータ形式に変換して出力する。
【0023】
デコーダ210は、まず、XMLヘッダ121を参照してデータ部122の圧縮形式を認識し、解凍する。そして、解凍されたデータ部122(この時点では図1(A)のXML文書110におけるデータ部112と同じ)に対して、通常の文字コードの変換を行う。
ここで、図1(B)のXMLヘッダ121のエンコーディング宣言は、
encoding="x-XMLCompress"?
となっており、これを参照しても、圧縮されていることはわかるが、文字エンコーディングの種類はわからない。すなわち、圧縮処理を含むエンコーディングを行うことにより、XML文書120が本来持っていた文字エンコーディングの情報は失われることとなる。
【0024】
これに関しては、文字コードとして、XML文書120を利用するアプリケーションに応じて使用する文字コードを予め決めておくことにより対応することができる。例えば、Javaによるアプリケーションでの実装を前提とした場合、UTF−8が扱いやすいことから、XML文書120の文字コードをUTF−8に決めてしまう。このようにすれば、デコーダ210は、XMLヘッダ121において文字エンコーディングの情報が無くても適切な文字コードの変換を行うことができる。
【0025】
また、特定の文字エンコーディングを保存する必要がある場合(コード変換の影響を避けたい場合など)は、データ部122に、この文字エンコーディングの種類を記述するための独自のヘッダ情報を付加することで対応が可能である。このようにすれば、デコーダ210は、XMLヘッダ121を参照してデータ部122の圧縮形式を知ると共に、データ部122のヘッダ情報を参照して文字エンコーディングの種類を知ることができる。
【0026】
パーサ220は、上述のようにしてデコーダ210によりデータ部122の解凍および文字コードの適切な変換が行われた後、XML文書120を解析し、アプリケーションが用いるDOMツリーなどのデータ形式に変換して出力する。このパーサ220による処理は、従来のXMLパーサの処理と同様である。
【0027】
次に、本実施の形態を実現する図1(B)に示した書式のXML文書120を生成するためのエンコーダ及びXML文書120を読み取るためのデコーダについて、さらに詳細に説明する。
図3は、エンコーダの構成を示す図である。
図3を参照すると、エンコーダ300は、エンコード対象であるXML文書を入力するデータ入力部301と、入力されたXML文書の文字エンコーディングの調整を行うための文字切り出し・変換部302及び文字コード変換表303と、データ圧縮を行うための圧縮部304と、圧縮されたXML文書120を出力するデータ出力部305とを備える。
【0028】
文字切り出し・変換部302は、入力されたXML文書に対して文字の切り出しを行い、文字コード変換表303を参照して、切り出された文字のコード変換を行う。例えば、上述したようにXML文書120の文字エンコーディングをUTF−8と決めた場合、入力されたXML文書がJavaのアプリケーションにより作成されたXML文書であればUnicodeが使用されているので、UnicodeからUTF−8への変換を行うこととなる。
【0029】
圧縮部304は、文字切り出し・変換部302にて文字コードの変換が済んだXML文書を圧縮することにより、XML文書120のデータ部122を生成する。圧縮を行うための圧縮ロジックは、ZIP、その他の汎用的な圧縮技術を用いることができるが、後述するような、XML文書の構造的な特徴を利用した専用の圧縮ロジックを適用することもできる。
また、圧縮部304は、データ部122の圧縮を行った圧縮ロジックに基づいて、当該圧縮形式を示す情報をエンコーディング宣言として記述したXMLヘッダ121を生成してデータ部122に付加する。さらに、圧縮前のXML文書において用いられている文字エンコーディングを保存するために、当該文字エンコーディングの情報を記述した独自のヘッダを生成してデータ部122に付加することができる。
【0030】
本実施の形態では、これら文字切り出し・変換部302及び圧縮部304により上記の二つの処理を行うが、これらの処理はいずれもXML文書に対するエンコード処理であるため、従来のエンコーダによる文字エンコーディングの調整の行程と本質的には同じものとして扱われる。すなわち、XML文書に対してエンコードを行う行程そのものは従来と共通であるが、このエンコードにおいて、従来は文字コードの変換のみを行っていたのに対して、本実施の形態では圧縮を含む変換を行う。
【0031】
図4は、図3に示したエンコーダ300によるエンコード処理を含む、XML文書120の生成処理を説明するフローチャートである。
図4を参照すると、まず、XML文書120を作成するための元データが作成され(ステップ401)、XML文書構造であるDOMツリーが作成される(ステップ402)。そして、作成されたDOMツリーに基づいてXML文書120のデータ部122に相当するテキストが生成される(ステップ403)。
次に、ステップ403で生成されたテキストがエンコーダ300に入力され、文字切り出し・変換部302により、当該テキストの文字エンコーディングの調整が行われる(ステップ404)。この後、圧縮部304により、当該テキストが圧縮され、XMLヘッダ121が付加されて、XML文書120が作成される(ステップ405)。
【0032】
なお、上記の処理において、ステップ403までの動作は、Javaなどにおけるアプリケーションにて機械的にXML文書120を作成する場合の動作である。エディタなどを用いてXML文書を作成する場合は、まず図1(A)に示した通常の形式のXML文書110を作成し、エンコーダ300に入力するため、ステップ404から始めることとなる。
また、エディタなどを用いてXML文書を作成する場合は、最初からデコーダが想定している文字コードを用いて作成することができる。すなわち、上述したように、XML文書120の文字エンコーディングを予めUTF−8と決めた場合には、最初からUTF−8の文字コードでXML文書120を作成することができる。この場合は、ステップ404における文字エンコーディングの調整も必要なく、エンコーダ300は、ステップ405における圧縮処理のエンコードのみを実行することとなる。
【0033】
図5は、上記のようにして作成されたXML文書120を読み取るデコーダ210の構成を示す図である。
図5を参照すると、デコーダ210は、XML文書120を入力するデータ入力部211と、入力されたXML文書120の圧縮を解除(解凍)する圧縮解除部212と、XML文書120の文字エンコーディングの調整を行うための文字切り出し・変換部213及び文字コード変換表214と、これらの変換により得られたテキストを出力してパーサ220に渡すデータ出力部215とを備える。
【0034】
圧縮解除部212は、XML文書120の圧縮を解除して、所定の文字コードで読むことが可能なXML文書に変換する。圧縮解除部212は、XML文書120の圧縮を解除するための適切な圧縮解除ロジックを持つ。ここで、XML文書120の圧縮形式が一つに決められている場合は、用意する圧縮解除ロジックは一つで良いが、いくつかの圧縮形式が取られる可能性がある場合は、これに対応するために複数種類の圧縮解除ロジックを用意しておく必要がある。
【0035】
文字切り出し・変換部213は、圧縮解除部212により解凍されたXML文書に対して文字の切り出しを行い、文字コード変換表214を参照して、切り出された文字のコード変換を行う。ここで、上述したようにXML文書120の文字エンコーディングをUTF−8と決めた場合であって、XMLパーサ200にて生成されたXML文書をJavaのアプリケーションにて利用する場合は、UTF−8からUnicodeへの変換を行うこととなる。また、圧縮時のXML文書120におけるデータ部122に文字エンコーディングを指定するヘッダ情報が付加されているならば、このヘッダ情報に基づいて必要な文字コード変換表214を選択することができる。
【0036】
図6は、図5に示したデコーダ210による処理を含むXML文書120の読み取り処理を説明するフローチャートである。
図6を参照すると、まず、XMLパーサ200のデコーダ210にXML文書120が入力され(ステップ601)、データ入力部211により、XMLヘッダ121の内容が読み取られる(ステップ602)。これにより、XML文書120のエンコーディング情報(すなわち、圧縮を含むエンコードがなされているか否か)が認識される。また、データ部122に文字エンコーディングを記述したヘッダ情報が存在するならば、データ入力部211においてこれも読み取られ、XML文書120の文字エンコーディングが確定する。
次に、これらの情報がデコーダ210に渡され、ステップ602で読み取られたXMLヘッダ121の情報に基づいて圧縮解除部212において適切な圧縮解除ロジックが選択され、XML文書120のデータ部122の圧縮が解除される(ステップ603)。そして、文字切り出し・変換部213により、圧縮が解除されたXML文書の文字エンコーディングの調整が行われる(ステップ604)。文字切り出し・変換部213は、ステップ602において取得した情報の中に文字エンコーディングを指定する情報がない場合は予め決められた文字コードに基づいて、文字エンコーディングを指定する情報がある場合には当該情報に基づいて、適切な文字コード変換表214を選択して変換を行う。
以上の処理の後、パーサ220による処理に移行し、テキスト解析が行われて、アプリケーションが用いるDOMツリーなどのデータ形式に変換される(ステップ605)。
【0037】
上述したように、本実施の形態において、XML文書120におけるデータ部122の圧縮には、従来の汎用的な圧縮方法を用いることもできるし、XMLの構造に基づいた圧縮形式を用いることも可能である。XML文書では、文書の意味構造を示すタグの記述などに冗長性があるため、XMLの構造を利用した専用の圧縮形式を用いれば、高い圧縮率が期待できる。
【0038】
次に、かかるXMLの構造を利用した専用の圧縮形式の例を示す。整形式XML文書(Well-Formed XML Document)には、次のような特性がある。
(1)タグ間の(テキストデータの区間以外の)ホワイトスペースを削除しても、データには影響がない。
(2)タグ内の属性値のデリミタとしてのホワイトスペースは、最小限の数で良い。
(3)場合によっては、コメントの部分の削除も可能。
(4)タグ名、属性名はDTDに定義された名前が繰り返し使用される。
(5)「<」が特別な文字として使用されている。
(6)開始タグと終了タグとは、必ず対応しているため、終了タグの文字列は省略が可能。
そこで、これらの特性を用いた圧縮方法が考えられる。(1)(2)(3)は自明であると思われるので、(4)(5)(6)について、具体的な圧縮方法を述べる。なお、XMLのデータは、ストリームとして処理されることが多いため、1パスで処理可能な方法が望ましい。
【0039】
タグや属性を処理する際に、初めての文字列の場合、エンコーダ内部のテーブルにそのエントリを追加し、ユニークなIDを割り当て、それを「<」に続いて書き足す(例えば、「<1」「<2」のようになる)。XMLの規則により、ここに「<」が来ることがないことが保証されている。初めての文字列ではない場合、その文字の出力を行わず、「<」に続くIDのみを書き出す。ルートのタグは、一度しか出現しないため、この処理の対象とはしない。この処理の結果の簡単な例を図7に示す。
図7(A)は、圧縮対象である元のXML文書のソースデータを示す。図7(B)は、中間コードを示す。この状態では有効なXMLのデータではないが、これは圧縮のための前処理の一部であり、デコーダ210が図7(A)に示すXML文書と(XMLのデータとして)同等なものに戻すために十分なデータを保持している。
【0040】
DTDが完全に予め決定されており、変更の可能性のない場合は、DTDからタグ名、属性名の候補となる文字列を取り出し、それぞれにユニークなIDを割り振ったテーブルをDTDごとに作成することが可能となる。この方法が利用可能な場合、共通のDTDを使用するXMLインスタンスは、文字列テーブルを個々に持つ必要がなくなるため、より高い圧縮率を得ることが可能となる。
図7(C)は、この場合のさらなる変形を、図7(B)の状態のデータに対して施した例を示す。
以上のような処理を施した後、適当な圧縮ツール(例えばJavaであれば、java.util.zip.GZIPOutputStream)を利用して圧縮を行うことにより、より高い圧縮率を得ることが可能となる。
【0041】
図8は、クライアント・サーバ間でXML文書のやりとりを行う際に本実施の形態を適用する例を示す図である。
図8に示すクライアント・サーバシステムは、商品等の注文をネットワークを介して行うシステムであり、ネットワーク上での通信にXML文書を用いる。すなわち、クライアント810からの発注、サーバ820における受注等の処理において、要求や回答がXML文書で作成され、クライアント810、サーバ820間で送受信される。
クライアント810は、XMLコンポーザ811とXMLパーサ812とを備え、サーバ820は、XMLコンポーザ821とXMLパーサ822とを備える。そして、クライアント810から送られる要求は、XMLコンポーザ811にてXML文書として送信され、サーバ820に受信された後、XMLパーサ822で解析されて処理される。同様に、サーバ820から送られる回答は、XMLコンポーザ821にてXML文書として送信され、クライアント810に受信された後、XMLパーサ812で解析されて処理される。
このとき、XMLコンポーザ811、821では、図3、図4を参照して説明したように、XML文書のエンコードが行われる。そして、XMLパーサ812、822では、図5、図6を参照して説明したように、XML文書のデコードが行われる。
【0042】
本実施の形態は、上述したように、XML文書の圧縮を当該XML文書に対するエンコードの一種類として実装することにより、当該圧縮を含むエンコードに対するデコーダを追加するだけで、既存のXMLパーサ自体に影響を与えることなく本実施の形態によるデータ圧縮の手法を導入することが可能となる。
【0043】
なお、本実施の形態によれば、エンコード(すなわち圧縮)されたXML文書は、データサイズが小さくなるので、図8に示したようにデータ通信において用いるほかにも、データベースシステムにおいて、記憶装置に格納するデータ量を縮小するのに用いることもできる。この場合、XML文書をデータベースが扱うデータとして格納する際に、圧縮を含むエンコードを施して記憶装置に格納し、当該データを読み出す際に、本実施の形態に対応したデコーダを備えたXMLパーサで解析することとなる。
【0044】
また、本実施の形態では、エンコードとしてXML文書を圧縮する場合について説明したが、同様にして、XML文書の暗号化処理など、種々の処理をXML文書に対するエンコードの一種類として実装することも可能である。
暗号化を含むエンコードを行う場合、上記圧縮の場合と同様に、XML文書のデータ部(XMLヘッダ以外の部分)を暗号化し、当該データ部が暗号化されていることを示すエンコーディング宣言をXMLヘッダに記述する。そして、XMLパーサに、当該暗号化されたXML文書のデータ部を解釈するロジックを持ったデコーダを追加することにより実現することができる。エンコーディングの一種類として実装するため、既存のXMLパーサを用いたシステムにも導入が容易であることは、圧縮について示した本実施の形態と同様である。
【0045】
さらに、本実施の形態は、XML文書のエンコーディングとして圧縮処理を施す場合について説明したが、XML文書と同様に、データの意味構造をマークで記述し、かつデータファイルの記述に用いられている文字コードなどの情報を当該データファイルのヘッダに記述するマークアップ言語であって、当該ヘッダの記述をある程度変更できる仕様であれば、本実施の形態による圧縮などのエンコーディングを行うことができる。
【0046】
【発明の効果】
以上説明したように、本発明によれば、データ圧縮が施された状態でもヘッダを読み取ることによりXML文書を識別することができ、かつ圧縮形式を認識することが可能である。
また、本発明によれば、データ圧縮が施された状態でも直接XMLパーサにて処理することができるため、XML文書を用いる既存のシステムにも導入が容易である。
【図面の簡単な説明】
【図1】 本実施の形態によるデータ圧縮方法を説明する図である。
【図2】 本実施の形態を用いて図1(B)に示した書式に変換されたXML文書をXMLパーサにて処理する際の手順を説明する図である。
【図3】 本実施の形態に用いられるエンコーダの構成を示す図である。
【図4】 本実施の形態によるXML文書の生成処理を説明するフローチャートである。
【図5】 本実施の形態によるXML文書を読み取るデコーダの構成を示す図である。
【図6】 本実施の形態によるXML文書の読み取り処理を説明するフローチャートである。
【図7】 本実施の形態によるXML文書の圧縮例を説明する図である。
【図8】 クライアント・サーバ間でXML文書のやりとりを行う際に本実施の形態を適用する例を示す図である。
【図9】 XML文書をXMLパーサにて処理する際の従来の手順を説明する図である。
【符号の説明】
110、120…XML文書、111、121…XMLヘッダ、112、122…データ部、200…XMLパーサ、210…デコーダ、211、301…データ入力部、212…圧縮解除部、213、302…文字切り出し・変換部、214、303…文字コード変換表、215、305…データ出力部、220…パーサ、300…エンコーダ、304…圧縮部、810…クライアント、811、821…XMLコンポーザ、812、822…XMLパーサ、820…サーバ
Claims (14)
- データの意味構造をマークで記述し、データファイルの記述に用いられている文字コードの情報を当該データファイルのヘッダに記述するマークアップ言語で記述されたデータファイルに対するデータ処理方法において、
処理対象である前記データファイルを処理装置に読み込み、当該データファイルにおける前記ヘッダ以外の部分に対して所定のエンコードを施すステップと、
前記ヘッダにおける前記文字コードの情報を記述する位置に当該文字コードの情報と共通の書式で前記エンコードに関する情報を記述するステップと
を含むことを特徴とするデータ処理方法。 - 前記処理対象のデータファイルがXML文書であり、
前記ヘッダに前記エンコードに関する情報を記述するステップは、XMLヘッダのエンコーディング宣言に当該エンコードに関する情報を記述するステップを含むことを特徴とする請求項1に記載のデータ処理方法。 - 前記データファイルにエンコードを施すステップは、前記データファイルの前記ヘッダ以外の部分を圧縮するステップを含むことを特徴とする請求項1に記載のデータ処理方法。
- コンピュータ制御によりXML文書をエンコードするエンコーダにおいて、
処理対象であるXML文書を圧縮する圧縮手段と、
圧縮された前記XML文書に圧縮を含むエンコーディングがなされていることを示すエンコーディング宣言を記述したXMLヘッダを付加するXMLヘッダ付加手段と
を備えることを特徴とするエンコーダ。 - 前記処理対象であるXML文書に用いられている文字コードの情報を独自のヘッダ情報として、前記圧縮されたXML文書に付加する独自ヘッダ付加手段をさらに備えることを特徴とする請求項4に記載のエンコーダ。
- コンピュータ制御により、エンコードされたXML文書をデコードするデコーダにおいて、
処理対象であるXML文書のヘッダ情報を読み取り、当該XML文書が圧縮を含むエンコードを施されたXML文書であるかどうかを判定する判定手段と、
前記判定手段にて処理対象の前記XML文書が圧縮を含むエンコードを施されたXML文書であると判定された場合に、当該圧縮の形式に応じた手法で当該XML文書の圧縮を解除する圧縮解除手段と、
圧縮解除された前記XML文書の文字コードを、当該XML文書を利用するアプリケーションが要求する文字コードに変換する文字コード変換手段と
を備えることを特徴とするデコーダ。 - 前記判定手段は、前記ヘッダ情報におけるエンコーディング宣言を読み取り、当該XML文書の圧縮形式に関する情報を取得して前記圧縮解除手段に渡すことを特徴とする請求項6に記載のデコーダ。
- 前記判定得手段は、前記処理対象であるXML文書のヘッダ以外の部分に当該XML文書にて用いられている文字コードに関する情報が記述されている場合には、当該文字コードに関する情報を取得して前記文字コード変換手段に渡すことを特徴とする請求項7に記載のデコーダ。
- XML文書を解析して当該XML文書を利用するアプリケーションが要求する形式に変換するXMLパーサにおいて、
処理対象であるXML文書を、前記アプリケーションが用いるコード体系に変換するデコーダ部と、
前記デコーダ部によりコード変換されたXML文書を解析し、前記アプリケーションが用いるデータ形式に変換するパーサ部とを備え、
前記デコーダ部は、前記処理対象であるXML文書が所定のエンコードを施されたXML文書である場合に、当該エンコードの種類に応じた手法で当該XML文書をデコードすることを特徴とするXMLパーサ。 - 前記デコーダ部は、前記処理対象であるXML文書が圧縮されたXML文書である場合に、当該圧縮の形式に応じた手法で圧縮を解除することを特徴とする請求項9に記載のXMLパーサ。
- 前記デコーダ部は、前記処理対象であるXML文書のXMLヘッダを読み取り、当該XMLヘッダのエンコーディング宣言の記述に基づいて当該XML文書の圧縮形式を認識することを特徴とする請求項10に記載のXMLパーサ。
- 通信ネットワークを介してデータ送信を行う送信側データ処理装置と、当該送信側データ処理装置から送信されたデータを当該通信ネットワークを介して受信する受信側データ処理装置とを備えたデータ通信システムであって、
前記送信側データ処理装置は、
送信対象であるXML文書に対して圧縮を含むエンコードを施し、当該XML文書に圧縮を含むエンコーディングがなされていることを示すエンコーディング宣言を記述したXMLヘッダを付加するエンコーダと、
前記エンコーダによりエンコードされた前記XML文書を送信する送信部とを備え、
前記受信側データ処理装置は、
前記送信側データ処理装置から送信された前記XML文書を受信する受信部と、
前記受信部にて受信された前記XML文書のXMLヘッダの記述に基づいて、当該XML文書における圧縮形式に応じた手法で当該XML文書の圧縮を解除し、圧縮が解除された当該XML文書を解析して前記アプリケーションが用いるデータ形式に変換するXMLパーサとを備えることを特徴とするデータ通信システム。 - コンピュータを制御して、XML文書をエンコードするプログラムにおいて、
処理対象であるXML文書を圧縮する処理と、
圧縮された前記XML文書に圧縮を含むエンコーディングがなされていることを示すエンコーディング宣言を記述したXMLヘッダを付加する処理と
を前記コンピュータに実行させることを特徴とするプログラム。 - コンピュータを制御して、エンコードされたXML文書をデコードするプログラムにおいて、
処理対象であるXML文書のXMLヘッダを読み取り、当該XML文書が圧縮を含むエンコードを施されたXML文書であるかどうかを判定する処理と、
処理対象の前記XML文書が圧縮を含むエンコードを施されたXML文書であると判定された場合に、当該XML文書のXMLヘッダの記述に基づいて、当該XML文書における圧縮形式に応じた手法で当該XML文書の圧縮を解除する処理と、
圧縮解除された前記XML文書の文字コードを、当該XML文書を利用するアプリケーションが要求する文字コードに変換する処理と
を前記コンピュータに実行させることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001195797A JP3832807B2 (ja) | 2001-06-28 | 2001-06-28 | データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ |
US10/184,692 US7013425B2 (en) | 2001-06-28 | 2002-06-28 | Data processing method, and encoder, decoder and XML parser for encoding and decoding an XML document |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001195797A JP3832807B2 (ja) | 2001-06-28 | 2001-06-28 | データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003030030A JP2003030030A (ja) | 2003-01-31 |
JP3832807B2 true JP3832807B2 (ja) | 2006-10-11 |
Family
ID=19033717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001195797A Expired - Fee Related JP3832807B2 (ja) | 2001-06-28 | 2001-06-28 | データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ |
Country Status (2)
Country | Link |
---|---|
US (1) | US7013425B2 (ja) |
JP (1) | JP3832807B2 (ja) |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2813743B1 (fr) * | 2000-09-06 | 2003-01-03 | Claude Seyrat | Procede de compression/decompression de documents structures |
US20050086584A1 (en) * | 2001-07-09 | 2005-04-21 | Microsoft Corporation | XSL transform |
JP3903761B2 (ja) * | 2001-10-10 | 2007-04-11 | 株式会社日立製作所 | レ−ザアニ−ル方法およびレ−ザアニ−ル装置 |
CA2359831A1 (en) * | 2001-10-24 | 2003-04-24 | Ibm Canada Limited-Ibm Canada Limitee | Method and system for multiple level parsing |
JP4737914B2 (ja) * | 2002-10-02 | 2011-08-03 | ケープレックス・インク | 文書改訂支援プログラム及び当該支援プログラムを記録したコンピュータ読み取り可能媒体、並びに文書改訂支援装置。 |
US7493603B2 (en) | 2002-10-15 | 2009-02-17 | International Business Machines Corporation | Annotated automaton encoding of XML schema for high performance schema validation |
US7415665B2 (en) * | 2003-01-15 | 2008-08-19 | At&T Delaware Intellectual Property, Inc. | Methods and systems for compressing markup language files |
CN1751492B (zh) * | 2003-02-14 | 2011-10-26 | 捷讯研究有限公司 | 网络通信中的压缩消息收发的系统和方法 |
US7676742B2 (en) * | 2003-11-24 | 2010-03-09 | International Business Machines Corporation | System and method for processing of markup language information |
US20050138545A1 (en) * | 2003-12-22 | 2005-06-23 | Ylian Saint-Hilaire | Efficient universal plug-and-play markup language document optimization and compression |
US7437374B2 (en) * | 2004-02-10 | 2008-10-14 | International Business Machines Corporation | Efficient XML schema validation of XML fragments using annotated automaton encoding |
US20050177578A1 (en) * | 2004-02-10 | 2005-08-11 | Chen Yao-Ching S. | Efficient type annontation of XML schema-validated XML documents without schema validation |
EP1577791B1 (en) * | 2004-03-16 | 2011-11-02 | Microdasys Inc. | XML content monitoring |
JPWO2005101210A1 (ja) * | 2004-04-09 | 2008-03-06 | シャープ株式会社 | データ解析装置およびデータ解析プログラム |
US7885980B2 (en) * | 2004-07-02 | 2011-02-08 | Oracle International Corporation | Mechanism for improving performance on XML over XML data using path subsetting |
US8769401B2 (en) * | 2004-08-05 | 2014-07-01 | Digi International Inc. | Method for compressing XML documents into valid XML documents |
US8725748B1 (en) * | 2004-08-27 | 2014-05-13 | Advanced Micro Devices, Inc. | Method and system for storing and retrieving semiconductor tester information |
DE102004043269A1 (de) * | 2004-09-07 | 2006-03-23 | Siemens Ag | Verfahren zur Codierung eines XML-basierten Dokuments |
US20060085737A1 (en) * | 2004-10-18 | 2006-04-20 | Nokia Corporation | Adaptive compression scheme |
JP4252030B2 (ja) | 2004-12-03 | 2009-04-08 | シャープ株式会社 | 記憶装置およびコンピュータ読取り可能な記録媒体 |
US20060161559A1 (en) * | 2005-01-18 | 2006-07-20 | Ibm Corporation | Methods and systems for analyzing XML documents |
US8346737B2 (en) * | 2005-03-21 | 2013-01-01 | Oracle International Corporation | Encoding of hierarchically organized data for efficient storage and processing |
JP2007058645A (ja) * | 2005-08-25 | 2007-03-08 | Toshiba Information Systems (Japan) Corp | Xmlデータ圧縮装置、xmlデータ圧縮方法及びxmlデータ圧縮プログラム |
US20070067323A1 (en) * | 2005-09-20 | 2007-03-22 | Kirstan Vandersluis | Fast file shredder system and method |
US8265924B1 (en) * | 2005-10-06 | 2012-09-11 | Teradata Us, Inc. | Multiple language data structure translation and management of a plurality of languages |
US8301783B2 (en) | 2005-12-14 | 2012-10-30 | International Business Machines Corporation | Method, system, and computer program product for efficiently serializing navigational state in a portal |
US7933928B2 (en) * | 2005-12-22 | 2011-04-26 | Oracle International Corporation | Method and mechanism for loading XML documents into memory |
JP4677346B2 (ja) * | 2006-01-05 | 2011-04-27 | キヤノン株式会社 | 通信装置及び印刷装置及びこれらを含む印刷システムとその制御方法 |
US9460064B2 (en) * | 2006-05-18 | 2016-10-04 | Oracle International Corporation | Efficient piece-wise updates of binary encoded XML data |
US7405677B2 (en) * | 2006-08-08 | 2008-07-29 | International Business Machines Corporation | Apparatus, system, and method for incremental encoding conversion of XML data using Java |
US7739251B2 (en) * | 2006-10-20 | 2010-06-15 | Oracle International Corporation | Incremental maintenance of an XML index on binary XML data |
US8010889B2 (en) * | 2006-10-20 | 2011-08-30 | Oracle International Corporation | Techniques for efficient loading of binary XML data |
US7627566B2 (en) * | 2006-10-20 | 2009-12-01 | Oracle International Corporation | Encoding insignificant whitespace of XML data |
US9953103B2 (en) * | 2006-11-16 | 2018-04-24 | Oracle International Corporation | Client processing for binary XML in a database system |
US8909599B2 (en) * | 2006-11-16 | 2014-12-09 | Oracle International Corporation | Efficient migration of binary XML across databases |
US7886223B2 (en) * | 2006-11-17 | 2011-02-08 | International Business Machines Corporation | Generating a statistical tree for encoding/decoding an XML document |
US8103952B2 (en) * | 2007-03-27 | 2012-01-24 | Konica Minolta Laboratory U.S.A., Inc. | Directed SAX parser for XML documents |
US8291310B2 (en) * | 2007-08-29 | 2012-10-16 | Oracle International Corporation | Delta-saving in XML-based documents |
US7831540B2 (en) * | 2007-10-25 | 2010-11-09 | Oracle International Corporation | Efficient update of binary XML content in a database system |
US7991768B2 (en) | 2007-11-08 | 2011-08-02 | Oracle International Corporation | Global query normalization to improve XML index based rewrites for path subsetted index |
US8543898B2 (en) * | 2007-11-09 | 2013-09-24 | Oracle International Corporation | Techniques for more efficient generation of XML events from XML data sources |
US8250062B2 (en) * | 2007-11-09 | 2012-08-21 | Oracle International Corporation | Optimized streaming evaluation of XML queries |
US9842090B2 (en) * | 2007-12-05 | 2017-12-12 | Oracle International Corporation | Efficient streaming evaluation of XPaths on binary-encoded XML schema-based documents |
FR2926378B1 (fr) * | 2008-01-14 | 2013-07-05 | Canon Kk | Procede et dispositif de traitement pour l'encodage d'un document de donnees hierarchisees |
US8429196B2 (en) * | 2008-06-06 | 2013-04-23 | Oracle International Corporation | Fast extraction of scalar values from binary encoded XML |
US7925643B2 (en) * | 2008-06-08 | 2011-04-12 | International Business Machines Corporation | Encoding and decoding of XML document using statistical tree representing XSD defining XML document |
JP2009037628A (ja) * | 2008-09-05 | 2009-02-19 | Sharp Corp | 記憶装置およびコンピュータ読取り可能な記録媒体 |
US20100083083A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Compressed table format |
US20100146410A1 (en) * | 2008-12-10 | 2010-06-10 | Barrett Kreiner | Markup language stream compression using a data stack |
US8255372B2 (en) | 2010-01-18 | 2012-08-28 | Oracle International Corporation | Efficient validation of binary XML data |
JP2010152933A (ja) * | 2010-03-31 | 2010-07-08 | Sharp Corp | 記憶装置およびコンピュータ読取り可能な記録媒体 |
JP2010152934A (ja) * | 2010-03-31 | 2010-07-08 | Sharp Corp | 記憶装置およびコンピュータ読取り可能な記録媒体 |
CN102214170B (zh) * | 2010-04-06 | 2013-05-15 | 北京大学 | 一种xml数据压缩和解压缩方法及系统 |
EP2381579A1 (en) * | 2010-04-20 | 2011-10-26 | Itron Metering Solutions UK Ltd | Method for compressing/decompressing data |
JP5166565B2 (ja) * | 2011-03-28 | 2013-03-21 | 株式会社東芝 | Exiエンコーダおよびプログラム |
AU2012201539B2 (en) * | 2011-05-16 | 2016-06-16 | Kofax International Switzerland Sàrl | Systems and methods for processing documents of unknown or unspecified format |
US10756759B2 (en) | 2011-09-02 | 2020-08-25 | Oracle International Corporation | Column domain dictionary compression |
CN103186611B (zh) * | 2011-12-30 | 2016-03-30 | 北大方正集团有限公司 | 一种压缩、解压及查询文档的方法、装置 |
US8812523B2 (en) | 2012-09-28 | 2014-08-19 | Oracle International Corporation | Predicate result cache |
JP2015115652A (ja) * | 2013-12-09 | 2015-06-22 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP6476618B2 (ja) | 2014-07-07 | 2019-03-06 | 富士通株式会社 | 伸長方法、伸長プログラムおよび伸長装置 |
JP6531398B2 (ja) | 2015-01-19 | 2019-06-19 | 富士通株式会社 | プログラム |
JP2017126185A (ja) * | 2016-01-13 | 2017-07-20 | 富士通株式会社 | 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置 |
JP6680126B2 (ja) * | 2016-07-25 | 2020-04-15 | 富士通株式会社 | 符号化プログラム、符号化装置、符号化方法、及び検索方法 |
CN111800371B (zh) * | 2019-07-05 | 2022-10-28 | 维沃移动通信有限公司 | 数据处理方法、发送端和接收端 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953503A (en) * | 1997-10-29 | 1999-09-14 | Digital Equipment Corporation | Compression protocol with multiple preset dictionaries |
US6662342B1 (en) * | 1999-12-13 | 2003-12-09 | International Business Machines Corporation | Method, system, and program for providing access to objects in a document |
US6883137B1 (en) * | 2000-04-17 | 2005-04-19 | International Business Machines Corporation | System and method for schema-driven compression of extensible mark-up language (XML) documents |
AUPQ849500A0 (en) * | 2000-06-30 | 2000-07-27 | Canon Kabushiki Kaisha | Hash compact xml parser |
JP3494292B2 (ja) * | 2000-09-27 | 2004-02-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アプリケーションデータの誤り訂正支援方法、コンピュータ装置、アプリケーションデータ提供システム、および記憶媒体 |
US6850948B1 (en) * | 2000-10-30 | 2005-02-01 | Koninklijke Philips Electronics N.V. | Method and apparatus for compressing textual documents |
US20020078241A1 (en) * | 2000-12-15 | 2002-06-20 | Alfy, Inc. | Method of accelerating media transfer |
WO2002063775A2 (en) * | 2001-02-05 | 2002-08-15 | Expway | Method and system for compressing structured documents |
CA2344074A1 (en) * | 2001-04-17 | 2002-10-17 | George Wesley Bradley | Method and system for cross-platform form creation and deployment |
US9619742B2 (en) * | 2001-05-18 | 2017-04-11 | Nxp B.V. | Self-descriptive data tag |
-
2001
- 2001-06-28 JP JP2001195797A patent/JP3832807B2/ja not_active Expired - Fee Related
-
2002
- 2002-06-28 US US10/184,692 patent/US7013425B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003030030A (ja) | 2003-01-31 |
US20030005001A1 (en) | 2003-01-02 |
US7013425B2 (en) | 2006-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3832807B2 (ja) | データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ | |
JP3368883B2 (ja) | データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置 | |
KR101247075B1 (ko) | 마크업 언어 데이터의 인코딩 | |
KR101011663B1 (ko) | Xml 문서의 구조적 스트리밍을 위한 방법 및 장치 | |
JP4197320B2 (ja) | 構造化された文章、特にxml文章の符号化/復号化のための方法及び装置 | |
US6850948B1 (en) | Method and apparatus for compressing textual documents | |
EP1376388A2 (en) | Method and system for encoding a mark-up language document | |
US8533172B2 (en) | Method and device for coding and decoding information | |
US8849726B2 (en) | Information processing apparatus and control method for the same | |
JP5325920B2 (ja) | エンコーダコンパイラ、プログラムおよび通信機器 | |
US20070112810A1 (en) | Method for compressing markup languages files, by replacing a long word with a shorter word | |
US7814408B1 (en) | Pre-computing and encoding techniques for an electronic document to improve run-time processing | |
JP4429329B2 (ja) | 符号化装置及びその制御方法、復号装置及びその制御方法、プログラム、記憶媒体 | |
US20070300147A1 (en) | Compression of mark-up language data | |
US20020138518A1 (en) | Method and system for code processing of document data | |
JP2004519771A (ja) | スキーマ、構文解析方法及びスキーマに基づいてビットストリームを発生する方法 | |
KR100968083B1 (ko) | 구조화된 문서들, 특히 xml 문서들을인코딩/디코딩하기 위한 방법 및 장치 | |
JP2003345798A (ja) | 翻訳制御方法,翻訳制御装置およびその処理プログラム | |
JP2004258773A (ja) | 文書圧縮装置及び文書復元装置 | |
JP2007079979A (ja) | 文書管理装置、文書管理システムおよび文書管理方法 | |
JP3556269B2 (ja) | 文書読み上げ方法及び文書読上装置 | |
JP3682861B2 (ja) | ファクシミリサーバとそのプログラム | |
KR20200040365A (ko) | 일정정보의 압축 기술을 이용한 압축 qr코드로부터 일정 자동등록 방법 | |
JP4273960B2 (ja) | 構造化文書処理装置及び構造化文書処理方法ならびにそのプログラム | |
KR20040055556A (ko) | 확장성 생성 언어 기반의 메타데이터 부호화 장치 및 그방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20060711 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20060713 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060714 |
|
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: 20100728 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110728 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110728 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120728 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130728 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |