(57)【特許請求の範囲】
【請求項１】
マークアップ言語で記述された構造化文書を解析して、自装置の内部表現形式である構成情報を生成する解析手段と、
前記解析手段の解析の結果生成される前記構成情報を記憶する記憶手段と、
前記構成情報を用いて印刷情報を生成する印刷情報生成手段と、
前記印刷情報を用いて印刷処理を行う印刷処理手段と、
前記印刷情報の生成量が所定量を超えた場合に、前記印刷情報生成手段によって前記印刷情報が生成されるように前記印刷情報生成手段を制御しつつ前記解析手段による解析を中断するように前記解析手段を制御する制御手段と、
を備えた情報処理装置。
【請求項２】
前記印刷情報生成手段は、前記構成情報に基づいてページ毎のレイアウトを決定するレイアウト手段を含み、前記レイアウト手段によってレイアウトを決定して前記印刷情報を生成し、
前記制御手段が、前記レイアウト手段によって決定されたレイアウトに基づいて求められるページ数が所定量を超える場合に、前記解析手段による解析を中断するように前記解析手段を制御することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記印刷処理手段による印刷処理が終了した前記印刷情報及び当該印刷情報に対応する前記構成情報を削除する削除手段と、
前記削除手段により削除された前記印刷情報の量に応じて、前記解析手段による解析を再開する再開手段と、
更に備えることを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記解析手段は、ＸＭＬで記述された構造化文書を解析して、ＤＯＭ（Document Object Model）インターフェースを用いて自装置の内部表現形式である構成情報を生成する請求項１〜３の何れか１項に記載の情報処理装置。
【請求項５】
前記制御手段は、前記印刷情報を生成するための前記構成情報がなく、前記印刷情報を生成できない場合に、前記解析手段による解析を再開するように更に制御する請求項１〜４の何れか１項に記載の情報処理装置。
【請求項６】
前記レイアウト手段は、前記構成情報に基づいて未処理の文書要素をページ内に配置不可能な場合、前記文書要素を分割可能か否かを判断し、分割可能である場合には前記文書要素を分割してページ内に配置し、分割不可能である場合には次のページに前記文書要素を配置するように、レイアウトを決定する請求項２に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置にかかり、特に、ＨＴＭＬ（Hyper Text Markup Language）やＸＭＬ（eXtensible Markup Language）等で代表されるマークアップ言語で記述された構造化文書を処理する情報処理装置に関する。
【背景技術】
【０００２】
情報を構造化して加工や流通を容易にするために、情報の記述形式としてＸＭＬ等のマークアップ言語が使用され始めている。ＸＭＬで記述された文書を処理する情報処理装置では、通常ＸＭＬデータを解析して情報処理装置で処理可能な内部表現形式に変換した上で、各種の処理を行っている。この際、木構造形式等に変換される。
【０００３】
しかしながら、ＸＭＬ文書が保持する構造情報を変換する際に、文書を構成する要素間の親子関係を表す構造情報等の付加的な情報を保持する必要があるために、元のＸＭＬ文書よりもデータ容量が大きくなってしまい、多大なメモリを必要とする。組み込む機器によっては一次記憶領域が制限され、変換された構造情報を保持しきれなくなってしまう。二次記憶領域に構造情報を待避して保持させることも可能であるが、待避した情報にアクセスする場合に処理時間がかかってしまう。
【０００４】
そこで、元の構造情報を変更して内部表現に要するデータ量を削減することが提案されている。例えば、特許文献１や特許文献２に記載の技術などが提案されている。
【０００５】
特許文献１に記載の技術では、複数の要素を、それらの位置関係を示す情報と共に１つの要素として合成して記憶することにより、データ容量の増加を抑制している。
【０００６】
また、特許文献２に記載の技術では、構造化文書の階層を浅くすることにより動作メモリ量の削減を可能にしてデータアクセス効率を改善している。
【特許文献１】特開２００２−１０８８５０号公報（第１頁、第２図）
【特許文献２】特開２００２−２９７５６９号公報（第１頁、第５図）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１や特許文献２に記載の技術は、データベースに登録された個々のデータを表すレコード情報等、類似の構造を持つ多数の要素を扱う用途においてデータ容量を削減することができる。しかしながら、特許文献１や特許文献２に記載の技術では、一般の文章等、構造上の類似性が少ない文書に対しては削減量が少ない、という問題がある。また、文書に対して印刷処理を行う際は、印刷対象となる全てのデータを展開する必要がある上、文書量に応じてデータ量が増加してしまう、という問題がある。
【０００８】
本発明は、上記問題を解決すべく成されたもので、構造化文書を解析して順次後続の処理を行う際に、データ量の増加を抑制することが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
請求項１に記載の発明は、マークアップ言語で記述された構造化文書を解析して、自装置の内部表現形式である構成情報を生成する解析手段と、前記解析手段の解析の結果生成される前記構成情報を記憶する記憶手段と、前記構成情報を用いて印刷情  報を生成する印刷情報生成手段と、前記印刷情報を用いて印刷処理を行う印刷処理手段と、前記印刷情報の生成量が所定量を超えた場合に、前記印刷情報生成手段によって前記印刷情報が生成されるように前記印刷情報生成手段を制御しつつ前記解析手段による解析を中断するように前記解析手段を制御する制御手段と、を備えることを特徴としている。
【００１４】
請求項１に記載の発明によれば、解析手段では、マークアップ言語で記述された構造化
文書が解析（例えば、字句解析）されて、自装置で処理可能な木構造等による表現形式に
変換される。解析手段は、例えば、ＸＭＬ等のマークアップ言語で記述された構造化文書
をＸＭＬパーサ等によって解析して、ＤＯＭ（Document Object Model）インタフェース
等を用いることにより自装置で処理可能な木構造等による表現形式に変換した構成情報を
生成する。
【００１５】
記憶手段には、解析手段の解析結果生成される構成情報が記憶され、印刷情報生成手段では、構成情報を用いて印刷情報が生成され、印刷処理手段では、生成された印刷情報を用いて印刷処理が行われる。
【００１６】
そして、制御手段では、印刷情報の生成量が所定量を超えた場合に、印刷情報生成手段によって印刷情報が生成されるように生成手段を制御しつつ解析手段による解析を中断するように解析手段が制御される。これによってデータ量の増加を抑制しながら解析をすることが可能となる。従って、構造化文書を解析して順次後続の処理を行う際に、データ量の増加を抑制することが可能となる。
【００１７】
このとき、請求項２に記載の発明のように、印刷情報生成手段は、構成情報に基づいて
ページ毎のレイアウトを決定するレイアウト手段を含み、レイアウト手段によってレイア
ウトを決定して印刷情報を生成し、制御手段が、レイアウト手段によって決定されたレイ
アウトに基づいて求められるページ数が所定量を超える場合に、解析手段による解析を中
断するように解析手段を制御するようにしてもよい。
【００１８】
また、請求項１又は請求項２に記載の発明は、請求項３に記載の発明のように、印刷処理手段による印刷処理が終了した印刷情報及び当該印刷情報に対応する構成情報を削除する削除手段と、削除手段により削除された印刷情報の量に応じて、解析手段による解析を再開する再開手段と、更に備えるようにしてもよい。これによって、残りの解析を順次行うことが可能となる。
なお、解析手段は、請求項４に記載の発明のように、ＸＭＬで記述された構造化文書を解析して、ＤＯＭ（Document Object Model）インターフェースを用いて自装置の内部表現形式である構成情報を生成するようにしてもよい。
また、制御手段は、請求項５に記載の発明のように、印刷情報を生成するための前記構成情報がなく、前記印刷情報を生成できない場合に、前記解析手段による解析を再開するように更に制御するようにしてもよい。
さらに、レイアウト手段は、請求項６に記載の発明のように、構成情報に基づいて未処理の文書要素をページ内に配置不可能な場合、文書要素を分割可能か否かを判断し、分割可能である場合には文書要素を分割してページ内に配置し、分割不可能である場合には次のページに文書要素を配置するように、レイアウトを決定するようにしてもよい。
【発明の効果】
【００１９】
本発明によれば、構造化文書を解析して順次後続の処理を行う際に、データ量の増加を抑制することが可能となる、という効果がある。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。
【００２１】
図１は、本発明の実施の形態に係わる情報処理装置１０の構成を示すブロック図である。なお、本発明の実施の形態に係わる情報処理装置１０は、プリンタに適用可能なものとして説明する。情報処理装置１０は、外部より送信されるマークアップ言語で記述された構造化文書を内部表現形式に変換して用紙等の記録媒体に記録可能とされている。本実施の形態では、マークアップ言語としてＸＭＬを用いた例を説明する。
【００２２】
図１に示すように、情報処理装置１０は、主制御手段１２、データ取得手段１８、データ解析手段１６、構成情報管理手段１４、レイアウト手段２０、及び印刷手段２２を有している。
【００２３】
主制御手段１２は、データ取得手段１８、データ解析手段１６、構成情報管理手段１４、レイアウト手段２０、及び印刷手段２２をそれぞれを制御して、構造化文書を解析して内部表現形式に変換するための制御を行った後に、印刷手段２２によって印刷を行うようになっている。
【００２４】
データ取得手段１８は、処理対象となるデータを外部から取得する。例えば、ユーザがコンピュータから行ったＸＭＬで記述された構造化文書のデータからなる印刷要求をネットワーク（例えば、インターネットやＬＡＮ（Local Area Network）など）を介して取得する。
【００２５】
データ解析手段１６は、本発明の解析手段に相当し、データ取得手段１８によって外部より取得した構造化文書のデータを木構造に変換して各要素を解析して内部表現形式に変換する。例えば、データ解析手段１６は、ＸＭＬで記述された構造化文書をＤＯＭ（Document Object Model）に変換する。
【００２６】
構成情報管理手段１４は、データ解析手段１６の解析によって内部表現形式に変換された内部情報を構成情報として保持すると共に、データ解析手段１６による解析の都度、構成情報を追加する。また、後続のレイアウト手段２０による処理時に構成情報を参照するようになっている。さらに、印刷手段２２によって印刷が行われた後に、対応する構成情報を削除する。
【００２７】
レイアウト手段２０は、構成情報管理手段１４に保持された構成情報を元に各ページのレイアウトを決定し、印刷データを作成する。
【００２８】
印刷手段２２は、レイアウト手段２０によって作成された印刷データを元に、用紙等の記録媒体に印刷を行う。
【００２９】
続いて、主制御手段１２によって実行される解析処理について図２のフローチャートを参照して説明する。
【００３０】
ステップ１００では、データ解析手段１６によるデータ解析が終了したか否か判定される。該判定は、後述する処理を行うことによって構造化文書の各要素について解析が全て終了したか否か判定することによってなされる。該判定が否定された場合には、ステップ１０２へ移行する。
【００３１】
ステップ１０２では、解析中断か否か判定される。該判定は、予め定めた中断条件に基づいて判定される。中断条件としては、情報処理装置１０の解析時に使用する記憶領域の容量が所定値を超えた場合、後続の印刷処理で印刷するために生成する印刷データの生成量が所定値を超えた場合、あるいはこれらの組み合わせ等を中断条件とすることができる。中断条件として、解析時に使用する記憶領域の容量が所定値を超えた場合を適用したときには、後続の処理状況（印刷処理の状況）によって使用される記憶領域が変化するので、解析時に使用する記憶領域が所定量を超えた時に解析を中断することによって、構造化文書を解析して順次後続の処理を行う際に、データ量の増加を抑制することができる。また、中断条件として、印刷データの生成量が所定値を超えた場合を適用したときには、後続の処理状況（印刷処理の状況）に応じて必要な所定量を解析したときに解析を中断することによって、後続の印刷処理に影響を与えることなく解析を中断することができる。
【００３２】
例えば、ステップ１０２における解析中断か否かの判定は、構成情報管理手段１４によって保持されている構成情報がレイアウト手段２０によってレイアウトされた場合に生成可能な印刷データのページ数を推定して、所定ページ数を越えるか否かを判定したり、構成情報管理手段１４によって保持されてた構成情報が占める記憶領域が所定量以上か否かを判定することによってなされる。
【００３３】
ステップ１０２の判定が肯定された場合には、ステップ１０４へ移行してデータ解析手段１６による解析を中断して、解析再開通知を取得するまで待機し、後述する解析再開通知を取得したところでステップ１０６へ移行する。また、ステップ１０２の判定が否定された場合には、そのままステップ１０６へ移行する。
【００３４】
ステップ１０６では、データ取得手段１８によって取得されたデータがデータ解析手段１６によって解析される。すなわち、ＸＭＬで記述された構造化文書のデータの要素がＤＯＭに変換され、変換された内部情報が構成情報として生成される。
【００３５】
続いて、ステップ１０８では、データ解析手段１６によって解析され、ＤＯＭに変換されることによって得られる構成情報が構成情報管理手段１４によって追加・更新される。すなわち、データ解析手段１６によって解析された元データが内部表現形式に変換されて、構成情報管理手段１４を介して登録あるいは更新される。
【００３６】
そして、ステップ１００へ戻って上述の処理が繰り返されて、構造化文書の各要素について処理が順次行われ、ステップ１００の判定が肯定されたところで解析処理を終了する。
【００３７】
次に、上述の解析処理によって構造化文書が内部表現形式に変換されて、構成情報管理手段１４により保持された構成情報に基づいて行われる、印刷処理について図３のフローチャートを参照して説明する。なお、印刷処理は、本発明の印刷ステップに相当する。
【００３８】
ステップ２００では、全データ印刷済みか否か判定される。該判定は、後述の処理によって生成された印刷データに基づく印刷が全て終了したか否かを判定することによってなされ、該判定が否定された場合には、ステップ２０２へ移行する。
【００３９】
ステップ２０２では、レイアウト処理が行われる。レイアウト処理は、レイアウト手段２０によって文書要素のレイアウト処理が行われ、印刷データが生成される。詳細には、後述するレイアウト処理のフローチャートに従って行われる。
【００４０】
次に、ステップ２０４では、印刷可能か否か判定される。すなわち、レイアウト手段２０によってレイアウト処理が行われることによって得られる印刷データに基づいて印刷が可能か否か判定される。該判定が肯定された場合には、ステップ２０６へ移行して、レイアウト済みページの印刷が印刷手段２２によって行われる。そして、ステップ２０８へ移行して、印刷手段２２によって印刷されたデータに対応する構成情報や印刷データが構成情報管理手段１４によって削除され、ステップ２００に戻る。すなわち、印刷が終了したところで、レイアウトされたページの印刷データが削除されると共に、当該印刷データに対応する構成情報（文書要素）が削除されて、順次印刷が行われる。また、構成情報管理手段１４によって構成情報や印刷情報が削除されることによって、解析再開通知が生成され、これによって、上述の解析処理（図２に示すフローチャート）におけるステップ１０４で、解析再開通知が取得されて判定が肯定される。
【００４１】
本処理及び解析処理を並列処理するよう構成できる。このような構成において、解析処理より本処理の進行が早い場合は、データ解析手段１６が生成して構成情報管理手段１４に登録済の全データを使用しても１ページ分の印刷データが生成できない場合がある。このような場合、ステップ２０４の判定が否定され、ステップ２１０へ移行して、データ解析手段１６が後続の文書要素を解析して構成情報として追加・更新するまで待機して、ステップ２０２に戻って再びレイアウト処理が行われる。
【００４２】
このようにして、順次上述のステップを繰り返し行うことによって印刷処理を行い、ステップ２００の判定が肯定されたところで、印刷処理を終了する。
【００４３】
ところで、図３の例では、１ページ分がレイアウトされる（ステップ２０２）都度、印刷（ステップ２０６）及び削除（ステップ２０８）を行うようにしたが、印刷及び削除を別処理として構成することも可能である。このような構成においては、例えば２ページ分がレイアウトされる毎に印刷を行うようにすることで２ページ分を１枚の記録紙に印刷する等の処理が可能となる。
【００４４】
続いて、上述のレイアウト処理について図４のフローチャートを参照して説明する。
【００４５】
ステップ３００では、レイアウト手段２０によるレイアウト処理中のページｐがあるか否か判定される。該判定が肯定された場合には、ステップ３０２へ移行して、新規ページを生成してこれをｐとした後、ステップ３０４へ移行する。一方レイアウト処理中のページｐが存在するためステップ３００の判定が否定された場合には、そのままステップ３０４へ移行する。
【００４６】
続いて、ステップ３０４では、レイアウト手段２０が構成情報管理手段１４を参照し、未処理（未レイアウト）の文書要素から最初に現れるものを取得して、これを要素ｅとする。
【００４７】
ステップ３０６では、未処理の要素ｅがあるか否かレイアウト手段２０によって判定される。該判定が肯定された、すなわちステップ３０４においてレイアウト処理対象となる要素が見つかった場合には、ステップ３０８へ移行して、未処理の要素ｅの表示サイズが算出される。
【００４８】
次に、ステップ３１０では、現在のページｐに未処理の要素ｅを配置可能か否かレイアウト手段２０によって判定される。すなわち、算出された表示サイズが現在のページｐ内に収まるか否か判定される。該判定が否定された場合には、ステップ３１２へ移行する。
【００４９】
ステップ３１２では、未処理の要素ｅが分割可能か否かレイアウト手段２０によって判定される。例えば、要素ｅが複数行からなるテキスト情報であれば分割可能であり、要素ｅが画像情報であれば分割不可能と判定される。該判定が否定された場合には、ステップ３１４へ移行して、現在のページｐのレイアウトが確定され、レイアウト情報が印刷手段２２へ送られる。さらに新規ページを生成してこれを新たにｐとして、ステップ３１６へ移行する。ステップ３１６では、ステップ３１４で新規に生成されたページｐに対して、分割不可能と判定された要素ｅがレイアウト手段２０によってレイアウトされる。そして、ステップ３０４に戻って、上述のレイアウト処理が繰り返される。
【００５０】
また、ステップ３１０の判定が肯定された場合、すなわち、算出された未処理要素ｅの表示サイズが現在のページｐに配置可能な場合には、そのままステップ３１６へ移行して、未処理要素ｅが当該ページｐにレイアウトされて、ステップ３０４に戻って、上述のレイアウト処理が繰り返される。この時、レイアウトが決定されると、レイアウト情報が印刷手段２２へ送られ、これによって印刷手段２２で印刷が行われる。
【００５１】
一方、ステップ３１２の判定が肯定された場合、すなわち、未処理の要素ｅの分割が可能な場合には、ステップ３１８へ移行して、未処理の要素ｅが分割されて現在のページｐにレイアウトされると共に、要素ｅを分割した残りの要素を新たにｅとして、ステップ３２０へ移行する。そして、ステップ３２０では、現在のページｐのレイアウトが確定されると共に、新規ページを生成してこれを新たにｐとして、ステップ３１０へ戻り、上述の処理が繰り返される。この時、レイアウトが決定されると、レイアウト情報が印刷手段２２へ送られ、これによって印刷手段２２で印刷が行われる。
【００５２】
このように、未処理の要素ｅがなくなるまで上述の処理が順次行われると、ステップ３０６の判定が否定されて、レイアウト処理が終了される。
【００５３】
すなわち、本実施の形態に係わる情報処理装置１０は、ＸＭＬ等の構造化文書を解析する際に、後続の印刷処理の処理状況（印刷後に構成情報が削除されたか否か）に応じて中断することによって、解析によって増加するデータ量を抑制することができる。
【００５４】
ここで、上述のように解析処理及び印刷処理を行う情報処理装置で、図５に示すようなＸＭＬで記述された構造化文書を印刷する場合を例に挙げて説明する。
【００５５】
図５に示すＸＭＬで記述された構造化文書は、解析処理が行われ、ＤＯＭインタフェース等を介して、文書の章や節等の構造を反映した木構造の内部表現に変換される。さらにＸＳＬＴ等の変換ツールを用いた変換等を行い、さらに各要素のレイアウト位置を先頭ページから順に決定し、最終的に印刷手段が解釈可能な形式で記述された各ページ毎の印刷データが図６に示すように順次生成される。
【００５６】
この時、本実施の形態に係わる情報処理装置１０では、例えば、３ページ先の解析処理については、既に生成された印刷データに基づく印刷手段２２による印刷が終了してデータが削除されるまでは中断される。
【００５７】
図６に示すように、２〜４ページ目までの解析処理が順次行われ、５ページ目以降の解析処理が中断される。そして、例えば、１ページ目の印刷が終了した時に、１ページ目に対応する印刷データや構成情報が構成情報管理手段１４によって削除されたところで、５ページ目の解析処理が行われる。
【００５８】
このように、順次解析処理及び印刷処理が行われることによって、解析によって増加するデータ量は、中断される前までの所定のデータ量で順次推移するので、後続の印刷処理で使用する記憶領域がなくなってしまうようなことを防止することができる。従って、本発明の実施の形態に係わる情報処理装置１０は、構造化文書を解析する際に必要なメモリを、後続の印刷処理に応じて効率的に使用することができる。
【００５９】
なお、上記の実施の形態では、後続の処理として印刷処理を例に挙げて説明したがこれに限るものではない。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態に係わる情報処理装置の構成を示すブロック図である。
【図２】本発明の実施の形態に係わる情報処理装置の主制御手段によって実行される解析処理の流れを示すフローチャートである。
【図３】印刷処理の流れを示すフローチャートである。
【図４】レイアウト処理の流れを示すフローチャートである。
【図５】ＸＭＬで記述された構造化文書の一例を示す図である。
【図６】ＸＭＬで記述された構造化文書を木構造に変換した一例を示す図である。
【符号の説明】
【００６１】
１０    情報処理装置
１２    主制御手段
１４    構成情報管理手段
１６    データ解析手段
１８    データ取得手段
２０    レイアウト手段
２２    印刷手段
【図１】
0005012760.tif 000002
【図２】
0005012760.tif 000003
【図３】
0005012760.tif 000004
【図４】
0005012760.tif 000005
【図５】
0005012760.tif 000006
【図６】
0005012760.tif 000007