JP2003030030A - データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ - Google Patents

データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ

Info

Publication number
JP2003030030A
JP2003030030A JP2001195797A JP2001195797A JP2003030030A JP 2003030030 A JP2003030030 A JP 2003030030A JP 2001195797 A JP2001195797 A JP 2001195797A JP 2001195797 A JP2001195797 A JP 2001195797A JP 2003030030 A JP2003030030 A JP 2003030030A
Authority
JP
Japan
Prior art keywords
xml
xml document
document
header
encoding
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
JP2001195797A
Other languages
English (en)
Other versions
JP3832807B2 (ja
Inventor
Katsunao Kataoka
克尚 片岡
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2001195797A priority Critical patent/JP3832807B2/ja
Priority to US10/184,692 priority patent/US7013425B2/en
Publication of JP2003030030A publication Critical patent/JP2003030030A/ja
Application granted granted Critical
Publication of JP3832807B2 publication Critical patent/JP3832807B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • 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
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

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)

Abstract

(57)【要約】 【課題】 データ圧縮が施された状態でもXML文書を
識別することができ、かつ圧縮形式を認識することが可
能なXML文書の変換方法を実現する。 【解決手段】 処理対象であるXML文書を圧縮し、圧
縮されたXML文書120に圧縮を含むエンコーディン
グがなされていることを示すエンコーディング宣言を記
述したXMLヘッダを付加する。そして、XMLパーサ
200において、処理対象であるXML文書を、このア
プリケーションが用いるコード体系に変換するデコーダ
210が、XMLヘッダのエンコーディング宣言の記述
に基づいて、このXML文書120を解凍する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データファイルの
圧縮方法に関し、特に圧縮後においても元のデータファ
イルの種類を識別することができる圧縮方法に関する。
【0002】
【従来の技術】XML(eXtensible Markup Language)
は、文書の意味構造を簡単なマークで記述(マークアッ
プ)するマークアップ言語の一種である。XMLでは、
文法を規定し、文書の構成要素に論理的意味を持たせる
ことにより、ユーザが独自の拡張を行うことが可能であ
る。そのため、インターネットにおけるデータ交換に用
いるデータフォーマットとして期待されている。
【0003】XMLには、DTD(文書型定義:Docume
nt Type Definition)という概念があり、あるDTDに
関して、文書が妥当(valid)かどうかを判定すること
ができる。具体的には、例えば、<BOOK>というノードの
下には、<TITLE>、<AUTHOR>、<PUBLISHER>というノード
がこの順にそれぞれ1回ずつ現れる、というような文法
規則を規定する。そして、所定のXML文書が妥当かど
うか、すなわち、当該XML文書が当該文法規則に則し
ているかどうかを判定することができる。
【0004】さて、XML文書は、上述したように所定
のマーク(以下、タグと称す)を用いてデータ構造を汎
用的に表現するため、専用のデータ構造を持ったファイ
ル形式に比べて、ファイルサイズが増大するという特徴
がある。これに対し、汎用のデータ圧縮技術を利用して
XML文書を圧縮することによりファイルサイズの縮小
を図ることができる。XML文書は、基本的にテキスト
ベースのフラットなデータファイルであるため、高い圧
縮効果を期待することができる。
【0005】図9は、XML文書をXMLパーサにて処
理する際の従来の手順を説明する図である。ここで、X
MLパーサとは、XML文書をアプリケーションプログ
ラムが利用しやすい形に変換するソフトウェア及びこれ
を実行するコンピュータ装置である。図9において、
(A)はXML文書をそのままXMLパーサに入力する
場合の手順を示す。図示のように、XMLパーサ910
は、デコーダ911と、パーサ912とを備える。XM
Lパーサ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】
【発明が解決しようとする課題】上述したように、XM
L文書は、専用のデータ構造を持ったファイル形式に比
べてデータサイズが増大するという特徴があるため、デ
ータ圧縮を行うことが望ましい。一般に、データ交換を
行ったりデータベースにデータを格納したりする際に
は、送信効率の向上や格納するデータファイルのサイズ
を縮小するために、データファイルの圧縮を行う。その
ため、種々のデータフォーマットに対して適用できる汎
用的なデータ圧縮技術が数多く提案されている。したが
って、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パーサにおいて、処理対象であるX
ML文書を、このアプリケーションが用いるコード体系
に変換するデコーダ部と、このデコーダ部によりコード
変換されたXML文書を解析し、このアプリケーション
が用いるデータ形式に変換するパーサ部とを備え、この
デコーダ部は、処理対象であるXML文書が所定のエン
コードを施されたXML文書である場合に、かかるエン
コードの種類に応じた手法でこのXML文書をデコード
することを特徴とする。ここで、このデコーダ部は、処
理対象であるXML文書が圧縮されたXML文書である
場合に、この圧縮の形式に応じた手法で圧縮を解除す
る。さらに詳しくは、このデコーダ部は、処理対象であ
るXML文書のXMLヘッダを読み取り、このXMLヘ
ッダのエンコーディング宣言の記述に基づいてこのXM
L文書の圧縮形式を認識する。
【0016】また、本発明は、かかるXML文書のエン
コード技術を、データ交換にXML文書を用いるデータ
通信システムに適用することができる。すなわち、この
データ通信システムは、送信側と受信側のデータ処理装
置を備え、送信側データ処理装置は、送信対象であるX
ML文書に対して圧縮を含むエンコードを施し、このX
ML文書に圧縮を含むエンコーディングがなされている
ことを示すエンコーディング宣言を記述したXMLヘッ
ダを付加するエンコーダと、このエンコーダによりエン
コードされたXML文書を送信する送信部とを備え、受
信側データ処理装置は、送信側データ処理装置から送信
されたXML文書を受信する受信部と、この受信部にて
受信されたXML文書のXMLヘッダの記述に基づい
て、このXML文書における圧縮形式に応じた手法でこ
のXML文書の圧縮を解除し、圧縮が解除されたXML
文書を解析してアプリケーションが用いるデータ形式に
変換するXMLパーサとを備えることを特徴とする。
【0017】さらに本発明は、コンピュータを制御する
プログラムとして実現することができる。すなわち、処
理対象であるXML文書を圧縮する処理と、圧縮された
XML文書に圧縮を含むエンコーディングがなされてい
ることを示すエンコーディング宣言を記述したXMLヘ
ッダを付加する処理とをコンピュータに実行させるプロ
グラムである。また、処理対象であるXML文書のXM
Lヘッダを読み取り、このXML文書が圧縮を含むエン
コードを施されたXML文書であるかどうかを判定する
処理と、処理対象のXML文書が圧縮を含むエンコード
を施されたXML文書であると判定された場合に、この
XML文書のXMLヘッダの記述に基づいて、このXM
L文書における圧縮形式に応じた手法でこのXML文書
の圧縮を解除する処理と、圧縮解除されたXML文書の
文字コードを、このXML文書を利用するアプリケーシ
ョンが要求する文字コードに変換する処理とをコンピュ
ータに実行させるプログラムとしても実現できる。
【0018】
【発明の実施の形態】以下、添付図面に示す実施の形態
に基づいて、この発明を詳細に説明する。まず、本発明
の概要について説明する。XML文書には、通常、先頭
にXMLヘッダ(XML宣言)が付加される。詳しく
は、W3C勧告XML1.0の付属書Fを参照された
い。このXMLヘッダは、当該データがXML文書であ
ることを明確に示す文字列であり、XMLのバージョン
宣言、エンコーディング宣言(文字コードの宣言)及び
スタンドアロン文書か否かの宣言を行うことができる。
XMLパーサは、このXMLヘッダ中のエンコーディン
グ宣言を参照して当該XML文書に用いられている文字
コードを認識することができる。本発明は、XML文書
を圧縮する際にこのXMLヘッダを残して他の部分(X
MLインスタンス、DTD)を圧縮する。これにより、
データファイルのヘッダであるXMLヘッダを参照する
ことにより、圧縮された当該データファイルがXML文
書であることを識別することが可能となる。また、上記
本発明の手法でXMLファイルを圧縮する際に、このエ
ンコーディング宣言、すなわち文字コードを指定する宣
言を拡張して用い、XML文書の圧縮形式(エンコード
方法)を宣言する。これにより、データ圧縮された後も
参照可能なXMLヘッダを参照することができることと
なり、これにより圧縮形式を認識することが可能とな
る。
【0019】図1は、本実施の形態によるデータ圧縮方
法を説明する図である。図1において、(A)は圧縮し
ていない通常のXML文書を示す図、(B)は本実施の
形態による圧縮を施された状態を示す図である。図1
(A)を参照すると、本実施の形態で用いるXML文書
110は、XMLヘッダ111とその他のデータ部11
2とで構成される(XMLヘッダ111以外の部分とし
ては、DTDやXMLインスタンスがあるが、本実施の
形態ではXMLヘッダ111における記述に特徴を有す
るため、他の部分をまとめてデータ部112と表記す
る)。XMLヘッダ111には、XMLのバージョン宣
言とエンコーディング宣言とが記述されており、文字コ
ードはシフトJISが指定されている。したがって、デ
ータ部112は、シフトJISで可読なテキストにて記
述されていることとなる。
【0020】図1(B)を参照すると、圧縮されたXM
L文書120は、XMLヘッダ121とその他のデータ
部122とで構成される。XMLヘッダ121には、X
MLのバージョン宣言とエンコーディング宣言とが記述
されており、エンコーディングの種類の宣言にはデータ
圧縮されていることを示す「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にて入力されたXM
L文書120をアプリケーションが用いるコード体系に
変換する。そして、パーサ220にて当該XML文書1
20を解析し、アプリケーションが用いるDOMツリー
などのデータ形式に変換して出力する。
【0023】デコーダ210は、まず、XMLヘッダ1
21を参照してデータ部122の圧縮形式を認識し、解
凍する。そして、解凍されたデータ部122(この時点
では図1(A)のXML文書110におけるデータ部1
12と同じ)に対して、通常の文字コードの変換を行
う。ここで、図1(B)のXMLヘッダ121のエンコ
ーディング宣言は、 encoding="x-XMLCompress"? となっており、これを参照しても、圧縮されていること
はわかるが、文字エンコーディングの種類はわからな
い。すなわち、圧縮処理を含むエンコーディングを行う
ことにより、XML文書120が本来持っていた文字エ
ンコーディングの情報は失われることとなる。
【0024】これに関しては、文字コードとして、XM
L文書120を利用するアプリケーションに応じて使用
する文字コードを予め決めておくことにより対応するこ
とができる。例えば、Javaによるアプリケーション
での実装を前提とした場合、UTF−8が扱いやすいこ
とから、XML文書120の文字コードをUTF−8に
決めてしまう。このようにすれば、デコーダ210は、
XMLヘッダ121において文字エンコーディングの情
報が無くても適切な文字コードの変換を行うことができ
る。
【0025】また、特定の文字エンコーディングを保存
する必要がある場合(コード変換の影響を避けたい場合
など)は、データ部122に、この文字エンコーディン
グの種類を記述するための独自のヘッダ情報を付加する
ことで対応が可能である。このようにすれば、デコーダ
210は、XMLヘッダ121を参照してデータ部12
2の圧縮形式を知ると共に、データ部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文書12
0を出力するデータ出力部305とを備える。
【0028】文字切り出し・変換部302は、入力され
たXML文書に対して文字の切り出しを行い、文字コー
ド変換表303を参照して、切り出された文字のコード
変換を行う。例えば、上述したようにXML文書120
の文字エンコーディングをUTF−8と決めた場合、入
力されたXML文書がJavaのアプリケーションによ
り作成されたXML文書であればUnicodeが使用
されているので、UnicodeからUTF−8への変
換を行うこととなる。
【0029】圧縮部304は、文字切り出し・変換部3
02にて文字コードの変換が済んだ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文書12
0のデータ部122に相当するテキストが生成される
(ステップ403)。次に、ステップ403で生成され
たテキストがエンコーダ300に入力され、文字切り出
し・変換部302により、当該テキストの文字エンコー
ディングの調整が行われる(ステップ404)。この
後、圧縮部304により、当該テキストが圧縮され、X
MLヘッダ121が付加されて、XML文書120が作
成される(ステップ405)。
【0032】なお、上記の処理において、ステップ40
3までの動作は、Javaなどにおけるアプリケーショ
ンにて機械的にXML文書120を作成する場合の動作
である。エディタなどを用いてXML文書を作成する場
合は、まず図1(A)に示した通常の形式のXML文書
110を作成し、エンコーダ300に入力するため、ス
テップ404から始めることとなる。また、エディタな
どを用いてXML文書を作成する場合は、最初からデコ
ーダが想定している文字コードを用いて作成することが
できる。すなわち、上述したように、XML文書120
の文字エンコーディングを予めUTF−8と決めた場合
には、最初からUTF−8の文字コードでXML文書1
20を作成することができる。この場合は、ステップ4
04における文字エンコーディングの調整も必要なく、
エンコーダ300は、ステップ405における圧縮処理
のエンコードのみを実行することとなる。
【0033】図5は、上記のようにして作成されたXM
L文書120を読み取るデコーダ210の構成を示す図
である。図5を参照すると、デコーダ210は、XML
文書120を入力するデータ入力部211と、入力され
たXML文書120の圧縮を解除(解凍)する圧縮解除
部212と、XML文書120の文字エンコーディング
の調整を行うための文字切り出し・変換部213及び文
字コード変換表214と、これらの変換により得られた
テキストを出力してパーサ220に渡すデータ出力部2
15とを備える。
【0034】圧縮解除部212は、XML文書120の
圧縮を解除して、所定の文字コードで読むことが可能な
XML文書に変換する。圧縮解除部212は、XML文
書120の圧縮を解除するための適切な圧縮解除ロジッ
クを持つ。ここで、XML文書120の圧縮形式が一つ
に決められている場合は、用意する圧縮解除ロジックは
一つで良いが、いくつかの圧縮形式が取られる可能性が
ある場合は、これに対応するために複数種類の圧縮解除
ロジックを用意しておく必要がある。
【0035】文字切り出し・変換部213は、圧縮解除
部212により解凍されたXML文書に対して文字の切
り出しを行い、文字コード変換表214を参照して、切
り出された文字のコード変換を行う。ここで、上述した
ようにXML文書120の文字エンコーディングをUT
F−8と決めた場合であって、XMLパーサ200にて
生成されたXML文書をJavaのアプリケーションに
て利用する場合は、UTF−8からUnicodeへの
変換を行うこととなる。また、圧縮時のXML文書12
0におけるデータ部122に文字エンコーディングを指
定するヘッダ情報が付加されているならば、このヘッダ
情報に基づいて必要な文字コード変換表214を選択す
ることができる。
【0036】図6は、図5に示したデコーダ210によ
る処理を含むXML文書120の読み取り処理を説明す
るフローチャートである。図6を参照すると、まず、X
MLパーサ200のデコーダ210にXML文書120
が入力され(ステップ601)、データ入力部211に
より、XMLヘッダ121の内容が読み取られる(ステ
ップ602)。これにより、XML文書120のエンコ
ーディング情報(すなわち、圧縮を含むエンコードがな
されているか否か)が認識される。また、データ部12
2に文字エンコーディングを記述したヘッダ情報が存在
するならば、データ入力部211においてこれも読み取
られ、XML文書120の文字エンコーディングが確定
する。次に、これらの情報がデコーダ210に渡され、
ステップ602で読み取られたXMLヘッダ121の情
報に基づいて圧縮解除部212において適切な圧縮解除
ロジックが選択され、XML文書120のデータ部12
2の圧縮が解除される(ステップ603)。そして、文
字切り出し・変換部213により、圧縮が解除されたX
ML文書の文字エンコーディングの調整が行われる(ス
テップ604)。文字切り出し・変換部213は、ステ
ップ602において取得した情報の中に文字エンコーデ
ィングを指定する情報がない場合は予め決められた文字
コードに基づいて、文字エンコーディングを指定する情
報がある場合には当該情報に基づいて、適切な文字コー
ド変換表214を選択して変換を行う。以上の処理の
後、パーサ220による処理に移行し、テキスト解析が
行われて、アプリケーションが用いるDOMツリーなど
のデータ形式に変換される(ステップ605)。
【0037】上述したように、本実施の形態において、
XML文書120におけるデータ部122の圧縮には、
従来の汎用的な圧縮方法を用いることもできるし、XM
Lの構造に基づいた圧縮形式を用いることも可能であ
る。XML文書では、文書の意味構造を示すタグの記述
などに冗長性があるため、XMLの構造を利用した専用
の圧縮形式を用いれば、高い圧縮率が期待できる。
【0038】次に、かかるXMLの構造を利用した専用
の圧縮形式の例を示す。整形式XML文書(Well-Forme
d 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)は、圧縮対象である元のXM
L文書のソースデータを示す。図7(B)は、中間コー
ドを示す。この状態では有効なXMLのデータではない
が、これは圧縮のための前処理の一部であり、デコーダ
210が図7(A)に示すXML文書と(XMLのデー
タとして)同等なものに戻すために十分なデータを保持
している。
【0040】DTDが完全に予め決定されており、変更
の可能性のない場合は、DTDからタグ名、属性名の候
補となる文字列を取り出し、それぞれにユニークなID
を割り振ったテーブルをDTDごとに作成することが可
能となる。この方法が利用可能な場合、共通のDTDを
使用するXMLインスタンスは、文字列テーブルを個々
に持つ必要がなくなるため、より高い圧縮率を得ること
が可能となる。図7(C)は、この場合のさらなる変形
を、図7(B)の状態のデータに対して施した例を示
す。以上のような処理を施した後、適当な圧縮ツール
(例えばJavaであれば、java.util.zip.GZIPOutput
Stream)を利用して圧縮を行うことにより、より高い圧
縮率を得ることが可能となる。
【0041】図8は、クライアント・サーバ間でXML
文書のやりとりを行う際に本実施の形態を適用する例を
示す図である。図8に示すクライアント・サーバシステ
ムは、商品等の注文をネットワークを介して行うシステ
ムであり、ネットワーク上での通信にXML文書を用い
る。すなわち、クライアント810からの発注、サーバ
820における受注等の処理において、要求や回答がX
ML文書で作成され、クライアント810、サーバ82
0間で送受信される。クライアント810は、XMLコ
ンポーザ811とXMLパーサ812とを備え、サーバ
820は、XMLコンポーザ821とXMLパーサ82
2とを備える。そして、クライアント810から送られ
る要求は、XMLコンポーザ811にてXML文書とし
て送信され、サーバ820に受信された後、XMLパー
サ822で解析されて処理される。同様に、サーバ82
0から送られる回答は、XMLコンポーザ821にてX
ML文書として送信され、クライアント810に受信さ
れた後、XMLパーサ812で解析されて処理される。
このとき、XMLコンポーザ811、821では、図
3、図4を参照して説明したように、XML文書のエン
コードが行われる。そして、XMLパーサ812、82
2では、図5、図6を参照して説明したように、XML
文書のデコードが行われる。
【0042】本実施の形態は、上述したように、XML
文書の圧縮を当該XML文書に対するエンコードの一種
類として実装することにより、当該圧縮を含むエンコー
ドに対するデコーダを追加するだけで、既存のXMLパ
ーサ自体に影響を与えることなく本実施の形態によるデ
ータ圧縮の手法を導入することが可能となる。
【0043】なお、本実施の形態によれば、エンコード
(すなわち圧縮)されたXML文書は、データサイズが
小さくなるので、図8に示したようにデータ通信におい
て用いるほかにも、データベースシステムにおいて、記
憶装置に格納するデータ量を縮小するのに用いることも
できる。この場合、XML文書をデータベースが扱うデ
ータとして格納する際に、圧縮を含むエンコードを施し
て記憶装置に格納し、当該データを読み出す際に、本実
施の形態に対応したデコーダを備えたXMLパーサで解
析することとなる。
【0044】また、本実施の形態では、エンコードとし
てXML文書を圧縮する場合について説明したが、同様
にして、XML文書の暗号化処理など、種々の処理をX
ML文書に対するエンコードの一種類として実装するこ
とも可能である。暗号化を含むエンコードを行う場合、
上記圧縮の場合と同様に、XML文書のデータ部(XM
Lヘッダ以外の部分)を暗号化し、当該データ部が暗号
化されていることを示すエンコーディング宣言を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…文字コード変換表、21
5、305…データ出力部、220…パーサ、300…
エンコーダ、304…圧縮部、810…クライアント、
811、821…XMLコンポーザ、812、822…
XMLパーサ、820…サーバ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 片岡 克尚 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 Fターム(参考) 5B082 GA01 HA05 HA08 5J064 BA11 BB09 BC01 BC02 BD02

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 データの意味構造をマークで記述し、デ
    ータファイルの記述に用いられている文字コードの情報
    を当該データファイルのヘッダに記述するマークアップ
    言語で記述されたデータファイルに対するデータ処理方
    法において、 処理対象である前記データファイルを処理装置に読み込
    み、当該データファイルにおける前記ヘッダ以外の部分
    に対して所定のエンコードを施すステップと、 前記ヘッダにおける前記文字コードの情報を記述する位
    置に当該文字コードの情報と共通の書式で前記エンコー
    ドに関する情報を記述するステップとを含むことを特徴
    とするデータ処理方法。
  2. 【請求項2】 前記処理対象のデータファイルがXML
    文書であり、 前記ヘッダに前記エンコードに関する情報を記述するス
    テップは、XMLヘッダのエンコーディング宣言に当該
    エンコードに関する情報を記述するステップを含むこと
    を特徴とする請求項1に記載のデータ処理方法。
  3. 【請求項3】 前記データファイルにエンコードを施す
    ステップは、前記データファイルの前記ヘッダ以外の部
    分を圧縮するステップを含むことを特徴とする請求項1
    に記載のデータ処理方法。
  4. 【請求項4】 コンピュータ制御によりXML文書をエ
    ンコードするエンコーダにおいて、 処理対象であるXML文書を圧縮する圧縮手段と、 圧縮された前記XML文書に圧縮を含むエンコーディン
    グがなされていることを示すエンコーディング宣言を記
    述したXMLヘッダを付加するXMLヘッダ付加手段と
    を備えることを特徴とするエンコーダ。
  5. 【請求項5】 前記処理対象であるXML文書に用いら
    れている文字コードの情報を独自のヘッダ情報として、
    前記圧縮されたXML文書に付加する独自ヘッダ付加手
    段をさらに備えることを特徴とする請求項4に記載のエ
    ンコーダ。
  6. 【請求項6】 コンピュータ制御により、エンコードさ
    れたXML文書をデコードするデコーダにおいて、 処理対象であるXML文書のヘッダ情報を読み取り、当
    該XML文書が圧縮を含むエンコードを施されたXML
    文書であるかどうかを判定する判定手段と、 前記判定手段にて処理対象の前記XML文書が圧縮を含
    むエンコードを施されたXML文書であると判定された
    場合に、当該圧縮の形式に応じた手法で当該XML文書
    の圧縮を解除する圧縮解除手段と、 圧縮解除された前記XML文書の文字コードを、当該X
    ML文書を利用するアプリケーションが要求する文字コ
    ードに変換する文字コード変換手段とを備えることを特
    徴とするデコーダ。
  7. 【請求項7】 前記判定手段は、前記ヘッダ情報におけ
    るエンコーディング宣言を読み取り、当該XML文書の
    圧縮形式に関する情報を取得して前記圧縮解除手段に渡
    すことを特徴とする請求項6に記載のデコーダ。
  8. 【請求項8】 前記判定得手段は、前記処理対象である
    XML文書のヘッダ以外の部分に当該XML文書にて用
    いられている文字コードに関する情報が記述されている
    場合には、当該文字コードに関する情報を取得して前記
    文字コード変換手段に渡すことを特徴とする請求項7に
    記載のデコーダ。
  9. 【請求項9】 XML文書を解析して当該XML文書を
    利用するアプリケーションが要求する形式に変換するX
    MLパーサにおいて、 処理対象であるXML文書を、前記アプリケーションが
    用いるコード体系に変換するデコーダ部と、 前記デコーダ部によりコード変換されたXML文書を解
    析し、前記アプリケーションが用いるデータ形式に変換
    するパーサ部とを備え、 前記デコーダ部は、前記処理対象であるXML文書が所
    定のエンコードを施されたXML文書である場合に、当
    該エンコードの種類に応じた手法で当該XML文書をデ
    コードすることを特徴とするXMLパーサ。
  10. 【請求項10】 前記デコーダ部は、前記処理対象であ
    るXML文書が圧縮されたXML文書である場合に、当
    該圧縮の形式に応じた手法で圧縮を解除することを特徴
    とする請求項9に記載のXMLパーサ。
  11. 【請求項11】 前記デコーダ部は、前記処理対象であ
    るXML文書のXMLヘッダを読み取り、当該XMLヘ
    ッダのエンコーディング宣言の記述に基づいて当該XM
    L文書の圧縮形式を認識することを特徴とする請求項1
    0に記載のXMLパーサ。
  12. 【請求項12】 通信ネットワークを介してデータ送信
    を行う送信側データ処理装置と、当該送信側データ処理
    装置から送信されたデータを当該通信ネットワークを介
    して受信する受信側データ処理装置とを備えたデータ通
    信システムであって、 前記送信側データ処理装置は、 送信対象であるXML文書に対して圧縮を含むエンコー
    ドを施し、当該XML文書に圧縮を含むエンコーディン
    グがなされていることを示すエンコーディング宣言を記
    述したXMLヘッダを付加するエンコーダと、 前記エンコーダによりエンコードされた前記XML文書
    を送信する送信部とを備え、 前記受信側データ処理装置は、 前記送信側データ処理装置から送信された前記XML文
    書を受信する受信部と、 前記受信部にて受信された前記XML文書のXMLヘッ
    ダの記述に基づいて、当該XML文書における圧縮形式
    に応じた手法で当該XML文書の圧縮を解除し、圧縮が
    解除された当該XML文書を解析して前記アプリケーシ
    ョンが用いるデータ形式に変換するXMLパーサとを備
    えることを特徴とするデータ通信システム。
  13. 【請求項13】 コンピュータを制御して、XML文書
    をエンコードするプログラムにおいて、 処理対象であるXML文書を圧縮する処理と、 圧縮された前記XML文書に圧縮を含むエンコーディン
    グがなされていることを示すエンコーディング宣言を記
    述したXMLヘッダを付加する処理とを前記コンピュー
    タに実行させることを特徴とするプログラム。
  14. 【請求項14】 コンピュータを制御して、エンコード
    されたXML文書をデコードするプログラムにおいて、 処理対象であるXML文書のXMLヘッダを読み取り、
    当該XML文書が圧縮を含むエンコードを施されたXM
    L文書であるかどうかを判定する処理と、 処理対象の前記XML文書が圧縮を含むエンコードを施
    されたXML文書であると判定された場合に、当該XM
    L文書のXMLヘッダの記述に基づいて、当該XML文
    書における圧縮形式に応じた手法で当該XML文書の圧
    縮を解除する処理と、 圧縮解除された前記XML文書の文字コードを、当該X
    ML文書を利用するアプリケーションが要求する文字コ
    ードに変換する処理とを前記コンピュータに実行させる
    ことを特徴とするプログラム。
JP2001195797A 2001-06-28 2001-06-28 データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ Expired - Fee Related JP3832807B2 (ja)

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 true JP2003030030A (ja) 2003-01-31
JP3832807B2 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)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058645A (ja) * 2005-08-25 2007-03-08 Toshiba Information Systems (Japan) Corp Xmlデータ圧縮装置、xmlデータ圧縮方法及びxmlデータ圧縮プログラム
JPWO2005101210A1 (ja) * 2004-04-09 2008-03-06 シャープ株式会社 データ解析装置およびデータ解析プログラム
JP2009037628A (ja) * 2008-09-05 2009-02-19 Sharp Corp 記憶装置およびコンピュータ読取り可能な記録媒体
JP2010152933A (ja) * 2010-03-31 2010-07-08 Sharp Corp 記憶装置およびコンピュータ読取り可能な記録媒体
JP2010152934A (ja) * 2010-03-31 2010-07-08 Sharp Corp 記憶装置およびコンピュータ読取り可能な記録媒体
JP4845224B2 (ja) * 2005-12-14 2011-12-28 インターナショナル・ビジネス・マシーンズ・コーポレーション ポータルにおけるナビゲーション状態を効率的にシリアル化するための方法、システム、およびコンピュータ・プログラム
US8166073B2 (en) 2004-12-03 2012-04-24 Sharp Kabushiki Kaisha Information processing device, storage device and computer-readable medium for accepting description information of multi-media content including keywords and reference information indicative of duplicative occurrence of each keyword and retrieving location information in the content using the respective keywords and associated reference information
JP2012203856A (ja) * 2011-03-28 2012-10-22 Toshiba Corp Exiエンコーダおよびプログラム
JP2016134751A (ja) * 2015-01-19 2016-07-25 富士通株式会社 プログラム
US9515677B2 (en) 2014-07-07 2016-12-06 Fujitsu Limited Decoding method, decoding apparatus, and computer-readable recording medium

Families Citing this family (55)

* Cited by examiner, † Cited by third party
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
ATE377897T1 (de) * 2003-02-14 2007-11-15 Research In Motion Ltd System und verfahren für kompakte nachrichtenübermittlung in der netzwerkkommunikation
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
US20050177578A1 (en) * 2004-02-10 2005-08-11 Chen Yao-Ching S. Efficient type annontation of XML schema-validated XML documents without schema validation
US7437374B2 (en) * 2004-02-10 2008-10-14 International Business Machines Corporation Efficient XML schema validation of XML fragments using annotated automaton encoding
ATE532142T1 (de) * 2004-03-16 2011-11-15 Microdasys Inc Inhaltsüberwachung für xml
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
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
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
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
US7627566B2 (en) * 2006-10-20 2009-12-01 Oracle International Corporation Encoding insignificant whitespace of XML data
US8010889B2 (en) * 2006-10-20 2011-08-30 Oracle International Corporation Techniques for efficient loading of binary XML data
US7739251B2 (en) * 2006-10-20 2010-06-15 Oracle International Corporation Incremental maintenance of an XML index on binary 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
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
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
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 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
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)

* Cited by examiner, † Cited by third party
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
AU2002253002B2 (en) * 2001-02-05 2005-03-17 Expway Method and system for compressing structured descriptions of 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

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2005101210A1 (ja) * 2004-04-09 2008-03-06 シャープ株式会社 データ解析装置およびデータ解析プログラム
US8301664B2 (en) 2004-12-03 2012-10-30 Sharp Kabushiki Kaisha Storage device for generating and storing description information of multi-media contents including keywords in which duplicative keywords are replaced by reference information, and a computer readable storage medium for causing a computer to function as the storage device and to locate selected keywords in said multi-media content
US8244771B2 (en) 2004-12-03 2012-08-14 Sharp Kabushiki Kaisha Information processing device for accepting description information of multi-media content including keywords and reference information indicative of duplicative occurrence of each keyword and retrieving location information in the content using the respective keywords and associated reference information
US8301663B2 (en) 2004-12-03 2012-10-30 Sharp Kabushiki Kaisha Information processing device for selectively locating and reading description information of multi-media content divided into a time series at a first level that is further divided and correlated to a second level using a keyword/ID information and reference information representative of the keyword/ID
US8260819B2 (en) 2004-12-03 2012-09-04 Sharp Kabushiki Kaisha Information storage device for storing description information of multimedia content in the form of tree structure wherein the description information is generated using a keyword and ID information representative of the keyword as new leaves of the tree structure
US8266183B2 (en) 2004-12-03 2012-09-11 Sharp Kabushiki Kaisha Information processing device for selectively locating and reading description information of multi-media content divided into a time series at a first level that is further divided and correlated to a second level using a keyword/ID information and reference information representative of the keyword/ID
US8166073B2 (en) 2004-12-03 2012-04-24 Sharp Kabushiki Kaisha Information processing device, storage device and computer-readable medium for accepting description information of multi-media content including keywords and reference information indicative of duplicative occurrence of each keyword and retrieving location information in the content using the respective keywords and associated reference information
JP2007058645A (ja) * 2005-08-25 2007-03-08 Toshiba Information Systems (Japan) Corp Xmlデータ圧縮装置、xmlデータ圧縮方法及びxmlデータ圧縮プログラム
JP4845224B2 (ja) * 2005-12-14 2011-12-28 インターナショナル・ビジネス・マシーンズ・コーポレーション ポータルにおけるナビゲーション状態を効率的にシリアル化するための方法、システム、およびコンピュータ・プログラム
JP2009037628A (ja) * 2008-09-05 2009-02-19 Sharp Corp 記憶装置およびコンピュータ読取り可能な記録媒体
JP2010152934A (ja) * 2010-03-31 2010-07-08 Sharp Corp 記憶装置およびコンピュータ読取り可能な記録媒体
JP2010152933A (ja) * 2010-03-31 2010-07-08 Sharp Corp 記憶装置およびコンピュータ読取り可能な記録媒体
JP2012203856A (ja) * 2011-03-28 2012-10-22 Toshiba Corp Exiエンコーダおよびプログラム
US9515677B2 (en) 2014-07-07 2016-12-06 Fujitsu Limited Decoding method, decoding apparatus, and computer-readable recording medium
JP2016134751A (ja) * 2015-01-19 2016-07-25 富士通株式会社 プログラム
KR20160089279A (ko) 2015-01-19 2016-07-27 후지쯔 가부시끼가이샤 매체에 저장된 프로그램
US9425821B2 (en) 2015-01-19 2016-08-23 Fujitsu Limited Converting device and converting method

Also Published As

Publication number Publication date
US7013425B2 (en) 2006-03-14
JP3832807B2 (ja) 2006-10-11
US20030005001A1 (en) 2003-01-02

Similar Documents

Publication Publication Date Title
JP3832807B2 (ja) データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ
JP3368883B2 (ja) データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置
KR101247075B1 (ko) 마크업 언어 데이터의 인코딩
US7669120B2 (en) Method and system for encoding a mark-up language document
KR101011663B1 (ko) Xml 문서의 구조적 스트리밍을 위한 방법 및 장치
US6330574B1 (en) Compression/decompression of tags in markup documents by creating a tag code/decode table based on the encoding of tags in a DTD included in the documents
US7089567B2 (en) Efficient RPC mechanism using XML
US6850948B1 (en) Method and apparatus for compressing textual documents
US20070143664A1 (en) A compressed schema representation object and method for metadata processing
US8533172B2 (en) Method and device for coding and decoding information
US6700513B2 (en) Method and system for compressing and decompressing multiple independent blocks
US20070112810A1 (en) Method for compressing markup languages files, by replacing a long word with a shorter word
US7676742B2 (en) System and method for processing of markup language information
US7814408B1 (en) Pre-computing and encoding techniques for an electronic document to improve run-time processing
US20070300147A1 (en) Compression of mark-up language data
JP2003345798A (ja) 翻訳制御方法,翻訳制御装置およびその処理プログラム
US7716576B1 (en) Flexible XML parsing based on p-code
KR20200040365A (ko) 일정정보의 압축 기술을 이용한 압축 qr코드로부터 일정 자동등록 방법
EP1742370A1 (en) Method and apparatus for compressing and/or decompressing a data structure
Werner et al. Advanced data compression techniques for SOAP web services
JP3556269B2 (ja) 文書読み上げ方法及び文書読上装置
JPH06164406A (ja) データ圧縮装置及びデータ圧縮方法
JP2008287412A (ja) 文書データの符号化方法、符号化システム及びそのプログラム
Werner et al. Efficient encodings for web service messages

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