(57)【要約】【課題】印刷等のスループットの向上を図るとともにメモリ容量の低減を図ること。【解決手段】構造化タグ言語により記述された文書を解析して階層化されたノードを生成し、当該ノードに基づいて処理を行う処理装置において、高速処理モードが指定されたときは、前記文書に対する全ての前記ノードが生成される前であって少なくとも最上位階層から最下位階層までの前記ノードが生成されるタイミングで前記処理を行う処理手段、を備えることを特徴としている。【選択図】図４
2006082270.tif 000002
【特許請求の範囲】
【請求項１】
構造化タグ言語により記述された文書を解析して階層化されたノードを生成し、当該ノードに基づいて処理を行う処理装置において、
高速処理モードが指定されたときは、前記文書に対する全ての前記ノードが生成される前であって少なくとも最上位階層から最下位階層までの前記ノードが生成されるタイミングで前記処理を行う処理手段、
を備えることを特徴とする処理装置。
【請求項２】
請求項１記載の処理装置において、
各前記ノードには、各階層で当該ノードが分岐するか否かの分岐情報を含むことを特徴とする処理装置。
【請求項３】
請求項２記載の処理装置において、
前記処理手段は、前記文書で枠線が指定され、かつ、前記生成した最上位階層から最下位階層までの前記ノードのうち前記分岐情報からいずれかの前記ノードが分岐しているとき、前記枠線の枠内に次の前記最上位階層から最下位階層までの前記ノードに基づく処理を埋めるよう処理を行うことを特徴とする処理装置。
【請求項４】
請求項１記載の処理装置において、
前記処理手段は、前記文書で枠線が指定されたとき当該枠線をはずすよう処理を行うことを特徴とする処理装置。
【請求項５】
請求項１記載の処理装置において、
前記処理手段は、前記文書の内容情報のみ処理を行うことを特徴とする処理装置。
【請求項６】
請求項１記載の処理装置において、
前記処理手段は、前記最上位階層から最下位階層までのノードを生成する生成順と生成された前記ノードに対する処理順とが異なるときでも前記生成順で処理を行うことを特徴とする処理装置。
【請求項７】
構造化タグ言語により記述された文書を解析して階層化されたノードを生成し、当該ノードに基づいて処理を行う処理装置における処理方法において、
高速処理モードが指定されたときは、前記文書に対する全ての前記ノードが生成される前であって少なくとも最上位階層から最下位階層までの前記ノードが生成されるタイミングで前記処理を前記処理装置に行わせる工程、
を備えることを特徴とする処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＴＭＬ等の構造化タグ言語により記述された文書を処理する処理装置や処理方法に関する。詳しくは、かかる文書を解析して階層化されたノードを生成し当該ノードに基づいて処理を行う処理装置において、１つの要素群が生成されるタイミングで処理を行う処理装置等に関する。
【背景技術】
【０００２】
従来からインターネットのホームページ情報をディスプレイ画面上に表示させ、その情報を保存したい場合に印刷することが行われている。ホームページ情報は、一般的にＸＭＬ（Extensible Markup Language）やＸＨＴＭＬ（Extensible Hyper Text Markup Language）などの構造化タグ言語により記述された文書で構成される。通常、このような文書に基づいて画像を生成する（表示や印刷など）には、最初にかかる文書を解析してＤＯＭ（Document Object Model）ツリーと呼ばれるツリーを作成し（解析タスク）、ツリーのノードを構成する各要素又は各テキストに対し画像内における座標位置を決定し（レイアウトタスク）、その後、印刷の実行（印刷タスク）等が行われる。
【０００３】
また、従来において画面上に表示されたホームページ情報に対して表示されたそのままの内容を印刷するのではなく、予め用意されたテンプレートにホームページ情報の各要素等を配置させ、新聞風等の自由度の高いレイアウトにより印刷を行うものが知られている（以下の特許文献１）。
【特許文献１】特開平１１−９６１４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のように自由度の高いレイアウトをするにしても、従来では解析タスクにおいて１つの文書内でのすべての要素又はテキストに対して一旦ＤＯＭツリーを生成する必要がある。そのため、解析タスクでの処理時間が多くなってしまうという問題点があった。かかる解析タスクでの処理の遅延は構造化タグ言語により記述された文書を表示、印刷等をするときのスループットの低下を招いていた。
【０００５】
さらに、１つの文書内でのすべての要素等に対してＤＯＭツリーを生成する必要があるため、ツリー生成のために容量の多いメモリが必要で、例えばその分、部品コストの増大を招いていた。
【０００６】
そこで、本発明は上記問題点に鑑みてなされたものでその目的は、印刷等のスループットの向上を図るとともにメモリ容量の低減を図ることにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明は、構造化タグ言語により記述された文書を解析して階層化されたノードを生成し、当該ノードに基づいて処理を行う処理装置において、高速処理モードが指定されたときは、文書に対する全てのノードが生成される前であって少なくとも最上位階層から最下位階層までのノードが生成されるタイミングで処理を行う処理手段、を備えることを特徴としている。これにより、例えば、最上位階層から最下位階層までの１つの要素群を生成したタイミングでレイアウトや印刷等の処理が行われるため、文書内のすべての要素に対してＤＯＭツリーを生成する場合と比較して印刷等のスループットの向上を図ることができる。また、メモリ内で１つの要素群を生成した後一旦メモリから消去させ、次に生成すべき要素群のために領域を確保しておけばメモリ容量の低減を図ることができる。
【０００８】
また、上記処理装置において、各ノードには各階層で当該ノードが分岐するか否かの分岐情報を含むことを特徴としている。これにより、例えば、分岐情報を用いることにより、１つの枠線が印刷等されるべきところノードが分岐することで複数の枠線が印刷等される事態を防止することができる。
【０００９】
さらに、上記処理装置において、上記処理手段は、文書で枠線が指定され、かつ、生成した最上位階層から最下位階層までのノードのうち分岐情報からいずれかのノードが分岐しているとき、枠線の枠内に次の最上位階層から最下位階層までのノードに基づく処理を埋めるよう処理を行うことを特徴としている。これにより、例えば、一つの枠線内に次の要素群の要素又はテキストを埋めることにより、１つの枠線が印刷等されるべきところノードが分岐することで複数の枠線が印刷等される事態を防止することができる。
【００１０】
さらに、上記処理装置において、上記処理手段は文書で枠線が指定されたとき当該枠線をはずすよう処理を行うことを特徴としている。これにより、例えば、枠線が指定されても枠線自体が表示、印刷等されないため、１つの枠線が印刷等されるべきところノードが分岐することで複数の枠線が印刷等される事態を防止することができる。
【００１１】
さらに、上記処理装置において、上記処理手段は文書の内容情報のみ処理を行うことを特徴としている。これにより、例えば、一つの枠線の表示、印刷が指示されたときでも、その枠線内の内容（コンテンツ）部分のみが表示、印刷されるため、ノードが分岐することで複数の枠線が印刷等される事態を防止することができる。
【００１２】
さらに、上記処理装置において、処理手段は最上位階層から最下位階層までのノードを生成する生成順と生成されたノードに対する処理順とが異なるときでも生成順で処理を行うことを特徴としている。これにより、例えば、borderプロパティなどレイアウト順と印刷順とが異なる不一致誘引情報が存在する文書でも要素群ごとに逐次印刷等の処理が行われるため、処理のスループットの向上を図ることができる。
【００１３】
また、上記目的を達成するために本発明は、構造化タグ言語により記述された文書を解析して階層化されたノードを生成し、当該ノードに基づいて処理を行う処理装置における処理方法において、高速処理モードが指定されたときは、文書に対する全てのノードが生成される前であって少なくとも最上位階層から最下位階層までのノードが生成されるタイミングで処理を処理装置に行わせる工程、を備えることを特徴としている。これにより、例えば、１つの要素群を生成したタイミングでレイアウト、印刷、表示等の処理が行われるため処理のスループットの向上を図ることができる。また、１つの要素群が生成されるごとにメモリに格納されたこの要素群を消去して次に生成される要素群に対して領域を確保すればメモリ容量の低減を図ることができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明を実施するための最良の形態を説明する。図１は、本発明が適用されるシステム全体の構成を示す図である。本システムは、全体としてホスト装置４０と処理装置の一例であるプリンタ１０とから構成される。
【００１５】
ホスト装置４０は、例えばパーソナルコンピュータであって、ＸＭＬやＸＨＴＭＬなどの構造化タグ言語により記述された文書（以下、「文書」）を生成し、プリンタ１０に出力する。
【００１６】
プリンタ１０は、情報処理部２０と動力機構部３０とから構成される。プリンタ１０はホスト装置４０からの文書が入力され、情報処理部２０で文書に対して解析、レイアウト等の処理を行う。その後、動力機構部３０で印刷の処理が行われる。
【００１７】
情報処理部２０は、処理手段としてのＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、ＬＣＤコントローラ２４と無線通信インターフェース（Ｉ／Ｆ）２６と、有線通信Ｉ／Ｆ２７とから構成され、内部バス２８を介して互いに接続される。また、ＬＣＤコントローラ２４はＬＣＤパネル２５にも接続される。
【００１８】
ＣＰＵ２１は、ＲＯＭ２２に格納された各プログラムを読み出して、上述した解析等の各種処理を実行する。ＲＡＭ２３は、文書内で記述された各要素の情報や要素に付随するテキスト情報が格納されるほか、ＣＰＵ２１が処理を行う際に各種情報が格納される。
【００１９】
ＬＣＤコントローラ２４は、ＬＣＤパネル２５の表示を制御する。ＬＣＤパネル２５には後述する印刷モード選択のための画面が表示されるが、ＬＣＤコントローラ２４はその表示のための実際の制御を行う。
【００２０】
無線通信Ｉ／Ｆ２６は、無線通信（ブルートゥース等）用のインターフェースである。本プリンタ１０は、このＩ／Ｆ２６を介して例えば携帯電話やデジタルカメラ等と無線により接続される。有線通信Ｉ／Ｆ２７は有線通信用のインターフェースであり、本実施例ではこのＩ／Ｆ２７を介してホスト装置４０と接続される。
【００２１】
一方、動力機構部３０は、用紙等の記録媒体が給紙される給紙機構３１と、記録媒体に実際に印刷を行う印刷エンジン３２と、印刷された記録媒体を排紙するための排紙機構３３とから構成される。この場合、印刷エンジン３２は、送紙機構、キャリッジ、印刷ヘッドを含み、インクジェットプリンタとして機能する。勿論、熱転写プリンタやレーザプリンタ等各種プリンタとして機能するためにそれ以外の印刷エンジンでもよい。
【００２２】
このように構成された本プリンタ１０の動作について以下詳細に説明する。本プリンタ１０ではＸＨＴＭＬ等の文書に対して大略、解析、レイアウト、印刷の順に処理が行われる。ただし、本プリンタ１０はこれらの処理の前に高速印刷モード又は通常レイアウトモードのいずれかのモードを選択することができる。高速印刷モードでは、その詳細は後述するが、解析処理において１つの文書内の全要素に対してＤＯＭツリーを生成するのではなく、最上位階層から最下位階層までの１つのＤＯＭツリーを生成して印刷内容の一部が確定したタイミングで、逐次、レイアウトや印刷の処理を行う。従って、１つの文書内の全ての要素（又は要素に付随するテキスト、以下とくに区別する必要のない限り「要素」と記す）に対してＤＯＭツリーを生成した後、レイアウト及び印刷処理を行う通常レイアウトモードと比較して処理のスループットの向上を図ることができる。
【００２３】
このモード選択処理について図２のフローチャートを参照して詳細に説明する。まず、ＣＰＵ２１は本処理を実行するためのプログラムをＲＯＭ２２から読み出すことで処理を開始する（Ｓ１０）。そして、ＣＰＵ２１はモードの選択のための画面を、ＬＣＤコントローラ２４を介してＬＣＤパネル２５に表示させる（Ｓ１１）。その後、操作ボタンやパネル２５、リモコン等の操作により高速印刷モードか通常レイアウトモードのいずれかが選択され、決定される（Ｓ１２）。決定したモードに関する情報は、例えば、ＣＰＵ２１によってＲＡＭ２３の所定領域に記憶され必要に応じ読み出されることになる。そして処理が終了する（Ｓ１３）。この処理により、本プリンタ１０はいずれかのモードで処理が行われる。
【００２４】
かかるモードが選択された後、図３に示す全体処理が実行される。すなわち、ＣＰＵ２１は処理を開始する（Ｓ２０）と、高速印刷モードか否かを判定する（Ｓ２１）。例えば、ＲＡＭ２３に記憶されたモードに関する情報をＣＰＵ２１が読み出して判定する。そして、モードが高速印刷モードのとき（Ｓ２１で“ＹＥＳ”）は、解析、レイアウト、印刷の一連の処理が逐次印刷モードにより実行される（Ｓ２２）。一方、通常レイアウトモードのとき（Ｓ２１で“ＮＯ”）は、通常レイアウトモードによる解析、レイアウト、印刷の処理が行われる（Ｓ２３）。ここで通常レイアウトモードによる解析等の処理とは上述したように１文書内の全要素ごとに解析等の処理を行うモードである。そして、本処理が終了する（Ｓ２４）ことになる。
【００２５】
図３は全体処理の動作について示しているが、この中で高速印刷モードが選択されたときの逐次印刷モードによる解析、レイアウトの処理の詳細について図４を参照しながら説明する。
【００２６】
まず、処理が開始されると（Ｓ３０）、ＣＰＵ２１はＸＨＴＭＬ等の文書に対してレイアウト可能な要素群を取得する（Ｓ３１）。ここで要素群とは、最上位階層から最下位階層までのノード群であり、これ以上子ノードが存在しないノードまでのツリー構造のことである。また、ノードは文書内の要素又は要素に付随するテキストから構成される。図５（Ａ）の文書に対する要素群の例を図６（Ａ）乃至図６（Ｃ）に示す。従来では、例えば図５（Ａ）に示す文書に対してすべての要素に関するＤＯＭツリーを生成していた（図５（Ｂ）参照）。これでは、文書内の全ての要素に対してツリーを生成しその後このツリーの単位でレイアウト等の処理を行うため処理に時間がかかる。そこで、本発明では１つの要素群を取得したタイミングで後のレイアウト等の処理を逐次（パラレルに）行うようにする。要素群の取得により、印刷内容の一部が確定するため、このタイミングでその後のレイアウト等の処理を要素群ごとに行うことができる。従って、文書内の全要素に対してＤＯＭツリーを生成する従来の処理と比較して処理のスループットの向上を図ることができる。
【００２７】
また、解析処理で１つの要素群を取得できれば、それ以前に取得した要素群をメモリに確保する必要がない。以前に取得した要素群に対して解析する必要がないからである。例えば図６（Ｂ）の例では、以前に取得した要素群Ａ（同図で点線表示）に対して以後解析処理は行われない。従って、この要素群ＡをＲＡＭ２３などのメモリから削除し、次の要素群Ｂを取得するために領域を確保しておけば、ＤＯＭツリー全体のためのメモリ容量は必要なく、従来の処理と比較して容量の削減を図ることができる。
【００２８】
なお、要素群の取得はＣＰＵ２１によってＲＡＭ２３の所定領域内で行われるが、図６（Ａ）等に示す状態のままでＲＡＭ２３内においてツリーが生成されるわけではない。すなわち、各ノードを構成する要素（又はテキスト）がＲＡＭ２３の各アドレス領域に格納されている状態で、ポインタにより各アドレスを接続することでツリー構造が生成される。
【００２９】
図４に戻り、次いでＣＰＵ２１はレイアウトする要素群にスタイル情報を関連付ける（Ｓ３２）。スタイル情報とは各要素（又はテキスト）の１画像内での位置や色の指定等を行うための情報のことである。例えば、スタイル情報は、ＣＳＳ（Cascading Style Sheet）やＸＳＬ（Extensible Stylesheet Language）などのスタイルシートとしてＸＨＴＭＬ等の文書とは別に記述されてもよいし、当該文書内に記述されていてもよい。このスタイル情報もホスト装置４０から入力されてＲＡＭ２３の各アドレス領域にそれぞれ格納される。そして、要素群の各要素と各要素に対するスタイル情報とは、要素が格納されたアドレスとスタイル情報が格納されたアドレスとをポインタで接続することで関連付けることになる。なお、１つの要素群取得のタイミングでレイアウト等の処理を行うと上述したが、実際の処理では要素群を取得し各要素にスタイル情報を関連付けたタイミングでその後のレイアウト等の処理を行うことになる。
【００３０】
次いで、レイアウトする要素群に不一致誘引情報が含まれているか否か判断する（Ｓ３３）。不一致誘引情報とは、絶対座標により要素の座標位置が決定される情報のことで、例えば、枠線の表示を指示するborderプロパティやイメージを示す<img>タグ等である。通常、レイアウト処理では、文書内の各要素（又はテキスト）に対して１ページ内（１画像内）の座標位置を決定する処理が行われる。決定した座標位置は、例えば、ＣＰＵ２１によってＲＡＭ２３の所定領域に格納され、各要素とポインタ等で関連付けられる。しかし、文書内に不一致誘引情報が存在することにより、座標位置を決定していく順序（レイアウト順）と画像を形成していく順序（印刷順）とが異なる状態が発生する場合がある。
【００３１】
例えば、図７（Ａ）に示すようにテキストを先にレイアウトし、その後イメージをレイアウトしたときに、印刷処理ではイメージの方がテキストよりも先に画像を形成することなる。このようなことから、１ページ分の全要素群に対してレイアウトの終了を待った後でなければ印刷を行うことができない。これでは、レイアウトから印刷までのスループットの向上を図ることができない。そこで、不一致誘引情報があるか否かを判断し、それに応じてレイアウトの処理を異ならせるようにする。
【００３２】
すなわち、図４に示すように、不一致誘引情報が要素群にあれば（Ｓ３３で“ＹＥＳ”）、不一致情報の影響の最も低い状態で当該要素群をレイアウトする（Ｓ３５）。一方で、不一致誘引情報がなければ解析により取得した要素群をそのままの順でレイアウトする（Ｓ３４）。不一致誘引情報が最も低い状態でのレイアウトとは、例えば、図７（Ｂ）に示すようにレイアウト順が後であるイメージに対して改行するようレイアウトすることである。これにより、レイアウト順に印刷が行われるため、レイアウトから印刷までの処理のスループットが向上する。
【００３３】
不一致誘引情報の影響が最も低い状態でのレイアウトとして、改行以外にも、例えば先行する描画対象の要素やテキストにその大きさや高さを合わせる（大きさや高さを一致又は小さくする）ようレイアウトするようにしてもよい。例えば、図７（Ａ）の例では、イメージを先行するテキストと同じ大きさや高さとなるようにレイアウトする。これにより、各要素がレイアウト順に印刷される。
【００３４】
さらに、影響が最も低い状態でのレイアウトとして、不一致誘引情報の要素自体が印刷等されないようにしてもよい。つまり、不一致要因となる要素以外を出力し、不一致要因となる要素は出力しないようにする。例えば、図７（Ａ）の不一致要因となるイメージ自体を動力機構部３０に出力せず、印刷等を行わせないようにする。この場合も、各要素（がレイアウト順に印刷され、処理のスループットの向上を図ることができる。
【００３５】
ここで、レイアウト処理において処理の順番に着目すると、レイアウト処理は解析処理で生成した要素群の順で処理が行われる。従って、レイアウト順は要素群の生成順に一致するため、レイアウト順と印刷順とが異なる場合とは、要素群の生成順と印刷順が異なる場合と同じことである。よって、上述した議論は、不一致誘引情報により最上位階層から最下位階層までの１つの要素群の生成順と要素群に対する印刷や表示などの処理順とが異なるときでも要素群の生成順で印刷や表示等の処理を行う、と言い換えることができる。
【００３６】
なお、指定されたレイアウト情報によっては、例えば、図７（Ａ）に示すイメージ自体が先行するテキストと同じ大きさや高さでレイアウトされることもある。その場合は不一致誘引情報が要素群に存在しても、本ステップで不一致誘引情報の影響が最も低い状態、つまり指定されたレイアウトそのままの状態でレイアウト、及び印刷が行われる。
【００３７】
図４に戻り、かかるレイアウト（Ｓ３４、Ｓ３５）が終了するとＣＰＵ２１は文書内に要素が残っているか否か判断し（Ｓ３６）、残っていれば（ＹＥＳ）、Ｓ３１に移行し上述の処理を繰り返す。また、残っていなければ（ＮＯ）、一連の処理が終了する（Ｓ３７）。なお、処理が終了すると、実際にはレイアウト後の要素群に対して、レンダリング、ＣＭＹＫ（シアン、マゼンタ、イエロー、ブラック）への色変換処理、２値化処理等をＣＰＵ２１が実行することになる。
【００３８】
これら一連の処理により、どのように処理のスループットが向上したかを図８及び図９を用いて説明する。図面上、解析タスク、レイアウトタスク、印刷タスクとあるが、解析タスクは、図４のフローチャート上、Ｓ３１からＳ３２まで、レイアウトタスクはＳ３３からＳ３６までの処理のことである。また、印刷タスクはＣＰＵ２１ではなく動力機構部３０のＣＰＵにおけるタスクである。
【００３９】
図８に示すように、解析タスクでは各要素群Ａ、Ｂ、Ｃを順次取得等する。そして、レイアウトタスクが最初に取得した要素群Ａに対する処理を行っているときに、解析タスクは次の要素群Ｂに対する処理を行う。さらに、印刷タスクが要素群Ａに対する処理を行っているときに、解析タスクは要素群Ｃ、レイアウトタスクは要素群Ｂに対する処理を行う。１つの文書内の全要素を１つの単位として処理を行う従来の例（図９参照）と比較すると、要素群ごとに各タスクがパラレルで動作する（逐次処理が行われる）ために全体の処理時間が短縮され処理のスループットが向上する。
【００４０】
ところで、このような高速印刷モードによる処理に関し、以下の問題が発生する。例えば、図１０（Ａ）に示すようなＤＯＭツリーが生成され、各ノードにはスタイル情報として枠線を表示するborderプロパティが関連付けられている場合を考える。本来なら同図（Ａ）の右側に示すようにレイアウトされ枠線が印刷、表示されるべきである。しかし、要素群ごとにレイアウトすると、図１０（Ｂ）や図１１（Ａ）に示すように本来のレイアウトと異なるレイアウトにより印刷等される。つまり、あるノードが分岐して複数の子ノードを持ち、さらに、各ノードに枠線の表示や印刷を示すレイアウト情報が関連付けられているときに要素群ごとに処理を行うと、１つの枠線内に分岐した子ノードの各要素（又はテキスト）がレイアウトされ、印刷されるべきところ複数の枠線のそれぞれに子ノードの要素やテキストが印刷等されてしまう。
【００４１】
そこで、枠線の表示や印刷等が指定されているとき、各ノード（またはツリー）に対して子ノードが分岐しているか否かの分岐情報を記憶させるようにする。レイアウトタスクではこの分岐情報をもとにして、分岐があれば枠線の枠内に次の要素群に基づく処理を埋めその枠線を閉じるようレイアウトする。その枠線が閉じれば、レイアウトタスクは印刷タスクに枠線の情報とともに枠内にある要素等に関する情報を出力する。従って、１つの枠線が印刷等されるべきところノードが分岐することで複数の枠線が印刷等される事態を防止し、本来のレイアウトにより印刷や表示を行うことができる。
【００４２】
例えば、分岐情報としては図１１（Ｂ）に示すように、“未レイアウトの子供あり”、 “自分はこれで終了”などである。前者は分岐した子ノードがありその子ノードに対してまだレイアウトしていないことを示し、後者は要素群の中で最下位層のノードであって分岐する子ノードを持たないことを示す。そして、“未レイアウトの子供あり”については次の要素群に対する処理のために一旦処理を待つ。この場合は枠線を閉じないようにする（図１１（Ｂ）参照）。また、“自分はこれで終了”に対してはそのまま処理を行う。この場合は、枠線を閉じるようにレイアウトする。さらに、図１２（Ａ）に示すように、分岐情報として、分岐した子ノードが最後の子ノードであることを示す“最後の子供”がある。この分岐情報に対しては、一旦処理を待った枠線の枠内に“最後の子供”の要素を入れてその枠線が閉じるよう処理を行う。
【００４３】
最終的に図１２（Ｂ）に示すように、当初のレイアウトと同じレイアウトにより印刷される。なお、この分岐情報の例としては上述した以外にも、単純に子ノードの分岐あり、なしを示す情報であってもよい。分岐情報は要素群の各階層でノードが分岐するか否かを示す情報であればどのようなものであってもよい。
【００４４】
なお、分岐情報の生成と記憶は解析タスクで行われる。一般にＸＭＬ等の構造化記述言語による文書の作成については、その作成前に文書内でのタグ付けのルール等を示すスキーマがユーザ等により作成される。作成されたスキーマは、例えば、ＣＰＵ２１によってＲＡＭ２３に記憶される。このスキーマには、子ノードの出現回数などノードの親子関係を示す情報も記述される。解析タスクではスキーマに記述されたこれらの情報を読み出し、分岐した子ノードが存在するか否かを予想することにより分岐情報を生成する。また、分岐情報の記憶に関しては、ノードを構成する要素はＲＡＭ２３の所定アドレス領域に格納されているため、そのアドレス内の空き領域に記憶させるようにしてもよいし、別のアドレスに記憶させポインタで接続するようにしてもよい。
【００４５】
また、枠線の処理に関し、上述の例では分岐情報を用いて処理を行うことついて説明したが、それ以外にも枠線自体をはずす処理を行うようにしてもよい。例えば、図１３（Ａ）に示すようにある要素群を取得し、各ノードに枠線の表示、印刷を指示するスタイル情報が関連付けられているとき、本来点線に示す部分に枠線が表示、印刷されるはずであるが、枠線自体をはずして印刷、表示を行うようにする。最終的には、図１３（Ｂ）のようにレイアウトされ印刷される。従って、この場合も１つの枠線が印刷等されるべきところノードが分岐することで複数の枠線が印刷等される事態を防止することができる。
【００４６】
さらに、枠線内の内容情報のみ印刷等が行われるようにしてもよい。つまり、borderプロパティ やpaddingプロパティ、 marginプロパティなどの枠線に関するスタイル情報が各要素に関連付けられているときに、これらのスタイル情報を考慮せずに無いものとして枠線内の内容情報（コンテンツ）のみ印刷等させるようにする。
【００４７】
例えば、図１４（Ａ）に示すようにＤＯＭツリーが解析タスクで取得され、要素（２）から要素（３）までにborder等のスタイル情報が関連付けられているとき、これらをレイアウトし印刷等を行うと同図の右側に示すようになる。これに対して、各要素にスタイル情報が無いものとしてレイアウトし、印刷等を行うと図１４（Ｂ）に示すように印刷等される。従って、枠線そのものが印刷等されないことになり、１つの枠線が印刷等されるべきところノードが分岐することで複数の枠線が印刷等される事態を防止することができる。この場合にマージン（margin）と、パディング（padding）とが考慮されないため、例えばデフォルトの位置に内容領域がレイアウトされる。
【００４８】
以上説明したように、本実施形態では、高速印刷モードが指定されたとき、１つの文書内の全ノードが生成される前であって少なくとも最上位階層から最下位階層までのノードが生成されるタイミングでその後のレイアウトや印刷等の処理を行うようにしたので、処理のスループットの向上を図るとともに、メモリ容量の低減を図ることができる。
【００４９】
上述の例では、処理装置の例としてプリンタ１０を用いて説明したが、それ以外にもファクシミリや複写機などの画像形成装置や、ディスプレイなど表示装置であってもよい。さらに、ホスト装置４０が本発明に係る処理装置であってもよい。この場合、ホスト装置４０で解析やレイアウトなどの処理が行われ、プリンタ１０で印刷処理が行われることになる。この場合でも上述の例と全く同様の作用効果を奏する。
【００５０】
また、上述の例では１つの要素群を取得したタイミングでその後の処理として、レイアウト、印刷の処理を行うとして説明したが、それ以外にも例えば、レイアウトしその後表示の処理を行うようにしてもよい。解析後の処理については種々のアプリケーション処理が考えられる。この場合でも、上述の例と同様の作用効果を奏する。
【図面の簡単な説明】
【００５１】
【図１】本発明が適用されるシステム全体の構成を示す図である。
【図２】モード選択処理の動作を示すフローチャートである。
【図３】処理装置における全体処理の動作を示すフローチャートである。
【図４】高速印刷モードの解析、レイアウト処理の動作を示すフローチャートである。
【図５】ＸＨＴＭＬ文書の一例とそのＤＯＭツリーの例を示す図である。
【図６】要素群の例を示す図である。
【図７】不一致誘引情報の例と改行処理によるレイアウトを示す図である。
【図８】各タスクでの逐次処理の例を示す図である。
【図９】従来での各タスクにおける処理の例を示す図である。
【図１０】ＤＯＭツリーとそのレイアウトの例を示す図である。
【図１１】要素群の例や分岐情報の例等を示す図である。
【図１２】要素群の例や分岐情報の例等を示す図である。
【図１３】要素群の例と枠線をはずしたときの印刷例を示す図である。
【図１４】内容領域のみ印刷した場合の例等を示す図である。
【符号の説明】
【００５２】
１０  プリンタ、  ２０  情報処理部、  ２１  ＣＰＵ、  ２３  ＲＡＭ、  ２５  ＬＣＤパネル、  ３０  動力機構部、  ４０  ホスト装置
【図１】
2006082270.tif 000003
【図２】
2006082270.tif 000004
【図３】
2006082270.tif 000005
【図４】
2006082270.tif 000006
【図５】
2006082270.tif 000007
【図６】
2006082270.tif 000008
【図７】
2006082270.tif 000009
【図８】
2006082270.tif 000010
【図９】
2006082270.tif 000011
【図１０】
2006082270.tif 000012
【図１１】
2006082270.tif 000013
【図１２】
2006082270.tif 000014
【図１３】
2006082270.tif 000015
【図１４】
2006082270.tif 000016