(57)【要約】      （修正有）【課題】非常に大きいＸＭＬファイルの構文解析および検索を最適化する。【解決手段】ＳＡＸパーサを使用してＸＭＬドキュメントを処理する。構文解析プロシージャは、構文解析スレッドにロケートされ、ＳＡＸパーサのコールバックファンクションを使用し、ＳＡＸパーサを生成および実行する。メインスレッドは、検索される目標コンテンツおよびウェイクアップ信号を構文解析スレッドに送信して構文解析スレッドを制御し、さらなる処理のため、構文解析スレッドによって検出されるコンテンツを受け取る。構文解析スレッドにおいて、コールバックファンクションがＳＡＸパーサにより呼び出され、目標コンテンツが検出された場合、構文解析スレッドは、検出されたコンテンツをウェイクアップ信号と共にメインスレッドに送信してスリープモードに入る。追加の目標コンテンツを伴うウェイクアップ信号がメインスレッドから受け取られるまで構文解析は停止する。【選択図】図１
2008293477.tif 000002
【特許請求の範囲】
【請求項１】
拡張マークアップ言語（ＸＭＬ）ドキュメントを処理するための方法であって、
メインスレッドにおいて、
構文解析スレッドを生成するステップ（ａ）、
前記ＸＭＬドキュメントにおいて検索される次の目標コンテンツのＩＤを、前記構文解析スレッドに送信し、そして、第１ウェイクアップ信号を前記構文解析スレッドに送信するステップ（ｂ）、
前記構文解析スレッドにおいて、
前記メインスレッドから前記第１ウェイクアップ信号を受け取った後において、前記構文解析スレッドによって送信された次の目標コンテンツの前記ＩＤを取得するステップ（ｃ）、
イベント駆動型ＸＭＬパーサプログラムを実行し、前記ＸＭＬドキュメントの一部分を構文解析し、前記ＸＭＬパーサプログラムは、前記ＸＭＬドキュメントにおいて一つ以上の定義済みイベントに遭遇すると、一つ以上のコールバックファンクションを呼び出すステップ（ｄ）、および、
前記ＸＭＬ構文解析プログラムによって呼び出されるコールバックファンクションに応じて、前記ＸＭＬ構文解析プログラムによって検出された目標コンテンツを、前記メインスレッドに送信し、第２ウェイクアップ信号を、前記メインスレッドに送信し、そして、スリープモードに入るステップ（ｅ）、
を有することを特徴とする方法。
【請求項２】
前記メインスレッドにおいて、
ステップ（ｂ）の前で、前記ＸＭＬドキュメントにおいて検索される目標コンテンツのＩＤを取得するステップ（ｆ）、
ステップ（ｂ）の後で、前記構文解析スレッドからの前記第２ウェイクアップ信号を待ち受けるステップ（ｇ）、および、
前記第２ウェイクアップ信号を受け取った後で、前記構文解析スレッドによって検出されたコンテンツを処理するステップ（ｈ）を、
さらに有することを特徴とする請求項１に記載の方法。
【請求項３】
前記メインスレッドにおいて、追加の目標コンテンツのために、ステップ（ｂ）、（ｇ）および（ｈ）を繰り返すステップを、さらに有することを特徴とする請求項２に記載の方法。
【請求項４】
前記構文解析スレッドにおいて、ステップ（ｅ）は、
前記ＸＭＬ構文解析プログラムによって呼び出される各コールバックファンクションに応じて、前記目標コンテンツが前記ＸＭＬ構文解析プログラムによって検出されたか否かを決定するステップ（ｅ１）、および、
前記目標コンテンツが検出されない場合、前記ＸＭＬ構文解析プログラムの実行を継続するステップ（ｅ２）を、
さらに有することを特徴とする請求項１に記載の方法。
【請求項５】
前記構文解析スレッドにおいて、前記ＸＭＬドキュメントの最後に到達しても前記目標コンテンツが検出されない場合、ステータス信号を、前記メインスレッドに送信するステップを、さらに有することを特徴とする請求項４に記載の方法。
【請求項６】
前記メインスレッドにおいて、前記構文解析スレッドからのステータス信号を受け取ることに応じて、新しい構文解析スレッドを生成するステップを、さらに有することを特徴とする請求項５に記載の方法。
【請求項７】
データ処理装置を制御するためのコンピュータプログラムであって、前記コンピュータプログラムは、前記データ処理装置によって拡張マークアップ言語（ＸＭＬ）ドキュメントを処理するための方法が実行されるように、構成されており、
前記プロセスは、
メインスレッドにおいて、
構文解析スレッドを生成するステップ（ａ）、
前記ＸＭＬドキュメントにおいて検索される次の目標コンテンツのＩＤを、前記構文解析スレッドに送信し、そして、第１ウェイクアップ信号を前記構文解析スレッドに送信するステップ（ｂ）、
前記構文解析スレッドにおいて、
前記メインスレッドから前記第１ウェイクアップ信号を受け取った後において、前記構文解析スレッドによって送信された次の目標コンテンツの前記ＩＤを取得するステップ（ｃ）、
イベント駆動型ＸＭＬパーサプログラムを実行し、前記ＸＭＬドキュメントの一部分を構文解析し、前記ＸＭＬパーサプログラムは、前記ＸＭＬドキュメントにおいて複数の定義済みイベントに遭遇すると、複数のコールバックファンクションを呼び出すステップ（ｄ）、および、
前記ＸＭＬ構文解析プログラムによって呼び出されるコールバックファンクションに応じて、前記ＸＭＬ構文解析プログラムによって検出された目標コンテンツを、前記メインスレッドに送信し、第２ウェイクアップ信号を、前記メインスレッドに送信し、そして、スリープモードに入るステップ（ｅ）、
を有することを特徴とするコンピュータプログラム。
【請求項８】
前記プロセスは、
前記メインスレッドにおいて、
ステップ（ｂ）の前で、前記ＸＭＬドキュメントにおいて検索される目標コンテンツのＩＤを取得するステップ（ｆ）、
ステップ（ｂ）の後で、前記構文解析スレッドからの前記第２ウェイクアップ信号を待ち受けるステップ（ｇ）、および、
前記第２ウェイクアップ信号を受け取った後で、前記構文解析スレッドによって検出されたコンテンツを処理するステップ（ｈ）を、
さらに有することを特徴とする請求項７に記載のコンピュータプログラム。
【請求項９】
前記プロセスは、前記メインスレッドにおいて、追加の目標コンテンツのために、ステップ（ｂ）、（ｇ）および（ｈ）を繰り返すステップを、さらに有することを特徴とする請求項８に記載のコンピュータプログラム。
【請求項１０】
前記構文解析スレッドにおいて、ステップ（ｅ）は、
前記ＸＭＬ構文解析プログラムによって呼び出される各コールバックファンクションに応じて、前記目標コンテンツが前記ＸＭＬ構文解析プログラムによって検出されたか否かを決定するステップ（ｅ１）、および、
前記目標コンテンツが検出されない場合、前記ＸＭＬ構文解析プログラムの実行を継続するステップ（ｅ２）を、
さらに有することを特徴とする請求項７に記載のコンピュータプログラム。
【請求項１１】
前記プロセスは、前記構文解析スレッドにおいて、前記ＸＭＬドキュメントの最後に到達しても前記目標コンテンツが検出されない場合、ステータス信号を、前記メインスレッドに送信するステップを、さらに有することを特徴とする請求項１０に記載のコンピュータプログラム。
【請求項１２】
前記プロセスは、前記メインスレッドにおいて、前記構文解析スレッドからステータス信号を受け取ることに応じて、新しい構文解析スレッドを生成するステップを、さらに有することを特徴とする請求項１１に記載のコンピュータプログラム。
【請求項１３】
請求項７〜１２のいずれか１項に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の背景
技術分野
本発明は、ＸＭＬ処理に関し、特に、ＸＭＬファイルを構文解析するための方法および関連装置に関する。
【背景技術】
【０００２】
関連技術の説明
ＸＭＬ（拡張マークアップ言語）は、多目的マークアップ言語であり、異なる情報システム、特に、インターネットのようなネットワークを経由して接続されるシステムを横断するデータの共有を容易にするために、広く使用されている。多数の周知のＸＭＬ処理ソフトウェアライブラリが存在し、ソフトウェア開発者にとって利用可能である。ＸＭＬファイルを構文解析するために最も広く使用されている２つのアルゴリズムは、ＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）およびＳＡＸ（Ｓｉｍｐｌｅ  ＡＰＩ  ｆｏｒ  ＸＭＬ）である。ＤＯＭ型の構文解析においては、パーサモジュールは、ＸＭＬドキュメントをツリーデータ構造に分割する。ツリーの各ノードは、ＸＭＬファイルの構造要素に対応する。極めて大きいＸＭＬファイルの場合、ＤＯＭ構文解析は、ドキュメントツリーデータ構造を記憶するために大量のメモリが要求されるため、困難である。このような大きいファイルのＤＯＭ型構文解析は、アプリケーションが実メモリを割り当てようと試みる結果となり、そして、メモリが不足する状況に帰着する虞がある。このような大きいファイルのためには、ＳＡＸ型構文解析は、好まれる。ＳＡＸ構文解析は、ベント駆動型であり、個別的アプローチを利用し、ＸＭＬドキュメントを処理する。ＳＡＸ構文解析において、アプリケーション（例えば、ＸＭＬ／ポストスクリプト（登録商標）（ＰＳ）コンバータプログラムや、ＸＭＬファイルを利用する他のプログラム）は、別のモジュールであるＳＡＸパーサにより呼び出される一組の定義済みコールバックファンクションを実行する。ＳＡＸパーサのインスタンスが生成される場合、コールバックファンクションに対するポインタは、パーサに渡される。ＳＡＸパーサは、次に、ＸＭＬドキュメントの全部を先頭から最後まで読み取り、そして、それが遭遇するＸＭＬ構造化要素のためのコールバックファンクションを呼び出す。
【発明の開示】
【０００３】
概要
本発明の発明者は、大きいＸＭＬファイルを取り扱う際、ＳＡＸパーサに関するある問題を特定した。上述したように、ＳＡＸパーサは、入力されたＸＭＬファイルを読み取り、そして、ＸＭＬファイル中の特定の構造化要素に遭遇する場合、コールバックファンクションを呼び出す。一旦スタートすると、ＳＡＸパーサは、完了に向って実行され、中断なしでＸＭＬドキュメントの全体を処理する。このアプローチに関する第１の問題は、ＳＡＸパーサを呼び出すアプリケーションが、構文解析のスタート時にＸＭＬドキュメントにおいて、どのコンテンツを検索するかについて知らないことが多いことである。追加のコンテンツを検索することが必要である場合、前記コンテンツの位置を突き止めるために、新しいＸＭＬ構文解析が必要である。ＸＭＬ構文解析に伴う第２の問題は、アプリケーションがＸＭＬファイルにおける複数の構造化要素を検索するように命令されている場合に発生する。ＸＭＬファイルが非常に大きい場合、ファイルの最後の方に配置されているコンテンツを検索することは、非常に時間がかかるだろう。
【０００４】
したがって、本発明は、関連技術の限界および不利な点に起因する一つ以上の問題を実質的に除去する、ＸＭＬファイルを構文解析するための方法を、目指している。
【０００５】
本発明の目的は、特定の条件下において非常に大きいＸＭＬファイルの構文解析および検索を最適化するＸＭＬ構文解析機構を、提供することである。
【０００６】
本発明の付加的な特徴および有利な点は、後に続く説明に記載されており、ある程度、前記説明から明らかになり、あるいは、本発明の実施によって知ることが可能である。本発明の前記目的および他の利点は、添付の図面と同様に、それの説明文および請求の範囲において詳しくは指摘される構成によって、実現化されかつ達成される。
【０００７】
具体的に表現されかつ広範に説明されているこれらおよび／または他の目的を達成するために、本発明は、拡張マークアップ言語（ＸＭＬ）ドキュメントを処理するための方法を提供し、当該方法は、メインスレッドにおいて、構文解析スレッドを生成するステップ（ａ）、前記ＸＭＬドキュメントにおいて検索される次の目標コンテンツのＩＤを、前記構文解析スレッドに送信し、そして、第１ウェイクアップ信号を前記構文解析スレッドに送信するステップ（ｂ）、前記構文解析スレッドにおいて、前記メインスレッドから前記第１ウェイクアップ信号を受け取った後において、前記構文解析スレッドによって送信された次の目標コンテンツの前記ＩＤを取得するステップ（ｃ）、イベント駆動型ＸＭＬパーサプログラムを実行し、前記ＸＭＬドキュメントの一部分を構文解析し、前記ＸＭＬパーサプログラムは、前記ＸＭＬドキュメントにおいて一つ以上の定義済みイベントに遭遇すると、一つ以上のコールバックファンクションを呼び出すステップ（ｄ）、および、前記ＸＭＬ構文解析プログラムによって呼び出されるコールバックファンクションに応じて、前記ＸＭＬ構文解析プログラムによって検出された目標コンテンツを、前記メインスレッドに送信し、第２ウェイクアップ信号を、前記メインスレッドに送信し、そして、スリープモードに入るステップ（ｅ）、を有する。
【０００８】
別の様相において、本発明は、データ処理装置に上記方法を実行させるコンピュータプログラムを提供する。
【０００９】
前述の概略的記述および以下の詳細な記述の両方は、代表的および説明的であり、請求される本発明のさらなる説明を提供することを意図していることが理解されるだろう。
【発明を実施するための最良の形態】
【００１０】
図面の簡単な説明
図１は、本発明の実施形態に係るＳＡＸ構文解析方法を説明するためのフローチャートである。
【００１１】
図２は、本発明の実施形態に係るＳＡＸ構文解析方法が使用される代表的な印刷システムを示している概略ブロック図である。
【００１２】
好ましい実施形態の詳細な説明
本書類に記載される本発明は、上に略述された通常のＳＡＸ型パーサに関連する問題を解決する。本発明の実施形態は、構文解析プロセスにおける所望のポイントにおいてＳＡＸパーサを一時停止することができるＳＡＸ構文解析方法を、提供する。パーサは、一時停止された状態にある一方、ウェイクアップ信号によって追加のコンテンツを検索するように、構成することができる。この方法の利点は、目標コンテンツを検出した後でパーサがＸＭＬファイルの全てを終える必要がないことであり、追加のコンテンツを検索するたびに、再スタートさせる必要がないことである。
【００１３】
ＳＡＸ構文解析方法は、２つの実行スレッドを有する２スレッドアーキテクチャを使用する。実際の構文解析プロシージャは、メインスレッドから分離しているスレッドである構文解析スレッドにロケートされる。構文解析スレッドは、ＳＡＸパーサのコールバックファンクションを使用し、ＳＡＸパーサを生成および実行させる。メインスレッドは、構文解析スレッドを制御し、そして、構文解析スレッドによって位置が突き止められたコンテンツを、さらに処理（例えば、ポストスクリプトへの変換、ディスクへのセーブ等）する。
【００１４】
生成されると、構文解析スレッドは、順繰りにＳＡＸパーサのインスタンスを生成して初期化する。構文解析スレッドにおいて実行される各コールバックファンクションにおいて、目標コンテンツの位置が突き止められているか否かを判断するために、チェックが為される。否である場合、ＳＡＸパーサは、ドキュメントＸＭＬを処理し続ける。目標コンテンツの位置が突き止められている場合、構文解析スレッドは、ステータスをメインスレッドに返却し、そして、メインスレッドからさらなる命令を待ち受ける。
【００１５】
メインスレッドは、構文解析スレッドのインスタンスを生成する。メインスレッドが特定のＸＭＬ要素（目標コンテンツ）を検索するための構文解析スレッドを必要とする場合、それは、どのコンテンツが検索されるかを示している構文解析スレッドのメッセージ待ち行列に、メッセージを格納し、その後、構文解析スレッドのウェイクアップを引き起こさせるウェイクアップ信号をセットする。このポイントにおいて（構文解析スレッドが対象コンテンツを検索している間）、メインスレッドは、構文解析スレッドからのフィードバックを待ち受けると同時に、スリープ状態を入力あるいは別のワークを実行することができる。構文解析スレッドは、ウェイクアップ信号を受け取り、それのメッセージ待ち行列からのメッセージを読み込み、そして、ＳＡＸパーサを実行する。ＳＡＸパーサは、前回一時停止されたところから構文解析をスタートする。目標コンテンツがＸＭＬファイルにおいて検出される場合、構文解析スレッドは、メインスレッドのメッセージ待ち行列にメッセージを格納し、メインスレッドにフィードバック信号を送信し、そして、停止する。
【００１６】
図１のフローチャートは、メインスレッドおよび構文解析スレッドが従うロジックを説明している。後で説明されるように、メインスレッドおよび構文解析スレッドのロジックフローは、ＲＯＭ（読取り専用メモリ）やＨＤ（ハードディスク）等の記憶装置に記憶されたプログラムを実行することによって、ＣＰＵ（中央処理装置）により実行することが可能である。図１に示されるように、メインスレッドは、スタートさせられると、目標コンテンツすなわちＸＭＬファイルにおいて検索する要素あるいはコンテンツのＩＤを取得する（ステップＳ１１）。目標コンテンツＩＤは、ユーザ、データベース等から取得することが可能である。ここで留意すべきは、用語「要素」および「コンテンツ」は、ＸＭＬにおいて特定の意味を有すると共に、この開示において、置き換え可能に使用され、ＸＭＬドキュメントの一部を概して参照しており、また、「目標コンテンツ」は、ＸＭＬドキュメントにおいて検索されているものを参照するために、使用されていることである。各目標コンテンツのため、メインスレッドは、構文解析スレッドが１つも存在しない場合、構文解析スレッドを生成する（ステップＳ１３，Ｓ１４）。概して、構文解析スレッドは、一旦生成されると多数の後続の検索のために存在し続けるが、しかし、ＸＭＬドキュメントを先頭から検索するために、時には再生成されることを必要とする。メインスレッドは、その後、次の目標コンテンツのＩＤを構文解析スレッドに送信し（ステップＳ１５）、そして、構文解析スレッドをウェイクアップさせる信号を送信する（ステップＳ１６）。メインスレッドは、次に、スリープモードに入り、構文解析スレッドからのウェイクアップ信号を待ち受ける（ステップＳ１７）。もう一つの方法として、メインスレッドは、構文解析スレッドからのウェイクアップ信号を待ち受けながら、別のワークを実行することができる。この点について、ここで留意すべきは、構文解析スレッドからの信号は、ウェイクアップ信号として参照されるが、メインスレッドは、必ずしもスリープモードにある必要はない。
【００１７】
構文解析スレッドは、最初に生成される際、検索すべきいかなるコンテンツもまだ受け取っておらず、したがって、スリープモードに入り、そして、ウェイクアップ信号を待ち受ける（ステップＳ２１）。ウェイクアップ信号がメインスレッドから受け取られると、構文解析スレッドは、ウェイクアップ信号の前のステップＳ１５においてメインスレッドから送信されている、目標コンテンツのＩＤを取得する（Ｓ２２）。構文解析スレッドは、次に、ＳＡＸパーサプログラムを実行し、ＸＭＬドキュメントの一部分を処理する（ステップＳ２３）。ＳＡＸパーサは、例えば、ＸＥＲＣＥＳのような現在入手可能なプログラムを含んでいる任意の適当なＳＡＸパーサプログラムによって、実行することができる。それは、構文解析を実行し、構文解析スレッドにより使用されるコールバックファンクションを呼び出す。コールバックファンクションは、例えば、ｓｔａｒｔＥｌｅｍｅｎｔ（）、ｅｎｄＥｌｅｍｅｎｔ（）、ｃｈａｒｓ（）等である。ＳＡＸパーサプログラムがコールバックファンクションを呼び出すたびに（ステップＳ２４）、構文解析スレッドは、目標コンテンツがパーサによって検出されたか否かを決定する（ステップＳ２５）。目標コンテンツが検出されると、構文解析スレッドは、当該コンテンツをメインスレッドに送信し（ステップＳ２６）、ウェイクアップ信号を前記メインに送信し（ステップＳ２７）、そして、独りでスリープモードに入る（すなわち、さらなる構文解析オペレーションは、停止させられる）（ステップＳ２１）。一方、目標コンテンツが、コールバック後に検出されない場合（ステップＳ２５における「Ｎ」）、構文解析スレッドは、ＳＡＸパーサを命令し、目標コンテンツが検出されるまで（ステップＳ２５における「Ｙ」）、あるいは、ドキュメントの最後に到達するまで（ステップＳ２８における「Ｙ」）、構文解析を継続させる（ステップＳ２３）。
【００１８】
メインスレッドは、ウェイクアップ信号を構文解析スレッド（ステップＳ１７）から受け取ると、適切なステップを実行し、例えば、コンテンツのポストスクリプト（登録商標）への変換、印刷、ディスクへのセーブ等のさらなる処理を、コンテンツに実施する（ステップＳ１８）。メインスレッドは、その後、全ての目標コンテンツが処理されるまで（ステップＳ１２における「Ｎ」）、次の目標コンテンツ用のプロセスを繰り返す（ステップＳ１３〜Ｓ１８）。
【００１９】
ＳＡＸパーサの特質のため、検索の際、構文解析スレッドは、ＸＭＬドキュメントにおいてすでに通り過ぎたコンテンツを、検出することができない。戻って、構文解析スレッドにおけるステップＳ２５を参照し、コールバックが呼び出された後、構文解析スレッドが、目標コンテンツが検出されなかったが（ステップＳ２５における「Ｎ」）、ＸＭＬドキュメントの最後に到達した（ステップＳ２８における「Ｙ」）と決定する場合、構文解析スレッドは、イグジットする。輻輳を避けることは、図１に示されていないけれど、それがイグジットする前に、構文解析スレッドは、ステータス信号をメインスレッドに送信し、この結果を、後者に通知する。それに応じて、メインスレッドは、ステップＳ１４へ進み、新しい構文解析スレッドを生成し、ＸＭＬドキュメントの先頭から、いまだ検出されていない目標コンテンツを検索する。
【００２０】
本発明の実施形態に係るＳＡＸ構文解析方法の利点は、２つの実行スレッドを使用することによって、目標コンテンツが構文解析スレッドによって検出された後で、構文解析は、一時停止させられ、そして、メインスレッドによって命令された場合、一時停止されたポイントから再スタートされて、次のコンテンツのために検索することできることである。この意味において、前記ＳＡＸ構文解析は、命令ＳＡＸ構文解析として参照することが可能である。
【００２１】
２スレッドアーキテクチャを使用する別の利点は、メインスレッドが、構文解析スレッドがそのタスクを実行するやり方に、関与する必要がないことである。したがって、２つのスレッド間のインタフェースが一定に保たれる限り、構文解析機構のためのプログラムコードは、メインスレッドに影響を及ぼすことなく、完全に変更することができる。
【００２２】
命令ＳＡＸ構文解析方法は、ソフトウェア、ファームウェアあるいはハードウェアとして、実践することができる。多数の既存のＸＭＬ処理ソフトウェアライブラリのいずれか一つ、例えば、ＸＥＲＣＥＳ（「ａｐａｃｈｅ．ｏｒｇ」ウェブサイトにおいて入手可能）を使用し、ステップＳ２３における構文解析を実行することによって、それを実践することができる。
【００２３】
命令ＳＡＸ構文解析方法は、ＸＭＬ処理方法の一部を構成し、当該方法は、例えば、プリンタによる画像の印刷、ディスプレイ装置上への画像の表示等の様々なアプリケーションのために、ＸＭＬファイルを処理するために使用される。図２は、ＸＭＬ構文解析方法が使用される代表的な印刷システムを示している概略ブロック図である。前記印刷システムは、パーソナルコンピュータ（ＰＣ）１００と、例えば、シリアルバス、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）等のデータ通信回線を経由して接続されるプリンタ２００とを有する。ＰＣ１００は、広く知られた構造を有し、当該構造においては、印刷されるドキュメントは、アプリケーションプログラムを使用して作成され、そして、ユーザの指示によって、前記ドキュメントは、ＰＤＬデータの形式あるいはＸＭＬデータの形式で、プリンタ２００に送信される。プリンタ２００は、概して、制御部２０１、画像処理部２０２、プリントエンジン２０３および入出力（Ｉ／Ｏ）部２０４を有する。制御部２０１は、中央処理装置（ＣＰＵ）、ランダムアクセスメモリ（ＲＡＭ）および読取り専用メモリ（ＲＯＭ）を有する。ＣＰＵは、ＲＯＭに記録された多様なソフトウェアプログラムを、ＲＡＭに読み出し、プリンタ２００の内部装置部２０２〜２０４を制御する。ＣＰＵ（およびＲＡＭ）もまた、ＲＯＭに同様に記録されるＸＭＬ処理プログラムを使用して、ＸＭＬファイルを処理し、そして、ラスタ画像を生成する。本実施形態におけるＸＭＬ処理プログラムは、その一部として、上述の２スレッドアーキテクチャを使用するＳＡＸパーサを有する。画像処理部２０２は、ＣＰＵ２０１の制御下、ラスタライズされた画像データに対して、例えば、ガンマ補正、スクリーニング処理等の多様な画像処理を実行し、そして、処理された画像データをプリントエンジン２０３に送信する。例えば、電子写真プロセスを用いるプリントエンジンは、画像処理部２０２から送信される画像データに基づいて、記録紙上に画像を生成する。Ｉ／Ｏ部は、ＰＣ１００からＰＤＬあるいはＸＭＬデータの形式のプリントデータを、受け入れる。
【００２４】
本発明に係る命令ＳＡＸ構文解析方法において、本発明の意図あるいは範囲から逸脱することなく、多様な修正および変更を為すことが可能であることは、当業者にとって明らかである。特に、ＳＡＸパーサが一例として使用されているけれども、本発明は、パーサがベント駆動型のストリーム的なやり方で作動する限り、いかなる特定のＸＭＬ構文解析アルゴリズムにも限定されない。したがって、本発明は、添付される請求の範囲およびそれらの等価の範囲内にある修正および変更を包含することを意図している。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態に係るＳＡＸ構文解析方法を説明するためのフローチャートである。
【図２】本発明の実施形態に係るＳＡＸ構文解析方法が使用される代表的な印刷システムを示している概略ブロック図である。
【図１】
2008293477.tif 000003
【図２】
2008293477.tif 000004
【外国語明細書】
2008293477000001.pdf
2008293477000002.pdf
2008293477000003.pdf
2008293477000004.pdf