(57)【特許請求の範囲】
【請求項１】
印刷ジョブに係るＸＭＬデータを処理する印刷システムコントローラにおいて実行可能な方法であって、
複数のＸＭＬノードを含むＸＭＬデータを第１順序により受信するステップと、
前記ＸＭＬデータの各ＸＭＬノードを処理するステップであって、該ステップはさらに、前記ＸＭＬノードをパーシングして、前記印刷ジョブに係る印刷パラメータ又は他のＸＭＬノードを特定し、印刷パラメータの特定に応答して、前記印刷パラメータに関する情報を、エントリのキー値フィールドが前記第１順序における前記ＸＭＬノードの序数位置を示し、前記エントリの値フィールドが前記印刷パラメータを示すｋｅｙ−ｖａｌｕｅペアデータ構造のエントリに格納し、前記ＸＭＬノードのチャイルドＸＭＬノードの特定に応答して、前記チャイルドＸＭＬノードを再帰的に処理する、ことを含む前記処理するステップと、
各エントリの値フィールドの印刷パラメータに従って前記印刷ジョブの出力を生成するため、各エントリのキー値フィールドの前記序数位置により決定される順序により前記ｋｅｙ−ｖａｌｕｅペアデータ構造の各エントリを処理するステップと、
を有する方法。
【請求項２】
前記ＸＭＬデータは、ＪＤＦジョブチケットである、請求項１記載の方法。
【請求項３】
前記印刷システムコントローラは、ＰｏｓｔＳｃｒｉｐｔインタプリタを有し、
前記各ＸＭＬノードを処理するステップは、前記ＰｏｓｔＳｃｒｉｐｔインタプリタにより実行される、請求項１記載の方法。
【請求項４】
前記情報を格納するステップは、ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造を使用し、
単調増加するインデックス値の現在値を含めるため、前記キー値を生成するステップと、
前記インデックス値をインクリメントするステップと、
前記生成されたキー値を前記キー値フィールドとして前記ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造のエントリに格納するステップと、
前記エントリの値フィールドとして前記ＸＭＬノードの名前と前記印刷パラメータとを格納するステップと、
をさらに有する、請求項３記載の方法。
【請求項５】
前記名前と前記印刷パラメータとを格納するステップはさらに、前記エントリの値フィールドとしてＰｏｓｔＳｃｒｉｐｔアレイデータ構造を格納し、
前記アレイデータ構造は、前記アレイデータ構造のエントリとして前記名前を含み、前記アレイデータ構造の他のエントリとして前記印刷パラメータを含む、請求項４記載の方法。
【請求項６】
前記名前と前記印刷パラメータとを格納するステップはさらに、前記エントリの値フィールドとして他のエントリを他のＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造に格納し、
前記他のエントリは、前記他のエントリのキー値フィールドとして前記名前を含み、前記他のエントリの値フィールドとして前記印刷パラメータを含む、請求項４記載の方法。
【請求項７】
ＪＤＦジョブチケットにおけるＸＭＬデータを処理し、関連する印刷ジョブを処理する印刷システムのプリンタコントローラにおいて実行可能な方法であって、
ＸＭＬノードとして符号化された印刷パラメータを指定する前記ＪＤＦジョブチケットと関連する印刷ジョブデータとを受信するステップと、
前記ＪＤＦジョブチケットのＸＭＬノードをＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造の対応するエントリに変換するステップであって、前記ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造のエントリは、前記ＪＤＦジョブチケットの各要素の当初の順序を示す序数値と、前記ＪＤＦジョブチケットの各要素に指定される印刷ジョブパラメータとを含む前記変換するステップと、
前記印刷ジョブを出力するため、前記ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造に指定される印刷ジョブパラメータを用いて前記印刷ジョブデータを処理するステップと、
を有し、
前記処理するステップは、前記ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造のエントリの序数値により指定される順序により前記印刷ジョブパラメータを用いる方法。
【請求項８】
前記変換するステップはさらに、
ａ）ペアレントＸＭＬノードにおけるパラメータ名とパラメータ値とを特定するステップと、
ｂ）単調増加する値の現在値を前記序数値として含むキー値フィールドと、前記パラメータ名と前記パラメータ値とを含む関連する値フィールドとを含むエントリを前記ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造に追加するステップと、
ｃ）前記単調増加する値をインクリメントするステップと、
ｄ）前記ペアレントＸＭＬノードが何れかのチャイルドＸＭＬノードを有するか判断するステップと、
ｅ）前記ＸＭＬノードがチャイルドＸＭＬノードを含むと判断すると、ｆ）前記ペアレントＸＭＬノードの各チャイルドＸＭＬノードについてステップａ）〜ｅ）を再帰的に繰り返すステップと、各ペアレントＸＭＬノードについてステップａ）〜ｅ）を繰り返すステップをさらに実行する、請求項７記載の方法。
【請求項９】
マーキングエンジンと、
前記マーキングエンジンに接続され、ＪＤＦジョブチケットと関連する印刷ジョブデータとを受信するよう構成されるプリンタコントローラと、
を有する印刷システムであって、
前記プリンタコントローラはさらに、
各エントリがキー値フィールドと関連する値フィールドとを格納する複数のエントリを有するｋｅｙ−ｖａｌｕｅデータ構造を格納するメモリと、
前記メモリに接続され、前記ＪＤＦジョブチケット内の第１の順序によって、各ＸＭＬノードが印刷パラメータ名と印刷パラメータ値とを含むＸＭＬノードシーケンスを特定するよう構成されるジョブチケットパーサであって、前記ジョブチケットパーサはさらに単調増加する値の現在値を前記ｋｅｙ−ｖａｌｕｅデータ構造のエントリのキー値フィールドに格納し、前記印刷パラメータ名と前記印刷パラメータ値とを前記エントリの対応する値フィールドとして格納するよう構成されるジョブチケットパーサと、
前記メモリに接続される印刷ジョブプロセッサであって、前記エントリが前記エントリのキー値フィールドに従って前記第１の順序で処理されるように、前記ｋｅｙ−ｖａｌｕｅデータ構造のエントリに格納される印刷パラメータ名と印刷パラメータ値とに従って前記印刷ジョブデータを処理するよう構成される印刷ジョブプロセッサと、
を有する印刷システム。
【請求項１０】
前記ＸＭＬノードシーケンスは、少なくとも１つのペアレントＸＭＬノードと、前記ペアレントＸＭＬノードのそれぞれに係る少なくとも１つのチャイルドＸＭＬノードとを有し、
前記ジョブチケットパーサはさらに、各ペアレントＸＭＬノードの各チャイルドＸＭＬノードを再帰的に処理するよう構成される、請求項９記載の印刷システム。
【請求項１１】
前記ｋｅｙ−ｖａｌｕｅデータ構造の各エントリの値フィールドは、複数のフィールドを有するアレイデータタイプである、請求項１０記載の印刷システム。
【請求項１２】
ＰｏｓｔＳｃｒｉｐｔインタプリタをさらに有し、
前記ジョブチケットパーサは、前記ＰｏｓｔＳｃｒｉｐｔインタプリタにより実行されるＰｏｓｔＳｃｒｉｐｔプログラムである、請求項９記載の印刷システム。
【請求項１３】
前記メモリに格納されるｋｅｙ−ｖａｌｕｅデータ構造は、ＰｏｓｔＳｃｒｉｐｔディクショナリである、請求項１２記載の印刷システム。
【請求項１４】
前記ＰｏｓｔＳｃｒｉｐｔディクショナリのエントリのキーフィールドは、単調増加する値の現在値を含む、請求項１３記載の印刷システム。
【請求項１５】
前記ＰｏｓｔＳｃｒｉｐｔディクショナリのエントリの値フィールドは、印刷パラメータ名と印刷パラメータ値とを含む、請求項１４記載の印刷システム。
【請求項１６】
前記ＰｏｓｔＳｃｒｉｐｔディクショナリの印刷パラメータ値は、印刷パラメータ名と印刷パラメータ値とを含む第２のＰｏｓｔＳｃｒｉｐｔディクショナリを含む、請求項１５記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）データ／ドキュメントの処理に関し、より詳細にはｋｅｙ−ｖａｌｕｅペアデータ構造に格納される際に受信したＸＭＬデータの適切な処理に関する順序付け情報を保持するため、印刷環境におけるＪＤＦ（Ｊｏｂ  Ｄｅｆｉｎｉｔｉｏｎ  Ｆｏｒｍａｔ）ジョブチケットなどのＸＭＬデータの処理に関する。
【背景技術】
【０００２】
ＸＭＬドキュメント（ここでは“ＸＭＬデータ”とも呼ばれる）が、標準化された拡張フォーマットにより符号化及び表現されたデータの間の関係について利用される。多くのコンピュータ及び通信アプリケーションは、ＸＭＬ符号化を用いて標準化されたさらなるフレキシブルかつ拡張可能な方法によりデータを表現してきた。ＸＭＬデータを利用した一例となる適用は、印刷ジョブの印刷において用いられる印刷ジョブチケットの符号化を伴う。
【０００３】
印刷店（大型及び小型）と共にプロダクション印刷やさらにより小規模なワークグループ環境を含む多くの印刷環境では、一般に特定の印刷ジョブを印刷するのに要する処理を記述するＪＤＦ情報を作成することが知られている。ＪＤＦ情報は、ＸＭＬドキュメントとして符号化される。ＪＤＦは、印刷ジョブの処理に関する情報（印刷パラメータ、レイアウトパラメータ、仕上げパラメータなど）を提供するための広く採用されている標準的な仕様である。ＪＤＦ情報は、典型的には、“ジョブチケット”と呼ばれるオブジェクト／ファイルに含まれ、ジョブチケットのエントリによって印刷ジョブの印刷データと関連付けされる。ＪＤＦジョブチケットは、特定のジョブの印刷に関連付けされた印刷パラメータを指定するのに求められる任意数のＪＤＦ要素を含む。このような印刷パラメータの一例として、印刷対象の題材のコンテンツを特定する１以上のリソースロケータ、印刷ジョブに係る各種タイプのオブジェクトをレンダリングするためのオプションを示すレンダリングオプション、ｎ−ｕｐ、ｄｕｐｌｅｘ、他の利用可能な印刷オプションなどを示すレイアウトオプション、印刷のためのメディアパラメータ（用紙サイズ、重量、カラーなど）があげられる。ＪＤＦ規格は、ＣＩＰ４（業界団体）により公表され、当業者には周知であり、ｗｗｗ．ｃｉｐ４．ｏｒｇにおいて容易に入手可能である。
【０００４】
一般に、印刷ジョブに関する各種パラメータが可能性のあるパラメータ及びオプションのツリーの関連付けされた論理ブランチにグループ化されるように、ＪＤＦ要素（ＸＭＬノードのシーケンスとして符号化される）は、階層的ツリーに関して規定される。このツリーは共通のルートを有し、各ブランチは、ジョブチケットを作成するのにユーザ／アプリケーションにより指定される関連するパラメータの特定の列挙されたグループ化に関連付けされる。
【０００５】
いくつかの印刷環境では、印刷サーバは、印刷システムに送信するために最終的なドキュメントフォーマットを準備するため、ＪＤＦジョブチケットと関連する印刷データとを処理する。他の印刷企業では、ＪＤＦジョブチケットと関連する印刷ジョブデータとが共に、処理のため印刷システムに直接送信される。印刷システム内で実行されるＪＤＦジョブチケットインタプリタ／プロセッサは、その後にＪＤＦ命令と関連する印刷データとを処理し、印刷ジョブの所望の出力を生成するかもしれない。
【０００６】
ＪＤＦジョブチケットの処理では、ＪＤＦステートメント／要素はそれらが受信される順序により処理されることが重要である。一部のＪＤＦオプション／命令は、複数の方法により指定可能であり、それの表現方法又は順序に応じて、異なる適用範囲又は異なるセマティックさえも一緒に示すこともある。
【０００７】
印刷システム（すなわち、プリンタコントローラ）内のプログラムを用いてＸＭＬテキストファイルをインメモリデータ構造にパーシング（ｐａｒｓｅ）するとき、通常は階層構造を容易にするプリンタコントローラ言語のプログラミング言語により与えられるデータ構造を選択する。いくつかのケースでは、これは、各要素が規定される順序を保持しないデータ構造であるかもしれない。この一例は、ＰｏｓｔＳｃｒｉｐｔ言語によるディクショナリデータ構造（ｄｉｃｔｉｏｎａｒｙ  ｄａｔａ  ｓｔｒｕｃｔｕｒｅ）である。ＰｏｓｔＳｃｒｉｐｔディクショナリは、キーと値のペア（ｋｅｙ−ｖａｌｕｅ  ｐａｉｒ）のセットであり、キーは一般に名前の文字列であり、値は他のディクショナリを含む任意のオブジェクトであってもよい。これは、チャイルドオブジェクトがサブディクショナリにより表現される可能性があるため、階層構造を可能にする。このアプローチは、親子の順序を保持するが、兄弟の順序を保持しない。なぜなら、ディクショナリは、それのｋｅｙ−ｖａｌｕｅペアが挿入された順序に関する情報を保持しないためである。
【０００８】
印刷システム内のＪＤＦジョブチケットを処理するための処理能力は、汎用ワークステーションとサーバシステムと比較して制限される。例えば、ＪＤＦインタプリタ／プロセッサは、印刷システムの印刷コントローラ内で処理可能なインタプリタ言語により記述された“プログラム”として実装されるかもしれない。ＰｏｓｔＳｃｒｉｐｔは、ＪＤＦジョブチケットの解釈／処理を実現するのに利用可能なインタプリタプログラミング言語の一例である。ＰｏｓｔＳｃｒｉｐｔは強力なプログラミング言語であるが、ＰｏｓｔＳｃｒｉｐｔベースのＪＤＦインタプリタにおいてジョブチケットを処理する際に受信したＪＤＦジョブチケットに各要素に係る順序情報を保持することは困難である。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従って、印刷システム内で処理可能なプログラミング言語によりＪＤＦジョブチケットと関連する印刷データとを正確かつ効率的に処理することが求められている。
【００１０】
本発明は、ＸＭＬノードの当初の順序付けを維持しながら、ｋｅｙ−ｖａｌｕｅペアデータ構造をサポートするプログラミング言語を利用して、印刷システムにおいてＸＭＬデータを処理するための方法及び関連する構成を提供することによって、上記及び他の問題点を解決するものであり、これにより従来技術を有用に進歩させるものである。特に、ここでの特徴及び態様は、ジョブチケットに当初のＪＤＦ要素の順序付けを保持するように、データをｋｅｙ−ｖａｌｕｅデータ構造（ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造など）に入力することによって、ＪＤＦジョブチケットを処理するよう構成される。
【課題を解決するための手段】
【００１１】
ここでの１つの態様は、印刷ジョブに係るＸＭＬデータを処理する印刷システムコントローラにおいて実行可能な方法を提供する。本方法は、複数のＸＭＬノードを含むＸＭＬデータを第１の順序により受信することを含む。本方法はさらに、ＸＭＬデータの各ＸＭＬノードを処理する。各ＸＭＬノードの処理はさらに、ＸＭＬノードをパーシングして、印刷ジョブ又は他のＸＭＬノードに係る印刷パラメータを特定することを含む。印刷パラメータの特定に応答して、本方法はさらに、ｋｅｙ−ｖａｌｕｅペアデータ構造のエントリに印刷パラメータに関する情報を格納することを含む。エントリのキー値フィールド（ｋｅｙ  ｖａｌｕｅ  ｆｉｅｌｄ）は、第１の順序によるＸＭＬノードの序数位置（ｏｒｄｉｎａｌ  ｐｏｓｉｔｉｏｎ）を示し、エントリの値フィールド（ｖａｌｕｅ  ｆｉｅｌｄ）は、印刷パラメータを示す。ＸＭＬノードのチャイルドＸＭＬノードの特定に応答して、上述されるようにチャイルドＸＭＬノードを再帰的に処理する。その後、本方法は、各エントリのキー値フィールドの序数位置により決定される順序によりｋｅｙ−ｖａｌｕｅデータ構造の各エントリを処理し、各エントリの値フィールドの印刷パラメータに従って印刷ジョブの出力を生成する。
【００１２】
ここでの他の態様は、ＪＤＦジョブチケットのＸＭＬデータを処理し、関連する印刷ジョブを処理する印刷システムのプリンタコントローラにおいて実行可能な方法を提供する。本方法は、ＸＭＬノードとして符号化された印刷パラメータを指定するＪＤＦジョブチケットと関連するジョブデータとを受信することを含む。本方法はさらに、ＪＤＦジョブチケットのＸＭＬノードをＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造の対応するエントリに変換する。ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造の各エントリは、ＪＤＦジョブチケットの各要素の当初の順序を示す序数値と、ＪＤＦジョブチケットの各要素に指定される印刷ジョブパラメータとを含む。本方法は、その後に、ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造に指定される印刷ジョブパラメータを用いて印刷ジョブデータを処理し、印刷ジョブを出力する。この処理は、ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造のエントリの序数値により指定される順序により印刷ジョブパラメータを利用する。
【００１３】
ここでのさらなる他の態様は、マーキングエンジンとマーキングエンジンに接続されるプリンタコントローラとを含む印刷システムを提供する。プリンタコントローラは、ＪＤＦジョブチケットと関連する印刷ジョブデータとを受信するよう構成される。プリンタコントローラはさらに、各エントリがキー値フィールドと関連する値フィールドとを格納する複数のエントリを有するｋｅｙ−ｖａｌｕｅデータ構造を格納するメモリを有する。プリンタコントローラはまた、メモリに接続され、ＪＤＦジョブチケット内の第１の順序によりＸＭＬノードシーケンスを特定するよう構成されるジョブチケットパーサを有する。各ＸＭＬノードは、印刷パラメータ名と印刷パラメータ値とを含む。ジョブチケットパーサはさらに、ｋｅｙ−ｖａｌｕｅデータ構造のエントリのキー値フィールドの単調増加する値の現在値を格納し、さらに印刷パラメータ名と印刷パラメータ値とをエントリの対応する値フィールドとして格納するよう構成される。プリンタコントローラはまた、メモリに接続される印刷ジョブプロセッサを有し、印刷ジョブプロセッサは、各エントリが当該エントリのキー値フィールドに従って第１の順序により処理されるように、ｋｅｙ−ｖａｌｕｅデータ構造のエントリに格納される印刷パラメータ名と印刷パラメータ値とに従って印刷ジョブデータを処理するよう構成される。
【発明の効果】
【００１４】
本発明によると、印刷システム内で処理可能なプログラミング言語によりＪＤＦジョブチケットと関連する印刷データとを正確かつ効率的に処理することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】図１は、ここでの特徴及び態様により改良された、印刷ジョブの処理において以降に使用するために印刷パラメータをｋｅｙ−ｖａｌｕｅデータ構造に格納するため、印刷ジョブと共に受信したＸＭＬデータをパーシングする一例となるシステムのブロック図である。
【図２】図２は、ここでの特徴及び態様により改良された、印刷ジョブの処理において以降に使用するために印刷パラメータをＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造に格納するため、印刷ジョブと共に受信したＪＤＦジョブチケットのＸＭＬデータをパーシングする一例となるプリンタコントローラのブロック図である。
【図３】図３は、ここでの特徴及び態様によるｋｅｙ−ｖａｌｕｅデータ構造にパーシング／変換される一例となるＸＭＬデータのブロック図である。
【図４】図４は、ここでの特徴及び態様による関連する印刷ジョブの印刷パラメータを提供するＸＭＬデータをｋｅｙ−ｖａｌｕｅデータ構造にパーシング／変換するための一例となる方法を説明するフローチャートである。
【図５】図５は、ここでの特徴及び態様による関連する印刷ジョブの印刷パラメータを提供するＸＭＬデータをｋｅｙ−ｖａｌｕｅデータ構造にパーシング／変換するための一例となる方法を説明するフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面に基づいて本発明の実施の形態を説明する。図面を通じて、同一の参照番号は、同一の要素又はタイプを表す。
【００１７】
図１〜５及び以下の説明は、本発明の実現及び利用方法を当業者に教示するため、本発明の具体的な実施例を示す。この教示のため、本発明のいくつかの従来技術に関する側面は簡略化又は省略されている。当業者は、これらの実施例から本発明の範囲内となる変形を理解するであろう。当業者は、以下に記載される特徴は本発明の複数の変形を構成するための各種方法により組み合わせ可能であることを理解するであろう。この結果、本発明は、以下に記載される具体的な実施例に限定されず、請求項及びそれに均等するものによってのみ限定される。
【００１８】
図１は、ここでの特徴及び態様により改良された、ＸＭＬデータのＸＭＬノードにおいて情報を表現する対応するｋｅｙ−ｖａｌｕｅデータ構造を生成するため、印刷ジョブに係るＸＭＬデータを受信し、受信したＸＭＬデータを処理又は変換するよう構成される印刷システムを提供する一例となるシステム１００のブロック図である。印刷システム１０６は、適切なソースからＸＭＬデータ１０２と関連する印刷ジョブデータ１０４とを受信するため接続されるプリンタコントローラ１０８を有する。いくつかの実施例では、ＸＭＬデータ１０２と印刷ジョブデータ１０４とのソースは、印刷システム１０６に接続される計算システム又はサーバ上で処理可能なアプリケーションプログラムであってもよい。他の実施例では、ＸＭＬデータ１０２と印刷ジョブデータ１０４とは、印刷システム１０６に係るストレージシステムに格納され、処理のためそこから抽出されてもよい。
【００１９】
プリンタコントローラ１０８は、ＸＭＬデータ１０２と関連する印刷ジョブデータ１０４とを受信するよう構成される何れか適切な計算装置及び／又は電子装置であってもよい。プリンタコントローラ１０８は、ＸＭＬデータ１０２を受信し、ＸＭＬデータ１０２内の各ＸＭＬノードを特定するためＸＭＬデータをパーシング（ｐａｒｃｅ）するよう構成されるＸＭＬパーサ１１０を有する。ＸＭＬデータ１０２のＸＭＬノードは、印刷ジョブデータ１０４の印刷に適用される印刷パラメータを指定する。コントローラ１０８は、印刷パラメータが格納されるｋｅｙ−ｖａｌｕｅデータ構造を格納するためのメモリ１１２を有する。メモリ１１２は、ＲＡＭ、ＤＲＡＭ、ＳＤＲＡＭ、不揮発性メモリなどを含む何れか適切なランダムアクセスメモリコンポーネントであってもよい。
【００２０】
特定された各ＸＭＬノードに対して、パーサ１１０は、メモリ１１２に格納されるｋｅｙ−ｖａｌｕｅデータ構造への対応するエントリを生成する。このように生成され、ｋｅｙ−ｖａｌｕｅデータ構造に格納されたエントリは、ＸＭＬデータ１０２の処理においてＸＭＬパーサ１１０により特定されるＸＭＬノードの当初のシーケンス順序を保持するよう構成される。パラメータがＸＭＬデータ１０２に指定される順序は、しばしばそこに含まれる印刷パラメータの適切な解釈及び処理に関連する。従って、メモリ１１２に格納されるｋｅｙ−ｖａｌｕｅデータ構造は、ＸＭＬパーサ１１０により処理されるＸＭＬノードのシーケンスの当初の順序に関する情報を含む。この順序は、例えば、エントリが追加されるとき、ｋｅｙ−ｖａｌｕｅデータ構造の各エントリのキーフィールドに序数のインデックス値として単調増加する値の現在値を格納するなどによって示されてもよい。
【００２１】
プリンタコントローラ１０８はまた、印刷ジョブデータ１０４を受信し、さらにＸＭＬパーサ１１０により生成されるようなメモリ１１２に格納されるｋｅｙ−ｖａｌｕｅデータ構造のエントリを抽出するよう構成される印刷ジョブプロセッサ１１４を有してもよい。印刷ジョブプロセッサ１１４はさらに、印刷ジョブデータ１０４の印刷されたページを表し、印刷パラメータに従ってフォーマット化される対応するページ画像シーケンスを生成するため、ｋｅｙ−ｖａｌｕｅデータ構造に格納される印刷パラメータに従って印刷ジョブデータ１０４を処理するよう構成される。生成されたページ画像は、その後に最終的に印刷されるジョブ出力１１８を生成するマーケティングエンジン１１６に印加される。
【００２２】
一実施例では、ＸＭＬデータ１０２は、印刷ジョブデータ１０４に係る各種フォーマット化及びレイアウトパラメータを指定するＪＤＦジョブチケットであってもよい。ＸＭＬデータ１０２がＪＤＦジョブチケットである場合、ＸＭＬパーサ１１０は、印刷ジョブデータ１０４に適用されるＪＤＦ印刷パラメータを指定するＸＭＬノードを特定するためのＪＤＦジョブチケットパーサを有する。従って、メモリ１１２に格納されるｋｅｙ−ｖａｌｕｅデータ構造は、各エントリが対応するキー値に関連付けされるエントリ値としてＪＤＦ印刷パラメータを格納する。上述されるように、メモリ１１２に格納されるｋｅｙ−ｖａｌｕｅデータ構造は、ＪＤＦ印刷パラメータを指定するＸＭＬノードのシーケンスの当初の順序に関する情報を格納する。ＪＤＦ印刷パラメータの指定の順序は印刷パラメータの解釈及び適用に対する効果を有するため、この格納された当初順序情報は、印刷ジョブプロセッサ１１４が指定された印刷パラメータと印刷ジョブデータ１０４の関連する処理を処理する際に利用される。
【００２３】
他の実施例では、ＸＭＬパーサ１１０と印刷ジョブプロセッサ１１４とは、プリンタコントローラ１０８内で動作可能なＰｏｓｔＳｃｒｉｐｔインタプリタ機能により処理されるＰｏｓｔＳｃｒｉｐｔプログラムとして実現されてもよい。このような実施例では、メモリ１１２に格納されるｋｅｙ−ｖａｌｕｅデータ構造は、例えば、ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造、ＰｏｓｔＳｃｒｉｐｔアレイデータ構造、他のＰｏｓｔＳｃｒｉｐｔデータ構造又はＰｏｓｔＳｃｒｉｐｔデータ構造の各種組み合わせなどであってもよい。
【００２４】
当業者は、印刷システム１０６とプリンタコントローラ１０８内に存在する多数の追加的及び等価な構成及び機能を容易に認識するであろう。このような追加的及び等価な構成及び機能は、説明の簡単化のためここでは省略される。
【００２５】
図２は、ここでの特徴及び態様による関連する印刷ジョブの処理のためＪＤＦジョブチケットのＸＭＬノードの変換を行う一例となるプリンタコントローラ２００のブロック図である。プリンタコントローラ２００は、ＪＤＦジョブチケット２０４と関連する印刷ジョブデータ２１４とを格納するよう構成されるストレージシステム２０２を有する。ストレージシステム２０２は、各種タイプのＲＡＭ、各種タイプのディスク又は他の大容量記憶装置などを含む、ＪＤＦジョブチケット２０４と印刷ジョブデータ２１４とを格納可能な何れか適切なメモリ又は大容量記憶装置から構成されてもよい。ＪＤＦジョブチケット２０４は、パラメータ２０８，２１０，２１２などを含むＸＭＬノード２０６のシーケンスを含む。当業者は、ＸＭＬノード２０６のシーケンスにより指定されるパラメータが、特定のページ又はページグループにより分割又はグループ化されるか、又は関連する印刷ジョブデータ２１４の全体のすべてのページに適用可能であることを容易に認識するであろう。ＪＤＦジョブチケット２０４のＸＭＬノード２０６のシーケンスに指定される特定のパラメータのグループ化及び範囲は、ＪＤＦ規格による設計的選択として当業者に周知である。ストレージシステム２０２の印刷ジョブデータ２１４は、最終的な印刷ジョブ出力として生成されるページ画像シーケンスの印刷データを含む。Ｐ１データ２１６，Ｐ２データ２１８，Ｐ３データ２２０は、印刷ジョブデータ２１４の対応するページ１，２，３のデータを表す。当業者は、任意数のページが印刷システムの能力のみによって制限された印刷ジョブデータ２１４と、存在する場合には印刷システムにおいて用いられるページ記述言語（ＰＤＬ）内に指定されてもよいことを容易に認識するであろう。さらに、当業者は、印刷ジョブデータ２１４のページ（２１６，２１８，２２０）が、ＰＣＬ、ＰｏｓｔＳｃｒｉｐｔ、ＰＤＦなどを含む各種プリンタ制御言語及び／又はページ記述言語の何れかにより符号化されてもよいことを容易に認識するであろう。上記及び他のプリンタ制御言語及びページ記述言語がまた、当業者に周知であろう。
【００２６】
プリンタコントローラ２００はまた、ＪＤＦジョブチケット２０４と関連する印刷ジョブデータ２１４とにより表される印刷ジョブを処理するよう実行可能なＰｏｓｔＳｃｒｉｐｔインタプリタ２２２を有する。特に、ＰｏｓｔＳｃｒｉｐｔインタプリタ２２２は、プリンタコントローラ２００内で実行可能なプログラムを表すＰｏｓｔＳｃｒｉｐｔ言語ステートメント又はコマンドを処理する。ＰｏｓｔＳｃｒｉｐｔダイナミックメモリ２２４は、ＸＭＬパーサ２２６及びジョブプロセッサ２３０などのＰｏｓｔＳｃｒｉｐｔにより解釈される言語により符号化されたプログラムを格納するようにしてもよい。ＰｏｓｔＳｃｒｉｐｔダイナミックメモリ２２４は、ＰｏｓｔＳｃｒｉｐｔインタプリタコマンド及び関連するデータを格納するのに適した何れかの記憶装置であってもよい。このような記憶装置は、例えば、ＲＡＭ、ＤＲＡＭ、ＳＤＲＡＭ、不揮発性ＲＡＭなどを含むものであってもよい。
【００２７】
ＸＭＬパーサ２２６は、ストレージシステム２０２のＸＭＬノード２０６のシーケンスからＸＭＬデータを抽出し、抽出したＸＭＬノードをＰｏｓｔＳｃｒｉｐｔディクショナリ２２８の対応するエントリに変換するよう構成されるＰｏｓｔＳｃｒｉｐｔプログラムであってもよい。ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造は、ＰｏｓｔＳｃｒｉｐｔにより解釈される言語内で実現可能なｋｅｙ−ｖａｌｕｅデータ構造の一例である。特に、ＸＭＬパーサ２２６は、各エントリがここで変換され、ＰｏｓｔＳｃｒｉｐｔディクショナリ２２８のデータにより表現されるＸＭＬノード２０６のシーケンスの当初の順序に関する情報を含むキー値により符号化されるように、ＰｏｓｔＳｃｒｉｐｔディクショナリ２２８における各エントリを生成する。ＪＤＦジョブチケット２０４内で指定されるＸＭＬノード２０６のシーケンスはここで指定される印刷パラメータの解釈及び適用に関連するため、当初の順序付け情報は、ＸＭＬパーサ２２６により生成されるＰｏｓｔＳｃｒｉｐｔディクショナリのエントリに保持される。当業者また、スクリプトディクショナリ２２８に格納される情報を表すのに利用可能な他の各種ＰｏｓｔＳｃｒｉｐｔデータ構造を認識するであろう。例えば、ＰｏｓｔＳｃｒｉｐｔアレイデータ構造は、同様にｋｅｙ−ｖａｌｕｅデータ構造と関連する処理を実現するのに利用されてもよい。
【００２８】
ジョブプロセッサ２３０は、ＰｏｓｔＳｃｒｉｐｔインタプリタ２２２により解釈され、ＰｏｓｔＳｃｒｉｐｔディクショナリ２２８において指定される印刷パラメータのフォーマット及びレイアウト制御の下で印刷ジョブデータ２１４に対応するページ画像を生成するよう実行可能なＰｏｓｔＳｃｒｉｐｔプログラムであってもよい。特に、ジョブプロセッサ２３０は、指定された各ページ（２１６〜２２０など）の印刷ジョブデータ２１４を抽出し、抽出した印刷パラメータをＰｏｓｔＳｃｒｉｐｔディクショナリ２２８から適切な順序により適用するＸＭＬノード２０６の適切な当初の順序付けにより解釈及び適用されるＰｏｓｔＳｃｒｉｐｔディクショナリ２２８から抽出される印刷パラメータに基づき、ジョブプロセッサ２３０は、ページ画像を生成し、ＪＤＦジョブチケット２０４において指定される印刷パラメータに従ってフォーマット化された印刷ジョブデータ２１４に対応する印刷出力を生成するため、ページ画像をマーキングエンジン２３２に印加する。
【００２９】
当業者は、プリンタコントローラ２００内に存在する多数の追加的及び等価な構成及び機能を容易に認識するであろう。このような追加的及び等価な構成及び機能は、説明の簡単化のためここでは省略される。
【００３０】
図３は、対応するｋｅｙ−ｖａｌｕｅデータ構造３０４（例えば、ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造など）を生成するため、ＸＭＬパーサ３００（例えば、ＪＤＦジョブチケットパーサなど）により処理される一例となるＸＭＬデータ３０２（例えば、ＪＤＦジョブチケットなど）を示すブロック図である。ＸＭＬデータ３０２は、階層的に構成された一例となるＸＭＬノードシーケンスを示す。第１ＸＭＬノード３１２は、パラメータ“Ａ”が“Ｒｅｄ”の値に設定されていることを示す。ＸＭＬノード３１４は、印刷パラメータ“Ｂ”が“１，２，３”の各値のシーケンスに設定されていることを示す。ＸＭＬノード３１４は、パラメータ“Ｂ．１”が“Ｔｒｕｅ”の値に設定されていることを示すチャイルドノード３１４．１を階層的に含むペアレントノードである。ＸＭＬノード３１６は、パラメータ“Ｃ”が“Ｙｅｓ”の値に設定されるさらなる他のペアレントノードを示す。ペアレントノード３１６のチャイルドノード３１６．１〜３１６．３はそれぞれ、印刷パラメータ“Ｃ．１”が“Ｎｏ”の値に設定され、“Ｃ．２”が“Ｆａｌｓｅ”の値に設定され、“Ｃ．３”が“ｘ，ｙ，ｚ”の値に設定されていることを示す。
【００３１】
ＸＭＬパーサ３００は、ＸＭＬデータ１０２のおいて与えられる（例えば、ＪＤＦジョブチケットにおいて与えられるような）順序により各種ＸＭＬノード３１２〜３１６．３を処理する。ＸＭＬノードシーケンスは、ｋｅｙ−ｖａｌｕｅデータ構造３０４（例えば、ＰｏｓｔＳｃｒｉｐｔディクショナリや他のＰｏｓｔＳｃｒｉｐｔデータ構造など）の対応するエントリに変換される。ｋｅｙ−ｖａｌｕｅ設定は、各エントリのキーフィールド値を含む。キーフィールド値は、各エントリがｋｅｙ−ｖａｌｕｅデータ構造３０４に格納される物理的順序に関係なく、ＪＤＦジョブチケットにおいて当初に処理されるような値の序数的シーケンスを示す又は表す。第１エントリは、“Ｋｅｙ＿１”のキー値を含む。第１エントリの対応する値フィールド３３２は、パラメータが“Ａ”と呼ばれることを示す名前フィールドと、パラメータの値が“Ｒｅｄ”であることを示す値フィールドとを含むＰｏｓｔＳｃｒｉｐｔアレイ又は他のＰｏｓｔＳｃｒｉｐｔディクショナリなどのデータ構造である。ｋｅｙ−ｖａｌｕｅデータ構造３０４の他のエントリは、“Ｋｅｙ＿２”のキー値を示し、この場合には複数のエントリを有する対応する値フィールド３２４を有する。これは、ノード３１４がチャイルドＸＭＬノードを有するペアレントＸＭＬノードであるためである。値フィールド３２４（再び、ＰｏｓｔＳｃｒｉｐｔアレイ、ディクショナリ又は他の適切なＰｏｓｔＳｃｒｉｐｔデータ構造として表される）は、第１エントリにパラメータの名前“Ｂ”と、“１，２，３”の対応する値とを示す。値フィールド３２４の第２エントリは、対応するペアレントノードのチャイルドノードを表し、他のキー値“Ｋｅｙ＿３”を示す名前フィールドを含む。チャイルドのキー序数値に対応する値フィールド３２４．１は、対応するパラメータの名前が“Ｂ１”であり、対応する値が“Ｔｒｕｅ”であることを示すさらなる他のＰｏｓｔＳｃｒｉｐｔアレイ又はディクショナリデータ構造（又は他の適切なデータ構造）である。
【００３２】
さらなる他のペアレントＸＭＬノードは、キー値が“Ｋｅｙ＿４”であり、対応する値フィールド３２６が対応する印刷パラメータの名前が“Ｃ”であり、その値が“Ｙｅｓ”であることを示すｋｅｙ−ｖａｌｕｅデータ構造３０４のエントリにより表される。関連するＸＭＬペアレントノードが３つのチャイルドノードを有するため、ペアレントノードの値フィールド３２６はまた、これら３つの関連するチャイルドＸＭＬノードに対応する３つのさらなるエントリを含む。この第１エントリは、キー“Ｋｅｙ＿５”を表す名前フィールドと、印刷パラメータの名前“Ｃ．１”とその値“Ｎｏ”とを表す対応する値フィールド３２６．１とを示す。値フィールド３２６．２の他のエントリは、“Ｋｅｙ＿６”のキーインデックス値として名前を示し、パラメータ名“Ｃ．２”と対応する値“Ｆａｌｓｅ”とを表す対応する値フィールド３２６．２とを示す。値フィールド３２６のさらなる第３のエントリは、その名前を“Ｋｅｙ＿７”の他のキーフィールド値として、それの対応する値を“ｘ，ｙ，ｚ”として表す対応する値フィールド３２６．３とを示す。構造３０４の各エントリが格納される物理的順序に関係なく、キー値（Ｋｅｙ＿１〜Ｋｅｙ＿７など）は、ＸＭＬデータ３０２にＸＭＬノードの当初の順序付けを保持するのに用いられる情報を格納する。
【００３３】
図３に例示されるｋｅｙ−ｖａｌｕｅデータ構造３０４は、各種印刷パラメータがＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造により表現されるため、関連する印刷システムのジョブプロセッサによってより容易に適用可能である。キー値“Ｋｅｙ＿１”〜“Ｋｅｙ＿７”は、ＸＭＬノードのシーケンスが対応するＸＭＬデータ３０２（対応するＪＤＦジョブチケットなど）において規定された当初の順序に対応する順序によるパラメータの抽出を確実にするため、ジョブプロセッサにより利用される。図３に示されるように、値フィールドエントリ３２２〜３２６．３は、ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造（他の内部に階層的に埋め込まれたものなど）として表されてもよい。当業者はまた、ＰｏｓｔＳｃｒｉｐｔアレイデータ構造がｋｅｙ−ｖａｌｕｅデータ構造３０４と共に他のＰｏｓｔＳｃｒｉｐｔデータ構造を実現するのに利用可能であることを認識するであろう。さらに、当業者は、他のプログラミング言語（すなわち、ＰｏｓｔＳｃｒｉｐｔ以外）が、使用されるプログラマブルデータ構造における同様の豊富さとフレキシビリティを提供する限り、ここでの特徴及び態様を実現するのに利用されてもよい。例えば、Ｊａｖａ(登録商標)又はＪａｖａＳｃｒｉｐｔは、同様のデータ構造を提供してもよく、これにより、Ｊａｖａ及びＪａｖａＳｃｒｉｐｔプログラミング言語が、ＸＭＬパーサ３００及び当該ＸＭＬパーサ３００の処理により生成されるｋｅｙ−ｖａｌｕｅデータ構造３０４を実現するため利用可能である。さらに、当業者は、図３に示される特定のパラメータ名及びパラメータ値と共に、ＪＤＦジョブチケットに指定される当該パラメータの個数は、単なる一例であることを容易に認識するであろう。任意数の所望の印刷パラメータが、ＪＤＦジョブチケットのＸＭＬデータにおいて指定され、ｋｅｙ−ｖａｌｕｅデータ構造３０４の任意数の対応するエントリが、パラメータが当初のＸＭＬデータ３０２に与えられる当初の順序を特定する情報を保持しながら、印刷パラメータを表すため設けられてもよい。
【００３４】
図４は、ここでの特徴及び態様によるＸＭＬデータに指定されるＸＭＬノードの当初の順序付けを保持しながら、ＸＭＬデータを対応するｋｅｙ−ｖａｌｕｅエントリに変換するようにＸＭＬデータと関連する印刷ジョブデータとを処理する一例となる方法を説明するフローチャートである。図４の方法は、印刷システムコントローラ又はＸＭＬデータと関連する印刷ジョブデータとを処理するよう構成される他の何れか適切な装置の内部で実行されてもよい。特に、一実施例では、図４の方法は、印刷システムコントローラ又は他の適切な計算装置の内部で実行可能な適切なＰｏｓｔＳｃｒｉｐｔインタプリタにより解釈されるＰｏｓｔＳｃｒｉｐｔプログラムとして実現されてもよい。
【００３５】
ステップ４００は、ＸＭＬデータ（ＪＤＦジョブチケットなど）と関連する印刷ジョブデータとを受信する。ＸＭＬデータと関連する印刷ジョブデータとは、付属のホストシステム又はサーバなどを含む何れか適切なソースから受信されてもよいし、又は図４の方法を実行する印刷システムコントローラに係るストレージシステムから抽出されてもよい。ステップ４０２は、ｋｅｙ−ｖａｌｕｅデータ構造を初期化し、さらに現在の序数インデックス値を初期化する。ｋｅｙ−ｖａｌｕｅデータ構造の初期化は、単にＰｏｓｔＳｃｒｉｐｔディクショナリ及び／又は他のＰｏｓｔＳｃｒｉｐｔデータ構造などの適切なデータ構造を規定又はインスタンス化することを伴うものであってもよい。序数インデックス値は１に初期化され、ＸＭＬノードが処理されると、ｋｅｙ−ｖａｌｕｅデータ構造に格納されるエントリのキーフィールドに格納されるキー値の生成に利用される。
【００３６】
ステップ４０６〜４１２はまとめてステップ４０４と呼ばれ、受信したＸＭＬデータ（ＪＤＦジョブチケットなど）のＸＭＬノードシーケンスに指定される各ＸＭＬノードの処理を表す。特に、ステップ４０６は、指定された印刷パラメータを特定するため、受信したＸＭＬデータのＸＭＬノードシーケンスの最初の又は次のＸＭＬノードをパーシングする。ＸＭＬノードのパーシングでは、まずノードが印刷パラメータを指定するか、又は他のＸＭＬノード（ペアレントＸＭＬノード内に階層的に指定されたチャイルドＸＭＬノードなど）を指定するか判断される。その後、ステップ４０８は、ステップ４０６によりパーシングされるＸＭＬノードが印刷パラメータ又はチャイルドＸＭＬノードを表すか判断する。パーシングされたＸＭＬノードが印刷パラメータを表す場合、ステップ４１０は次に、ｋｅｙ−ｖａｌｕｅデータ構造の新たなエントリに値フィールドとしてパラメータ情報を格納する。キーフィールドは、序数インデックスの現在値を含む値に設定され、序数インデックス値がインクリメントされる。これにより、ｋｅｙ−ｖａｌｕｅデータ構造の新たなエントリは、受信したＸＭＬデータの当初のシーケンスにおける当該ノードの序数位置を示すキーフィールド値を含む（例えば、ＪＤＦジョブチケットにおける当該ＸＭＬノードの序数位置など）。ステップ４１２は、その後により多くのデータが受信したＸＭＬデータにおいてパーシングされ続けるか判断する。そうである場合、処理は受信したＸＭＬデータのＸＭＬノードシーケンスの次のＸＭＬノードをパーシング及び処理するため、ステップ４０６にループバックし続ける。受信したＸＭＬデータにおいて処理されるべきさらなるデータがない場合（及びステップ４０４の現在の処理が、後述されるようなステップ４０４の再帰的呼び出しに対して、受信したすべてのＸＭＬデータの完了の場合）、指定された印刷パラメータに従って印刷出力を生成することによって、完成したｋｅｙ−ｖａｌｕｅデータ構造と関連する印刷ジョブとを処理するため、ステップ４１４における処理が継続される。ステップ４１４の処理は、印刷パラメータが、受信したＸＭＬデータに指定されるようなパラメータの当初の順序（例えば、ＪＤＦジョブチケットに指定されるような順序など）を表す序数インデックス値を含むキー値を用いて、ｋｅｙ−ｖａｌｕｅデータ構造から抽出されることを確実にする。このため、ｋｅｙ−ｖａｌｕｅデータ構造の各エントリの物理的順序に関係なく、ステップ４１４のジョブ処理は、それらがＸＭＬデータにおいて符号化された当初の順序により当該エントリから印刷パラメータを抽出するようにしてもよい。
【００３７】
ステップ４０８は、ステップ４０６によりちょうどパーシングされたＸＭＬノードが現在の上位レベルのペアレントＸＭＬノードのチャイルドＸＭＬノードを表すと判断した場合、ステップ４２０が、このチャイルドノードを処理するためステップ４０４の処理を再帰的に呼び出すよう実行可能である（チャイルドのチャイルド再帰的に処理するなど）。チャイルドノード（階層的により深いチャイルドノードを含む）の再帰的処理が完了すると、前のペアレントＸＭＬノードに対応するステップ４０４の処理の前の呼び出しに処理は戻る。
【００３８】
図５は、ここでの特徴及び態様による印刷システムにおいてＪＤＦジョブチケットとそれの関連する印刷ジョブデータとを処理する他の一例となる方法を説明するフローチャートである。図５の方法は、印刷システムのコントローラ又はＸＭＬデータと関連する印刷ジョブデータとを処理するよう構成される他の何れか適切な装置の内部で実行されてもよい。ステップ５００は、ＪＤＦジョブチケットとそれの関連する印刷ジョブデータとを受信する。ステップ５０２は、ＪＤＦジョブチケットのＸＭＬノードシーケンスをＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造又は他の適切なＰｏｓｔＳｃｒｉｐｔデータ構造の対応するエントリに変換する。ステップ５０２により実行される変換は、序数インデックス値又は他の適切な指標を用いて、ＪＤＦジョブチケットにおいて当初に受信されたようなＸＭＬノードシーケンスに関する情報を格納する。その後、ステップ５０４は、（ＰｏｓｔＳｃｒｉｐｔディクショナリデータ構造に変換されるような）ＪＤＦジョブチケットの印刷パラメータにより指定されるようにフォーマット化された出力を生成するため、ＰｏｓｔＳｃｒｉｐｔディクショナリ内で符号化された印刷パラメータを利用して、印刷ジョブデータを処理する。
【００３９】
当業者は、図４及び５の方法の処理において多数の追加的及び等価なステップを容易に認識するであろう。このような追加的及び等価なステップは、説明の簡単化のため、ここでは省略される。
【００４０】
ここでは特定の実施例が説明されたが、本発明の範囲はこれらの実施例に限定されるものでない。本発明の範囲は、以下の請求項及びそれに均等なものにより規定される。
【符号の説明】
【００４１】
１００  システム
１０２  ＸＭＬデータ
１０４  印刷ジョブデータ
１０６  印刷システム
１０８、２００  プリンタコントローラ
１１０  ＸＭＬパーサ
【図１】
0005531804.tif 000002
【図２】
0005531804.tif 000003
【図３】
0005531804.tif 000004
【図４】
0005531804.tif 000005
【図５】
0005531804.tif 000006