JP4898405B2 - 文書データ処理方法、文書データ作成装置、及び文書データ処理装置 - Google Patents

文書データ処理方法、文書データ作成装置、及び文書データ処理装置 Download PDF

Info

Publication number
JP4898405B2
JP4898405B2 JP2006326139A JP2006326139A JP4898405B2 JP 4898405 B2 JP4898405 B2 JP 4898405B2 JP 2006326139 A JP2006326139 A JP 2006326139A JP 2006326139 A JP2006326139 A JP 2006326139A JP 4898405 B2 JP4898405 B2 JP 4898405B2
Authority
JP
Japan
Prior art keywords
document data
encoding
description
tables
common
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
Application number
JP2006326139A
Other languages
English (en)
Other versions
JP2008140179A5 (ja
JP2008140179A (ja
Inventor
透 石嵜
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006326139A priority Critical patent/JP4898405B2/ja
Priority to US11/947,062 priority patent/US7970802B2/en
Publication of JP2008140179A publication Critical patent/JP2008140179A/ja
Publication of JP2008140179A5 publication Critical patent/JP2008140179A5/ja
Application granted granted Critical
Publication of JP4898405B2 publication Critical patent/JP4898405B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/835Query processing
    • G06F16/8373Query execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、文書データ処理方法、文書データ作成装置、及び文書データ処理装置に関し、特に、符号化した文書データを復号化するために用いて好適なものである。
XML(eXtensible Markup Language)で記述されたデータは、テキスト形式のデータであることから、従来は、テキスト形式で読み書きや保存等が行われてきた。テキスト形式のデータは、人間にとって扱いやすい。しかしながら、データが冗長となるので、コンピュータが読み書きするのに時間がかかるという問題がある。このため、バイナリ(binary)XMLという技術が使われている。
バイナリXMLでは、XMLデータ内の要素名や属性名等といった各ボキャブラリを短い長さで表した符号に置き換えることにより、冗長性の小さなデータとしている。例えば、Sun Microsystems社のFast Infosetでは、要素名や属性名等の各ボキャブラリに対して、XMLデータ内の出現順に番号を振り、各ボキャブラリを符号化している。特許文献1では、属性値や要素を、整数や文字列等のデータ型に分けて符号化している。
特開2005−215951号公報
ところで、バイナリXMLでは、符号化されたデータを復号化するために、符号と各ボキャブラリとの対応を示す表である符号化デーブルが必要である。
しかしながら、前述した従来の技術では、XMLデータ全体に対して一つの符号化テーブルが与えられていた。このため、XMLデータ内で使用されているボキャブラリの種類が多いほど符号化テーブルのサイズは大きくなる。そうすると、低価格のプリンタ等、利用可能な記憶領域が小さい機器では、符号化テーブルを保持できず、符号化されたバイナリXML(各ボキャブラリ)を復号化できないことがあった。
以上のように従来の技術では、XML等、文書を構造化して記述するための言語(構造化記述言語)等で記述された文書データを、利用可能な記憶領域が小さい機器で復号化できなくなる虞があるという問題点があった。
本発明は、このような問題点に鑑みてなされたものであり、利用可能な記憶領域が小さい機器でも、文書データを復号化できるようにすることを目的とする。
本発明の文書データ処理方法は、文書データを複数に分割することを、文書データ作成装置が有する分割手段により実行する分割ステップと、前記分割ステップにより得られた複数の文書データに対する複数の符号化テーブルであって当該文書データの記述と、その記述を表す符号との対応関係を示す複数の符号化テーブルを作成することを、文書データ作成装置が有する作成手段により実行する作成ステップと、前記分割ステップにより得られた複数の文書データを、前記複数の符号化テーブルのうち、当該文書データに対応する符号化テーブルに基づいて符号化することを、文書データ作成装置が有する符号化手段により実行する符号化ステップと、前記符号化ステップにより符号化された複数の文書データと、前記複数の符号化テーブルとを、複数回に分けて外部装置に送信することを、文書データ作成装置が有する送信手段により実行する送信ステップとを有し、前記分割ステップにより分割された複数の文書データの少なくとも2つに、共通する記述がある場合には、前記作成ステップは、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの1つの符号化テーブルには、前記共通する記述と、その記述を表す符号との対応関係と、前記共通する記述を有する複数の文書データの有効範囲とを含め、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの他の符号化テーブルには、前記共通する記述と、その記述を表す符号との対応関係を含めないようにすることを特徴とする。
本発明の文書データ処理装置は、文書データを複数に分割する分割手段と、前記分割手段により得られた複数の文書データに対する複数の符号化テーブルであって当該文書データの記述と、その記述を表す符号との対応関係を示す複数の符号化テーブルを作成する作成手段と、前記分割手段により得られた複数の文書データを、前記作成手段により作成された複数の符号化テーブルのうち、当該文書データに対応する符号化テーブルに基づいて符号化する符号化手段と、前記符号化手段により符号化された複数の文書データと、前記複数の符号化テーブルとを、複数回に分けて外部装置に送信する送信手段とを有し、前記分割手段により分割された複数の文書データの少なくとも2つに、共通する記述がある場合には、前記作成手段は、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの1つの符号化テーブルには、前記共通する記述と、その記述を表す符号との対応関係と、前記共通する記述を有する複数の文書データの有効範囲とを含め、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの他の符号化テーブルには、前記共通する記述と、その記述を表す符号との対応関係を含めないようにすることを特徴とする。
本発明の文書データ処理装置は、複数に分割され、符号化された複数の文書データと、それぞれが当該複数の文書データに対応する複数の符号化テーブルとを、複数回に分けて外部装置から受信する受信手段と、前記受信手段により受信された文書データを、当該文書データに対応する符号化テーブルを用いて復号化する復号化手段とを有し、前記複数の符号化テーブルは、当該符号化テーブルに対応する前記分割された文書データの記述と、その記述を表す符号との対応関係を示すテーブルを含み、前記分割された複数の文書データの少なくとも2つに、共通する記述がある場合には、前記受信手段は、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの1つの符号化テーブルとして、前記共通する記述と、その記述を表す符号との対応関係と、前記共通する記述を有する複数の文書データの有効範囲とを含む符号化テーブルを受信し、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの他の符号化テーブルとして、前記共通する記述と、その記述を表す符号との対応関係を含まない符号化テーブルを受信することを特徴とする。
本発明のコンピュータプログラムは、文書データを複数に分割する分割ステップと、前記分割ステップにより得られた複数の文書データに対する複数の符号化テーブルであって当該文書データの記述と、その記述を表す符号との対応関係を示す複数の符号化テーブルを作成する作成ステップと、前記分割ステップにより得られた複数の文書データを、前記作成ステップにより作成された複数の符号化テーブルのうち、当該文書データに対応する符号化テーブルに基づいて符号化する符号化ステップと、前記符号化ステップにより符号化された複数の文書データと、前記複数の符号化テーブルとを、複数回に分けて外部装置に送信する送信ステップとをコンピュータに実行させ、前記分割ステップにより分割された複数の文書データの少なくとも2つに、共通する記述がある場合には、前記作成ステップは、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの1つの符号化テーブルには、前記共通する記述と、その記述を表す符号との対応関係と、前記共通する記述を有する複数の文書データの有効範囲とを含め、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの他の符号化テーブルには、前記共通する記述と、その記述を表す符号との対応関係を含めないようにすることを特徴とする。
本発明では、利用可能な記憶領域が小さい機器でも、文書データを復号化できる。
<第1の実施形態>
以下に、図面を参照しながら、本発明の第1の実施形態について説明する。
図1は、文書データ処理システムの構成の概要の一例を示した図である。
図1において、文書データ処理システムは、パーソナルコンピュータ(PC)101、103と、LAN(Local Area Network)102と、プリンタ104とを有している。
PC101は、構造化記述言語の一例であるXMLで記述された文書データであるXML文書データを符号化し、符号化したXML文書データを他の機器へ送信するものである。PC101は、LAN102を介して、PC103及びプリンタ104と相互に接続されている。尚、以下の説明では、符号化したXML文書データを必要に応じて符号化データと称する
PC103は、PC101から送られてきた符号化データを復号化し、復号化したデータを処理するものである。
プリンタ104は、PC101から送られてきた符号化データを復号化し、復号化したデータに基づいて印刷処理を行うものである。プリンタ104は、例えば1ページずつ印刷処理を行うような低価格プリンタであり、PC103と比べると、利用可能なメモリ量が非常に小さいものであるとする。
図2は、PC101、103の構成の一例を示したブロック図である。
図2において、CPU(Central Processing Unit)201は、PC101、103における情報処理全体を制御するためのものである。
CPU201は、ROM(Read Only Memory)203又はMEMO202に記憶されたプログラムを、RAM(Random Access Memory)に展開して実行する。これにより、CPU201は、システムバス212に接続された各構成部を総括的に制御する。即ち、CPU201は、所定の処理シーケンスに従った処理プログラムを、ROM1020、或いはMEMO202から読み出して実行することで、PC101、103における動作を実現するための制御を行う。尚、MEMO202とCPU201とのアクセスは、MC207によって実行される。
MEMO202は、PC101、103に固定して設置されたハードディスク等の記憶媒体である。また、MEMO202は、PC101、103から着脱可能な記録媒体として、例えば、フレキシブルディスク(FD)、コンパクトディスク(CD)等の光ディスク、磁気カード、光カード、ICカード、及びメモリカード等を装着できるように構成されている。
ROM203は、変更を必要としないプログラムやパラメータを格納するためのものである。RAM204は、プログラムやデータを一時的に記憶するためのものである。
LANi/f205は、LAN102等のネットワーク回線に接続するためのインタフェースである。USBi/f207は、USB(Universal Serial Bus)213に接続するためのインタフェースである。
LAN102やUSB213は、例えば、PC103やプリンタ104等の外部装置へ符号化データを伝送するために用いられる。
KB208は、ユーザインターフェースとなるキーボードである。KBC209は、KB208や図示していないポインティングデバイス等からの指示入力を制御する。
LCD210は、表示部としての液晶ディスプレイである。LCDC211は、LCD210の表示を制御する。
尚、CPU201、ROM203、RAM204、LANi/f205、USBi/f206、MC207、KBC209、及びCRCT211は、システムバス212を介して相互に接続されている。
図3は、プリンタ102の構成の一例を示したブロック図である。
CPU301は、HDD(Hard Disk Drive)303、或いはROM304に格納されたプログラムを読み出す。そして、CPU301は、読み出したプログラムをRAM305に展開して実行することにより、PC101から送られてきた符号化データを復号化する等の処理を行う。そして、CPU301は、I/O制御部302を介してプリンタ部306の動作を制御する。
プリンタ部306は、例えば、CPU301で復号化されたデータに基づく印刷を実行するためのプリンタエンジンを備えており、紙面に画像を形成するためのものである。
また、CPU202は、i/f307を介して、LAN213等のネットワーク回線やUSB213に接続される。これにより、プリンタ102は、PC101、103等の外部装置と通信することが可能になる。更に、CPU302は、操作部308の操作を受け付け、受け付けた操作の内容に応じた処理を行う。
操作部308は、例えばボタンやタッチパネル等のユーザインターフェースを備えている。
尚、CPU301、I/O制御部302、HDD303、ROM304、RAM305、i/f307、及び操作部308は、システムバス309を介して相互に接続されている。
次に、XML文書データを符号化する際のPC101(CPU201)における処理の一例について説明する。尚、以下に示すPC101の処理は、例えばROM203又はMEMO202に記憶されたプログラムを実行することにより実現される。本実施形態では、XML文書データの分割単位に応じて複数の符号化テーブルを生成する。ここでは、図5に示すようなXML文書データを、pageタグ単位で分割して符号化する場合を例に挙げてについて説明する。
図5に示すXML文書データ500において、pageタグで囲まれた部分は、1ページ分の処理でしか使われない情報である。プリンタ104は、図5に示すXML文書データ500を処理する場合、例えば、1つのpageタグの情報を読み出して1ページ分の印刷処理を行う。そして、プリンタ104は、読み出したpageタグの情報を破棄してから、別のページの印刷処理を行う。
図4のステップS1001において、CPU201は、XML文書データ500の分割単位の入力をユーザに促す。具体的に説明すると、例えば、CPU201は、XML文書データ500の印刷設定のための印刷設定用GUI(Graphic User Interface)をLCD210に表示する。ユーザは、この印刷設定用GUIに基づいて、ポインティングデバイスやKB208を操作して、印刷設定を行う。本実施形態では、この印刷設定において、XML文書データをPC103に送信することが設定された場合には、印刷設定用GUIにおいて、XML文書データ500の分割単位の入力を受け付け不能にしている。PC103における利用可能なメモリ量は、XML文書データ500を一度に処理するのに十分な量だからである。
一方、XML文書データ500をPC103に送信することが設定された場合には、印刷設定用GUIにおいて、XML文書データの分割単位の入力を受け付け可能にしている。プリンタ102における利用可能なメモリ量は、XML文書データ500を一度に処理するのに十分な量ではないからである。
以上のような印刷設定用GUIを用いた印刷設定が完了し、印刷設定用GUIに表示されている印刷実行ボタンがユーザにより押されると、ステップS1002に進む。
ステップS1002に進むと、CPU201は、XML文書データ500の分割単位が入力されているか否かを判定する。この判定の結果、XML文書データ500の分割単位が入力されている場合には、ステップS1003に進む。一方、XML文書データ500の分割単位が入力されていない場合には、ステップS1009に進む。
前述したように、本実施形態では、XML文書データ500の送信先がPC103の場合には、XML文書データ500の分割単位が入力されないようにしている。一方、XML文書データ500の送信先がプリンタ102の場合には、XML文書データ500の分割単位として、例えばpageタグが入力されるようにしている。
ステップS1002の判定の結果、XML文書データ500の分割単位が入力されておらず、ステップS1009に進むと、CPU201は、XML文書データ500全体を一つの分割単位にすると決定する。そして、CPU201は、そのXML文書データ500に対応する符号化デーブルを作成する。
図6は、図5に示したXML文書データ500全体に対応する符号化デーブルの一例を示した図である。
図6において、"Namespace name entry"は名前空間名を示す。"Local name entry"はローカル名を示す。"attribute value entry"は属性値を示す。"characters entry"は要素を示す。それぞれ項目に符号(code)が割り振られる。"Element name entry"、"Attribute name entry"は、それぞれ要素名、属性名を示し、"prefix"、名前空間名、及びローカル名の符号の組み合わせが"entry"となっている。ここでは"prefix"はないので、"prefix"の符号の部分は"_"となっている。
尚、図6に示す符号化テーブル600は、XML文書データにおける構造単位のボキャブラリと、そのボキャブラリを簡略化して示した符号との対応関係を示すテーブルである。また、図6に示す符号化テーブル600は、XMLスキーマを利用して予め作成しておいてもよいし、動的に作成してもよい。更に過去に使用された符号化テーブルを使いまわすようにしてもよい。
以上のようにして符号化テーブル600を作成すると、CPU101は、XML文書データ500を符号化する。ここで、符号化は、XML文書データ500における構造単位で行われるようにするのが好ましい。また、XML文書データ500を符号化する際には、図6に示した符号化テーブル600とは別に、図7に示すXML文書データの構造を示す符号700も使う。このXML文書データの構造を示す符号700は、XMLの仕様に基づいて予め決められているものである。図7では、開始タグに対する符号、charactersに対する符号、属性に対する符号、及び終了タグに対する符号等が示されている。例えば、開始タグに対する符号は、属性や名前空間宣言の有無と、"prefix"や名前空間名の有無とによってビットが立つ。属性の符号は、"prefix"や名前空間名の有無によってビットが立つ。
図5に示したXML文書データ500の一部を、図6に示した符号化テーブル600と、図7に示す符合700とを使って符号化した結果の一例を図8に示す。
以上のようにしてXML文書データ500を符号化すると、ステップS1010に進む。ステップS1010に進むと、CPU201は、ステップS1009で作成した符号化テーブル600を、LANi/f205及びLAN102を介して、ステップS1001で入力された送信先に送信する。そして、CPU201は、ステップS1009で符号化したXML文書データ(符号化データ)を、LANi/f205及びLAN102を介して、ステップS1001で入力された送信先に送信する。
前述したように、XML文書データ500を分割しない場合の送信先は、PC103であるので、ステップS1009で作成された符号化テーブル600と、符号化データの送信先はPC103になる。
PC103は、符号化テーブル600と、符号化データとを受信すると、符号化テーブル600を用いて、符号化データを復号化する。PC103は、利用可能なメモリ量(リソース(resource))が十分であるので符号化データを一度に復号化できる。
前述したステップS1002の判定の結果、XML文書データの分割単位が入力されており、ステップS1003に進むと、CPU201は、LANi/f205を介して、利用可能なメモリ量を、送信先であるプリンタ102に問い合わせる。この問い合わせを受けたプリンタ104のCPU301は、RAM305における利用可能な容量を検出し、検出した結果に基づいて、利用可能なメモリ量をPC101に返信する。これによりCPU201は、プリンタ104における利用可能なメモリ量を取得する。
次に、ステップS1004において、CPU201は、プリンタ104における利用可能なメモリ量に基づいて、ステップS1002で入力された分割単位で分割されたXML文書データの各部分のデータを、プリンタ104が処理可能か否かを判定する。
具体例を説明すると、ステップS1002で入力された分割単位で分割されたXML文書データであって、後述するようにして符号化されたXML文書データのデータ量と、そのXML文書データに対応する符号化デーブルのデータ量との加算値を算出する。そして、算出したデータ量が、プリンタ102における利用可能なメモリ量以下であるか否かを、分割された各XML文書データについて判定する。
そして、算出したデータ量が、プリンタ102における利用可能なメモリ量以下である場合には、ステップS1002で入力された分割単位で分割されたXML文書データの各部分のデータを、プリンタ102が処理可能であると判定する。一方、そうでない場合には、ステップS1002で入力された分割単位で分割されたXML文書データの各部分のデータを、プリンタ102が処理可能でないと判定する。
以上のような判定の結果、ステップS1002で入力された分割単位で分割されたXML文書データの各部分のデータを、プリンタ102が処理可能でない場合には、ステップS1001に戻る。そして、XML文書データの分割単位の入力を再度ユーザに促す。
一方、ステップS1002で入力された分割単位で分割されたXML文書データの各部分のデータを、プリンタ102が処理可能である場合には、ステップS1005に進む。
ステップS1005に進むと、CPU201は、ステップS1002で入力されたと判定した分割単位でXML文書データを分割すると決定する。具体的に説明すると、例えば、CPU201は、XML文書の分割単位を、設定ファイルやAPI(Application Program Interface)を用いて指定する。以上のように、本実施形態では、例えば、ステップS1005の処理によって取得手段が実現される。
そして、CPU201は、決定した分割単位でXML文書データを分割する。ここでは、pageタグが分割単位である場合を例に挙げているので、例えば、図5に示したXML文書データ500を、図9に示すように、pageタグの前で分割する。尚、以下の説明では、このようにして分割されたXML文書データの各部分901〜903を、必要に応じてXML分割文書データ901〜903と称する。以上のように、本実施形態では、例えば、ステップS1005の処理によって分割手段が実現される。
次に、ステップS1006において、CPU201は、ステップS1005で決定した分割単位に従って符号化テーブルを作成する。即ち、XML分割文書データ901〜903のそれぞれに対応する複数の符号化テーブルを作成する。
図10は、図9に示した各XML分割文書データ901〜903(パート1〜パート3)に対応する符号化デーブルの一例を示す図である。図10に示すように、XML分割文書データ901〜903のそれぞれに含まれるボキャブラリが、それぞれの符号化テーブル1001〜1003に含まれることになる。ここで、"page"というローカル名は、図9に示したパート2のXML分割文書データ902と、パート3のXML分割文書データ903との両方に使われる。従って、"page"というローカル名は、図10に示すパート2の符号化テーブル1002と、パート3の符号化テーブル1003の両方に存在する。尚、図10に示す符号化テーブル1001〜1003は、XML分割文書データ901〜903における構造単位のボキャブラリと符号との対応関係を示すテーブルである。
また、図10に示すような符号化テーブル1001〜1003を作成する際に、XML分割文書データに名前空間宣言があれば、CPU201は、その名前空間宣言を別途記憶しておく。その後、XML分割文書データ901〜903を符号化するに際して、要素名や属性名に、記憶しておいた名前空間宣言が関係している場合、CPU201は、符号化テーブル1001〜1003のエントリに、該当する名前空間名を追加する。図10において、"http://www.w3.org/ 2000/svg"という名前空間名は、全ての要素名、属性名に関係しているので、パート1〜パート3の全ての符号化テーブル1001〜1003に追加される。このように符号化テーブル1001〜1003を記述することにより、符号化されたXML分割文書データ901〜903を、受信側で順次復号化できるようになる。
そして、CPU101は、以上のようにして作成した符号化テーブル1001〜1003と、XML文書データの構造を示す符号700とを用いて、XML分割文書データ901〜903を符号化する。ここで、符号化は、XML分割文書データ901〜903における構造単位で行われるようにするのが好ましい。尚、本実施形態では、パート1のXML分割文書データ1001、パート2のXML分割文書データ1002、及びパート3のXML分割文書データ1003の順でステップS1006の処理を行う。また、以下の説明では、符号化したXML分割文書データ901〜903を、必要に応じて符号化分割データと称する。
以上のように、本実施形態では、例えば、ステップS1006の処理によって作成手段、符号化手段が実現される。
次に、ステップS1007において、ステップS1006で作成した符号化テーブル1001〜1003と、ステップS1006で符号化したXML分割文書データ(符号化分割データ)を、ステップS1001で入力された送信先に送信する。本実施形態では、符号化テーブル1001〜1003を、対応する符号化分割データの先頭(対応する符号化分割データよりも前方)に挿入することにより、符号化テーブル1001〜1003を、対応する符号化分割データよりも先に送信するようにしている。
前述したように、XML文書データを分割する場合の送信先は、プリンタ104であるので、ステップS1009で作成された符号化テーブル1001〜1003と、符号化分割データの送信先はプリンタ104になる。
尚、本実施形態では、パート1のXML分割文書データ901、パート2のXML分割文書データ902、及びパート3のXML分割文書データ903の順でステップS1007の処理を行う。
以上のように、本実施形態では、例えば、ステップS1007の処理によって送信手段、送信ステップが実現される。
次に、ステップS1008において、CPU101は、未送信のXML分割文書データ901〜903があるか否かを判定する。この判定の結果、未送信のXML分割文書データ901〜903がある場合には、ステップS1006に戻る。前述したように、本実施形態では、まず、パート1のXML分割文書データ901に対してステップS1006、S1007の処理を行う。次に、パート2のXML分割文書データ902に対してステップS1006、S1007の処理を行う。そして、パート3のXML分割文書データ903に対してステップS1006、S1007の処理を行う。
以上のように処理することにより、図11に示すように、符号化テーブル1001〜1003と、符号化分割データ1101〜1103とが順次PC101からプリンタ104に送信される。前述したように、本実施形態では、図11に示すように、符号化分割データ1101〜1103の先頭に、その符号化分割データ1101〜1103に対応する符号化テーブル1001〜1003を挿入して、符号化分割データと符号化テーブルとを送信する。
プリンタ104は、符号化テーブル1001〜1003と、その符号化テーブルに対応する符号化分割データ1101〜1103とをi/f307で受信する。CPU301は、受信された符号化テーブル1001〜1003を用いて符号化分割データ1101〜1103を復号化する。プリンタ104は、利用可能なメモリ量(リソース(resource))が十分でないのでXML文書データの全体を一度に復号化できない。そこで、まず、プリンタ104のCPU301は、パート1の符号化テーブル1001を受け取り、RAM305等に保存する。次に、パート1の符号化分割データ1101が到着するので、CPU301は、保存したパート1の符号化テーブル1001を使って、パート1の符号化分割データ1101を順次復号化する。
パート1の符号化分割データ1101の符号化が終了すると、CPU301は、パート2の符号化テーブル1002を受け取る。この時点でパート1の符号化テーブル1001は不要になる。そこで、CPU301は、パート1の符号化テーブル1101を破棄して、パート2の符号化テーブル1002に置き換える。以降、全ての符号化分割データ1101〜1103を復号化するまで繰り返し処理を行う。
尚、以上のようにして行われるCPU301の処理は、HDD303或いはROM304に格納されたプログラムを実行することにより実現される。
以上のように、本実施形態では、例えば、i/f307を用いて受信手段が実現される。また、プリンタ104のCPU301を用いて復号化手段、記憶手段が実現される。
以上のように本実施形態では、PC101は、XML文書データ500を、pageタグ単位で分割し、分割した各XML分割文書データ901〜903に対する符号化テーブル1001〜1003を作成する。次に、PC101は、作成した符号化テーブル1001〜1003を用いてXML分割文書データ901〜903を符号化して符号化分割データ1101〜1103を作成する。次に、PC101は、符号化テーブル1001〜1003と、その符号化テーブルに対応する符号化分割データ1101〜1103とをプリンタ104に送信する。このように、冗長性の少ない符号化テーブルを作成し、符号化したXML文書データと、符号化テーブルとを小分けしてプリンタ104に送信したので、低価格のプリンタのように、利用可能な記憶領域が小さい機器でも、XML文書データを復号化できる。
また、本実施形態では、符号化テーブル1001〜1003のデータ量と、その符号化テーブルに対応する符号化分割データ1101〜1103のデータ量との加算値を、プリンタ104で利用可能なメモリ量以下にしてから、それらをプリンタ104に送信した。従って、プリンタ104は、XML文書データを確実に復号化できるようになる。
尚、本実施形態では、XML文書データ500の分割単位がpageタグである場合を例に挙げて説明した。しかしながら、XML文書データ500の分割単位は、XML文書データの構造単位であれば、例えばpageタグ以外のタグであってもよい。
更に、XML文書データ500の分割単位を、データサイズにしてもよい。このようにする場合には、分割単位であるデータサイズで分割することにより得られる符号化分割データのデータ量と、その符号化分割データに対応する符号化デーブルのデータ量との加算値を、各XML分割文書データについて算出する。そして、算出したデータ量が、プリンタ102における利用可能なメモリ量以下であるか否かを判定する。この判定の結果、算出したデータ量が、プリンタ102における利用可能なメモリ量以下である場合に、算出したデータ量が、分割単位であるデータサイズ以下となるように、例えばボキャブラリ単位でXML文書データを分割する。
また、本実施形態では、XML文書データ500の分割単位をユーザの操作に基づいて取得する場合を例に挙げて説明した。しかしながら、必ずしもこのようにする必要はない。例えば、pageタグを分割するということを予めソフトウェアに組み込む等して、XML文書の分割単位を予め設定しておき、設定しておいたXML文書データ500の分割単位をCPU201が取得するようにしてもよい。更に、XML文書中のxpathを用いてXML文書データ500の分割単位を予め設定しておき、設定しておいたXML文書の分割単位をCPU201が取得するようにしてもよい。
また、本実施形態では、利用可能なメモリ量をプリンタ104に問い合わせ、問い合わせたメモリ量が、符号化分割データのデータ量と、その符号化分割データに対応する符号化テーブルのデータ量との加算値以下である場合にXML文書データ500を分割した。しかしながら、必ずしもこのようにする必要はない。例えば、符号化分割データのデータ量と、その符号化分割データに対応する符号化テーブルのデータ量との加算値が、予め設定されたデータ量以下である場合にXML文書データを分割するようにしてもよい。また、符号化テーブルのデータ量だけから、分割されたXML文書データの各部分のデータを、プリンタ104が処理可能か否かを判定してもよい。
また、本実施形態では、構造化記述言語がXMLである場合を例に挙げて説明した。しかしながら、本実施形態の動作は、構造化記述言語であれば、どのような言語の文書データであっても適用できる。例えば、SGML(Standard Generalized Mark-up Language)等の他のマークアップ言語を用いることができる。更に、前述したようにデータサイズ等を分割単位とする場合には、文書データは、必ずしも構造化記述言語で記述されていなくてもよい。
また、本実施形態では、文書データを分割して符号化すると共に符号化テーブルを作成する装置(文書データ作成装置)としてPC101を例に挙げて説明した。更に、符号化された文書データを、符号化テーブルを用いて復号化する装置(文書データ処理装置)としてプリンタ104を例に挙げて説明した。しかしながら、文書データ作成装置及び文書データ処理装置は、これらに限定されない。例えばプリンタの代わりにデジタル複合機を文書データ処理装置として用いてもよい。
また、本実施形態では、XML文書データを、そのXML文書データの構造単位の一例であるpageタグ単位で分割して符号化する場合を例に挙げて説明した。しかしながら、必ずしもこのようにする必要はない。例えば、CPU201は、XML文書データに含まれる名前空間の影響範囲に関する情報を例えばユーザによる入力操作に基づいて取得し、取得した名前空間の影響範囲を分割単位としてHML文書データを分割して符号化するようにしてもよい。尚、名前空間の影響範囲に関する情報とは、例えば、名前空間の始まりと終わりとを示す情報である。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、図10に示したように、複数のXML分割文書データに重複するボキャブラリであっても、そのボキャブラリに対応する符号を各符号化テーブル1001〜1003に登録するようにした。即ち、符号化テーブルと、符号化分割データとが一対一に対応するようにした。
これに対し、本実施形態では、符号化テーブルの有効範囲を設定し、複数の符号化分割データに対応する符号化テーブルを作成することにより、複数のXML分割文書データに跨るボキャブラリを冗長なく符号化テーブルに登録できるようにしている。
このように、本実施形態と、前述した第1の実施形態とは、XML分割文書データから、符号化テーブルを作成する方法の一部が主として異なる。従って、本実施形態の説明において、前述した第1の実施形態と同一の部分については、図1〜図11に付した符号と同一の符号を付す等して詳細な説明を省略する。尚、本実施形態においても、図5に示したXMLで記述された文書のデータを、図9に示したようにpageタグ単位で分割して符号化する場合を例に挙げてについて説明する。
図12のフローチャートを参照しながら、本実施形態における符号化テーブルの作成方法の一例を説明する。尚、図12のフローチャートの処理は、図9のパート1のXML分割文書データ901、パート2のXML分割文書データ902、及びパート3のXML分割文書データ903の順で行われる。
まず、ステップS1301において、PC101のCPU201は、XML文書データ500に対する全ての符号化テーブルを既に作成しているか否かを判定する。この判定の結果、XML文書データ500に対する全ての符号化テーブルを既に作成している場合には、ステップS1302〜S1306を省略して、後述するステップS1307に進む。一方、XML文書データ500に対する全ての符号化テーブルを作成していない場合には、符号化テーブルを作成する必要があるので、ステップS1302に進む。
ステップS1302に進むと、CPU201は、処理対象のパートのXML分割文書データに対する符号化テーブルに登録すべき符号(code)とボキャブラリとの対応が、既に作成した符号化テーブルに登録されているか否かを判定する。この判定の結果、符号化テーブルに登録すべき符号(code)とボキャブラリとの対応が、既に作成した符号化テーブルに登録されていない場合には、ステップS1303に進む。
ステップS1303に進むと、CPU201は、既に作成した符号化テーブルに登録されていない符号(code)とボキャブラリとの対応を登録して符号化テーブルを作成する。このステップS1303で作成された符号化テーブルの有効範囲は、現在の処理対象のパートとなる。そして、後述するステップS1306に進む。
ステップS1302において、符号化テーブルに登録すべき符号(code)とボキャブラリとの対応が、既に作成した符号化テーブルに登録されている場合には、ステップS1304に進む。ステップS1304に進むと、CPU201は、現在の処理対象のパートが、既に作成した符号化デーブルの有効範囲に含まれているか否かを判定する。この判定の結果、現在の処理対象のパートが、既に作成した符号化デーブルの有効範囲に含まれている場合には、後述するステップS1306に進む。
一方、現在の処理対象のパートが、既に作成した符号化デーブルの有効範囲に含まれていない場合には、ステップS1305に進む。ステップS1305に進むと、CPU201は、ステップS1302において、既に作成した符号化テーブルに登録されていると判定された符号(code)とボキャブラリとの対応を、その符号化テーブルから削除する。そして、CPU201は、削除した符号(code)とボキャブラリとの対応を登録した新たな符号化テーブルを作成する。このステップS1305で作成された符号化テーブルの有効範囲は、既に作成した符号化テーブルの有効範囲に含まれているパートと、現在の処理対象のパートになる。そして、ステップS1306に進む。
ステップS1306に進むと、CPU201は、XML文書データ500に対する全ての符号化テーブルを作成したか否かを判定する。この判定の結果、XML文書データに対する全ての符号化テーブルを作成していない場合には、ステップS1302に戻り、次のパートを処理対象として、ステップS1302〜S1305の処理を再度行う。即ち、パート1のXML分割文書データ901に対する処理を終えた後は、パート2のXML分割文書データ902に対する処理を行い、その後パート3のXML分割文書データ903に対する処理を終えると、ステップS1307に進む。
ステップS1307に進むと、符号化テーブルと、XML文書データの構造を示す符号とを用いて、XML分割文書データを符号化する。
次に、ステップS1308において、CPU201は、符号化テーブルを符号化分割データの先頭に挿入して符号化テーブル、符号化分割データの順にプリンタ104に送信されるようにする。ここで、符号化テーブルは、その有効範囲の最初のパートに対する符号化分割データの先頭(前方)に挿入されるようにする。例えば、符号化テーブルの有効範囲がパート1とパート2であるならば、その符号化テーブルは、パート1に対する符号化分割データの先頭に挿入される。尚、本実施形態でも第1の実施形態と同様に、パート1、パート2、パート3の順でステップS1307、S1308の処理を行う。
次に、図12のフローチャートにおける処理の具体例を、図13及び図14を参照しながら説明する。図13は、図9に示したXML文書データに対する符号化テーブルの一例を示した図である。図14は、符号化テーブルと符号化分割データとの送信順序の一例を示した図である。
まず、パート1のXML分割文書データ901に対する符号化テーブルを作成する。
CPU201は、パート1のXML分割文書データ901に対する符号化テーブルに登録すべき符号とボキャブラリとの対応が、既に作成してある符号化テーブルに登録されているかどうかを調べる(ステップS1302)。ここでは、既に作成してある符号化テーブルはないので、パート1のXML分割文書データ901に対する符号化テーブルに登録すべき符号とボキャブラリとの対応の全てを登録したパート1の符号化テーブルを作成する(ステップS1303)。この符号化テーブルの有効範囲は、パート1のみとなる。
次に、パート2のXML分割文書データ902に対する符号化テーブルを作成する。
CPU201は、パート2のXML分割文書データ902に対する符号化テーブルに登録すべき符号とボキャブラリとの対応が、既に作成してある符号化テーブルに登録されているかどうかを調べる(ステップS1302)。名前空間名である"http://www.w3.org/2000/svg"は、パート2の要素名や属性名の符号化に必要であるが、既にパート1の符号化テーブルに登録されており共通している。
そこで、CPU201は、現在の処理対象であるパート2が、パート1の符号化テーブルの有効範囲に含まれているかどうかを調べる(ステップS1304)。パート1の符号化テーブルの有効範囲は、パート1である。従って、現在の処理対象であるパート2は、パート1の符号化テーブルの有効範囲に含まれていない。
そこで、CPU201は、パート1の符号化テーブルに登録されている"0x00"と"http://www.w3.org/2000/svg"との対応を、パート1の符号化テーブルから削除する。そして、CPU201は、"0x00"と"http://www.w3.org/2000/svg"との対応関係を登録したパート1〜パート2の符号化テーブルを作成する。このパート1〜パート2の符号化テーブルの有効範囲は、パート1の符号化テーブルの有効範囲であるパート1と、現在の処理対象であるパート2である。
パート2の残りのボキャブラリは、既に作成してあるパート1の符号化テーブルに登録されていない。従って、CPU201は、これらのボキャブラリと符号との対応関係の全てを登録したパート2の符号化テーブルを作成する(ステップS1303)。この符号化テーブルの有効範囲は、パート2のみとなる。
最後に、パート3のXML分割文書データ903に対する符号化テーブルを作成する。
CPU201は、パート3のXML分割文書データ903に対する符号化テーブルに登録すべき符号とボキャブラリとの対応が、既に作成してある符号化テーブルに登録されているかどうかを調べる(ステップS1302)。名前空間名である"http://www.w3.org/2000/svg"と、ローカル名である"page"と、要素名である"_00"は、パート3の符号化に必要である。しかしながら、これらはパート1〜パート2の符号化テーブルと、パート2の符号化テーブル2に既に登録されており共通している。
そこで、CPU201は、現在の処理対象であるパート3が、パート1〜パート2の符号化テーブル及びパート2の符号化テーブルの有効範囲に含まれているかどうかを調べる(ステップS1304)。パート1〜パート2の符号化テーブルの有効範囲は、パート1とパート2のみである。従って、現在の処理対象であるパート3は、パート1〜パート2の符号化テーブルの有効範囲に含まれていない。また、パート2の符号化テーブルの有効範囲は、パート2である。従って、現在の処理対象であるパート3は、パート2の符号化テーブルの有効範囲に含まれていない。
そこで、CPU201は、パート1〜パート2の符号化テーブルに登録されている"0x00"と"http://www.w3.org/2000/svg"との対応を、パート1〜パート2の符号化テーブルから削除する。ここでは、パート1〜パート2の符号化テーブルに登録されているボキャブラリはないので、パート1〜パート2の符号化テーブル自体を削除する。そして、CPU201は、"0x00"と"http://www.w3.org/2000/svg"との対応関係を登録したパート1〜パート3の符号化テーブルを作成する。このパート1〜パート3の符号化テーブルの有効範囲は、パート1〜パート2の符号化テーブルの有効範囲であるパート1及びパート2と、現在の処理対象であるパート3である。
尚、ここでは、パート1〜パート2の符号化テーブルを削除して、パート1〜パート3の符号化テーブルを作成するようにしたが、必ずしもこのようにする必要はない。例えば、パート1〜パート2の符号化テーブルの有効範囲をパート1〜パート3に広げるようにしてもよい。
また、パート2の符号化テーブルに登録されている"0x00"と"page"及び"_00"との対応を、パート2の符号化テーブルから削除する。そして、CPU201は、"0x00"と"page"及び"_00"との対応関係を登録したパート2〜パート3の符号化テーブルを作成する。このパート2〜パート3の符号化テーブルの有効範囲は、パート2の符号化テーブルの有効範囲であるパート2と、現在の処理対象であるパート3である。
パート3の残りのボキャブラリは、既に作成してあるパート1の符号化テーブル、パート2の符号化テーブル、及びパート1〜パート2の符号化テーブルに登録されていない。従って、CPU201は、これらのボキャブラリと符号との対応の全てを登録したパート3の符号化テーブルを作成する(ステップS1303)。この符号化テーブルの有効範囲は、パート3のみとなる。
図13において、パート1〜パート3の符号化テーブルには、有効範囲として、"scope=3"が記述され、パート2〜パート3の符号化テーブルには、有効範囲として、"scope=2"が記述される。
以上のように、本実施形態では、例えば、ステップS1303、S1305に処理によって設定手段、作成手段が実現される。
CPU201は、図14に示すように、符号化テーブルを符号化分割データの先頭(前方)に挿入して符号化テーブル、符号化分割データの順にプリンタ104に送信されるようにする。ここで、符号化テーブルは、その有効範囲の最初のパートに対する符号化分割データの先頭に挿入されるようにする。図14に示すように複数の符号化テーブルを符号化分割データの先頭に挿入する場合には、有効範囲の広い符号化テーブルを先頭に挿入する。
以上のように本実施形態では、符号化テーブルに有効範囲を設定し、複数のパートで重複するボキャブラリを1つの符号化テーブルに纏めるようにした。従って、第1の実施形態で説明した効果に加え、より一層冗長性の少ない符号化テーブルを作成できるという効果が得られる。
尚、本実施形態では、符号化テーブルを全て作ってからデータ送信するようにしたが、必ずしもこのようにする必要はない。即ち、符号化しながらデータを送信してもよい。このとき、送信単位を跨ってボキャブラリが出現する場合は、送信単位で一旦有効範囲を区切って符号化テーブルを作成するようにする。例えば、パート1及びパート2を送信単位とした場合は、パート1〜パート2の符号化テーブルからパート1〜パート3の符号化テーブルを作成しないようにすると共に、パート2の符号化テーブルからパート2〜パート3の符号化テーブルを作成しないようにする。このようにすれば、符号化しながらデータを送信しても、送信先で符号化テーブルが存在しなくなることを確実に防止できる。
また、本実施形態では、パート1〜パート3の符号化テーブルと、パート2〜パート3の符号化テーブルのように、有効範囲が連続しているパートである場合を例に挙げて説明したが、必ずしもこのようにする必要はない。即ち、有効範囲が不連続のパートの符号化テーブル(例えば、有効範囲がパート1とパート3の符号化テーブル)を作成するようにしてもよい。
更に、本実施形態においても、第1の実施形態で説明した種々の変形例を採ることができる。
(本発明の他の実施形態)
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給してもよい。そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになる。また、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM、DVD等を用いることができる。
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでない。そのプログラムコードがコンピュータにおいて稼働しているオペレーティングシステムあるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードに備わるCPUが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
また、供給されたプログラムコードがコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいて機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の第1の実施形態を示し、文書データ処理システムの構成の概要の一例を示した図である。 本発明の第1の実施形態を示し、PCの構成の一例を示したブロック図である。 本発明の第1の実施形態を示し、プリンタの構成の一例を示したブロック図である。 本発明の第1の実施形態を示し、XML文書データを符号化する際のPCにおける処理の一例について説明するフローチャートである。 本発明の第1の実施形態を示し、XML文書データの一例を示した図である。 本発明の第1の実施形態を示し、XML文書データ全体に対応する符号化デーブルの一例を示した図である。 本発明の第1の実施形態を示し、XML文書データの構造を示す符号の一例を示す図である。 本発明の第1の実施形態を示し、XML文書データの一部を、符号化テーブルと、XML文書データの構造を示す符合とを使って符号化した結果の一例を示す図である。 本発明の第1の実施形態を示し、XML文書データをpageタグ単位で分割した様子を概念的に示した図である。 本発明の第1の実施形態を示し、各XML分割文書データ(パート1〜パート3)に対応する符号化デーブルの一例を示す図である。 本発明の第1の実施形態を示し、符号化テーブルと符号化分割データとの送信順序の一例を示した図である。 本発明の第2の実施形態を示し、符号化テーブルの作成方法の一例を説明するフローチャートである。 本発明の第2の実施形態を示し、XML文書データに対する符号化テーブルの一例を示した図である。 本発明の第2の実施形態を示し、符号化テーブルと符号化分割データとの送信順序の一例を示した図である。
符号の説明
101、103 PC
102 LAN
104 プリンタ
500 XML文書データ
901〜903 XML分割文書データ
1001〜1003 符号化テーブル
1101〜1103 符号化分割データ

Claims (16)

  1. 文書データを複数に分割することを、文書データ作成装置が有する分割手段により実行する分割ステップと、
    前記分割ステップにより得られた複数の文書データに対する複数の符号化テーブルであって当該文書データの記述と、その記述を表す符号との対応関係を示す複数の符号化テーブルを作成することを、文書データ作成装置が有する作成手段により実行する作成ステップと、
    前記分割ステップにより得られた複数の文書データを、前記複数の符号化テーブルのうち、当該文書データに対応する符号化テーブルに基づいて符号化することを、文書データ作成装置が有する符号化手段により実行する符号化ステップと、
    前記符号化ステップにより符号化された複数の文書データと、前記複数の符号化テーブルとを、複数回に分けて外部装置に送信することを、文書データ作成装置が有する送信手段により実行する送信ステップとを有し、
    前記分割ステップにより分割された複数の文書データの少なくとも2つに、共通する記述がある場合には、
    前記作成ステップは、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの1つの符号化テーブルには、前記共通する記述と、その記述を表す符号との対応関係と、前記共通する記述を有する複数の文書データの有効範囲とを含め、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの他の符号化テーブルには、前記共通する記述と、その記述を表す符号との対応関係を含めないようにすることを特徴とする文書データ処理方法。
  2. 前記符号化された文書データと、その文書データに対応する符号化テーブルとが前記外部装置で受信されると、前記受信された符号化テーブルを用いて、前記符号化された文書データを復号化することを、前記外部装置が有する復号化手段により実行する復号化ステップを有することを特徴とする請求項1に記載の文書データ処理方法。
  3. 前記符号化テーブルが、前記外部装置で受信されると、受信された符号化テーブルを記憶媒体に記憶することを、前記外部装置が有する記憶手段により実行する記憶ステップを有し、
    前記記憶ステップは、前記符号化テーブルが、前記外部装置で受信されると、既に記憶されている符号化テーブルのうち、前記復号化が終了した文書データに対応する符号化テーブルを、受信された符号化テーブルに置き換えることを特徴とする請求項2に記載の文書データ処理方法。
  4. 前記文書データの分割単位を取得することを、前記文書データ作成装置が有する取得手段により実行する取得ステップを有し、
    前記分割ステップは、前記取得ステップにより取得された分割単位で、前記文書データを複数に分割することを特徴とする請求項1〜3の何れか1項に記載の文書データ処理方法。
  5. 前記文書データは、構造化記述言語により記述されたデータであり、
    前記取得ステップは、前記文書データの分割単位として、前記文書データにおける構造単位を取得することを特徴とする請求項4に記載の文書データ処理方法。
  6. 前記構造単位は、ページ単位であることを特徴とする請求項5に記載の文書データ処理方法。
  7. 前記取得ステップは、前記文書データの分割単位として、データサイズを取得し、
    前記分割ステップは、前記符号化ステップにより符号化される文書データのデータ量と、その文書データに対応する符号化テーブルのデータ量との加算値が、前記取得ステップにより取得されたデータサイズ以下になるように、前記文書データを複数に分割することを特徴とする請求項4に記載の文書データ処理方法。
  8. 前記取得ステップは、前記文書データの分割単位として、名前空間の影響範囲を取得し、
    前記分割ステップは、前記名前空間の影響範囲に基づいて前記文書データを複数に分割することを特徴とする請求項4に記載の文書データ処理方法。
  9. 前記共通する記述と、その記述を表す符号との対応関係と、前記共通する記述を有する複数の文書データの有効範囲とを含む符号化テーブルが、前記外部装置で受信されると、受信された符号化テーブルの有効範囲を検出することを、前記外部装置が有する検出手段により実行する検出ステップと、
    前記共通する記述と、その記述を表す符号との対応関係と、前記共通する記述を有する複数の文書データの有効範囲とを含む符号化テーブルが、前記外部装置で受信されると、当該符号化テーブルの有効範囲に属する文書データが復号化されてから、当該符号化テーブルを破棄することを、前記外部装置が有する破棄手段により実行する破棄ステップとを有することを特徴とする請求項に記載の文書データ処理方法。
  10. 前記送信ステップは、前記符号化ステップにより符号化された文書データの前方に、その文書データに対応する符号化テーブルを挿入して、前記符号化ステップにより符号化された文書データと、その文書データに対応する符号化テーブルとを外部装置に送信することを特徴とする請求項1〜の何れか1項に記載の文書データ処理方法。
  11. 前記文書データは、構造化記述言語により記述されたデータであり、
    前記作成ステップは、前記文書データにおける構造単位のボキャブラリと、そのボキャブラリを簡略化して表した符号との対応を示す符号化テーブルを作成し、
    前記符号化ステップは、前記分割ステップにより得られた複数の文書データを、前記文書データにおける構造単位で符号化することを特徴とする請求項1〜1の何れか1項に記載の文書データ処理方法。
  12. 文書データを複数に分割する分割手段と、
    前記分割手段により得られた複数の文書データに対する複数の符号化テーブルであって当該文書データの記述と、その記述を表す符号との対応関係を示す複数の符号化テーブルを作成する作成手段と、
    前記分割手段により得られた複数の文書データを、前記作成手段により作成された複数の符号化テーブルのうち、当該文書データに対応する符号化テーブルに基づいて符号化する符号化手段と、
    前記符号化手段により符号化された複数の文書データと、前記複数の符号化テーブルとを、複数回に分けて外部装置に送信する送信手段とを有し、
    前記分割手段により分割された複数の文書データの少なくとも2つに、共通する記述がある場合には、
    前記作成手段は、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの1つの符号化テーブルには、前記共通する記述と、その記述を表す符号との対応関係と、前記共通する記述を有する複数の文書データの有効範囲とを含め、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの他の符号化テーブルには、前記共通する記述と、その記述を表す符号との対応関係を含めないようにすることを特徴とする文書データ作成装置。
  13. 複数に分割され、符号化された複数の文書データと、それぞれが当該複数の文書データに対応する複数の符号化テーブルとを、複数回に分けて外部装置から受信する受信手段と、
    前記受信手段により受信された文書データを、当該文書データに対応する符号化テーブルを用いて復号化する復号化手段とを有し、
    前記複数の符号化テーブルは、当該符号化テーブルに対応する前記分割された文書データの記述と、その記述を表す符号との対応関係を示すテーブルを含み、
    前記分割された複数の文書データの少なくとも2つに、共通する記述がある場合には、
    前記受信手段は、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの1つの符号化テーブルとして、前記共通する記述と、その記述を表す符号との対応関係と、前記共通する記述を有する複数の文書データの有効範囲とを含む符号化テーブルを受信し、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの他の符号化テーブルとして、前記共通する記述と、その記述を表す符号との対応関係を含まない符号化テーブルを受信することを特徴とする文書データ処理装置。
  14. 前記受信手段により受信された符号化テーブルを記憶媒体に記憶する記憶手段を有し、
    前記記憶手段は、前記符号化テーブルが受信されると、既に記憶されている符号化テーブルのうち、前記復号化が終了した文書データに対応する符号化テーブルを、受信された符号化テーブルに置き換えることを特徴とする請求項1に記載の文書データ処理装置。
  15. 前記受信手段により、前記共通する記述と、その記述を表す符号との対応関係と、前記共通する記述を有する複数の文書データの有効範囲とを含む符号化テーブルが受信されると、当該符号化テーブルの有効範囲を検出する検出手段と、
    前記受信手段により、前記共通する記述と、その記述を表す符号との対応関係と、前記共通する記述を有する複数の文書データの有効範囲とを含む符号化テーブルが受信されると、当該符号化テーブルの有効範囲に属する文書データが、前記復号化手段により復号化されてから、当該符号化テーブルを破棄する破棄手段とを有することを特徴とする請求項1に記載の文書データ処理装置。
  16. 文書データを複数に分割する分割ステップと、
    前記分割ステップにより得られた複数の文書データに対する複数の符号化テーブルであって当該文書データの記述と、その記述を表す符号との対応関係を示す複数の符号化テーブルを作成する作成ステップと、
    前記分割ステップにより得られた複数の文書データを、前記作成ステップにより作成された複数の符号化テーブルのうち、当該文書データに対応する符号化テーブルに基づいて符号化する符号化ステップと、
    前記符号化ステップにより符号化された複数の文書データと、前記複数の符号化テーブルとを、複数回に分けて外部装置に送信する送信ステップとをコンピュータに実行させ、
    前記分割ステップにより分割された複数の文書データの少なくとも2つに、共通する記述がある場合には、
    前記作成ステップは、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの1つの符号化テーブルには、前記共通する記述と、その記述を表す符号との対応関係と、前記共通する記述を有する複数の文書データの有効範囲とを含め、前記共通する記述のある複数の文書データに対応する複数の符号化テーブルのうちの他の符号化テーブルには、前記共通する記述と、その記述を表す符号との対応関係を含めないようにすることを特徴とするコンピュータプログラム。
JP2006326139A 2006-12-01 2006-12-01 文書データ処理方法、文書データ作成装置、及び文書データ処理装置 Expired - Fee Related JP4898405B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006326139A JP4898405B2 (ja) 2006-12-01 2006-12-01 文書データ処理方法、文書データ作成装置、及び文書データ処理装置
US11/947,062 US7970802B2 (en) 2006-12-01 2007-11-29 Document data processing method apparatus, and system for sending encoded document data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006326139A JP4898405B2 (ja) 2006-12-01 2006-12-01 文書データ処理方法、文書データ作成装置、及び文書データ処理装置

Publications (3)

Publication Number Publication Date
JP2008140179A JP2008140179A (ja) 2008-06-19
JP2008140179A5 JP2008140179A5 (ja) 2009-11-12
JP4898405B2 true JP4898405B2 (ja) 2012-03-14

Family

ID=39477070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006326139A Expired - Fee Related JP4898405B2 (ja) 2006-12-01 2006-12-01 文書データ処理方法、文書データ作成装置、及び文書データ処理装置

Country Status (2)

Country Link
US (1) US7970802B2 (ja)
JP (1) JP4898405B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010287052A (ja) * 2009-06-11 2010-12-24 Fujitsu Ltd 検索システムおよび記憶媒体
JP5671320B2 (ja) 2009-12-18 2015-02-18 キヤノン株式会社 情報処理装置及びその制御方法並びにプログラム
JP5325921B2 (ja) * 2011-03-28 2013-10-23 株式会社東芝 デコーダコンパイラ、プログラムおよび通信機器
JP5325920B2 (ja) * 2011-03-28 2013-10-23 株式会社東芝 エンコーダコンパイラ、プログラムおよび通信機器
JP2013089183A (ja) * 2011-10-21 2013-05-13 Toshiba Corp Exiデコーダおよびプログラム
US20150032764A1 (en) * 2013-07-26 2015-01-29 Electronics And Telecommunications Research Institute Parallel tree labeling apparatus and method for processing xml document
US11126627B2 (en) * 2014-01-14 2021-09-21 Change Healthcare Holdings, Llc System and method for dynamic transactional data streaming
US10121557B2 (en) 2014-01-21 2018-11-06 PokitDok, Inc. System and method for dynamic document matching and merging
US10007757B2 (en) 2014-09-17 2018-06-26 PokitDok, Inc. System and method for dynamic schedule aggregation
JP2018506786A (ja) 2015-01-20 2018-03-08 ポキットドク インコーポレイテッド 確率的グラフモデルを用いた医療貸付システム及び方法
US20160342750A1 (en) 2015-05-18 2016-11-24 PokitDok, Inc. Dynamic topological system and method for efficient claims processing
US10366204B2 (en) 2015-08-03 2019-07-30 Change Healthcare Holdings, Llc System and method for decentralized autonomous healthcare economy platform
WO2017066700A1 (en) 2015-10-15 2017-04-20 PokitDok, Inc. System and method for dynamic metadata persistence and correlation on api transactions
EP3377987A4 (en) 2015-11-20 2019-04-17 Hewlett-Packard Development Company, L.P. XML FILE COMPRESSION
US10102340B2 (en) 2016-06-06 2018-10-16 PokitDok, Inc. System and method for dynamic healthcare insurance claims decision support
US10108954B2 (en) 2016-06-24 2018-10-23 PokitDok, Inc. System and method for cryptographically verified data driven contracts
US10805072B2 (en) 2017-06-12 2020-10-13 Change Healthcare Holdings, Llc System and method for autonomous dynamic person management
JP7011029B2 (ja) * 2020-12-28 2022-01-26 ヒューレット-パッカード デベロップメント カンパニー エル.ピー. Xmlファイルの凝縮

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2978250B2 (ja) * 1990-12-25 1999-11-15 キヤノン株式会社 送信装置及び受信装置並びにその方法
US6345278B1 (en) * 1998-06-04 2002-02-05 Collegenet, Inc. Universal forms engine
US7613810B2 (en) * 2000-09-27 2009-11-03 Nokia Inc. Segmenting electronic documents for use on a device of limited capability
JP2002278726A (ja) * 2001-03-19 2002-09-27 Ricoh Co Ltd プリンタ装置
JP4252229B2 (ja) * 2001-03-28 2009-04-08 ユミルリンク株式会社 情報交換システム、情報通信端末、情報交換方法、プログラム、および、記録媒体
MXPA04004909A (es) * 2001-11-23 2004-09-03 Research In Motion Ltd Sistema y metodo para procesar documentos de lenguaje extensible para el analisis de documetos (xml).
US7653636B2 (en) * 2003-02-28 2010-01-26 Bea Systems, Inc. Systems and methods for streaming XPath query
JP3719251B2 (ja) * 2003-03-24 2005-11-24 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置
US7209925B2 (en) * 2003-08-25 2007-04-24 International Business Machines Corporation Method, system, and article of manufacture for parallel processing and serial loading of hierarchical data
JP2005115542A (ja) * 2003-10-06 2005-04-28 Seiko Epson Corp 文書情報出力システム及び文書情報出力方法
JP4168946B2 (ja) 2004-01-29 2008-10-22 Kddi株式会社 文書データの符号化又は復号化方法及びそのプログラム
US7665016B2 (en) * 2005-11-14 2010-02-16 Sun Microsystems, Inc. Method and apparatus for virtualized XML parsing
US7665015B2 (en) * 2005-11-14 2010-02-16 Sun Microsystems, Inc. Hardware unit for parsing an XML document

Also Published As

Publication number Publication date
JP2008140179A (ja) 2008-06-19
US20080133557A1 (en) 2008-06-05
US7970802B2 (en) 2011-06-28

Similar Documents

Publication Publication Date Title
JP4898405B2 (ja) 文書データ処理方法、文書データ作成装置、及び文書データ処理装置
JP4702947B2 (ja) コード情報の印刷装置、印刷方法、復元装置、復元方法およびコンピュータプログラム
KR100661173B1 (ko) 다이렉트 프린팅 기능을 갖는 프린터 및 그 인쇄방법
JP2005332088A (ja) 文書生成装置およびファイル変換システム
JP2009251803A (ja) 情報処理装置、データ処理方法、プログラム
US20090279136A1 (en) Image forming apparatus, job processing method, and storage medium
JP2010129057A (ja) 情報処理装置、表示データ翻訳方法、及びプログラム
JP2007253598A (ja) 印刷装置
US7203898B2 (en) Document processing method and apparatus
JP2006099442A (ja) 情報処理装置、履歴ファイル作成方法、及びプログラム
JP5598120B2 (ja) 画像処理装置
JP7134729B2 (ja) プログラム、情報処理装置、及び情報処理方法
JP2008310816A (ja) 複数のマークアップ・ページ・データをコンパクトに表現するシステムおよび方法
JP2007076253A (ja) 画像形成装置及び画像形成用データ処理方法
JP2007164482A (ja) 印刷装置、印刷方法、印刷プログラム、および記憶媒体
JP2004017418A (ja) 印刷装置、プリンタ装置、レイアウト装置、及びレンダリング装置
JP4978416B2 (ja) コード情報処理装置およびコード情報処理プログラム
JP5235446B2 (ja) 印刷制御装置、印刷制御方法、及びコンピュータプログラム
JP2009134645A (ja) データ処理装置、印刷処理方法、記憶媒体、プログラム
JP2006235935A (ja) 印刷システム
JP2010067281A (ja) ログ提供装置及びログ提供方法
JP2009289121A (ja) 情報処理装置、出力装置、出力処理方法、及びプログラム
JP2000181905A (ja) 電子文書ファイルの作成装置及び記録媒体
US8023146B2 (en) Print control device, information processing device, method of print control device, method of information processing device and computer program
JP2010125810A (ja) 情報処理装置、データ処理方法、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090925

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111018

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111226

R151 Written notification of patent or utility model registration

Ref document number: 4898405

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees