(57)【要約】【課題】  外部データへのリンクを示すリンク情報が記された文書データと、この外部データとを効率よく管理するための技術を提供すること。【解決手段】  リンク情報が記されているページ分割単位については、リンク情報が指し示す画像データをこのページ分割単位の先頭にマージする。更に、リンク情報が示すリンク先をこの画像データに変更することで、このページ分割単位を更新する（Ｓ５０５）。【選択図】  図４
2007257617.tif 000002
【特許請求の範囲】
【請求項１】
外部データへのリンクを示すリンク情報が記された文書データを処理する情報処理装置であって、
前記文書データを区切ることで複数の分割文書データを作成した場合に、前記分割文書データにリンク情報が記されているか否かを判断する判断手段と、
前記判断手段で、リンク情報が記されていると判断された前記分割文書データについては、当該リンク情報が指し示す外部データと当該分割文書データとを包括すると共に、当該リンク情報が示すリンク先を包括された外部データに変更することで、当該分割文書データを更新する更新手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記分割文書データは、文書データの構造に基づいて作成されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記分割文書データに含まれるリンク情報が指し示す外部データは、当該分割文書データの先頭部分に包括されることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記更新手段により更新された分割文書データを画像形成装置に送信する送信手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記更新手段は、前記分割文書データに記されたリンク情報が示す外部データが、他の分割文書データに含まれるリンク情報の示すリンク先と同じである場合、一方の分割文書データのリンク情報が示すリンク先を他方の分割文書データに包括された外部データに変更することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記更新手段により更新された分割文書データに含まれる外部データは、予め設定された範囲内の分割文書データにおけるリンク情報が示すリンク先であることを特徴とする請求項１に記載の情報処理装置。
【請求項７】
外部データへのリンクを示すリンク情報が記された文書データを処理する情報処理装置が行う情報処理方法であって、
判断手段が、前記文書データを区切ることで複数の分割文書データを作成した場合に、前記分割文書データにリンク情報が記されているか否かを判断する判断工程と、
更新手段が、前記判断工程でリンク情報が記されていると判断された前記分割文書データについては、当該リンク情報が指し示す外部データと当該分割文書データとを包括すると共に、当該リンク情報が示すリンク先を包括された外部データに変更することで、当該分割文書データを更新する更新工程と
を備えることを特徴とする情報処理方法。
【請求項８】
コンピュータに請求項７に記載の情報処理方法を実行させる為のコンピュータプログラム。
【請求項９】
請求項８に記載のコンピュータプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部データへのリンクを示すリンク情報が記された文書データと、この外部データとを取り扱うための技術に関するものである。
【背景技術】
【０００２】
画像データ等の参照情報へのリンクを示すリンク情報が記された構造化文書を保存したり転送したりする際には効率化を考え、構造化文書と参照情報とを一つにまとめることがある。従来では、参照情報に対してbase64エンコードを行い、リンク情報が記されている箇所に埋め込む方法がある。また、W3CのMTOM(SOAP Message Transmission Optimization Mechanism)などでは、XML文書や参照情報をそれぞれ独立したパートとして一つのパッケージにまとめている。
【０００３】
さらに、IETF仕様で規定されているThe MIME Application／Vnd.pwg-multiplexed Content-Typeでは、特殊な区切り文字列を使うことにより参照情報を構造化文書の参照箇所に直接挿入してまとめている。
【特許文献１】特開平10-312348号公報
【特許文献２】特開2000-293422号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述のような従来技術では、構造化文書が、構造化文書内の複数箇所から同じ内容の参照情報を参照している場合に問題を生じる。
【０００５】
リソースの少ない機器では、入力されたデータを蓄積しなくてもよいように、入力データが順次処理できるようになっていることが求められる。そこで、参照している箇所ごとに参照情報を複製して構造化文書へ挿入してまとめると、まとめた後のデータは順次処理できるようになる。しかし、まとめた後のデータ量はまとめる前のデータ量に比べ大きく増加してしまうため、データ転送を行うときにはコストがかかる。
【０００６】
一方、参照情報は複製せずに構造化文書に添付し、複数箇所から添付した参照情報を参照できるようにまとめるとデータ量は大きくならないが、まとめた後のデータを処理するときに参照情報をいつまで必要とするかがわからない。結局、まとめた後のデータをすべて処理し終わるまで参照情報を保持しておくことになり、参照情報が画像データなどサイズの大きいデータである場合リソースの少ない機器では処理できなくなる。
【０００７】
したがって、構造化文書と参照情報とを一つにまとめる際に重複したデータを保持せず、リソースの少ない機器でも処理できるように、まとめたデータは順次処理できるようにすることが課題となる。
【０００８】
本発明は以上の問題に鑑みてなされたものであり、外部データへのリンクを示すリンク情報が記された文書データと、この外部データとを効率よく管理するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
【００１０】
即ち、外部データへのリンクを示すリンク情報が記された文書データを処理する情報処理装置であって、
前記文書データを区切ることで複数の分割文書データを作成した場合に、前記分割文書データにリンク情報が記されているか否かを判断する判断手段と、
前記判断手段で、リンク情報が記されていると判断された前記分割文書データについては、当該リンク情報が指し示す外部データと当該分割文書データとを包括すると共に、当該リンク情報が示すリンク先を包括された外部データに変更することで、当該分割文書データを更新する更新手段と
を備えることを特徴とする。
【００１１】
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
【００１２】
即ち、外部データへのリンクを示すリンク情報が記された文書データを処理する情報処理装置が行う情報処理方法であって、
判断手段が、前記文書データを区切ることで複数の分割文書データを作成した場合に、前記分割文書データにリンク情報が記されているか否かを判断する判断工程と、
更新手段が、前記判断工程でリンク情報が記されていると判断された前記分割文書データについては、当該リンク情報が指し示す外部データと当該分割文書データとを包括すると共に、当該リンク情報が示すリンク先を包括された外部データに変更することで、当該分割文書データを更新する更新工程と
を備えることを特徴とする。
【発明の効果】
【００１３】
本発明の構成により、外部データへのリンクを示すリンク情報が記された文書データと、この外部データとを効率よく管理することができる。
【発明を実施するための最良の形態】
【００１４】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１５】
［第１の実施形態］
図１は、本実施形態に係る情報処理装置を適用したコンピュータを含むシステムの構成を示す図である。同図に示す如く、本実施形態に係るシステムは、コンピュータ１０１、印刷処理装置１０３、記憶装置１０４により構成されており、コンピュータ１０１と印刷処理装置１０３とはＬＡＮ１０２に接続されている。また、印刷処理装置１０３には記憶装置１０４が接続されている。なお、コンピュータ１０１と印刷処理装置１０３とを繋ぐネットワークはＬＡＮ１０２に限定するものではなく、インターネットなどのネットワークを用いても良い。
【００１６】
先ず、コンピュータ１０１について説明する。図２は、コンピュータ１０１のハードウェア構成を示すブロック図である。ＣＰＵ２０１は、ＲＯＭ２０２やＲＡＭ２０３に格納されているプログラムやデータを用いてコンピュータ１０１全体の制御を行ったり、ＬＡＮ１０２を介して印刷処理装置１０３とのデータ通信を制御したりする。即ち、ＣＰＵ２０１は、コンピュータ１０１が行う後述の各処理を実行する。
【００１７】
ＲＯＭ２０２は、コンピュータ１０１の設定データやブートプログラムなどを格納する。
【００１８】
ＲＡＭ２０３は、記憶部２０５からロードされたプログラムやデータ、ＬＡＮ  Ｉ／Ｆ２０６を介して外部から受信したデータなどを一時的に記憶する為のエリアや、ＣＰＵ２０１が各処理を実行する際に用いるワークエリアなどを有する。即ち、ＲＡＭ２０３は、各種のエリアを適宜提供することができる。
【００１９】
表示部２０４は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ２０１による処理結果を画像や文字などでもって表示することができる。
【００２０】
記憶部２０５は、ハードディスクドライブ装置に代表される大容量情報記憶装置であって、ここにはＯＳ（オペレーティングシステム）や、コンピュータ１０１が行う後述の各処理をＣＰＵ２０１に実行させるためのプログラムやデータが保存されている。このデータには、以下説明する文書データも含まれている。記憶部２０５に保存されているこれらのプログラムやデータは、ＣＰＵ２０１による制御に従って適宜ＲＡＭ２０３にロードされる。そしてＣＰＵ２０１はこのロードされたプログラムやデータを用いて処理を実行する。
【００２１】
ＬＡＮ  Ｉ／Ｆ２０６は、コンピュータ１０１を上記ＬＡＮ１０２に接続するためのものであり、コンピュータ１０１はこのＬＡＮ  Ｉ／Ｆ２０６を介して印刷処理装置１０３とのデータ通信を行うことができる。
【００２２】
ＵＳＢ  Ｉ／Ｆ２０７は、ＵＳＢ端子を有する外部機器を接続するためのものであり、例えば、ＵＳＢ端子を有するキーボードやマウスなどを接続することができる。
【００２３】
次に、印刷処理装置１０３について説明する。印刷処理装置１０３は、コンピュータ１０１から送信されたデータに基づいて紙などの記録媒体上に印刷処理を行う機能を有する装置であり、プリンタや複合機などにより構成されている。また、印刷処理装置１０３には、記憶装置１０４が接続されており、記憶装置１０４には、コンピュータ１０１から受信した各種の情報を一時的に記憶する。
【００２４】
図３は、本実施形態でコンピュータ１０１が取り扱う文書ファイル（文書データ）の構成例を示す図である。同図に示す如く、本実施形態に係る文書ファイルはＸＭＬで記述されたものであるが、他のマークアップ言語でもって記述されていても良い。
【００２５】
同図に示す文書データには、外部ファイル（参照情報）としての画像データ（画像ファイル）へのリンクを示すリンク情報が記されている。例えば、リンク情報＜image xlink:href="sample1.jpg"＞は、"sample1.jpg"なるファイル名を有する画像ファイルへのリンクを示す。なお、各リンク情報が指し示すリンク先に存在する画像ファイルは、記憶部２０５内に保存されている。また、"sample2.jpg"なるファイル名を有する画像ファイルに対しては複数のリンクが設けられている。リンク先は、文書が保存されている記憶装置内のデータであっても他の記憶装置内のデータであってもよい。
【００２６】
なお、同図の文書ファイルは記憶部２０５に保存されており、必要時にはＣＰＵ２０１による制御に従ってＲＡＭ２０３にロードされる。以下の説明では、コンピュータ１０１が図３に示した文書ファイルと、この文書ファイル内でリンクされているそれぞれの画像ファイルとを１つにまとめて印刷処理装置１０３に転送する場合について説明する。なお、印刷処理装置１０３へのデータプロトコルについては特に限定するものではないので、これに関する説明は省略する。
【００２７】
図４は、コンピュータ１０１が行う処理のフローチャートである。なお、同図のフローチャートを含め、以下に説明する全てのフローチャートに従った処理をＣＰＵ２０１に実行させるためのプログラムやデータは記憶部２０５に保存されている。そして、このプログラムやデータはＣＰＵ２０１による制御に従って適宜ＲＡＭ２０３にロードされる。従って、ＣＰＵ２０１がこのロードされたプログラムやデータを用いて処理を実行することで、コンピュータ１０１は以下説明する各処理を実行することになる。
【００２８】
先ず、ＲＡＭ２０３にロードされている文書ファイル（図３に示す構成を有する）を複数の分割ファイルに分割するのであるが、どこで分割するのかを示す分割条件の入力を、コンピュータ１０１の操作者に対して促し、操作者によって選択させる。選択方法としては例えば、ＵＳＢ  Ｉ／Ｆ２０７に接続されているキーボードやマウスを用いて行う。本実施形態では、タグ＜page＞〜＜／page＞で囲まれた要素（以下、ページ分割単位）毎に分割する。従って、本実施形態では、操作者が、ページ分割単位毎に分割する、という分割条件を指示したものとするので、ステップＳ５００ではこの条件を受け付ける。
【００２９】
次に、ステップＳ５０１では、文書ファイルの先頭から順次内容を参照し、ページ分割単位の先頭位置（分割開始位置）を検出したかをチェックする。本実施形態では、タグ＜page＞を検出したかをチェックする。検出した場合には処理をステップＳ５０２に進め、検出していない場合には処理をステップＳ５５０に進める。ステップＳ５５０では、現在参照している箇所が文書ファイルの最後の位置（例えばＥＯＦの位置）であるのかをチェックし、最後の位置であれば本処理を終了し、最後の位置でなければ処理をステップＳ５０１に戻し、続きを参照する。
【００３０】
ステップＳ５０２では、ページ分割単位の最後の位置（分割終了位置）を検出したかをチェックする。本実施形態では、タグ＜／page＞を検出したかをチェックする。検出した場合には処理をステップＳ５５０に進め、検出していない場合には処理をステップＳ５０３に進める。
【００３１】
ステップＳ５０３では、ステップＳ５０１で検出したタグ＜page＞以降の記述文を参照し、リンク情報が記されているか否かのチェック処理を行う。リンク情報が記されていない場合には処理をステップＳ５０２に戻し、現在参照している箇所がタグ＜／page＞であるのかをチェックする。タグ＜／page＞でなければ再度処理をステップＳ５０３に進め、続きを参照する。即ち、ステップＳ５０２，Ｓ５０３における処理によって、ステップＳ５０１で検出したタグ＜page＞から、次に登場するタグ＜／page＞までの間にリンク情報が記されているか否かをチェックすることができる。そして、リンク情報が記されている場合（リンク情報を検出した場合）には処理をステップＳ５０４に進める。
【００３２】
ステップＳ５０４では、ステップＳ５０３で検出したリンク情報が指し示す画像ファイルが、既にページ分割単位にマージ（包括）された画像ファイルであるのかをチェックする。画像ファイルのマージについては後述する。なお、本実施形態以降で用いる「マージ」とは、一般には「パッケージ」を意味するものである。
【００３３】
このチェックの結果、ステップＳ５０３で検出したリンク情報が指し示す画像ファイルが、既にページ分割単位にマージされた画像ファイルではない場合には処理をステップＳ５０５に進める。ステップＳ５０５では、ステップＳ５０３で検出したリンク情報が指し示す画像ファイルを、ステップＳ５０１で検出したタグ＜page＞の直前にマージする処理を行う。更に同ステップでは、ステップＳ５０３で検出したリンク情報がこのマージした位置を指し示すように、このリンク情報を変更する。これにより、ページ分割単位を更新することができる。
【００３４】
なお、それぞれの画像ファイル同士でそれぞれが同じものであるか否かのチェックは、例えばそれぞれの画像ファイル名が同じであるのかチェックすればよい。
【００３５】
一方、ステップＳ５０４におけるチェック処理の結果、ステップＳ５０３で検出したリンク情報が指し示す画像ファイルが、既に他のページ分割単位にマージされた画像ファイルである場合には処理をステップＳ５０６に進める。ステップＳ５０６では、ステップＳ５０３で検出したリンク情報を、既にマージされている画像ファイルを指し示すように更新することで、ページ分割単位を更新する。
【００３６】
そしてステップＳ５０５，Ｓ５０６の何れの処理を行った後であっても、処理をステップＳ５０２に進め、以降の処理を繰り返す。
【００３７】
以上説明した、図４のフローチャートに従った処理は、１つの文書ファイルについて行う処理である。従って、同図のフローチャートに従った処理を全て行うと、１つの文書ファイル内の各ページ分割単位のうち、リンク情報が記されたページ分割単位については以下のようにして処理される。即ち、このリンク情報が指し示すリンク先が、ページ分割単位にマージされた画像ファイルと異なるものである場合、このページ分割単位内に記されているリンク情報が指し示す先の画像ファイルをこのページ分割単位の先頭にマージする。更に、このリンク情報が指し示す先を、このマージした位置を指し示すように変更する。
【００３８】
また、リンク情報が指し示す画像ファイルが、既にページ分割単位にマージされた画像ファイルである場合には、このリンク情報を、既にマージされている画像ファイルを指し示すように更新する。
【００３９】
図６は、図３の文書ファイルを図４のフローチャートに従って更新した場合に得られる文書ファイルの構成例を示す図である。図６に示す如く、マージした画像ファイル部分は、cidxxxという識別子で参照元から参照している。識別子は、マージした画像ファイル部分を一意に識別できればcidxxxという形式になっていなくてもよい。2番目のページ分割単位では、同じ画像ファイルを複数の参照元から参照するようにリンク記述を行っている。
【００４０】
そして、以上のようにして作成した文書ファイルを、印刷処理装置１０３に送出する。なお、以上のようにして作成した文書ファイルは図６に例示したように、ＭＩＭＥに従ったものであるので、印刷処理装置１０３は当然、ＭＩＭＥに対応可能な構成を有する。
【００４１】
なお、本実施形態に係る情報処理装置は、コンピュータ１０１以外にも、ディジタルカメラなどの撮像装置や、ＰＤＡ、携帯電話等の、コンピュータ１０１よりも搭載メモリ量が少ない装置に適用しても良い。即ち、図４に示した処理は、生成する文書ファイルのサイズをできるだけ小さくすることにあるので、このように搭載メモリ量が少ない装置において図４のフローチャートに従った処理を行えば、より好適な結果となる。
【００４２】
また、本実施形態では、文書ファイルの分割は、タグ＜page＞〜＜／page＞で囲まれた要素毎に行っていたが、これに限定するものではなく、文書ファイルの構造上、分割可能な要素毎に分割しても良い。
【００４３】
［第２の実施形態］
図５は、コンピュータ１０１が行う処理のフローチャートである。本実施形態では、画像ファイルに有効期限（有効期限情報）を設定し、ページ分割単位の更新処理をこの有効期限に基づいて変更する点が第１の実施形態とは異なる。なお、図５に示した各ステップにおいて、図４に示した各ステップと同じものについては同じステップ番号を付けており。その説明は省略する。
【００４４】
本実施形態では、最大有効期限なるものが予め設定されているものとする。もちろん、この最大有効期限はキーボードやマウスを用いて適宜操作者が変更しても良い。また、この最大有効期限は、文書ファイルの分割数であっても良いし、文書ファイルの構造上、分割可能な箇所で分割した場合に、ある分割要素の出現回数であっても良い。本実施形態では、例えば最大有効期限を２とする。最大有効期限内は、外部データを保持し続けることにより重複して同じ外部データを参照することを避け、また、有効期限が過ぎれば外部データを一旦破棄することにより、メモリの長期占有を防ぐ。例えば、１ページ目、２ページ目、１００ページ目で同じ外部データを参照している場合に、有効期限が過ぎると該外部データを破棄し、１００ページ目を解析する時に再度該外部データをマージ（包括）するような場合である。
【００４５】
本実施形態では、最大有効期限なるものが予め設定されているものとする。もちろん、この最大有効期限はキーボードやマウスを用いて適宜操作者が変更しても良い。また、この最大有効期限は、文書ファイルの分割数であっても良いし、文書ファイルの構造上、分割可能な箇所で分割した場合に、ある分割要素の出現階数であっても良い。本実施形態では、最大有効期限として、ページ分割単位の数とする。例えば最大有効期限を２とする。
【００４６】
ステップＳ６００では、これまでに参照したページ分割単位の数をカウントし、このカウント値が有効期限を越えているか否かを判断する。この結果、越えている場合には処理をステップＳ５０５に進めるのであるが、越えていない場合には処理をステップＳ６０１に進める。ステップＳ６０１では、上記ステップＳ５０６における処理と同様の処理を行うと共に、有効期限を１つインクリメントする。
【００４７】
図７は、図３の文書ファイルを図５のフローチャートに従って更新した場合に得られる文書ファイルの構成例を示す図である。図７に示す如く、リンク情報が指し示す先の画像ファイルをページ分割単位の先頭にマージしている。まず、CHK1の２番目のパートは、画像ファイル（sample2.jpg）を参照しているので、画像ファイル（sample2.jpg）をマージして参照する。このときマージされた画像ファイル（sample2.jpg）の有効期限は1となる。
【００４８】
次に、CHK1の３番目のパートも画像ファイル（sample2.jpg）を参照している。そこで、既にマージされた画像ファイル（sample2.jpg）を参照するかどうか判断する。既にマージされた画像ファイル（sample2.jpg）を参照すると、マージされた画像ファイル（sample2.jpg）の有効期限は２となる。予め設定された最大有効期限の２を越えないので、CHK1の３番目のパートは既にマージされた画像ファイル（sample2.jpg）を参照することとする。画像ファイル（sample2.jpg）には有効期限としてCHK1:3という文字列が付加される。これは、CHK1の3番目のパートが終了するまで画像ファイルが有効であることを示す。今回はCHK1:3という文字列を使用したが、有効期限が識別できる文字列なら何でもよい。例えば、cid:0000@foo.org／3という文字列でもよい。また、有効期限の２という文字列でも良い。最大有効期限は２なので、もしCHK1の４番目のパートが画像ファイル（sample2.jpg）を参照していても、既にマージした画像ファイル（sample2.jpg）を参照せず、改めて画像ファイル（sample2.jpg）をマージして参照する。
【００４９】
以上の各実施形態によれば、文書ファイル内のリンク情報を、指定された分割条件で分割した分割ファイル毎に検出しているので、分割ファイル内の複数箇所から同じ情報を参照していてもマージする画像ファイルは重複しない。また、マージする箇所は、それぞれの分割ファイルの先頭になっているので、分割ファイルの処理が終わると先頭に挿入された画像ファイルは不要になることがわかる。
【００５０】
また、複数の分割ファイルから参照されている画像ファイルでも、有効期限を付加すれば、有効期限の間は同じ画像ファイルを複数回マージしなくても済むようにすることができる。
【００５１】
よって、リソースの少ない機器でも処理できるような順次処理可能なデータ形式で、出来るだけ重複した情報を保持せずに文書ファイルと画像ファイルとを一つにまとめることができる。
【００５２】
［第３の実施形態］
情報とエレクトロニクスの技術標準化団体であるＥｃｍａ  ＩｎｔｅｒｎａｔｉｏｎａｌのＴＣ４５委員会にて国際標準化が進められているＯｆｆｉｃｅ  Ｏｐｅｎ  ＸＭＬに含まれるＯＰＣ（Ｏｐｅｎ  Ｐａｃｋａｇｉｎｇ  Ｃｏｎｖｅｎｔｉｏｎｓ）仕様は、ＺＩＰファイル形式でコンテンツ、リソース、およびメタデータをアーカイブする方法について規定している。以下では係るアーカイブ技術を用いるものとする。
【００５３】
図８は本実施形態においてコンピュータ１０１がアーカイブ（包括）する文書データについて示す図である。図８において８０１、８０２はＸＭＬで記述された文書ファイルであり、それぞれには、リンク情報が記されているものとする。また、文書ファイル８０１、８０２にはそれぞれファイル名「ｄａｔａ１．ｓｖｇ」、「ｄａｔａ２．ｓｖｇ」が設定されているものとする。
【００５４】
また、本実施形態においても図１に示したシステムを用いるものとする。
【００５５】
本実施形態では上記ＯＰＣ仕様に従い、文書ファイルや画像ファイル等の複数のファイルを１つのファイルにアーカイブする点が第１の実施形態とは異なる。
【００５６】
図９はコンピュータ１０１が文書ファイルや画像ファイル等の複数のファイルを１つのファイルにアーカイブする処理のフローチャートである。図９に示した各ステップにおいて、図４に示したものと同じステップについては同じステップ番号を付けており、その説明は簡単に行うものとする。
【００５７】
本実施形態では、アーカイブ結果に含める文書ファイルや画像ファイルは予め設定されているものとするが、キーボードやマウスなどを用いて適宜操作者が選択してもよい。以下、図８に示す文書ファイル８０１、８０２を用いた場合における、図９のフローチャートに従った処理について説明する。もちろん、図９のフローチャートに従った処理は、他のファイルを用いた場合でも、実質的には同じである。
【００５８】
先ずステップＳ５００では、文書ファイル８０１，８０２の分割条件を受け付ける。本実施形態では、分割したそれぞれのファイル（分割文書ファイル）には多くとも１つのリンク情報が含まれているようにする。
【００５９】
次に、文書ファイル８０１，８０２を１つずつ処理していくのであるが、説明上、文書ファイル８０１、文書ファイル８０２の順に処理していくものとして説明する。しかし、その順番が逆であっても、以下の説明は実質的には同じである。
【００６０】
次にステップＳ５０１では、文書ファイル８０１の先頭から順次内容を参照し、文書ファイル８０１の先頭、若しくはｘｌｉｎｋ：ｈｒｅｆ属性を含む開始要素の位置（分割開始位置）を検出したかをチェックする。図８の場合、ｉｍａｇｅ要素の開始タグ、及び文書ファイルの先頭部分が分割開始位置に相当する。
【００６１】
係るチェックの結果、検出した場合には処理をステップＳ５０２に進め、検出していない場合には処理をステップＳ５５０に進める。
【００６２】
ステップＳ５０２では、文書ファイル８０１の最後、若しくはｘｌｉｎｋ：ｈｒｅｆ属性を含む開始要素の直前の位置（分割終了位置）を検出したかをチェックする。図８の場合、点線で示された部分および、文書ファイルの終了部分が分割終了位置に相当する。
【００６３】
係るチェックの結果、検出した場合には処理をステップＳ９０５に進め、検出していない場合には処理をステップＳ９０１に進める。
【００６４】
以下では、ステップＳ５０１で検出した分割開始位置からステップＳ５０２で検出した分割終了位置までの間のデータを分割文書ファイルと呼称する。
【００６５】
ステップＳ９０１では、分割文書ファイル中にリンク情報が記されているか否かをチェックする。係るチェックの結果、記されている場合には処理をステップＳ９０２に進めるのであるが、記されていない場合には処理をステップＳ５０２に戻す。
【００６６】
ステップＳ９０２では、分割文書ファイル中に記されているリンク情報が指し示すリンク先の画像ファイル（参照情報）が、既にアーカイブされている分割文書ファイルからリンクされているか否かをチェックする。これは、分割文書ファイル中に記されているリンク情報が指すリンク先の画像ファイルのファイル名が、既にアーカイブされた分割文書ファイルに記述されているリンク情報が指す画像ファイルのファイル名と同じであるか否かをチェックすることでなされる。
【００６７】
係るチェックの結果、分割文書ファイル中に記されているリンク情報が指し示すリンク先の画像ファイルが、既にアーカイブされている分割文書ファイルからリンクされている場合には処理をステップＳ９０４に進める。一方、リンクされていない場合には処理をステップＳ９０３に進める。
【００６８】
ステップＳ９０３では、分割文書ファイル中に記されているリンク情報が指し示す画像ファイル（参照情報）をアーカイブする。
【００６９】
ステップＳ９０４では、分割文書ファイル中に記されているリンク情報を書き換える。即ち、このリンク情報が指すリンク先が、ステップＳ９０３でアーカイブされた画像ファイル、若しくは既にアーカイブされている分割文書ファイルからリンクされている（分割文書ファイル中に記されているリンク情報が指し示す画像ファイルと同じファイル名の）画像ファイルを指し示すように、このリンク情報を書き換える。
【００７０】
ステップＳ９０５では、分割文書ファイルをアーカイブする。なお、ファイルをアーカイブする場合、アーカイブする毎に、それまでにアーカイブしたファイルとマージするものとする。これにより、１つのアーカイブファイルを作成する。
【００７１】
図８において、文書ファイル８０１の最初の分割文書ファイル８０１ａについては、「ｄａｔａ１．ｓｖｇ／［０］．ｐｉｅｃｅ」というファイル名でアーカイブする。
【００７２】
次の分割文書ファイル８０１ｂについては、「ｄａｔａ１．ｓｖｇ／［１］．ｐｉｅｃｅ」というファイル名でアーカイブする。また、分割文書ファイル８０１ｂ内に記述されているリンク情報が指し示す画像ファイル「ｓａｍｐｌｅ１．ｊｐｇ」をアーカイブする。そして先のアーカイブファイルとマージする。そして、分割文書ファイル８０１ｂ内のリンク情報は、アーカイブファイル内における画像ファイル「ｓａｍｐｌｅ１．ｊｐｇ」を指し示すように書き換えられる。
【００７３】
次の分割文書ファイル８０１ｃについては、「ｄａｔａ１．ｓｖｇ／［２］．ｌａｓｔ．ｐｉｅｃｅ」というファイル名でアーカイブする。また、分割文書ファイル８０１ｃ内に記述されているリンク情報が指し示す画像ファイル「ｓａｍｐｌｅ２．ｊｐｇ」をアーカイブする。そして先のアーカイブファイルとマージする。そして、分割文書ファイル８０１ｃ内のリンク情報は、アーカイブファイル内における画像ファイル「ｓａｍｐｌｅ２．ｊｐｇ」を指し示すように書き換えられる。
【００７４】
ステップＳ５５０では、文書ファイル８０１の最後の位置を検出したか否かをチェックする。係るチェックの結果、検出した場合には処理をステップＳ９０６に進め、検出してない場合には処理をステップＳ５０１に戻す。
【００７５】
ステップＳ９０６では、全ての文書ファイルについてアーカイブを行ったか否かをチェックする。係るチェックの結果、行っている場合には本処理を終了する。一方、全ての文書ファイルについてアーカイブを行っていない場合には処理をステップＳ５０１に戻す。ここでは、まだ文書ファイル８０２についてはアーカイブを行っていないので、文書ファイル８０２についてステップＳ５０１以降の処理を行うことになる。
【００７６】
図８において、文書ファイル８０２の最初の分割文書ファイル８０２ａについては、「ｄａｔａ２．ｓｖｇ／［０］．ｐｉｅｃｅ」というファイル名でアーカイブする。そして先のアーカイブファイルとマージする。
【００７７】
次の分割文書ファイル８０２ｂについては、「ｄａｔａ２．ｓｖｇ／［１］．ｌａｓｔ．ｐｉｅｃｅ」というファイル名でアーカイブする。また、分割文書ファイル８０２ｂ内に記述されているリンク情報が指し示す画像ファイルは「ｓａｍｐｌｅ１．ｊｐｇ」であり、既にアーカイブされた分割文書ファイル８０１ｂからリンクされているものである。従ってこの場合、改めて画像ファイル「ｓａｍｐｌｅ１．ｊｐｇ」についてのアーカイブは行わない。そして先のアーカイブファイルとマージする。そして、分割文書ファイル８０２ｂ内のリンク情報は、アーカイブファイル内における画像ファイル「ｓａｍｐｌｅ１．ｊｐｇ」を指し示すように書き換えられる。
【００７８】
以上の処理により、図８に示したアーカイブファイル８０３を生成する。アーカイブファイル８０３を構成する各部分データおよび、そのデータ名の決定規則はＯＰＣ仕様に従うものとする。このようにアーカイブされることによってリソースの少ない機器であっても、アーカイブファイル８０３のように構成された部分データを上から順に処理することによりデータを不必要に蓄積させることなく順次処理することが可能となる。
【００７９】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００８０】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８１】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８２】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００８３】
【図１】本発明の第１の実施形態に係る情報処理装置を適用したコンピュータを含むシステムの構成を示す図である。
【図２】コンピュータ１０１のハードウェア構成を示すブロック図である。
【図３】本発明の第１の実施形態でコンピュータ１０１が取り扱う文書ファイルの構成例を示す図である。
【図４】コンピュータ１０１が行う処理のフローチャートである。
【図５】コンピュータ１０１が行う処理のフローチャートである。
【図６】図３の文書ファイルを図４のフローチャートに従って更新した場合に得られる文書ファイルの構成例を示す図である。
【図７】図３の文書ファイルを図５のフローチャートに従って更新した場合に得られる文書ファイルの構成例を示す図である。
【図８】本発明の第３の実施形態においてコンピュータ１０１がアーカイブする文書データについて示す図である。
【図９】コンピュータ１０１が文書ファイルや画像ファイル等の複数のファイルを１つのファイルにアーカイブする処理のフローチャートである。
【図１】
2007257617.tif 000003
【図２】
2007257617.tif 000004
【図３】
2007257617.tif 000005
【図４】
2007257617.tif 000006
【図５】
2007257617.tif 000007
【図６】
2007257617.tif 000008
【図７】
2007257617.tif 000009
【図８】
2007257617.tif 000010
【図９】
2007257617.tif 000011