(57)【要約】【課題】構造化文書を受け取って処理するのに必要となるメモリ容量の低減と処理時間の短縮とを図る。【解決手段】コンピュータ１１内のＸＭＬ文書読み取り部１１２ａは、記憶装置１１１に格納されているＸＭＬ文書１１４のデータを先頭から順に読み取る（Ｓ１）。ＸＭＬ文書分割部１１２ｂは、ＸＭＬ文書１１４の読み取りと並行して動作し、読み取られたＸＭＬ文書１１４のデータを順に処理することにより、当該ＸＭＬ文書１１４を、ＸＭＬとしての構造を持つ新たなＸＭＬ文書１１４−ｉ（ｉ＝１，２…）に分割・整形する（Ｓ２）。ＸＭＬ文書送信部１１２ｃは、１つのＸＭＬ文書１１４−ｉが分割・整形される都度、当該ＸＭＬ文書１１４−ｉをコンピュータ１２に転送する（Ｓ３）。転送されたＸＭＬ文書１１４−ｉは、次のＸＭＬ文書を待たずにアプリケーション１２２により処理される（Ｓ４，Ｓ５）。【選択図】    図２
2004287978.tif 000002
【特許請求の範囲】
【請求項１】
タグを用いて論理的に木構造で表現される入れ子構造を持つ構造化文書をコンピュータにより分割する構造化文書の分割方法であって、
分割の対象となる構造化文書のデータを先頭から順にバッファに読み込むステップと、
前記バッファに読み込まれたデータを順に処理することにより、前記分割の対象となる構造化文書を複数の新たな構造化文書に分割・整形するステップと、
前記分割の対象となる構造化文書から前記新たな構造化文書が分割・整形される都度、当該新たな構造化文書を文書処理手段に渡すステップと
を具備することを特徴とする構造化文書の分割方法。
【請求項２】
前記分割・整形ステップは、前記読み込まれたデータが開始タグの場合、当該開始タグに対応する終了タグを前記バッファ上で強制的に挿入するステップと、前記構造化文書からのデータの読み込みの途中のために構造が特定できない部分に対応し、構造化文書の分割の途中地点であることを示す区切りタグを前記バッファ上で挿入するステップとを含み、
前記読み込まれた開始タグ、前記区切りタグ及び前記開始タグに対応する挿入された終了タグを含む新たな構造化文書が前記バッファ上に生成される都度、当該新たな構造化文書を前記文書処理手段に渡す
ことを特徴とする請求項１記載の構造化文書の分割方法。
【請求項３】
前記区切りタグを挿入するステップでは、前記バッファに開始タグが格納されていない状態で当該バッファに開始タグが読み込まれた場合、前記区切りタグが当該開始タグの後に挿入され、
前記終了タグを挿入するステップでは、前記開始タグの後に挿入された区切りタグの後に、当該開始タグに対応する終了タグが挿入されることを特徴とする請求項２記載の構造化文書の分割方法。
【請求項４】
前記分割・整形ステップは、前記区切りタグが挿入された後に新たに開始タグが前記バッファに読み込まれた場合、当該新たに読み込まれた開始タグを前記バッファ上で前記区切りタグの前に移動するステップを含み、
前記終了タグを挿入するステップでは、前記新たに読み込まれた開始タグに対応する終了タグが前記区切りタグの後に挿入される
ことを特徴とする請求項３記載の構造化文書の分割方法。
【請求項５】
前記分割・整形ステップは、前記読み込まれたデータがテキストの場合に、当該テキストを前記バッファ上で前記区切りタグの前に移動するステップを含むことを特徴とする請求項４記載の構造化文書の分割方法。
【請求項６】
前記分割・整形ステップは、読み込まれたデータが終了タグで、且つ当該終了タグと同一の終了タグが強制的に挿入された構造化文書が既に前記文書処理手段に渡されている場合、前記読み込まれた終了タグを、終了タグが存在することを前記文書処理手段に通知するためのダミー終了タグに置き換えるステップを含むことを特徴とする請求項５記載の構造化文書の分割方法。
【請求項７】
前記分割・整形ステップは、前記文書処理手段に渡される構造化文書の少なくともテキストを含むデータのサイズが予め定められた分割単位を超えないように管理するステップを含むことを特徴とする請求項６記載の構造化文書の分割方法。
【請求項８】
前記管理ステップは、
前記読み込まれたデータがテキストで、且つ前記バッファに格納されている当該テキストを含む未処理のデータが前記分割単位を超えている場合、当該テキスト中の前記分割単位を超えない範囲のテキスト部分を前記バッファに残して当該テキスト部分を前記区切りタグの前に移動することにより、前記バッファ上に新たな構造化文書を生成するステップと、
前記バッファ上に生成された前記新たな構造化文書が前記文書処理手段に渡された場合、前記読み込まれたテキスト中の残りのテキスト部分を前記バッファに格納し、且つ当該残りのテキスト部分を、テキスト分割の印であるテキスト分割開始タグ及びテキスト分割終了タグで囲むステップと
を含むことを特徴とする請求項７記載の構造化文書の分割方法。
【請求項９】
タグを用いて論理的に木構造で表現される入れ子構造を持つ構造化文書をコンピュータにより分割するためのプログラムであって、
前記コンピュータに、
分割の対象となる構造化文書のデータを先頭から順にバッファに読み込むステップと、
前記バッファに読み込まれたデータを順に処理することにより、前記分割の対象となる構造化文書を複数の新たな構造化文書に分割・整形するステップと、
前記分割の対象となる構造化文書から前記新たな構造化文書が分割・整形される都度、当該新たな構造化文書を文書処理手段に渡すステップと
を実行させるためのプログラム。
【請求項１０】
前記分割・整形ステップは、前記読み込まれたデータが開始タグの場合、当該開始タグに対応する終了タグを前記バッファ上で強制的に挿入するステップと、前記構造化文書からのデータの読み込みの途中のために構造が特定できない部分に対応し、構造化文書の分割の途中地点であることを示す区切りタグを前記バッファ上で挿入するステップとを含み、
前記読み込まれた開始タグ、前記区切りタグ及び前記開始タグに対応する挿入された終了タグを含む新たな構造化文書が前記バッファ上に生成される都度、前記新たな構造化文書を前記文書処理手段に渡すステップが前記コンピュータにより実行される
ことを特徴とする請求項９記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、タグを用いて論理的に木構造で表現される入れ子構造を持つ構造化文書を処理するのに好適な、構造化文書の分割方法及びプログラムに関する。
【０００２】
【従来の技術】
現在、あらゆるデータを記述する手段として、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）が広く利用されている。このＸＭＬを用いて記述された文書（データ）はＸＭＬ文書（ＸＭＬデータ）と呼ばれる。ＸＭＬ文書は、タグを用いて論理的に木構造で表現される構造化文書として知られており、以下のような特徴を持つ。第１の特徴は、ＸＭＬ文書が階層構造で表現され、無制限の入れ子構造を許す点にある。第２の特徴は、ＸＭＬ文書が繰り返し構造を持ち、無制限の不定繰り返しを許す点にある（例えば、非特許文献１参照）。
【０００３】
ＸＭＬ文書は、その記述形式から、インターネット上でのデータ可搬性に優れている。このためＸＭＬ文書は、特に異なるアプリケーション間或いは異なるシステム間のデータ交換に広く利用されるようになってきている。ＸＭＬ文書はインターネット上のＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）プロトコル、或いはＨＴＴＰプロトコル上のＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）プロトコルに従って転送されることが多い。このプロトコルでは、ＸＭＬ文書を構成するデータ（ＸＭＬデータ）は、単純に当該データが読み込まれた順番に転送される。
【０００４】
転送されたＸＭＬ文書はアプリケーションにより処理される。現在ＸＭＬを処理する技術として以下の２種類が広く使われている。第１はＳＡＸ（Ｓｉｍｐｌｅ  ＡＰＩ  ｆｏｒ  ＸＭＬ）と呼ばれる技術である。ＳＡＸでは、ＸＭＬ文書が逐次的に処理されるため、階層構造を扱えない。但し、ＳＡＸでは、必要とするメモリ容量が少なくて済む。第２はＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）と呼ばれる技術である。ＤＯＭでは、ＸＭＬ文書全体の要素を解析してから処理されるため、階層構造を扱いやすい。しかし、必要とするメモリ容量が大きい
【０００５】
【非特許文献１】
中山幹敏、奥井康弘著，「改訂版  標準ＸＭＬ  完全解説（上）／（下）」，初版，技術評論社，平成１３年４月２５日
【０００６】
【発明が解決しようとする課題】
上記したように従来技術においては、ＸＭＬ文書（タグを用いて論理的に木構造で表現される構造化文書）を構成するデータは、単純に当該データが読み込まれた順番に転送される。つまり従来技術においては、ＸＭＬ文書を転送するのに、当該ＸＭＬ文書をＸＭＬ構造として分割する手段を有していない。このため、例えばアプリケーションに転送されたＸＭＬ文書を、当該アプリケーションが上記ＤＯＭ技術或いはＳＡＸ技術を利用して処理するには、まずＸＭＬ文書全体の転送が完了している必要がある。したがって、ＸＭＬ文書をアプリケーションに転送して処理を行う場合、当該ＸＭＬ文書の転送が完了するまでアプリケーション側での処理が待たされ、処理の開始が遅れる。つまり従来技術にあっては、ＸＭＬ文書の転送開始から転送されたＸＭＬ文書を処理し終えるまでの全体の処理時間が長くなるという問題がある。また従来技術にあっては、ＸＭＬ文書全体を読み込んでから当該文書が処理されるため、必要となるメモリ容量が増加するという問題もある。
【０００７】
本発明は上記事情を考慮してなされたものでその目的は、入れ子構造を持つ構造化文書を分割して、入れ子構造を持つ複数の構造化文書に整形することにより、構造化文書を受け取って処理するのに必要となるメモリ容量を少なくすると共に処理時間を短縮できる、構造化文書の分割方法及びプログラムを提供することにある。
【０００８】
【課題を解決するための手段】
本発明の１つの観点によれば、タグを用いて論理的に木構造で表現される入れ子構造を持つ構造化文書をコンピュータにより分割する構造化文書の分割方法が提供される。この方法は、分割の対象となる構造化文書のデータを先頭から順にバッファに読み込むステップと、上記バッファに読み込まれたデータを順に処理することにより、上記分割の対象となる構造化文書（原構造化文書）を複数の新たな構造化文書に分割・整形するステップと、原構造化文書から新たな構造化文書が分割・整形される都度、当該新たな構造化文書を文書処理手段に渡すステップとを備えている。
【０００９】
このような構成においては、原構造化文書の分割された文書部分が、構造化された新たな構造化文書に整形されるため、入れ子構造を持つ構造化文書としての特徴を保持している。このため、構造化文書を処理する処理手段は、長大な構造化文書を扱うに当たって、従来技術とは異なって、全体を受け取るまで待たなくても、分割・整形された新たな構造化文書が生成される毎に、その新たな構造化文書を受け取って処理することができる。その結果、構造化文書を処理するのに必要とされるメモリ容量の減少、処理手段を利用する利用者への応答性能向上を図ることができる。
【００１０】
ここで、原構造化文書から新たな構造化文書を分割・整形するのに、上記分割・整形ステップに、以下のステップ、即ち、読み込まれたデータが開始タグの場合に、当該開始タグに対応する終了タグをバッファ上で強制的に挿入するステップと、原構造化文書からのデータの読み込みの途中のために構造が特定できない部分に対応し、構造化文書の分割の途中地点であることを示す区切りタグを上記バッファ上で挿入するステップとを含めるとよい。この区切りタグを含む新たな構造化文書を処理手段が処理する場合、当該区切りタグを検出するまでは当該新たな構造化文書の先頭から処理を行い、当該区切りタグを検出した段階で処理を中断して、次の新たな構造化文書を受け取った際に、上記区切りタグを当該次の新たな構造化文書に置き換えて処理を再開すればよい。
【００１１】
ここで、上記区切りタグを挿入するステップでは、バッファに開始タグが格納されていない状態で当該バッファに開始タグが読み込まれた場合、上記区切りタグが当該開始タグの後に挿入され、上記終了タグを挿入するステップでは、開始タグの後に挿入された区切りタグの後に、当該開始タグに対応する終了タグが挿入される構成とするとよい。
【００１２】
また、原構造化文書から新たな構造化文書を分割・整形するために、区切りタグが挿入された後に新たに開始タグがバッファに読み込まれた場合には、当該新たに読み込まれた開始タグをバッファ上で上記区切りタグの前に移動し、この区切りタグの後に上記新たに読み込まれた開始タグに対応する終了タグを挿入するとよい。同様に原構造化文書から新たな構造化文書を分割・整形するために、テキストが読み込まれた場合には、当該テキストをバッファ上で区切りタグの前に移動するとよい。同様に、読み込まれたデータが終了タグで、且つ当該終了タグと同一の終了タグが強制的に挿入された構造化文書が既に処理手段に渡されている場合には、読み込まれた終了タグを、終了タグが存在することを処理手段に通知するためのダミー終了タグに置き換えるとよい。このダミー終了タグを含む構造化文書で区切りタグが置き換えられた構造化文書を処理手段が処理する場合、そのダミー終了タグを削除し、その位置に、当該ダミー終了タグの数に一致する数の、当該区切りタグが置き換えられた構造化文書の最後尾側の終了タグを移動すればよい。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。図１は本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図である。図１のシステムは、物理的に異なる２つのコンピュータ１１及び１２と、当該コンピュータ１１及び１２を接続するネットワーク通信路１３とから構成される。
【００１４】
コンピュータ１１は、磁気ディスク装置に代表される記憶装置１１１と当該コンピュータ１１上で動作するＸＭＬ文書分割送信装置１１２と文書バッファ１１３とを備えている。記憶装置１１１には、ＸＭＬ文書（ＸＭＬドキュメント）１１４が格納されている。ＸＭＬ文書１１４は、タグを用いて論理的に木構造で表現される入れ子構造を持つ構造化文書である。つまりＸＭＬ文書１１４は、タグにより構造化された性質を持つ構造化文書である。記憶装置１１１にはまた、コンピュータ１１内のＣＰＵ（図示せず）によって実行されるプログラム（構造化文書の分割送信用プログラム）１１５が格納されている。
【００１５】
ＸＭＬ文書分割送信装置１１２は、コンピュータ１１内のＣＰＵがプログラム１１５を実行することにより実現される機能ブロックである。ＸＭＬ文書分割送信装置１１２は、ＸＭＬ文書読み取り部１１２ａと、ＸＭＬ文書分割部１１２ｂと、ＸＭＬ文書送信部１１２ｃとを有する。ＸＭＬ文書読み取り部１１２ａは、記憶装置１１１に格納されているＸＭＬ文書１１４をコンピュータ１２に転送する必要がある場合、当該ＸＭＬ文書１１４のデータを先頭から順に読み取る機能を有する。ＸＭＬ文書分割部１１２ｂは、ＸＭＬ文書読み取り部１１２ａによるＸＭＬ文書１１４の読み取りと並行して、当該ＸＭＬ文書読み取り部１１２ａにより読み取られたＸＭＬ文書１１４を順次分割する機能を有する。ＸＭＬ文書分割部１１２ｂはまた、分割されたＸＭＬ文書１１４の部分を、ＸＭＬとしての構造を持つ１つの新たなＸＭＬ文書に整形する機能を有する。ＸＭＬ文書送信部１１２ｃは、ＸＭＬ文書分割部１１２ｂにより分割されてＸＭＬ文書に整形される毎に、そのＸＭＬ文書をネットワーク通信路１３を介してコンピュータ１２に送信する機能を有する。文書バッファ１１３は、ＸＭＬ文書読み取り部１１２ａ、ＸＭＬ文書分割部１１２ｂ及びＸＭＬ文書送信部１１２ｃにより処理されるデータを一時格納するのに用いられる。
【００１６】
コンピュータ１２は、受信装置１２１と、アプリケーション（アプリケーションプログラム）１２２とを備えている。受信装置１２１は、コンピュータ１１からネットワーク通信路１３経由で送信されたＸＭＬ文書を受信するＸＭＬ文書受信部１２１ａと、当該ＸＭＬ文書受信部１２１ａにより受信されたＸＭＬ文書をアプリケーション１２２に渡すアプリケーションプログラムインタフェース（以下、ＡＰＩと称する）１２１ｂとを有する。アプリケーション１２２は、ＡＰＩ１２１ｂから渡されたＸＭＬ文書を処理するための処理ルーチンを含む。
【００１７】
次に、図１のシステムにおいて、コンピュータ１１側でＸＭＬ文書を分割・整形してコンピュータ１２に転送し、その分割・整形されたＸＭＬ文書をコンピュータ１２側で処理する動作の概要について、図２の動作説明図を参照して説明する。
【００１８】
コンピュータ１１において、ＸＭＬ文書分割送信装置１１２内のＸＭＬ文書読み取り部１１２ａは、記憶装置１１１にアクセスして、コンピュータ１２に転送すべきＸＭＬ文書１１４のデータを先頭から順に読み取る（ステップＳ１）。ＸＭＬ文書分割送信装置１１２内のＸＭＬ文書分割部１１２ｂは、ＸＭＬ文書読み取り部１１２ａによるＸＭＬ文書１１４の読み取りと並行して動作する。そしてＸＭＬ文書分割部１１２ｂは、ＸＭＬ文書読み取り部１１２ａにより読み取られたＸＭＬ文書１１４のデータを順に処理することにより、当該ＸＭＬ文書１１４を、ＸＭＬとしての構造を持つ複数の新たなＸＭＬ文書１１４−ｉ（ｉ＝１，２…）に分割・整形する（ステップＳ２）。このＸＭＬ文書分割部１１２ｂによる分割・整形処理は文書バッファ１１３上で行われる。ＸＭＬ文書分割送信装置１１２内のＸＭＬ文書送信部１１２ｃは、ＸＭＬ文書１１４から１つのＸＭＬ文書１１４−ｉが分割・整形される都度、当該ＸＭＬ文書１１４−ｉをネットワーク通信路１３経由でコンピュータ１２に転送（送信）する（ステップＳ３）。このようにしてコンピュータ１１からコンピュータ１２へは、ＸＭＬ文書１１４に対応する複数のＸＭＬ文書１１４−ｉが順次転送される。
【００１９】
コンピュータ１１のＸＭＬ文書送信部１１２ｃからネットワーク通信路１３経由で転送されたＸＭＬ文書１１４−ｉは、コンピュータ１２のＸＭＬ文書受信部１２１ａで受信される。ＸＭＬ文書受信部１２１ａで受信されたＸＭＬ文書１１４−ｉはＡＰＩ１２１ｂによりアプリケーション１２２に渡される（ステップＳ４，Ｓ５）。アプリケーション１２２は、ＡＰＩ１２１ｂから渡されたＸＭＬ文書１１４−ｉがＸＭＬとしての構造を持っていることから、本来処理すべきＸＭＬ文書１１４−ｉの全体が転送完了するのを待つことなく、且つＸＭＬ構造の利点を備えたままで当該ＸＭＬ文書１１４−ｉを処理（利用）する。但し、アプリケーション１２２でＸＭＬ文書１１４−ｉを処理するには、当該ＸＭＬ文書１１４−ｉが、元のＸＭＬ文書（原ＸＭＬ文書）１１４を後述する手順で分割・整形することにより取得されたものであることを、当該アプリケーション１２２が認識する必要がある。
【００２０】
最近、ＸＭＬ構造を用いて各種データを保存するシステムの利用の広がりが目覚しい。そこで今後を展望すると、ＸＭＬ文書のデータ構造の複雑さ或いはサイズは増大していくことが想定される。また、利用されるコンピュータ機器も大規模なものからコンパクトでメモリ等の資源の少ないものまで幅広くなることが考えられる。そのため、データ構造の複雑さ或いはサイズの増大したＸＭＬ文書を対象にその構造を生かした処理を行おうとする場合、必要となるメモリ容量が増大する可能性がある。したがって本実施形態で適用される、ＸＭＬ文書を分割・整形し、複数の小規模のＸＭＬ文書として順次アプリケーション１２２側に渡す構成は、近い将来考えられるサイズの大きいＸＭＬ文書をメモリ等資源の少ないコンピュータ機器で処理する利用形態に最適である。
【００２１】
次に、コンピュータ１１側でＸＭＬ文書を分割・整形してコンピュータ１２に転送し、その分割・整形されたＸＭＬ文書をコンピュータ１２側で処理する動作の詳細について、（１）ＸＭＬ文書の特徴、（２）ＸＭＬ文書の分割・整形・送信、（３）ＸＭＬ文書の処理の順で説明する。
【００２２】
（１）ＸＭＬ文書の特徴
従来技術でも述べたように、ＸＭＬ文書は、ＸＭＬ文書が階層構造で表現され、無制限の入れ子構造を許す点と、ＸＭＬ文書が繰り返し構造を持ち、無制限の不定繰り返しを許す点とに特徴がある。このＸＭＬ文書の階層構造は、＜ＴＡＧ＞及び＜／ＴＡＧ＞に代表される、いわゆる開始タグ及び終了タグを用いて記述される。ここで、ＸＭＬ文書中の一部の開始タグと終了タグとで囲われた範囲は、ＸＭＬ文書全体に対する部分ではあるが、この部分もまたＸＭＬとしての構造を持つことに着目する。
【００２３】
図３は、この「ＸＭＬ文書の一部もＸＭＬ文書としての構造を持つ」ことの一例を示す。図３において、ＸＭＬ文書１１４の開始タグ＜ｔｉｔｌｅ＞から終了タグ＜／ｔｉｔｌｅ＞までの部分３０１はＸＭＬ文書としての構造を持ち、したがってＸＭＬ文書といえる。同様に、開始タグ＜ａｂｓｔｒａｃｔ＞から終了タグ＜／ａｂｓｔｒａｃｔ＞までの部分３０２も、ＸＭＬ文書といえる。
【００２４】
またＸＭＬ文書では、開始タグ＜ＴＡＧ＞が当該文書の中に現れた際には、必ずいずれは終了タグ＜／ＴＡＧ＞が現れることが保証される。図２のＸＭＬ文書１１４の例では、まず開始タグ＜ｄｏｃｕｍｅｎｔ＞が現れる。この＜ｄｏｃｕｍｅｎｔ＞が読み込まれた時点ではいつ終了タグ＜／ｄｏｃｕｍｅｎｔ＞が現れるかは分からないが、最終的には当該＜／ｄｏｃｕｍｅｎｔ＞が必ず現れることは分かる。
【００２５】
（２）ＸＭＬ文書の分割・整形・送信
次に、ＸＭＬ文書の分割・整形・送信の手順、即ち上述したＸＭＬ文書の特徴を利用して、当該ＸＭＬ文書を複数の新たなＸＭＬ文書に分割・整形し、その新たなＸＭＬ文書を送信する手順について説明する。ここで、分割・整形されたＸＭＬ文書の送信を分割送信と呼ぶ。
【００２６】
まず、上記手順の概要について述べる。本実施形態において、記憶装置１１１に格納されているＸＭＬ文書１１４のデータは、ＸＭＬ文書読み取り部１１２ａにより先頭から順に読み取られる。この読み取りと並行して、読み取られたＸＭＬ文書１１４のデータがＸＭＬ文書分割部１１２ｂにより順次処理される。このＸＭＬ文書分割部１１２ｂの処理の特徴は、次の通りである。
【００２７】
（２ａ）ＸＭＬ文書（原ＸＭＬ文書）を分割する単位（分割単位）が初期設定される。
（２ｂ）開始タグが現れた時点で終了タグが強制的に挿入される。
（２ｃ）“分割途中地点”であることを示す区切りタグ＜ｘ／＞が定義され、読み込みが完了していない状態では、構造がわからない部分が区切りタグ＜ｘ／＞で置き換えられる。
（２ｄ）ＸＭＬ文書の分割は分割単位（ここでは文字数であり、例えば６４文字）を上限に行われる。本実施形態において、分割単位にカウントされる文字は、開始タグを構成する文字とテキストを構成する文字のみである。また、タグの途中での分割は禁止される。これに対し、テキストの途中での分割は許される。但し、テキスト途中で分割した場合に、次に分割送信される残りのテキスト部分がテキスト分割の印であるテキスト分割開始タグ＜ｙ＞及びテキスト分割終了タグ＜／ｙ＞で囲まれるようにする。これにより、テキスト途中で分割しても、ＸＭＬ整形式のＸＭＬ文書に整形でき、タグ以外で始まる文書、つまりＸＭＬ整形式でない文書が分割送信されるのを防止できる。
（２ｅ）開始タグが現れた時点で終了タグが強制的に挿入されて分割送信されると、その終了タグが本来含まれているＸＭＬ文書の部分は、ＸＭＬの整形式でなくなってしまう。そこで、「終了タグ」が実際に現れた際に、「終了タグ」が存在することを意味するダミー終了タグ＜ｚ／＞を適用することで、分割送信において「本来の終了タグが現れた」ことが受信側に通知されるようにする。
次に、ＸＭＬ文書の分割・整形・送信の手順の詳細について、図３に示すＸＭＬ文書１１４を分割して送信する場合を例に、図４乃至図７のフローチャート並びに図８乃至図１０のＸＭＬ文書分割・整形状態遷移図を参照して説明する。
【００２８】
まず、コンピュータ１１内のＸＭＬ文書分割部１１２ｂはＸＭＬ文書の分割・整形のための初期設定を行う（ステップＳ１）。ここでは、ＸＭＬ文書の分割単位＝６４文字、区切りタグ＝＜ｘ／＞、テキスト分割開始タグ＝＜ｙ＞、テキスト分割終了タグ＝＜／ｙ＞、及びダミー終了タグ＝＜ｚ／＞が初期設定される。また２種のフラグＦ１及びＦ２が、例えばＦ１＝０，Ｆ２＝１に初期設定される。フラグＦ１はＦ１＝１のとき、分割されたテキストの残りの部分を処理すべきことを示す。フラグＦ２はＦ２＝１のとき、次に現れる開始タグは新たなＸＭＬ文書の先頭の開始タグとなることを示す。
【００２９】
以上の初期化処理が行われると、コンピュータ１１内のＸＭＬ文書読み取り部１１２ａは、ＸＭＬ文書（原ＸＭＬ文書）１１４のデータを、先頭から順に最後まで、タグについてはタグ単位に、テキストについてはテキスト単位に読み込む（ステップＳ１２〜Ｓ１４）。ＸＭＬ文書読み取り部１１２ａにより読み込まれたデータは、読み込まれた順番に文書バッファ１１３に格納される。図３のＸＭＬ文書１１４の例では、まず、先頭の開始タグ＜ｄｏｃｕｍｅｎｔ  ｉｄ＝”ｄｏｃ０１”＞が読み込まれて文書バッファ１１３に格納される。つまり、開始タグ＜ｄｏｃｕｍｅｎｔ  ｉｄ＝”ｄｏｃ０１”＞が文書バッファ１１３に読み込まれる。この例のように、開始タグが文書バッファ１１３に読み込まれ、且つフラグＦ２が１の場合（ステップＳ１５，Ｓ１６）、コンピュータ１１内のＸＭＬ文書分割部１１２ｂは、文書バッファ１１３内の当該読み込まれた開始フラグ（即ち＜ｄｏｃｕｍｅｎｔ  ｉｄ＝”ｄｏｃ０１”＞）の後に、図８（ａ）に示すように区切りタグ＜ｘ／＞を挿入する（ステップＳ１７）。次にＸＭＬ文書分割部１１２ｂは、図８（ｂ）に示すように、文書バッファ１１３に格納されている区切りタグ＜ｘ／＞の後に、開始タグ＜ｄｏｃｕｍｅｎｔ  ｉｄ＝”ｄｏｃ０１”＞に対応する終了タグ＜／ｄｏｃｕｍｅｎｔ＞を強制的に挿入する（ステップＳ１８）。そしてＸＭＬ文書分割部１１２ｂは、この例のようにフラグＦ２が１の場合、当該フラグＦ２を０にした後（ステップＳ１９，Ｓ２０）、ＸＭＬ文書読み取り部１１２ａに制御を渡す。
【００３０】
するとＸＭＬ文書読み取り部１１２ａは、フラグＦ１が１であるかを判定する（ステップＳ１２）。この例のようにＦ１＝１でない場合、ＸＭＬ文書読み取り部１１２ａはＸＭＬ文書１１４の最後まで読み取りが行われたか（つまりＸＭＬ文書１１４の全データを処理し終えたか）を判定する（ステップＳ１３）。この例では、ＸＭＬ文書１１４の最後までは読み取りが行われていない。この場合、ＸＭＬ文書読み取り部１１２ａはＸＭＬ文書１１４中の次のデータ（タグまたはテキスト）を文書バッファ１１３に読み込む（ステップＳ１４）。ここでは、開始タグ＜ｄｏｃｕｍｅｎｔ  ｉｄ＝”ｄｏｃ０１”＞の次の開始タグ＜ｔｉｔｌｅ＞が文書バッファ１１３に読み込まれる。
【００３１】
このように開始タグが読み込まれ、且つフラグＦ２が０の場合（ステップＳ１５，Ｓ１６）、ＸＭＬ文書分割部１１２ｂは、その際に文書バッファ１１３に格納されている、当該開始タグを含む未送信のデータ（但し、強制的に挿入されるタグを除く）が分割単位（６４文字）を超えているかを判定する（ステップＳ２１）。この例のように分割単位を超えていない場合、ＸＭＬ文書分割部１１２ｂは、文書バッファ１１３に読み込まれた開始タグ＜ｔｉｔｌｅ＞を、図８（ｃ）に示すように区切りタグ＜ｘ／＞の前に移動する（ステップＳ２２）。
【００３２】
次にＸＭＬ文書分割部１１２ｂは、図８（ｄ）に示すように、区切りタグ＜ｘ／＞の後に、開始タグ＜ｔｉｔｌｅ＞に対応する終了タグ＜／ｔｉｔｌｅ＞を強制的に挿入する（ステップＳ１８）。そしてＸＭＬ文書分割部１１２ｂは、この例のようにフラグＦ２が０の場合、そのままＸＭＬ文書読み取り部１１２ａに制御を渡す。
【００３３】
これを受けてＸＭＬ文書読み取り部１１２ａは、ＸＭＬ文書１１４中の次のデータ、即ちテキスト「Ｓａｍｐｌｅ  Ｄｏｃｕｍｅｎｔ」を文書バッファ１１３に読み込む（ステップＳ１２〜Ｓ１４）。このようにテキストが読み込まれた場合（ステップＳ１５）、ＸＭＬ文書分割部１１２ｂは、その際に文書バッファ１１３に格納されている、当該テキストを含む未送信のデータが分割単位を超えているかを判定する（ステップＳ２３）。この例のように、分割単位を超えていない場合、ＸＭＬ文書分割部１１２ｂは、文書バッファ１１３に読み込まれたテキスト「Ｓａｍｐｌｅ  Ｄｏｃｕｍｅｎｔ」を、図８（ｅ）に示すように区切りタグ＜ｘ／＞の前に移動する（ステップＳ２４）。そしてＸＭＬ文書分割部１１２ｂは、ＸＭＬ文書読み取り部１１２ａに制御を渡す。
【００３４】
するとＸＭＬ文書読み取り部１１２ａは、ＸＭＬ文書１１４中の次のデータ、即ち終了タグ＜／ｔｉｔｌｅ＞を文書バッファ１１３に読み込む（ステップＳ１２〜Ｓ１４）。このように終了タグが文書バッファ１１３に読み込まれた場合（ステップＳ１５）、ＸＭＬ文書分割部１１２ｂは、当該終了タグが既に強制的に挿入されて送信済みであるかを判定する（ステップＳ２５）。この例のように、終了タグ＜／ｔｉｔｌｅ＞が送信済みでない場合、即ち今回読み込まれた終了タグ＜／ｔｉｔｌｅ＞とは別の、強制的に挿入された終了タグ＜／ｔｉｔｌｅ＞が文書バッファ１１３内に存在する場合、ＸＭＬ文書分割部１１２ｂは今回読み込まれた終了タグ＜／ｔｉｔｌｅ＞を削除すると共に、図８（ｆ）に示すように、区切りタグ＜ｘ／＞を既に強制的に挿入されている終了タグ＜／ｔｉｔｌｅ＞の後に移動する（ステップＳ２６）。そしてＸＭＬ文書分割部１１２ｂは、ＸＭＬ文書読み取り部１１２ａに制御を渡す。
【００３５】
以下、同様にして、ＸＭＬ文書読み取り部１１２ａにより、開始タグ＜ａｕｔｈｏｒ＞、テキスト「Ｔａｒｏ  Ｓｕｚｕｋｉ」、終了タグ＜／ａｕｔｈｏｒ＞、開始タグ＜ｄａｔｅ＞及びテキスト「２００３０１０１」が順に読み込まれたものとする。このときの文書バッファ１１３の内容を図９（ａ）に示す。さて、テキスト「２００３０１０１」が文書バッファ１１３に読み込まれた場合（ステップＳ１４，Ｓ１５）、ＸＭＬ文書分割部１１２ｂは、当該テキストを含む文書バッファ１１３内の未送信のデータが分割単位を超えているかを判定する（ステップＳ２３）。ここでは、テキスト「２００３０１０１」中の「１０１」の部分が分割単位を超えている。この場合、ＸＭＬ文書分割部１１２ｂは、文書バッファ１１３に読み込まれたテキスト「２００３０１０１」のうち先頭から分割単位を超えない範囲で最大長のテキスト部分「２００３０」を当該文書バッファ１１３に残して、そのテキスト部分「２００３０」を、図９（ｂ）に示すように、区切りタグ＜ｘ／＞の前に移動する（ステップＳ２７）このステップＳ２７において、ＸＭＬ文書分割部１１２ｂは残りのテキスト部分「１０１」を保持する。そしてＸＭＬ文書分割部１１２ｂは、フラグＦ１を１に設定して、既に読み込まれている未処理のテキスト部分が残っていることを示した後（ステップＳ２８）、ＸＭＬ文書読み取り部１１２ａ及びＸＭＬ文書送信部１１２ｃに制御を渡す。
【００３６】
これによりＸＭＬ文書送信部１１２ｃは、その時点において文書バッファ１１３に格納されている図９（ｂ）に示す構造のデータを、ＸＭＬ文書１１４から分割されて整形された新たなＸＭＬ文書１１４−ｉ（＝１１４−１）としてネットワーク通信路１３経由でコンピュータ１２に送信する（ステップＳ２９）。一方、ＸＭＬ文書読み取り部１１２ａは、フラグＦ１が１であることから（ステップＳ１２）、ＸＭＬ文書分割部１１２ｂには既に読み込まれている未処理のテキスト部分が残されていると判断し、そのままＸＭＬ文書分割部１１２ｂに制御を戻す。
【００３７】
これを受けてＸＭＬ文書分割部１１２ｂは、自身が保持している残りのテキスト部分「１０１」を文書バッファ１１３に格納すると共に、図１０（ａ）に示すように、当該テキスト部分「１０１」の前と後に、それぞれ、テキスト分割開始タグ＜ｙ＞とテキスト分割終了タグ＜／ｙ＞とを強制的に挿入する（ステップＳ３０）。即ちＸＭＬ文書分割部１１２ｂは、テキスト部分「１０１」をテキスト分割開始タグ＜ｙ＞とテキスト分割終了タグ＜／ｙ＞とで囲む。そしてＸＭＬ文書分割部１１２ｂは、ＸＭＬ文書読み取り部１１２ａに制御を渡す。
【００３８】
するとＸＭＬ文書読み取り部１１２ａは、ＸＭＬ文書１１４中の次のデータ、即ちテキスト「２００３０１０１」に後続する終了タグ＜／ｄａｔｅ＞を、図１０（ａ）に示すように文書バッファ１１３に読み込む（ステップＳ１２〜Ｓ１４）。この場合、ＸＭＬ文書分割部１１２ｂは、終了タグ＜／ｄａｔｅ＞が既に強制的に挿入されて送信済みであるかを判定する（ステップＳ２５）。この例のように、終了タグ＜／ｄａｔｅ＞が送信済みである場合、ＸＭＬ文書分割部１１２ｂは、分割送信において「本来の終了タグが現れた」ことをコンピュータ１２に通知するために、文書バッファ１１３に読み込まれた終了タグ＜／ｄａｔｅ＞を、図１０（ｃ）に示すようにダミー終了タグ＜ｚ／＞に置き換えて（ステップＳ３１）、ＸＭＬ文書読み取り部１１２ａに制御を渡す。
【００３９】
以下、同様にして、ＸＭＬ文書分割部１１２ｂによるＸＭＬ文書１１４を対象とする分割・整形が続けられ、図１１（ａ）に示す、図９（ｂ）に相当するＸＭＬ文書１１４−１の送信（１回目の送信）に続き、図１１（ｂ）乃至図１１（ｄ）、図１２（ａ）乃至図１２（ｄ）に示すＸＭＬ文書１１４−２乃至１１４−８の送信（２回目乃至８回目の送信）が行われる。ここで、図１１（ｃ）は、開始タグ＜ｓｅｃｔｉｏｎ  ｉｄ＝”ｓｅｃ０１”＞が文書バッファ１１３に読み込まれたために分割単位を超えた場合に送信されるＸＭＬ文書１１４−３を示している。この開始タグの読み込みにより分割単位を超えた場合の動作について説明する。
【００４０】
今、フラグＦ２が０の状態で、ＸＭＬ文書読み取り部１１２ａにより開始タグ＜ｓｅｃｔｉｏｎ  ｉｄ＝”ｓｅｃ０１”＞が文書バッファ１１３に読み込まれ、当該開始タグを含む文書バッファ１１３内の未送信のデータが分割単位を超えたものとする（ステップＳ１５，Ｓ１６，Ｓ２１）。この場合、ＸＭＬ文書分割部１１２ｂは、ＸＭＬ文書分割送信装置１１２の状態を開始タグ読み込み前の状態に戻し、次に処理される開始タグが新たなＸＭＬ文書の先頭の開始タグとなることを示すためにフラグＦ２を１に設定する（ステップＳ３２，Ｓ３３）。そしてＸＭＬ文書分割部１１２ｂは、ＸＭＬ文書読み取り部１１２ａ及びＸＭＬ文書送信部１１２ｃに制御を渡す。
【００４１】
これによりＸＭＬ文書送信部１１２ｃは、その時点において文書バッファ１１３に格納されている図１１（ｃ）に示すデータを新たなＸＭＬ文書１１４−ｉ（＝１１４−３）としてコンピュータ１２に送信する（ステップＳ２９）。一方、ＸＭＬ文書読み取り部１１２ａは、再度開始タグ＜ｓｅｃｔｉｏｎ  ｉｄ＝”ｓｅｃ０１”＞をＳＰＭ１３に読み込む（ステップＳ１２〜Ｓ１４）。なお、ＸＭＬ文書分割部１１２ｂにて開始タグ＜ｓｅｃｔｉｏｎ  ｉｄ＝”ｓｅｃ０１”＞を保持し、ステップＳ３２，Ｓ３３を行わずに、ＸＭＬ文書送信部１１２ｃによるＸＭＬ文書の送信を行わせ、しかる後に当該開始タグ＜ｓｅｃｔｉｏｎ  ｉｄ＝”ｓｅｃ０１”＞を処理するためにステップＳ１７に分岐する構成としてもよい。また、分割単位のカウント対象をテキストだけとしても構わない。
【００４２】
次に、ＸＭＬ文書１１４の全データを処理し終えた場合の動作を説明する。ＸＭＬ文書読み取り部１１２ａは、ＸＭＬ文書１１４の全データを処理し終えた場合（ステップＳ１３）、その旨をＸＭＬ文書分割部１１２ｂに通知する。するとＸＭＬ文書分割部１１２ｂは、文書バッファ１１３から区切りタグ＜ｘ／＞を削除してＸＭＬ文書送信部１１２ｃに制御を渡す（ステップＳ３４）。これを受けてＸＭＬ文書送信部１１２ｃは、その時点において文書バッファ１１３に格納されているデータを新たなＸＭＬ文書１１４−ｉとしてコンピュータ１２に送信する（ステップＳ３５）。ここでは、図１２（ｄ）に示すＸＭＬ文書１１４−８が送信され、コンピュータ１１内のＸＭＬ文書分割送信装置１１２による一連の分割・整形・送信処理が終了する。
【００４３】
以上のＸＭＬ文書１１４を対象とするＸＭＬ文書分割送信装置１１２による分割送信と木構造（階層構造）との関係を図１３に示す。図１３において、逆Ｌ字の記号１３１−１〜１３１−７は、それぞれＸＭＬ文書１１４−１〜１１４−７の送信（１回目乃至７回目の送信）を表す。また、記号１３１−１，１３１−５〜１３１−７のように、記号１３１−ｉが木構造中のノードを表す文字列の後に位置する場合、そのノードに対応する構造のデータの送信がｉ回目の分割送信で完了したことを示す。一方、記号１３１−２〜１３１−４のように、記号１３１−ｉが木構造中のノードを表す文字列の途中に位置する場合、ｉ回目の分割送信は、そのノードに対応する構造のデータの送信途中であることを示す。
【００４４】
（３）分割送信されたＸＭＬ文書の処理
次に、コンピュータ１１からコンピュータ１２に分割送信されたＸＭＬ文書１１４−ｉ（図１１及び図１２の例ではｉ＝１〜８）の処理の概要について説明する。前記したように、コンピュータ１１（内のＸＭＬ文書送信部１１２ｃ）によりネットワーク通信路１３を経由して送信されたＸＭＬ文書１１４−ｉはコンピュータ１２内のＸＭＬ文書受信部１２１ａで受信される。このＸＭＬ文書受信部１２１ａで受信されたＸＭＬ文書１１４−ｉはＡＰＩ１２１ｂを介してアプリケーション１２２に渡され、当該アプリケーション１２２により処理される。ここで、図３に示されるＸＭＬ文書１１４が分割された部分を整形して得られる、図１１（ａ）乃至図１１（ｄ）及び図１２（ａ）乃至図１２（ｄ）に示すＸＭＬ文書１１４−１乃至１１４−８もＸＭＬとしての構造を持つ。したがって、アプリケーション１２２は、ＸＭＬ文書１１４−１乃至１１４−８を少ないメモリ容量で従来技術を用いて処理できる。なお、ＸＭＬ文書１１４−ｉ（ｉ＝１〜８）は、実際には、コンピュータ１２内のＣＰＵ（図示せず）が当該アプリケーション１２２を実行することにより処理されるが、説明の簡略化のためにアプリケーション１２２により処理されるものとする。
【００４５】
次に、分割送信されたＸＭＬ文書１１４−ｉの処理の詳細について、図１４のフローチャートを参照して説明する。アプリケーション１２２は、ＸＭＬ文書受信部１２１ａで受信されたＸＭＬ文書１１４−ｉをＡＰＩ１２１ｂから受け取ると、本来処理すべきＸＭＬ文書１１４の全体が転送完了するのを待つことなく、当該ＸＭＬ文書１１４−ｉの処理を開始する。これにより、コンピュータ１２においてＸＭＬ文書を処理するのに必要となるメモリ容量を低減できると共に、処理時間を短縮できる。
【００４６】
アプリケーション１２２は、ＸＭＬ文書１１４−ｉの処理で区切りタグ＜ｘ／＞を検出した場合（ステップＳ４１）、次のＸＭＬ文書１１４−（ｉ＋１）を受け取るまで処理を中断する（ステップＳ４２）。アプリケーション１２２は、次のＸＭＬ文書１１４−（ｉ＋１）を受け取ると（ステップＳ４２）、処理を中断していた先行するＸＭＬ文書１１４−ｉ中の区切りタグ＜ｘ／＞を、当該次のＸＭＬ文書１１４−（ｉ＋１）に置き換える（ステップＳ４３）。そしてアプリケーション１２２は、中断していたＸＭＬ文書１１４−ｉの処理を再開する（ステップＳ４４）。但し、ここで処理されるＸＭＬ文書１１４−ｉは、中断前のＸＭＬ文書１１４−ｉとは異なり、区切りタグ＜ｘ／＞がＸＭＬ文書１１４−（ｉ＋１）に置き換えられた構造となっている。そこで以下の説明では、区切りタグ＜ｘ／＞がＸＭＬ文書１１４−（ｉ＋１）に置き換えられたＸＭＬ文書１１４−ｉをＸＭＬ文書１１４−ｉ’と表現する。
【００４７】
図１１の例では、アプリケーション１２２がＸＭＬ文書１１４−２を受け取った段階で、ＸＭＬ文書１１４−１中の区切りタグ＜ｘ／＞がＸＭＬ文書１１４−２に置き換えられる。これによりアプリケーション１２２は、ＸＭＬ文書１１４−２を含む新たなＸＭＬ文書１１４−１（即ちＸＭＬ文書１１４−１’）中の新たな区切りタグ＜ｘ／＞を検出するまで（ステップＳ４１）、処理を継続することができる（ステップＳ４４）。
【００４８】
さて、区切りタグ＜ｘ／＞に置き換えられたＸＭＬ文書１１４−（ｉ＋１）に別の区切りタグ＜ｘ／＞が含まれているならば、再開後の処理で当該別の区切りタグ＜ｘ／＞が検出された段階で、当該別の区切りタグ＜ｘ／＞が更に次のＸＭＬ文書１１４−（ｉ＋２）に置き換えられる。つまりアプリケーション１２２では、区切りタグ＜ｘ／＞を分割送信されるＸＭＬ文書に置き換える動作が繰り返される。
【００４９】
またアプリケーション１２２は、ＸＭＬ文書１１４−ｉ’の処理でテキスト分割開始タグ＜ｙ＞を検出した場合（ステップＳ４５）、当該テキスト分割開始タグ＜ｙ＞及びテキスト分割終了タグ＜／ｙ＞の対をＸＭＬ文書１１４−ｉ’から削除する（ステップＳ４６）。次にアプリケーション１２２は、削除したタグ＜／ｙ＞に続くダミー終了タグ＜ｚ／＞の数ｊをカウントする（ステップＳ４７）。ＸＭＬ文書１１４−ｉ’から削除されたタグ＜／ｙ＞に続くダミー終了タグ＜ｚ／＞の数がｊの場合、当該ＸＭＬ文書１１４−ｉ’には、その最後尾側にｊ個の終了タグが含まれている。そこで、アプリケーション１２２は、ＸＭＬ文書１１４−ｉ’から削除されたタグ＜／ｙ＞に続くｊ個のダミー終了タグ＜ｚ／＞を削除し、その位置に、当該ＸＭＬ文書１１４−ｉ’の最後尾側のｊ個の終了タグを移動する（ステップＳ４８）。そしてアプリケーション１２２は、終了タグ移動後のＸＭＬ文書１１４−ｉ’の処理を継続し（ステップＳ４４）、最後まで処理できた段階で（ステップＳ４９）、全ての処理を終了する。
【００５０】
上記実施形態では、コンピュータ１１内のＸＭＬ文書分割送信装置１１２による分割・整形の対象となるＸＭＬ文書１１４が、当該コンピュータ１１の記憶装置１１１に格納されていることを前提としている。しかし、この記憶装置１１１が、ネットワークを介して接続された別のコンピュータの記憶装置である場合にも、当該記憶装置１１１に格納されているＸＭＬ文書１１４を対象に、コンピュータ１１内のＸＭＬ文書分割送信装置１１２にて上記実施形態と同様に分割・整形することが可能である。
【００５１】
また、上記実施形態では、ＸＭＬ文書１１４の分割と分割された文書部分の整形とが全て送信側で行われることを前提としている。しかし、送信側ではＸＭＬ文書１１４を先頭から例えば一定サイズに単純に分割してその分割された文書部分（つまりＸＭＬの構造を持たない文書部分）を順次送信し、受信側で図４乃至図７のフローチャートに相当する処理を行ってアプリケーション１２２に渡すことも可能である。ここでは、分割されたＸＭＬ文書１１４の部分を受信する毎に、その先頭から順にデータの読み込みが行われる。このことは、上記実施形態において、ＸＭＬ文書１１４のデータを先頭から順に読み込むことと等価である。
【００５２】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００５３】
【発明の効果】
以上詳述したように本発明によれば、原構造化文書のデータを先頭から順にバッファに読み込み、このバッファに読み込まれたデータを順に処理することにより上記原構造化文書を複数の新たな構造化文書に分割・整形し、この新たな構造化文書が分割・整形される都度、当該新たな構造化文書が文書処理手段による処理に供される構成としたので、当該新たな構造化文書に入れ子構造を持つ構造化文書としての特徴を持たせることができる。このため本発明によれば、構造化文書を処理する処理手段側では、長大な構造化文書を扱うに当たって、全体を受け取るまで待たなくても、分割・整形された新たな構造化文書が生成される毎に、その新たな構造化文書を受け取って処理することができる。その結果、構造化文書を処理するのに必要とされるメモリ容量の減少、処理手段を利用する利用者への応答性能向上を図ることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図。
【図２】同実施形態において、コンピュータ１１側でＸＭＬ文書を分割・整形してコンピュータ１２に転送し、その分割・整形されたＸＭＬ文書をコンピュータ１２側で処理する動作の概要を説明するための図。
【図３】図１中のＸＭＬ文書１１４の具体例と、当該ＸＭＬ文書１１４の一部もＸＭＬ文書としての構造を持つことを示す図。
【図４】ＸＭＬ文書の分割・整形・送信の手順を説明するためのフローチャートの一部を示す図。
【図５】ＸＭＬ文書の分割・整形・送信の手順を説明するためのフローチャートの他の一部を示す図。
【図６】ＸＭＬ文書の分割・整形・送信の手順を説明するためのフローチャートの更に他の一部を示す図。
【図７】ＸＭＬ文書の分割・整形・送信の手順を説明するためのフローチャートの残りを示す図。
【図８】図３のＸＭＬ文書１１４を対象とするＸＭＬ文書分割・整形の状態遷移図。
【図９】図３のＸＭＬ文書１１４を対象とするＸＭＬ文書分割・整形の状態遷移図。
【図１０】図３のＸＭＬ文書１１４を対象とするＸＭＬ文書分割・整形の状態遷移図。
【図１１】図４乃至図７のフローチャートに従って分割送信されるＸＭＬ文書１１４−１〜１１４−４の具体例を示す図。
【図１２】図４乃至図７のフローチャートに従って分割送信されるＸＭＬ文書１１４−５〜１１４−８の具体例を示す図。
【図１３】ＸＭＬ文書１１４に対応するＸＭＬ文書の分割送信と木構造との関係を示す図。
【図１４】分割送信されたＸＭＬ文書の処理の手順を説明するためのフローチャート。
【符号の説明】
１１，１２…コンピュータ、１３…ネットワーク通信路、１１１…記憶装置、１１２…ＸＭＬ文書分割送信装置、１１２ａ…ＸＭＬ文書読み取り部、１１２ｂ…ＸＭＬ文書分割部、１１２ｃ…ＸＭＬ文書送信部、１１４…ＸＭＬ文書（原ＸＭＬ文書）、１１４−１〜１１４−８…ＸＭＬ文書、１２１…受信装置、１２１ａ…ＸＭＬ文書受信部、１２１ｂ…ＡＰＩ（アプリケーションプログラムインタフェース）、１２２…アプリケーション（処理手段）。
【図１】
2004287978.tif 000003
【図２】
2004287978.tif 000004
【図３】
2004287978.tif 000005
【図４】
2004287978.tif 000006
【図５】
2004287978.tif 000007
【図６】
2004287978.tif 000008
【図７】
2004287978.tif 000009
【図８】
2004287978.tif 000010
【図９】
2004287978.tif 000011
【図１０】
2004287978.tif 000012
【図１１】
2004287978.tif 000013
【図１２】
2004287978.tif 000014
【図１３】
2004287978.tif 000015
【図１４】
2004287978.tif 000016