(57)【特許請求の範囲】
【請求項１】
第１の章と前記第１の章に対応する外部ドキュメントデータへの参照情報を含む第１のドキュメントデータを処理する文書処理装置であって、
前記第１のドキュメントデータへの第２のドキュメントデータの挿入箇所に基づいて、前記第１の章を前記第１の章と第２の章に分割する分割手段と、
前記分割手段が分割した前記第１の章と前記第２の章に対応する参照情報に前記外部ドキュメントデータに対する順序情報を付与する付与手段と、
前記付与手段が前記順序情報を付与した前記第１のドキュメントデータの参照情報の順序情報に基づいて前記第１の章の文書のページと前記第２の章の文書のページを並べて、前記外部ドキュメントデータを更新する更新手段と
を有することを特徴とする文書処理装置。
【請求項２】
前記ドキュメントデータはページを最下位層とする階層構造を有し、
編集対象のドキュメントデータに対して、ページの入れ替え、または追加、または削除の編集をページ単位で施す編集手段を有することを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記編集手段は、編集対象のドキュメントデータに対して、章の入れ替え、または追加、または削除の編集を章で施すことを特徴とする請求項２に記載の文書処理装置。
【請求項４】
第１の章と前記第１の章に対応する外部ドキュメントデータへの参照情報を含む第１のドキュメントデータを処理するためのプログラムであって、
前記第１のドキュメントデータへの第２のドキュメントデータの挿入箇所に基づいて、前記第１の章を前記第１の章と第２の章に分割する分割手段と、
前記分割手段が分割した前記第１の章と前記第２の章に対応する参照情報に前記外部ドキュメントデータに対する順序情報を付与する付与手段と、
前記付与手段が前記順序情報を付与した前記第１のドキュメントデータの参照情報の順序情報に基づいて前記第１の章の文書のページと前記第２の章の文書のページを並べて、前記外部ドキュメントデータを更新する更新手段と
してコンピュータを機能させるためのプログラム。
【請求項５】
第１の章と前記第１の章に対応する外部ドキュメントデータへの参照情報を含む第１のドキュメントデータを処理する文書処理装置による文書処理方法であって、
前記文書処理装置の分割手段が、前記第１のドキュメントデータへの第２のドキュメントデータの挿入箇所に基づいて、前記第１の章を前記第１の章と第２の章に分割する分割工程と、
前記文書処理装置の付与手段が、前記分割工程により分割した前記第１の章と前記第２の章に対応する参照情報に前記外部ドキュメントデータに対する順序情報を付与する付与工程と、
前記文書処理装置の更新手段が、前記付与工程により前記順序情報を付与した前記第１のドキュメントデータの参照情報の順序情報に基づいて前記第１の章の文書のページと前記第２の章の文書のページを並べて、前記外部ドキュメントデータを更新する更新工程と
を有することを特徴とする文書処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば構造化ドキュメントに、外部の構造化ドキュメントをその構造を維持したままマージあるいは挿入できる文書処理装置及びその制御方法に関する。
【背景技術】
【０００２】
従来、ドキュメントファイルの一元管理のため、ドキュメントファイルの名称、保存場所、選択ページを管理情報として設定ファイル内に保持し、ドキュメントファイルのデータは保存しない文書印刷システムが提案されている（たとえば特許文献１等参照）。このシステムでは、印刷の都度設定ファイルを参照してドキュメントファイルを印刷するので、ドキュメントファイルの更新が反映された印刷物をえられる。
【０００３】
また、ドキュメントの印刷データをマージする際に、取り込んだ文書を中間データ（例えばＰＤＦデータ）に変換し、一つのファイルにマージすることで、プレビューやマージ後のドキュメントを編集することを可能としていた（たとえば特許文献１等参照）。これにより、文書を部品化して部品毎に分散して並行に作成することができる。
【特許文献１】特開２０００−３５７０７４号公報
【特許文献２】特開２００２−６３０００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１においては、ドキュメントをマージし、編集することが出来ない。
【０００５】
また、特許文献２においては、ドキュメントをマージできるものの、マージ後のドキュメントデータにおいては、マージ以前には独立していたドキュメントを区別することができない。このため、たとえば元ドキュメントに外部ドキュメントをマージした場合、外部ドキュメントに相当する部分を対象として編集を行ったとしても、元の外部ドキュメントにその編集を反映することが出来なかった。
【０００６】
本発明は上記従来例に鑑みて成されたもので、要素文書をマージした文書データに施された編集を、マージ前の要素文書データに反映することができる文書処理装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明は以下の構成を備える。
【０００８】
第１の章と前記第１の章に対応する外部ドキュメントデータへの参照情報を含む第１のドキュメントデータを処理する文書処理装置であって、
前記第１のドキュメントデータへの第２のドキュメントデータの挿入箇所に基づいて、前記第１の章を前記第１の章と第２の章に分割する分割手段と、
前記分割手段が分割した前記第１の章と前記第２の章に対応する参照情報に前記外部ドキュメントデータに対する順序情報を付与する付与手段と、
前記付与手段が前記順序情報を付与した前記第１のドキュメントデータの参照情報の順序情報に基づいて前記第１の章の文書のページと前記第２の章の文書のページを並べて、前記外部ドキュメントデータを更新する更新手段とを有する。
【発明の効果】
【０００９】
本発明によって、本願発明の課題を解決することができる。すなわち、要素文書をマージるいは挿入した文書データに施された編集を、マージあるいは挿入前の要素文書データに反映することができる。
【発明を実施するための最良の形態】
【００１０】
本実施形態では、構造化されている文書において、リンクにより参照されている要素文書データをその構造を維持しながらマージする。そして、マージ後の文書データを編集した場合、編集結果を元の要素文書データに反映することができる文書処理装置および文書処理方法（あるいはシステム）を説明する。
【００１１】
［実施形態１］
図１は、本発明の実施形態に係るドキュメント処理システムの全体構成を示すブロック図である。本プリントシステムは、情報処理装置としてのクライアント（コンピュータ）１０１〜１０３が互いにネットワーク１０４にて接続されている構成からなる。
【００１２】
クライアント（コンピュータ）１０１〜１０３には、アプリケーションプログラムが実行可能に格納されており、クライアントコンピュータ間で電子データを送受信し、該電子データをアプリケーションプログラムにて処理することが出来る。このアプリケーションプログラムには、本実施形態に係る文書処理プログラムが含まれ、文書処理アプリケーションを実行するクライアントコンピュータは文書処理装置として機能する。
【００１３】
なお、本ドキュメント処理システムに含まれる装置間の通信は、イーサネット（登録商標）ケーブルなどを利用した有線通信でもよいし、電波や光などを利用した無線通信でもよい。
【００１４】
本実施形態においては、クライアント１０１がアプリケーションプログラム２００を実行することでドキュメントを生成する。そして、アプリケーションプログラム２００にて編集中のドキュメントからクライアント１０２或いはクライアント１０３内のドキュメントを参照する。アプリケーションプログラム２００のソフトウェア構成図を図２に示す。アプリケーションプログラム２００は文書処理アプリケーションプログラムである。上述のようにコンピュータは文書処理装置として機能するので、コンピュータで実行されているアプリケーションプログラム２００を文書処理アプリケーション部ともよぶ。
【００１５】
ファイルアクセス手段（部）２０１は、クライアント１０１のオペレーティングシステムのファイルシステムを介して対象ドキュメントへアクセスする手段である。ユーザーインタフェース制御手段（部）２０２は、クライアント１０１のオペレーティングシステムを介して、アプリケーションプログラム２００とユーザーのインタフェース制御を行う手段である。その際には、ディスプレイ或いは音声出力などの出力手段及び、マウスやキーボードなどの入力手段が用いられる。ネットワーク通信手段（部）２０３は、クライアント１０１のオペレーティングシステムを介して、アプリケーションプログラム２００のネットワーク通信を制御する手段である。ドキュメント構成管理手段（部）２０４は、アプリケーションプログラム２００で作成或いは編集する構造化ドキュメントの構成を管理する手段である。
ドキュメント構成管理部２０４により管理する構造化ドキュメントの概念図を図４１に示す。
【００１６】
図４１の構造化ドキュメントは、Ｊｏｂ４１０１をドキュメントルートとし、ルート直下に中間層として章が構成される。図４１においては、Ｊｏｂ４１０１はＤｏｃｕｍｅｎｔ１−４１０２及び、Ｄｏｃｕｍｅｎｔ２−４１０５の２つの章から成る。また、各章以下にはページが構成されている。Ｄｏｃｕｍｅｎｔ１−４１０２にはＰａｇｅ１−４１０３及びＰａｇｅ２−４１０４が構成され、Ｄｏｃｕｍｅｎｔ２−４１０６にはＰａｇｅ３−４１０７及びＰａｇｅ４−４１０８が構成されている。
【００１７】
＜構造化ドキュメントの例＞
次に、本実施形態における構造化ドキュメントの詳細な一例を図３に示す。構造化ドキュメント３００はアーカイブされたファイルであり、アーカイブ内はＪＯＢフォルダ３０１をルートフォルダとし、フォルダ構造を利用した階層構造を持つ。最下位層すなわち葉ノードはページである。なお構造化ドキュメントを単にドキュメントと呼ぶこともある。
【００１８】
ＪＯＢフォルダ３０１直下には、ドキュメントの全般的な参照情報を格納する＿ｒｅｌｓフォルダ３０２、ドキュメントの構成情報を示すＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑファイル３０５がある。さらに、ドキュメントのメタデータを格納するＭｅｔａＤａｔａフォルダ３０６、ドキュメントの実データを構造化して格納するＤｏｃｕｍｅｎｔｓフォルダ３０８、ドキュメントの利用するリソースを格納するＲｅｓｏｕｒｃｅｓフォルダ３３３も存在する。各フォルダ、ファイルについて以下に説明する。
【００１９】
＿ｒｅｌｓフォルダ３０２には、ドキュメントの構成情報ファイルをポイントする．ｒｅｌｓファイル３０３がある。また、ドキュメントの利用するメタデータ及びリソースファイルをリンクするＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｒｅｌｓ３０４ファイルもある。
【００２０】
．ｒｅｌｓファイル３０３の一例を説明したのが図４である。．ｒｅｌｓファイル３０３はＸＭＬ形式で記述されており、ＲｅｌａｔｉｏｎｓｈｉｐタグからＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ３０５を参照することにより、ドキュメントの構成情報ファイルを指定している。
【００２１】
ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ３０５の一例を説明したのが図５である。ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ３０５はＸＭＬ形式で記述されている。ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｑｅｕｅｎｃｅタグ内にＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅタグを列挙する事により、ドキュメント内に構成管理されているデータを列挙順に章立てて参照している。本実施形態においては、１番目のＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅにてＤｏｃｕｍｅｎｔ１のＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃを指定している。また、２番目のＤｏｃｕｅｍｅｎｔＳｅｑｕｅｎｃｅにてＤｏｃｕｍｅｎｔ２のＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃを指定している。このように本ドキュメントが第１章Ｄｏｃｕｍｅｎｔ１、第２章Ｄｏｃｕｍｅｎｔ２から構成されている。
【００２２】
ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｒｅｌｓファイル３０４の一例を説明したのが図６である。ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｒｅｌｓファイル３０４はＸＭＬ形式で記述されている。そして、Ｒｅｌａｔｉｏｎｓｈｉｐタグより、ＭｅｔａＤａｔａ３０６内に格納されているＪｏｂ＿ＰＴ．ｘｍｌファイル３０７を指定することにより、ドキュメント全般に関する印刷体裁を指定している。
【００２３】
ドキュメント全般に関する印刷体裁を記述したファイルの一例を示すＪｏｂ＿ＰＴ．ｘｍｌ３０７について説明したのが図７である。Ｊｏｂ＿ＰＴ．ｘｍｌはＸＭＬ形式で記述されており、Ｆｅａｔｕｒｅタグにて印刷設定の項目名を指定し、Ｏｐｔｉｏｎタグにて該設定項目の設定値を指定している。図７の例においては、印刷に用いる用紙のＦｅａｔｕｒｅ「ＰａｇｅＭｅｄｉａＳｉｚｅ」に「Ａ４」を指定しており、印刷用紙サイズとしてＡ４が指定されている。また、印刷の向きを指定するＦｅａｔｕｒｅ「ＰａｇｅＯｒｉｅｎｔａｔｉｏｎ」に「Ｐｏｒｔｒａｉｔ」が指定されており、用紙の向きとして横向きが設定されている。また、印刷方法を指定するＦｅａｔｕｒｅ「Ｐｒｉｎｔ Ｓｔｙｌｅ」に「Ｓａｄｄｌｅ Ｓｔｉｔｃｈ Ｂｏｏｋｌｅｔ」が指定されており、中とじ製本印刷が設定されている。
【００２４】
本実施形態においては、ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｒｅｌｓファイル３０４から印刷体裁を設定するファイルを参照した。しかし、印刷体裁を設定するファイル以外に、ドキュメントで利用するフォントや画像データ、また、あらゆる他のリソースを参照しても良い。この際に利用するフォントや画像データなどのリソースはＲｅｓｏｕｒｃｅｓフォルダ３３３に保存しても良く、画像データ３３４はｐｎｇ形式やｐｄｆ形式、或いはその他のいかなるファイル形式でも良い。
【００２５】
Ｄｏｃｕｍｅｎｔｓフォルダ３０８には、構成化して管理されるドキュメントのデータが保存されている。Ｄｏｃｕｍｅｎｔｓフォルダ３０８内のＤｏｃｕｍｅｎｔ１フォルダ３１５、或いはＤｏｃｕｍｅｎｔ２フォルダ３２４以下に、構成情報ファイルＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ３０５にて参照されるＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃファイルが格納されており、ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃにページの構成情報が記述されている。
【００２６】
図８にＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃファイル３１６の一例を説明する。ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃファイル３１６はＸＭＬ形式で記述され、ＰａｇｅＣｏｎｔｅｎｔタグにてページファイルをページ順に列挙することにより、該Ｄｏｃｕｍｅｎｔのページ構成情報を指定している。
【００２７】
また、＿ｒｅｌｓフォルダ３０９以下に、Ｄｏｃｕｍｅｎｔ１−３１５ないしＤｏｃｕｍｅｎｔ２−３１６が参照する参照情報が記述されている。
【００２８】
図９にＤｏｃｕｍｅｎｔ１．ｒｅｌｓファイル３１０の一例を説明する。Ｒｅｌａｔｉｏｎｓｈｉｐタグにて、Ｄｏｃｕｍｅｎｔ１−３１５が、印刷設定としてＭｅｔａＤａｔａフォルダ３１２内にあるＤｏｃｕｍｅｎｔ１＿ＰＴ．ｘｍｌファイル３１３を利用することが記述されている。なお、ドキュメント全体の印刷設定であるＪｏｂ＿ＰＴ．ｘｍｌ３０７の印刷設定と、Ｄｏｃｕｍｅｎｔ１＿ＰＴ．ｘｍｌ３１３の印刷設定が異なる場合がある。たとえばＤｏｃｕｍｅｎｔ１＿ＰＴ．ｘｍｌ３１３が図１０のような内容の場合、中とじの設定がなく、Ｊｏｂ＿ＰＴ．ｘｍｌ３０７の印刷設定と異なる。このように印刷設定がドキュメント全体とその要素（この例では章）とで相違する場合、Ｄｏｃｕｍｅｎｔ１−３１５についてはＤｏｃｕｍｅｎｔ１＿ＰＴ．ｘｍｌ３１３の印刷設定に従っても良いし、Ｊｏｂ＿ＰＴ．ｘｍｌ３０７の印刷設定に従っても良い。また、Ｄｏｃｕｍｅｎｔ１．ｒｅｌｓファイル３１０からＤｏｃｕｍｅｎｔにて利用するフォントや画像データ、また、あらゆる他のリソースを参照しても良い。この際に利用するフォントや画像データなどのリソースはＲｅｓｏｕｒｃｅｓフォルダ３３３に保存しても良く、画像データ３３４はｐｎｇ形式やｐｄｆ形式、或いはその他のいかなるファイル形式でも良い。Ｄｏｃｕｍｅｎｔ１フォルダ３１５及び、Ｄｏｃｕｍｅｎｔ２フォルダ３１６は同じフォルダ構成なので、代表的にＤｏｃｕｍｅｎｔ１フォルダについて以下に説明する。
【００２９】
Ｄｏｃｕｍｅｎｔ１フォルダ３１５直下にはＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ３１６及び、Ｄｏｃｕｍｅｎｔの有するページデータを保持するＰａｇｅｓフォルダ３１７が存在する。
【００３０】
Ｐａｇｅｓフォルダ３１７内には、１ページごとのデータであるＰａｇｅ１．ｆｐａｇｅファイル３２２及びＰａｇｅ２．ｆｐａｇｅファイル３２３が存在する。データファイルはページ数に応じて変化する。Ｐａｇｅ１．ｆｐａｇｅ３２２を図１１にて説明する。Ｐａｇｅ１．ｆｐａｇｅはＸＭＬ形式で記述されており、ＦｉｘｅｄＰａｇｅタグにてページの幅と高さを指定している。また、Ｇｌｙｐｈｓタグにて文字の記述をしており、ＯｒｉｇｉｎＸ及びＯｒｉｇｉｎＹで文字列の開始位置を指定している。また、ＦｏｎｔＲｅｎｄｅｒｉｎｇＥｍＳｉｚｅにて文字のサイズを指定し、ＦｏｎｔＵｒｉでフォントを指定している。図１１においては、Ｒｅｓｏｕｒｃｅフォルダ３３３に格納されているＭｅｉｒｙｏ．ｔｔｃフォントを指定している。また、ＵｎｉｃｏｄｅＳｔｒｉｎｇタグにて、当該ページに記述する文字列及びフォント種を指定しており、図１１ではＵｎｉｃｏｄｅで「Ｔｅｘｔ Ｄａｔａ」という文字がページに記述されている。
【００３１】
また、＿ｒｅｌｓフォルダ３１８内のＰａｇｅ１．ｆｐａｇｅ．ｒｅｌｓファイル３１９にてＰａｇｅ１．ｆｐａｇｅ３３２が参照するファイルが記述されている。図１２にてＰａｇｅ１．ｆｐａｇｅ．ｒｅｌｓファイル３１９について説明する。Ｒｅｌａｔｉｏｎｓｈｉｐタグにて、該当ページの印刷体裁としてＭｅｔａＤａｔａフォルダ３２０内のＰａｇｅ１＿ＰＴ．ｘｍｌファイル３２１を設定している。なお、ドキュメント全体の印刷設定であるＪｏｂ＿ＰＴ．ｘｍｌ３０７あるいは、Ｄｏｃｍｅｎｔ１の印刷設定であるＤｏｃｕｍｅｎｔ１＿ＰＴ．ｘｍｌ３１３と、Ｐａｇｅ１の印刷設定であるＰａｇｅ１＿ＰＴ．ｘｍｌ３２１の印刷設定が異なる場合がある。この場合には、Ｐａｇｅ１＿ＰＴ．ｘｍｌ３２１の印刷設定に従っても良いし、Ｄｏｃｕｍｅｎｔ１＿ＰＴ．ｘｍｌ３１３の印刷設定に従っても良いし、Ｊｏｂ＿ＰＴ．ｘｍｌ３０７の印刷設定に従っても良い。図１３にＰａｇｅ１＿ＰＴ．ｘｍｌ３２１の例を示す。また、Ｄｏｃｕｍｅｎｔ１．ｒｅｌｓファイル３１０から当該Ｄｏｃｕｍｅｎｔにて利用するフォントや画像データ、また、あらゆる他のリソースを参照しても良い。
【００３２】
次に、ユーザインタフェース制御手段２０２にて表示する、ユーザが構造化ドキュメント３００を編集するためのＵＩ図の一例を図１４に示す。ＵＩ１４００の左ペイン１４００に編集中の構造化ドキュメント３００の構成が表示されている。
【００３３】
ジョブアイコン１４０１は構造化ドキュメント３００のルート階層のＪｏｂを表示するアイコンである。また、Ｄｏｃｕｍｅｎｔ１−１４０２及び、Ｄｏｃｕｍｅｎｔ２−１４０５には、ドキュメントが第１章であるＤｏｃｕｍｅｎｔ１−３１５及び、第２章のＤｏｃｕｍｅｎｔ２−３２４が表示されている。また、Ｄｏｃｕｍｅｎｔ１−１４０２からカスケードして、Ｄｏｃｕｍｅｎｔ１−３１５のページデータＰａｇｅ１．ｆｐａｇｅ３２２及び、Ｐａｇｅ２．ｆｐａｇｅ３２３がＰａｇｅ１−１４０３及び、Ｐａｇｅ２−１４０４として表示されている。
【００３４】
同様に、Ｄｏｃｕｍｅｎｔ２−１４０５からカスケードして、Ｄｏｃｕｍｅｎｔ２−３２４のページデータＰａｇｅ１．ｆｐａｇｅ３３１及び、Ｐａｇｅ２．ｆｐａｇｅ３３２がＰａｇｅ１−１４０６及び、Ｐａｇｅ２−１４０７として表示されている。
【００３５】
ＵＩ１４００にてマウスポインタを右クリックすると、挿入機能を指示するための「ドキュメント挿入」メニューが表示される。該メニューより、クライアント１０１内のローカルファイル、或いは、ネットワークを介してクライアント１０２乃至クライアント１０３にあるファイル或いは、ファイル内の章、或いは、ファイル内のページを指定することが可能である。
【００３６】
本実施形態において挿入指定する外部のドキュメント（外部ドキュメントデータ）を図１６に例示する。外部ドキュメント１６００の構成は構造化ドキュメント３００の構成と同様である。ただし、外部ドキュメント１６００は章構成がＤｏｃｕｍｅｎｔＡ１６１５及びＤｏｃｕｍｅｎｔＢ１６２４からなり、ＤｏｃｕｍｅｎｔＡ１６１５はＰａｇｅＡ．ｆｐａｇｅ１６２２とＰａｇｅＢ．ｆｐａｇｅ１６２３から成る。また、ＤｏｃｕｍｅｎｔＢ１６２４はＰａｇｅＣ．ｆｐａｇｅ１６３１及びＰａｇｅＤ．ｆｐａｇｅ１６３２から成る。
【００３７】
ＤｏｃｕｍｅｎｔＡ１６１５の印刷体裁ＤｏｃｕｍｅｎｔＡ＿ＰＴ．ｘｍｌ１６１３を図１８に説明する。ＰｒｉｎｔＴｉｃｋｅｔ１８００では、Ｆｅａｔｕｒｅ「ＰａｇｅＭｅｄｉａＳｉｚｅ」に「Ｂ５」を指定しており、ＤｏｃｕｍｅｎｔＡ１６１５を用紙サイズＢ５で印刷するよう指定されている。
【００３８】
構造化ドキュメント３００に外部ドキュメント１６００の挿入を指定したＵＩを図１５にて説明する。図１５で表示しているドキュメントに関しては、外部ドキュメント１６００のページデータを取得しておらず、外部ドキュメント１６００の保存場所を指定する情報（参照情報）１５０５を構造化ドキュメントに保存している。参照情報はたとえば外部ドキュメント１６００の存在するＵＲＬ乃至パスなどがある。また、ステータスバー１５０９のページ情報は、外部ドキュメント１６００のページ数を含めずに構造化ドキュメント３００のページ数を表示しても良い。あるいは、外部ドキュメント１６００のページ数を取得して構造化ドキュメント３００のページ数と合算して表示しても良い。
【００３９】
構造化ドキュメント３００に外部ドキュメント１６００の参照情報を保存した一例を図３９に説明する。構造化ドキュメント３９００は構造化ドキュメント３００に対し、外部ドキュメントの挿入を行う予約情報として、ｘｘｘ．ｒｅｌｓ３９１２、ｘｘｘ＿ＰＴ．ｘｍｌ３９１６及び、ｘｘｘフォルダ３９３５以下が加えられている。ｘｘｘ．ｒｅｌｓ３９１２よりｘｘｘ＿ＰＴ．ｘｍｌ３９１６が参照されている。ｘｘｘ＿ＰＴ．ｘｍｌ３９１６の一例を図２０に示す。ＰｒｉｎｔＴｉｃｋｅｔ２０００内に、Ｌｉｎｋタグにて外部ドキュメント１６００のＵＲＬを指定している。
【００４０】
また、ｘｘｘフォルダ３９３５以下には、ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃファイル３９３６及び、Ｐａｇｅｓフォルダ３９３７が存在する。ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃファイル３９３６は空のファイルである。また、Ｐａｇｅｓフォルダ３９３７内には、＿ｒｅｌｓフォルダ３９３８及び、ＭｅｔａＤａｔａフォルダ３９３９が空のフォルダとして存在する。
【００４１】
また、ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑファイル３０５が更新される。更新されたＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑファイル３０５’を図４０にて説明する。ＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅのＤｏｃｕｍｅｎｔ１とＤｏｃｕｍｅｎｔ２の間にｘｘｘが挿入されており、ドキュメントの章構成がＤｏｃｕｍｅｎｔ１、ｘｘｘ、Ｄｏｃｕｍｅｎｔ２の順になっている。
【００４２】
なお、図３９においては、外部ドキュメント１６００の参照情報をドキュメント全体に対する参照情報として保持している。しかし別の形態として、外部ドキュメント１６００内の個々の章ＤｏｃｕｍｅｎｔＡ１６１５及び、ＤｏｃｕｍｅｎｔＢ１６２４に対する参照情報を保持してもよい。個々の章に対する参照情報をドキュメント内に保持した形態を図３０に説明する。図３０においては、外部ドキュメント１６００のドキュメント構成に従い、ＤｏｃｕｍｅｎｔＡフォルダ３０３７及び、ＤｏｃｕｍｅｎｔＢフォルダ３０４２を保持する。また各章の参照情報であるＤｏｃｕｍｅｎｔＡ．ｒｅｌｓ３０１２、ＤｏｃｕｍｅｎｔＢ．ｒｅｌｓ３０１３及び、各章の外部参照情報を設定するＤｏｃｕｍｅｎｔＡ＿ＰＴ．ｘｍｌ３０１７、ＤｏｃｕｍｅｎｔＢ＿ＰＴ．ｘｍｌファイル３０１８を保存している。
【００４３】
また、ＤｏｃｕｍｅｎｔＡ３０３７及び、ＤｏｃｕｍｅｎｔＢ３０４２が挿入されたことにより、ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ３０５が更新される。図１９で、更新されたＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ３０５”について説明する。図１９では、ＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅのＤｏｃｕｍｅｎｔ１とＤｏｃｕｍｅｎｔ２の間にＤｏｃｕｍｅｎｔＡ及びＤｏｃｕｍｅｎｔＢが挿入されている。すなわち、ドキュメントの章構成がＤｏｃｕｍｅｎｔ１、ＤｏｃｕｍｅｎｔＡ、ＤｏｃｕｍｅｎｔＢ、Ｄｏｃｕｍｅｎｔ２の順になっている。
【００４４】
次に、図１５にてＬｉｎｋ情報をマウスで右クリックし、表示されるメニューから「ドキュメント取得」を選択した場合の動作について説明する。図１５では外部ドキュメントへのリンク情報（参照情報）は編集対象ドキュメントに挿入されている。図４７にアプリケーション２００の動作の処理フローを例示する。
【００４５】
ステップ４７０１にてアプリケーションプログラムのユーザインタフェース制御手段２０２が、図１５のユーザインターフェース（ＵＩ）にて選択されたＤｏｃｕｍｅｎｔを検知（あるいは特定）する。
【００４６】
次に、ステップ４７０２にてアプリケーションプログラムのネットワーク通信手段２０３が、選択されたＤｏｃｕｍｅｎｔ（すなわち編集中の文書データ）の参照情報に記載されている外部ドキュメント１６００を取得する。
【００４７】
次に、ステップ４７０３にてアプリケーションプログラムのドキュメント構成管理手段２０４が、ドキュメントのうち参照情報で記述された章を、その参照情報に記述された外部ドキュメントの内容（すなわちドキュメントデータ）にて上書きする。
【００４８】
最後に、ステップ４７０４にてアプリケーションプログラムのファイルアクセス手段２０１が、保存されている編集対象のドキュメントを上書き更新する。なお、上記フローはドキュメントの章と、外部ドキュメントの章が対応付けられている場合の処理フローである。図３９の構造化ドキュメントに例示するように、外部ドキュメントの章構成の情報を取得する前など、ドキュメントの章と、外部ドキュメントの章が対応付けられていない場合の外部ドキュメント取得フローを図５５に示す。
【００４９】
図５５において、ステップ５５０１にてアプリケーションプログラムのユーザインタフェース制御手段２０２が、図１５にて選択されたＤｏｃｕｍｅｎｔを検知する。
【００５０】
次に、ステップ５５０２にてアプリケーションプログラムのネットワーク通信手段２０３が、前記選択されたＤｏｃｕｍｅｎｔの参照情報に記載されている外部ドキュメント１６００を取得する。
【００５１】
次に、ステップ５５０３にてアプリケーションプログラムのドキュメント構成管理手段２０４が、外部ドキュメント１６００の章構成を解析する。
【００５２】
次に、ステップ５５０４にて、解析した外部ドキュメント構成に従い、ドキュメントの挿入指定箇所、図３９においてはｘｘｘ３９３５を外部ドキュメントの章構成に変更し、外部ドキュメントの章を追加する。本実施形態においては、図３９のｘｘｘ３９３５を図１６に示すＤｏｃｕｅｍｅｎｔＡ１６１５及び、ＤｏｃｕｅｍｅｎｔＢ１６２４へ置き換える。この結果図７のドキュメントデータがえられる。
【００５３】
最後に、ステップ５５０５にてアプリケーションプログラムのファイルアクセス手段２０１がドキュメントを上書き更新する。
【００５４】
図４２に、構造化ドキュメント３００へ外部ドキュメント１６００の章を取得した後の構造化ドキュメントの概念図を例示する。Ｄｏｃｕｍｅｎｔ１−４２０２及び、Ｄｏｃｕｍｅｎｔ２−４２１１の間に、ＤｏｃｕｍｅｎｔＡ４２０５及び、ＤｏｃｕｍｅｎｔＢ４２０８が、外部ドキュメントの章の構造を維持したまま挿入されている。これにより、外部ドキュメントの構造を維持したまま、構造化ドキュメント３００へ章ごと挿入することを可能としている。
【００５５】
図１７に外部ドキュメントを取得した後のドキュメント構成について詳細に説明する。外部ドキュメント１６００のリソース１６３４をリソース１７５６にコピーしてくる。なお、コピーするリソースはリソースフォルダ１６３３ごとコピーしても良い。あるいは、ＦｉｘｅｄＤｏｃｕｅｍｅｎｔＳｅｑｕｅｎｓ．ｒｅｌｓ１６０４、ＤｏｃｕｍｅｎｔＡ．ｒｅｌｓ１６１０、ＤｏｃｕｍｅｎｔＢ．ｒｅｌｓ１６１１、ＰａｇｅＡ．ｆｐａｇｅ．ｒｅｌｓ１６１９、ＰａｇｅＢ．ｆｐａｇｅ．ｒｅｌｓ１６２８から参照されているリソースのみコピーしても良い。
【００５６】
また、ＤｏｃｕｍｅｎｔＡ．ｒｅｌｓ１６１０及びＤｏｃｕｍｅｎｔＢ．ｒｅｌｓファイル１６１１を＿ｒｅｌｓフォルダ１７０９へコピーする。また、ＤｏｃｕｍｅｎｔＡ＿ＰＴ．ｘｍｌ１６１３及びＤｏｃｕｍｅｎｔＢ＿ＰＴ．ｘｍｌファイル１６１４をＭｅｔａＤａｔａフォルダ１７１４へコピーする。更に、外部ドキュメントのＤｏｃｕｍｅｎｔＡ１６１５フォルダ以下を、編集対象ドキュメントのＤｏｃｕｍｅｎｔＡフォルダ１７３７へコピーし、ＤｏｃｕｍｅｎｔＢ１６２４フォルダ以下をＤｏｃｕｍｅｎｔＢフォルダ１７４６以下へコピーする。なお、外部ドキュメント１６００からファイルをコピーしてくる際に、ファイル内に記述されているパス情報は構造化ドキュメント１７００の構成に従って修正しても良い。
【００５７】
また、ＤｏｃｕｍｅｎｔＡ＿ＰＴ．ｘｍｌ１７１７及びＤｏｃｕｅｍｅｎｔＢ＿ＰＴ．ｘｍｌファイル１７１８には、外部ドキュメント１６００の参照情報を記述しておいても良い。参照情報を記述した例は前述の図２０の通りである。
【００５８】
また、ＤｏｃｕｍｅｎｔＡ＿ＰＴ．ｘｍｌ１７１７、ＤｏｃｕｅｍｅｎｔＢ＿ＰＴ．ｘｍｌ１７１８をコピーする際に、Ｊｏｂ＿ＰＴ．ｘｍｌ３０７の設定と競合する設定があった場合は、ＤｏｃｕｅｍｅｎｔＡ＿ＰＴ．ｘｍｌ１７１７或いはＤｏｃｕｍｅｎｔＢ＿ＰＴ．ｘｍｌ１７１８の設定を、競合が発生しない設定に更新しても良い。あるいは、ユーザインタフェース制御手段２０２を会してユーザに設定変更を促してもよい。例えば、本実施形態においては、Ｊｏｂ＿ＰＴ．ｘｍｌファイル３０７に図７のＰｒｉｎｔＴｉｃｋｅｔが設定されており、ドキュメント全体に対して、印刷用紙サイズはＡ４かつ、中とじ製本が指定されている。一方ＤｏｃｕｍｅｎｔＡ＿ＰＴ．ｘｍｌファイル１６１３には図１８に例示するように印刷用紙サイズにＢ５が指定されている。その場合、Ａ４とＢ５サイズの用紙を中とじ製本できない事がある。そのような場合に、ＰｒｉｎｔＴｉｃｋｅｔ１８００をＡ４に更新しても良い。
【００５９】
また、ＰａｇｅＡ＿ＰＴ．ｘｍｌ１６２１及びＰａｇｅＢ＿ＰＴ．ｘｍｌファイル１６３０をコピーしてくる際に、Ｊｏｂ＿ＰＴ．ｘｍｌあるいはＤｏｃｕｍｅｎｔＡ＿ＰＴ．ｘｍｌ１７１７、ＤｏｃｕｅｍｅｎｔＢ＿ＰＴ．ｘｍｌ１７１８の設定と競合する設定があった場合は、ＰａｇｅＡ＿ＰＴ．ｘｍｌ１６２１及びＰａｇｅＢ＿ＰＴ．ｘｍｌファイル１６３０の設定を競合が発生しない設定に更新しても良い。あるいはユーザインタフェース制御手段２０２を会してユーザに設定変更を促してもよい。例えば、ＰａｇｅＡ＿ＰＴ．ｘｍｌ１６２１ファイルで、図３１に例示するように用紙サイズにＢ５が指定されていた場合、用紙サイズをＡ４に書き換えても良い。
【００６０】
構造化ドキュメント３００に外部ドキュメント１６００を挿入した後に、アプリケーションプログラムの２０２ユーザインタフェース制御部が表示するＵＩを図２１に例示する。図２１において、Ｄｏｃｕｍｅｎｔ１−１４０２及び、Ｄｏｃｕｍｅｎｔ２−１４０５の間に、ＤｏｃｕｍｅｎｔＡ２１０５及び、ＤｏｃｕｍｅｎｔＢ２１０８が挿入されている。
【００６１】
なお、本実施形態においては、図１４にてドキュメントを挿入した時点では外部参照情報をドキュメントへ保持し、ユーザが指定した任意のタイミングで外部ドキュメントを取得した。しかし、図１４にてドキュメントの挿入をユーザが指定したタイミングで、直ちに外部のドキュメントを取得して構造化ドキュメント３００へマージしても良い。
【００６２】
また、本実施形態において、構造化ドキュメント３００から外部ドキュメント１６００へ参照情報を設定するタイミング、或いは、構造化ドキュメント３００から外部ドキュメント１６００を取得するタイミングで、外部ドキュメント１６００のＤｏｃｕｍｅｎｔＡ＿ＰＴ．ｘｍｌ１６１３及び、ＤｏｃｕｍｅｎｔＢ＿ＰＴ．ｘｍｌ１６１４に対して、構造化ドキュメントへの参照情報を設定してもよい。
【００６３】
図４９に外部ドキュメントのＤｏｃｕｍｅｎｔＡ＿ＰＴ．ｘｍｌ１６１３へ参照情報を設定した際の一例を図示する。Ｌｉｎｋタグの「ｒｅｆ」属性にて参照情報を設定している。これにより、外部ドキュメントの更新時に、外部ドキュメントの参照情報に記載されている設定情報に従い、編集対象ドキュメントの該当Ｄｏｃｕｍｅｎｔ（本実施形態では章に相当する）を上書きしても良い。
【００６４】
次に、図２２にて、外部から取得したドキュメントを右クリックした際のメニューについて説明する。表示されるメニューよりドキュメントの構成要素を選択して右クリックし、表示されるメニューから「再取得」を選択すると、外部ドキュメント１６００のコピーを再度実行する。
【００６５】
また、メニューより「オリジナル更新」を選択すると、構造化ドキュメント１７００より、指定されたドキュメント或いは指定されたページ或いは、指定された箇所を含む、外部から取得した全ての部分について、外部ドキュメントへアップロードを行う。
【００６６】
＜オリジナルドキュメントへの編集の反映＞
本実施形態において、アプリケーションプログラムが外部ドキュメントを更新する際の処理フローを図５６に例示する。
【００６７】
ステップ５６０１にてアプリケーションプログラムのユーザインタフェース制御手段２０２が、選択されたオリジナル更新箇所を検知（特定）する。
【００６８】
次に、ステップ５６０２にて、アプリケーションプログラムのドキュメント構成管理手段２０４が、選択された箇所のＤｏｃｕｍｅｎｔの参照情報に記載されている外部ドキュメント１６００を特定する。
【００６９】
次に、ステップ５６０３にて、アプリケーションプログラムのネットワーク構成管理手段２０４が、外部ドキュメントを更新する。換言すれば、編集対象のドキュメントにおいて選択された部分により、その参照情報により対応づけられた外部ドキュメントを上書きする。たとえば、図１７で章「ＤｏｃｕｍｅｎｔＡ」１７３７が選択されていると、そこに参照情報で関連づけられた外部ドキュメント１６００の実体部分であるＤｏｃｕｍｅｎｔＡ１６１５を、ＤｏｃｕｍｅｎｔＡ１７３７で更新する。外部ドキュメントが取得された場合でも、参照情報は失われず、編集対象のドキュメントに保存されるので、このような関連づけが可能である。
【００７０】
なお、上記においては章単位で外部ドキュメント１６００の更新を行っているが、外部ドキュメント１６００全体に対して更新しても良いし、図２２にて指定された章およびページについて更新しても良いし、その他いかなる範囲で更新を行っても良い。
【００７１】
本実施形態において、最初に編集対象ドキュメント１７００のリソース１７５６をアップロードする。アップロードとは、外部ドキュメントを有するコンピュータに、上書きするドキュメントデータを送信することをいう。あるいは上書きまで行ってもよい。アップロードするリソースはフォルダごとコピーしても良いし、ＦｉｘｅｄＤｏｃｕｅｍｅｎｔＳｅｑｕｅｎｓ．ｒｅｌｓ３０４、ＤｏｃｕｍｅｎｔＡ．ｒｅｌｓ１７１２、ＤｏｃｕｍｅｎｔＢ．ｒｅｌｓ１７１３、ＰａｇｅＡ．ｆｐａｇｅ．ｒｅｌｓ１７４１、ＰａｇｅＢ．ｆｐａｇｅ．ｒｅｌｓ１７５０から参照されているリソースのみコピーしても良い。また、ＤｏｃｕｍｅｎｔＡ．ｒｅｌｓ１７４１及びＤｏｃｕｍｅｎｔＢ．ｒｅｌｓ１７５０ファイルをアップロードする。また、ＤｏｃｕｍｅｎｔＡ＿ＰＴ．ｘｍｌ１７１７及びＤｏｃｕｍｅｎｔＢ＿ＰＴ．ｘｍｌ１７１８ファイルをアップロードする。更に、ＤｏｃｕｍｅｎｔＡフォルダ１７３７以下及び、ＤｏｃｕｍｅｎｔＢフォルダ１７４６以下をアップロードする。なお、ファイルをアップロードする際に、ファイル内に記述されているパス情報を外部ドキュメントの構成に従って修正しても良い。
【００７２】
以上により、ＤｏｃｕｍｅｎｔＡ＿ＰＴ．ｘｍｌ１７１７及び、ＤｏｃｕｍｅｎｔＢ＿ＰＴ．ｘｍｌ１７１８に参照情報を残しておき、複数のドキュメントをマージできる。このため、マージしたドキュメントのページの挿入やページ順の入れ替え、文書構成の変更といったページ単位の編集をした場合にも、マージ前のオリジナルの（元の）ドキュメントへ編集を反映できる。また、リンク先からドキュメントを再取得し、最新のデータへ更新することも可能とした。
【００７３】
ドキュメントを修正、編集した後に、オリジナルのドキュメントへ更新を反映している概念的図を図４８に示す。マージした後のドキュメント修正を、オリジナルの編集者の手元にあるドキュメントへ反映している。
【００７４】
本実施形態においては、外部のドキュメント全体に対して、ユーザが参照情報を指定したが、個々の章についてユーザが参照の設定を可能としても良い。
【００７５】
＜構造化ドキュメントの編集＞
次に、図２４に例示する構造化ドキュメントの編集処理について述べる。図２４においては、図３と基本的なドキュメント構造は同じだが、１つの章から構成されており、該章は２ページからなる。図４３に、図２４の構造化ドキュメントの概念図を例示する。ドキュメントのルートであるＪｏｂ４３０１の直下に、章の構造を有するＤｏｃｕｍｅｎｔ１−４３０２が存在する。また、Ｄｏｃｕｍｅｎｔ１−４３０２内に、ページデータであるＰａｇｅ１−４３０３及び、Ｐａｇｅ２−４３０４が存在する。
【００７６】
また、ＦｉｘｅｄＤｏｃｕｅｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ２４０５を図３７に例示する。１つの章から構成されているため、ＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅはＤｏｃｕｍｅｎｔ１についてのみ参照している。また、Ｄｏｃｕｅｍｅｎｔ１−２４１３は外部ドキュメントを取得したドキュメント（要素ドキュメント）であり、ＤｏｃｕｍｅｎｔＡ＿ＰＴ．ｘｍｌ２５１２には図２７に例示する設定を保持する。ＰｒｉｎｔＴｉｃｋｅｔにおいて、取得した外部ドキュメントのＬｉｎｋ情報がＬｉｎｋタグで記述されている。また、Ｄｏｃタグにて、外部ドキュメント内における、参照先のＤｏｃｕｍｅｎｔ情報を保持している。
【００７７】
クライアント１０１上のアプリケーションから図２４に例示した構成のドキュメントを編集する際のＵＩ２３００を図２３に例示する。Ｊｏｂ２３０１にてドキュメントのルートが表示されている。また、Ｄｏｃｕｍｅｎｔ１−２３０２にて、ドキュメントの章であるＤｏｃｏｕｍｅｎｔ１２４１３が表示されている。更にカスケードして該章のページであるＰａｇｅ１．ｆｐａｇｅ２４２０及び、Ｐａｇｅ２．ｆｐａｇｅ２４２１がＰａｇｅ１−２３０３及び、Ｐａｇｅ２−２３０４として表示されている。
【００７８】
ＵＩ２３００では、マウスにてＰａｇｅ１−２３０３とＰａｇｅ２−２３０４の間を右クリックし、表示されるメニュー「ドキュメント挿入」より、ページ間に外部ドキュメントの挿入を指定している。参照を指定した外部ドキュメントについて、図２５に例示する。
【００７９】
図２５のドキュメントは、１つの章ＤｏｃｕｍｅｎｔＡ２５１３から構成されており、この章にはＰａｇｅＡ．ｆｐａｇｅ２５２０及び、ＰａｇｅＢ．ｆｐａｇｅ２５２１の２ページが存在する。
【００８０】
構造化ドキュメント２４００へ外部ドキュメント２５００を挿入する際のアプリケーションの処理フローを図５０に示す。ステップ５００１にて、アプリケーションプログラムのユーザインタフェース制御手段２０２が、ドキュメントの挿入箇所及び、外部ドキュメントの参照情報を検知する。
【００８１】
次に、ステップ５００２にて、アプリケーションプログラムのネットワーク通信手段２０３が、外部ドキュメントの参照情報より、外部ドキュメントを取得する。
【００８２】
次に、ステップ５００３にて、アプリケーションプログラムのドキュメント構成管理手段２０４が、ドキュメントの挿入箇所により、Ｄｏｃｕｍｅｎｔを分割する。
【００８３】
次に、ステップ５００４にてアプリケーションプログラムのドキュメント構成管理手段２０４が、外部ドキュメントの章構成に従い、外部ドキュメントの章であるＤｏｃｕｍｅｎｔをドキュメントへ挿入する。
【００８４】
最後に、ステップ５００５にてアプリケーションプログラムの２０１ファイルアクセス制御手段がドキュメントを上書き更新する。
【００８５】
図２４の構造化ドキュメントに図２５の外部ドキュメントを挿入した後の、構造化ドキュメントの概念図について図４４にて説明する。Ｄｏｃｕｅｍｅｎｔ１−４３０２のページ間に外部ドキュメントの章が挿入されたことにより、Ｄｏｃｕｅｍｅｎｔ１−４３０２の章を分割している。分割によりＤｏｃｕｅｍｅｎｔ１はＤｏｃｕｍｅｎｔ１−４４０２及び、Ｄｏｃｕｍｅｎｔ１’−４４０７となり、その間にＤｏｃｕｍｅｎｔＡ４４０４を挿入している。
【００８６】
本実施形態における、図２５の外部ドキュメント挿入後の構造化ドキュメントの詳細な説明を図２６にて例示する。Ｊｏｂ２６００においては、Ｐａｇｅ１−２３０３とＰａｇｅ２−２３０４の間に外部ドキュメントを挿入した。そのため、Ｄｏｃｕｍｅｎｔ１−２４１３を２つに分割してＤｏｃｕｍｅｎｔ１−２６１７及び、Ｄｏｃｕｍｅｎｔ１’−２６３４を作成し、外部ドキュメントＤｏｃｕｍｅｎｔＡ２５１３を間に挿入し、ＤｏｃｕｍｅｎｔＡ２６２５とする。
【００８７】
上記編集に伴い、ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ２６０５を更新する。更新したＦｉｘｅｄＤｏｃｕｅｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑを図３８に例示する。図３８においては、ＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅタグにてＤｏｃｕｍｅｎｔ１とＤｏｃｕｍｅｎｔ１’の間に、ＤｏｃｕｍｅｎｔＡを挿入している。また、Ｄｏｃｕｍｅｎｔ１−２６１７およびＤｏｃｕｍｅｎｔ１’−２６３４の設定情報であるＤｏｃｕｍｅｎｔ１＿ＰＴ．ｘｍｌ２６１４及びＤｏｃｕｍｅｎｔ１’＿ＰＴ．ｘｍｌ２６１６を更新する。
【００８８】
更新したＤｏｃｕｍｅｎｔ１＿ＰＴ．ｘｍｌ２６１４を図２８に、Ｄｏｃｕｍｅｎｔ１’＿ＰＴ．ｘｍｌ２６１６を図２９に例示する。図２８及び図２９のＬｉｎｋタグにて外部参照情報を保持し、かつ、Ｄｏｃタグにて、外部ドキュメント内における、参照先のＤｏｃｕｍｅｎｔ情報を保持している。また、Ｓｅｑｕｅｎｃｅタグにて、分割されたＤｏｃｕｍｅｎｔのオリジナルデータに対する順序情報を保持している。本実施形態においては、図２８にてＳｅｑｕｅｎｃｅ＝１、図２９にてＳｅｑｕｅｎｃｅ＝２となっており、Ｄｏｃｕｍｅｎｔ１−２６１７が１番目、Ｄｏｃｕｍｅｎｔ１’−２６１８が２番目の順序になっている。
【００８９】
図２６のドキュメントをアプリケーションで表示した例を図３２に示す。図２６のドキュメントルートであるＪｏｂ２６０１をＪｏｂ３２０１に表示している。また、Ｊｏｂ３２０１以下に、ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ２６０５に記載の構成情報に従い、Ｄｏｃｕｍｅｎｔ１−３２０２、ＤｏｃｕｍｅｎｔＡ３２０４、Ｄｏｃｕｍｅｎｔ１’−３２０７を列挙している。
【００９０】
図３２でＤｏｃｕｍｅｎｔ１−３２０２或いはＤｏｃｕｍｅｎｔ１’−３２０７或いは、Ｄｏｃｕｍｅｎｔ３２０３とＤｏｃｕｅｍｅｎｔ１’３２０７両方を選択し、マウスを右クリックした際には、メニュー「再取得」と「オリジナル更新」が表示される。
【００９１】
「再取得」を押下した際に表示されるＵＩを図３３に例示する。図３３において、取得する外部ドキュメントを配置する場所を選択可能である。
【００９２】
Ｄｏｃｕｍｅｎｔ選択画面３３０１には、該外部ドキュメントに関連されたＤｏｃｕｍｅｎｔ１−２６１７とＤｏｃｕｍｅｎｔ１’−２６３４が列挙されている。列挙したリストから選択したＤｏｃｕｍｅｎｔに、外部ドキュメントを上書きし、そお外部ドキュメントに関連付けられたその他のＤｏｃｕｍｅｎｔは削除される。これにより、Ｄｏｃｕｍｅｎｔが分割された後でも外部ドキュメントを再取得することが可能となる。
【００９３】
また、図３２で「オリジナル更新」を押下した際には、図２８及び図２９に記載されている情報に従い、Ｄｏｃｕｍｅｎｔ１−２６１７とＤｏｃｕｍｅｎｔ１’−２６３４を外部ドキュメントにアップロードする。この際に、図２８及び図２９に記載されたＤｏｃ情報に従い、外部ドキュメント内のＤｏｃにＤｏｃｕｍｅｎｔ１−２６１７とＤｏｃｕｍｅｎｔ１’−２６３４をアップロードする。加えて、図２８及び図２９に記載されたＳｅｑｕｅｎｃｅ情報に従い、Ｄｏｃｕｅｍｅｎｔ１２６１７とＤｏｃｕｅｍｅｎｔ１’２６３４のＰａｇｅを並べる。また、ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ２６１８及びＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ２６３４を図２８及び図２９のＳｅｑｕｅｎｃｅに記載の順に従ってＸＭＬをマージして、外部ドキュメント２５００のＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ２５１４にアップロードしても良い。
【００９４】
また、外部ドキュメント２５００のＤｏｃｕｍｅｎｔａ＿ｐｔ．ｘｍｌ２５１２に、Ｄｏｃｕｍｅｎｔ１＿ＰＴ．ｘｍｌ２６１４か、Ｄｏｃｕｅｍｅｎｔ１’＿ＰＴ．ｘｍｌ２６１６か、或いはＤｏｃｕｍｅｎｔ１＿ＰＴ．ｘｍｌ２６１４とＤｏｃｕｅｍｅｎｔ１’＿ＰＴ．ｘｍｌ２６１６をマージしてアップロードしても良いし、ユーザに設定を促しても良い。
【００９５】
次に、図３の構造化文書のページ順をアプリケーションで入れ替える場合について説明する。ページ順を入れ替える際のアプリケーションのＵＩを図３４にて説明する。
【００９６】
アプリケーションＵＩ３４００の左ペインより、Ｄｏｃｕｍｅｎｔ１−３４０２内のＰａｇｅ２−３４０４とＤｏｃｕｍｅｎｔ２−３４０５内のＰａｇｅ３−３４０６を選択し、マウスを右クリックしてメニューより「ページ入れ替え」を選択する。図５１に、構造化ドキュメント３００のページを入れ替える際の処理フローを例示する。
【００９７】
ステップ５１０１にて、アプリケーションプログラムのユーザインタフェース制御手段２０２が、入れ替え対象のページを検知（特定）する。
【００９８】
ステップ５１０２にて、アプリケーションプログラムのドキュメント構成管理手段２０４が、ページ順を入れ替える対象ページが異なる章に属するか判断する。
【００９９】
異なる章に属する場合は、ステップ５１０３にて、アプリケーションプログラムのドキュメント構成管理手段２０４が、入れ替える対象ページにおいて章を分割する。そして、ステップ５１０４にてドキュメント構成管理手段２０４が章の構成ごとページ順を入れ替える。
【０１００】
また、ステップ５１０２にて、ページ順を入れ替える対象ページが同じ章に属すると判断した場合は、ステップ５１０６にて章内でページ順を入れ替える。
【０１０１】
最後に、ステップ５１０５にて、アプリケーションプログラムの２０１ファイルアクセス制御手段がドキュメントを上書き更新する。
【０１０２】
ページを入れ替えた後のドキュメント構成を図３５に例示する。Ｊｏｂ３５００においては、Ｄｏｃｕｍｅｎｔ１−３１５及び、Ｄｏｃｕｍｅｎｔ２−３２４が、ページの入れ替えにより分断された。これにより、Ｄｏｃｕｍｅｎｔ１−３１５をＤｏｃｕｍｅｎｔ１−３５１９及び、Ｄｏｃｕｍｅｎｔ１’−３５３５に分割し、Ｄｏｃｕｍｅｎｔ２−３２４をＤｏｃｕｍｅｎｔ２−３５２７と、Ｄｏｃｕｍｅｎｔ２’−３５４１に分割している。
【０１０３】
また、ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ３５０５を文書構成の変化に伴い更新する。図３６に更新したＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑを例示する。ＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅをＤｏｃｕｍｅｎｔ１、Ｄｏｃｕｍｅｎｔ２、Ｄｏｃｕｍｅｎｔ１’、Ｄｏｃｕｍｅｎｔ２’の順に列挙することにより、ページの入れ替え後のドキュメント構成を記述している。また、Ｄｏｃｕｍｅｎｔ１．ｒｅｌｓ３５１０及びＤｏｃｕｅｍｅｎｔ２．ｒｅｌｓファイル３５１１をＤｏｃｕｍｅｎｔ１’．ｒｅｌｓ３５１２及び、Ｄｏｃｕｍｅｎｔ２’．ｒｅｌｓファイル３５１３にコピーしている。また、Ｄｏｃｕｍｅｎｔ１＿ＰＴ．ｘｍｌファイル３５１５及び、Ｄｏｃｕｍｅｎｔ２＿ＰＴ．ｘｍｌファイル３５１６をＤｏｃｕｍｅｎｔ１’＿ＰＴ．ｘｍｌファイル３５１７及び、Ｄｏｃｕｍｅｎｔ２’＿ＰＴ．ｘｍｌファイル３５１８にコピーしている。このドキュメントの編集前後をそれぞれ図４５，図４６に示す。編集前にはＤｏｃｕｍｅｎｔ１とＤｏｃｕｍｅｎｔ２の２つの章が含まれていたものが、編集後はページ順の入れ替えに応じて、各ページが独立し多少に再構成されている。
【０１０４】
また、構造化ドキュメントのページ順入れ替えの異なる形態について説明する。図５２にページ順を入れ替える前の構造化ドキュメントを例示する。Ｊｏｂ５２０１をルートとし、Ｄｏｃｕｍｅｎｔ１−５２０２及び、Ｄｏｃｕｍｅｎｔ２−５２０６の章構成からなり、Ｄｏｃｕｍｅｎｔ１−５２０２、Ｄｏｃｕｍｅｎｔ２−５２０６ともに３ページのページ構成からなる。
【０１０５】
ドキュメントを本発明におけるアプリケーションプログラムにて編集するためのＵＩ図を図５４に示す。図５４において、Ｐａｇｅ２−５４０４及び、Ｐａｇｅ５−５４０８を選択し、マウスを右クリックしてメニューより「ページ入れ替え」を選択する。本実施形態のアプリケーションプログラムにおいて、図５１の処理フローに従いドキュメントのページ入れ替えを行った後の構造化ドキュメントのドキュメント構成を図５３に例示する。Ｐａｇｅ５−５３０５及び、Ｐａｇｅ２−５３１１を入れ替えたために、該当ページにおいて章が分割され、Ｄｏｃｕｍｅｎｔ２’−５３０４及び、Ｄｏｃｕｍｅｎｔ１’−５３１０が作られる。また、Ｄｏｃｕｅｍｅｎｔ１において、入れ替え対象のページであるＰａｇｅ２以降のページ順は入れ替わらない。その為に、Ｄｏｃｕｍｅｎｔ１”−５３０６が作られ、同様に、Ｄｏｃｕｍｅｎｔ２においてＰａｇｅ５以降のページを配置する為にＤｏｃｕｍｅｎｔ２”−５３１２が作られている。
【０１０６】
このように編集により要素ドキュメント（すなわち章）が分割された場合に、分割の一部が選択されて元ドキュメント（元ドキュメントデータ）への反映が指示されると、以下のように反映する。たとえば、選択された章が、オリジナルの章から分割されたものであれば、その章に対応する外部ドキュメントを参照情報に基づいて特定する。そして特定された外部ドキュメントを読み込み、選択された章に含まれた部分のみで、外部ドキュメントの対応部分を上書きする。もちろんこれは一つの例に過ぎない。
【０１０７】
以上のようにして、マージしたドキュメントを編集することができる。そして、編集後、特にページ単位あるいは章単位の削除や入れ替え、あるいは追加等、ドキュメント構成の編集後に、編集をマージ前の元のドキュメントにも反映することができる。これによって、ドキュメント更新の労力を軽減することができ、効率的に文書管理が可能となる。
【０１０８】
また上記実施形態では、外部の元ドキュメントを編集対象のドキュメントに挿入する場合を説明したが、選択した章やページ等の要素ドキュメントを、外部ドキュメントで置換することもできる。この場合には、置換対象の要素ドキュメントの位置に外部ドキュメントを挿入し、置換対象の要素ドキュメントを削除する。参照情報については上記実施例と同様に、編集後のドキュメントに保持される。
【０１０９】
なお本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラム自体が前述した実施形態の機能を実現することになり、そのプログラム自体およびプログラムを記憶した記憶媒体は本発明を構成することになる。
【０１１０】
また、本発明には、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１１１】
【図１】ドキュメント処理システムの全体構成を示すブロック図である。
【図２】本実施形態におけるアプリケーションプログラムのソフトウェア構成の例を説明する為の図である。
【図３】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図４】本実施形態において扱う構造化ドキュメントの．ｒｅｌｓファイル３０３の一例を説明する図である。
【図５】本実施形態において扱う構造化ドキュメントのＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑファイル３０５の一例を説明する図である。
【図６】本実施形態において扱う構造化ドキュメントのＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｒｅｌｓファイル３０４の一例を説明する図である。
【図７】本実施形態において扱う構造化ドキュメントのＪｏｂ＿ＰＴ．ｘｍｌファイル３０７の一例を説明する図である。
【図８】本実施形態において扱う構造化ドキュメントのＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃファイル３１６の一例を説明する図である。
【図９】本実施形態において扱う構造化ドキュメントのＤｏｃｕｍｅｎｔ１．ｒｅｌｓファイル３１０の一例を説明する図である。
【図１０】本実施形態において扱う構造化ドキュメントのＤｏｃｕｍｅｎｔ１＿ＰＴ．ｘｍｌ３１３の一例を説明する図である。
【図１１】本実施形態において扱う構造化ドキュメントのＰａｇｅ１．ｆｐａｇｅ３２２の一例を説明する図である。
【図１２】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図１３】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図１４】本実施形態におけるアプリケーションプログラムのＵＩの一例を説明する為の図である。
【図１５】構造化ドキュメント３００に外部ドキュメント１６００の挿入を指定したＵＩの一例を説明する為の図である。
【図１６】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図１７】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図１８】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図１９】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図２０】本実施形態において扱う構造化ドキュメントのｘｘｘ＿ＰＴ．ｘｍｌ３９１６の一例を説明する図である。
【図２１】本実施形態におけるアプリケーションプログラムのＵＩの一例を説明する為の図である。
【図２２】本実施形態におけるアプリケーションプログラムのＵＩの一例を説明する為の図である。
【図２３】本実施形態におけるアプリケーションプログラムのＵＩの一例を説明する為の図である。
【図２４】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図２５】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図２６】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図２７】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図２８】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図２９】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図３０】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図３１】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図３２】本実施形態におけるアプリケーションプログラムのＵＩの一例を説明する為の図である。
【図３３】本実施形態におけるアプリケーションプログラムのＵＩの一例を説明する為の図である。
【図３４】本実施形態におけるアプリケーションプログラムのＵＩの一例を説明する為の図である。
【図３５】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図３６】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図３７】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図３８】本実施形態において扱う構造化ドキュメントの一例を説明する図である。
【図３９】本実施形態において扱う構造化ドキュメント３００に外部ドキュメント１６００の参照情報を保存した一例を説明する図である。
【図４０】更新されたＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑファイル３０５’を説明する図である。
【図４１】本実施形態において扱う構造化ドキュメントの概念を説明する図である。
【図４２】本実施形態において扱う構造化ドキュメントの概念を説明する図である。
【図４３】本実施形態において扱う構造化ドキュメントの概念を説明する図である。
【図４４】本実施形態において扱う構造化ドキュメントの概念を説明する図である。
【図４５】本実施形態において扱う構造化ドキュメントの概念を説明する図である。
【図４６】本実施形態において扱う構造化ドキュメントの概念を説明する図である。
【図４７】本実施形態におけるアプリケーションプログラムの処理フローを説明する図である。
【図４８】本実施形態におけるアプリケーションプログラムの動作の概念を説明する図である。
【図４９】本実施形態における外部ドキュメントへの参照情報の設定を説明する図である。
【図５０】本実施形態におけるアプリケーションプログラムの処理フローを説明する図である。
【図５１】本実施形態におけるアプリケーションプログラムの処理フローを説明する図である。
【図５２】本実施形態において扱う構造化ドキュメントの概念を説明する図である。
【図５３】本実施形態において扱う構造化ドキュメントの概念を説明する図である。
【図５４】本実施形態におけるアプリケーションプログラムのＵＩの一例を説明する為の図である。
【図５５】本実施形態におけるアプリケーションプログラムの処理フローを説明する図である。
【図５６】本実施形態におけるマージ後ドキュメントへの編集操作を外部ドキュメントへ反映する処理フローを説明する図である。
【図１】
0005455321.tif 000002
【図２】
0005455321.tif 000003
【図３】
0005455321.tif 000004
【図４】
0005455321.tif 000005
【図５】
0005455321.tif 000006
【図６】
0005455321.tif 000007
【図７】
0005455321.tif 000008
【図８】
0005455321.tif 000009
【図９】
0005455321.tif 000010
【図１０】
0005455321.tif 000011
【図１１】
0005455321.tif 000012
【図１２】
0005455321.tif 000013
【図１３】
0005455321.tif 000014
【図１４】
0005455321.tif 000015
【図１５】
0005455321.tif 000016
【図１６】
0005455321.tif 000017
【図１７】
0005455321.tif 000018
【図１８】
0005455321.tif 000019
【図１９】
0005455321.tif 000020
【図２０】
0005455321.tif 000021
【図２１】
0005455321.tif 000022
【図２２】
0005455321.tif 000023
【図２３】
0005455321.tif 000024
【図２４】
0005455321.tif 000025
【図２５】
0005455321.tif 000026
【図２６】
0005455321.tif 000027
【図２７】
0005455321.tif 000028
【図２８】
0005455321.tif 000029
【図２９】
0005455321.tif 000030
【図３０】
0005455321.tif 000031
【図３１】
0005455321.tif 000032
【図３２】
0005455321.tif 000033
【図３３】
0005455321.tif 000034
【図３４】
0005455321.tif 000035
【図３５】
0005455321.tif 000036
【図３６】
0005455321.tif 000037
【図３７】
0005455321.tif 000038
【図３８】
0005455321.tif 000039
【図３９】
0005455321.tif 000040
【図４０】
0005455321.tif 000041
【図４１】
0005455321.tif 000042
【図４２】
0005455321.tif 000043
【図４３】
0005455321.tif 000044
【図４４】
0005455321.tif 000045
【図４５】
0005455321.tif 000046
【図４６】
0005455321.tif 000047
【図４７】
0005455321.tif 000048
【図４８】
0005455321.tif 000049
【図４９】
0005455321.tif 000050
【図５０】
0005455321.tif 000051
【図５１】
0005455321.tif 000052
【図５２】
0005455321.tif 000053
【図５３】
0005455321.tif 000054
【図５４】
0005455321.tif 000055
【図５５】
0005455321.tif 000056
【図５６】
0005455321.tif 000057