(57)【特許請求の範囲】
【請求項１】
装置機能ファイルを印刷環境における対応する装置について生成する方法をコンピュータに実行させるためのプログラムであって、前記方法は：
前記装置の機能を記述する拡張可能マークアップ言語スキーマ（XMLS）ファイルを用意する段階と；
前記XMLSファイルを構文解析して、前記XMLSファイルにおいて定義されている一つまたは複数の型を同定し、同定された各型を、属性および同定された型のスコープ内で定義されるエレメントのリストと関連付ける段階と；
前記XMLSファイルにおいて定義されている同定された各型を、属性およびエレメントの前記リストに基づいて装置機能ファイル内のエントリーを生成するよう処理する段階とを含む、
プログラム。
【請求項２】
請求項１記載のプログラムであって、
前記XMLSファイルが、ルートのジョブ定義フォーマット（JDF）エレメントを含むツリー構造においてエンコードされた前記装置の機能を表し、前記JDFエレメントはさらに複数の属性ならびにResourcePool〔資源プール〕エレメントおよびResourceLinkPool〔資源リンク・プール〕エレメントを有し、
同定された各型を処理する前記段階がさらに：
前記JDFエレメントの同定された型に関連付けられた属性のリスト内の各属性を変換して、対応するDeviceCap装置機能エントリーを生成する段階と；
前記ResourcePoolエレメント内で定義された属性およびエレメントを再帰的に処理して、前記ResourcePoolエレメント内で定義された各属性について対応するDevCaps/DevCap装置機能エントリーを生成する段階と；
前記ResourceLinkPoolエレメント内で定義された属性およびエレメントを再帰的に処理して、前記ResourceLinkPoolエレメント内で定義された各属性について対応するDevCaps/DevCap装置機能エントリーを生成する段階とを含む、
プログラム。
【請求項３】
請求項１記載のプログラムであって、
前記用意する段階がさらに：
前記装置の機能を定義するユーザー入力を受け取る段階と；
受け取ったユーザー入力に基づいてXMLSファイルを生成する段階とを含む、
プログラム。
【請求項４】
請求項１記載のプログラムであって、
前記用意する段階がさらに：
前記装置と一緒に使うために定義された複数のJDFジョブ・チケットを用意する段階と；
前記複数のJDFジョブ・チケットからXMLSファイルを生成する段階とを含む、
プログラム。
【請求項５】
印刷環境における対応する装置について利用可能な機能を記述する装置機能ファイルを生成する方法をコンピューティング・システムに実行させるためのプログラムであって、前記方法は：
前記コンピューティング・システムにおいて、前記装置と一緒に使うために定義される複数のジョブ定義フォーマット（JDF）ジョブ・チケットを提供する段階と、
前記コンピューティング・システム内で、前記複数のJDFジョブ・チケットから拡張可能マークアップ言語スキーマ（XMLS）ファイルを生成する段階と、
前記コンピューティング・システム内で、前記XMLSファイルに基づいて前記装置についての装置機能ファイルを生成する段階とを含む、
プログラム。
【請求項６】
請求項５記載のプログラムであって、前記方法がさらに：
前記コンピューティング・システム内で、前記XMLSファイルの複数のエントリーから前記装置の数値特徴についての値の範囲を同定する段階と；
前記コンピューティング・システム内で、前記XMLSファイルの前記複数のエントリーを、前記値の範囲を示す一つのエントリーで置き換える段階とを含む、
プログラム。
【請求項７】
請求項５記載のプログラムであって、前記方法がさらに：
前記コンピューティング・システム内で、前記XMLSファイルの複数のエントリーから前記装置のある機能についてのデフォルト値を同定する段階と；
前記コンピューティング・システム内で、前記装置機能ファイルに、前記機能についての前記デフォルト値を示すエントリーを追加する段階とを含む、
プログラム。
【請求項８】
請求項５記載のプログラムであって、前記方法がさらに：
前記装置機能ファイルを生成する段階に先立って、前記コンピューティング・システムにおいて、該コンピューティング・システムに前記XMLSファイルのエントリーを調整するよう指示するユーザー入力を受領する段階を含む、
プログラム。
【請求項９】
印刷環境内の装置について装置機能ファイルを生成するシステムであって：
前記装置の利用可能な機能を記述する拡張可能マークアップ言語スキーマ（XMLS）ファイルであって、該XMLSファイルは一つまたは複数の階層的に構成されたエレメントを有し、各エレメントは前記装置の利用可能な機能に対応する一つまたは複数の属性を記述する、XMLSファイルと、
前記XMLSファイルを受領するよう結合され、前記XMLSファイル内の属性およびエレメントに基づいて装置機能ファイル内のエントリーを生成するよう適応された装置機能生成部とを有する、
システム。
【請求項１０】
前記XMLSファイルを生成するよう適応されたXMLS生成部をさらに有する、請求項９記載のシステム。
【請求項１１】
前記XMLS生成部がさらに、前記装置の機能を定義するユーザー入力を受け取るよう適応されており、受け取ったユーザー入力に従って前記XMLSファイルを生成するようさらに適応されている、請求項１０記載のシステム。
【請求項１２】
前記XMLS生成部は、前記装置の機能を定義する複数のジョブ定義フォーマット（JDF）ジョブ・チケットを受け取るよう結合されており、
前記XMLS生成部は、受け取った複数のJDFジョブ・チケットに従って前記XMLSファイルを生成するようさらに適応されている、
請求項１０記載のシステム。
【請求項１３】
前記複数のJDFジョブ・チケットが、前記装置に関して使うために以前に生成された複数のJDFジョブ・チケットを含む、請求項１２記載のシステム。
【請求項１４】
前記複数のJDFジョブ・チケットが、前記装置の利用可能な全機能についての機能設定のあらゆる可能な組み合わせを表す複数のJDFジョブ・チケットを含む、請求項１２記載のシステム。
【請求項１５】
生成されたXMLSファイルを受け取るよう結合され、前記装置機能生成部が装置機能ファイルを生成するよう動作するのに先立って前記XMLSファイルのエントリーを調整するよう適応されたXMLSエディタをさらに有する、請求項１０記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概括的には印刷システムについての装置機能ファイル（device  capabilities  file）の生成に関し、より詳細には印刷システムについての装置機能ファイルを実質的に自動的に生成するために拡張可能マークアップ言語（XML:  eXtensible  Markup  Language）の使用に関する。
【背景技術】
【０００２】
プリントショップやプロダクション印刷および一層小規模な作業グループ環境を含め、多くの印刷環境では、特定の印刷ジョブを印刷するために要求される処理を記述するジョブ定義フォーマット（JDF:  Job  Definition  Format）情報を生成することが一般に知られている。JDF情報は、JDF規格に従ってXML文書としてエンコードされる。JDFは、印刷ジョブの処理に関係する情報（印刷パラメータ、レイアウト・パラメータ、仕上げパラメータなど）を与えるための広く採用された規格である。JDF情報は典型的には、「ジョブ・チケット」と称されるオブジェクト／ファイルに含まれ、ジョブ・チケット内のエントリーによって印刷ジョブについての印刷データと関連付けられる。JDF規格はCIP4（業界団体）によって公開されており、当業者にはよく知られており、www.cip4.orgにて容易に入手できる。
【０００３】
たいていの印刷環境では、JDFジョブ・チケットは、ユーザーに利用可能な機能および該利用可能な機能についての設定を提示してユーザーと対話することによって生成される。いくつかの印刷環境では、利用可能な機能および該機能についての可能な設定はしばしば、印刷ジョブ生成アプリケーションのユーザー・インターフェースによって使用される装置機能ファイルにおいて記述される。印刷ジョブ生成アプリケーションは、装置機能ファイルにおいて与えられる情報をユーザーに呈示し、特定の機能および該機能についての設定を選択するユーザー入力を受け取る。印刷ジョブ生成部は次いで、そのジョブを印刷するためのパラメータを定義するJDFジョブ・チケットを生成する。
【０００４】
印刷システムの多くのメーカーはそのような装置機能ファイルを提供する。そのような装置機能ファイルのためのフォーマットはしばしば複雑となることがあり、JDFファミリーの規格の一側面としてやはりCIP4によって標準化されている。しかしながら、他のメーカーから販売／提供される多くの装置では、メーカーは装置機能ファイルを提供しない、あるいは少なくともそのような機能を他の多くのメーカーによって提供される装置機能ファイルについて使用される標準フォーマットで提供しない。これらの印刷装置は、印刷エンジンならびにさまざまな前処理および後処理装置――たとえば折り機、ステープル機などといった「フィニッシャー」装置――を含みうる。したがって、印刷ジョブを生成するために印刷ジョブ生成部に依拠するそのような装置のユーザー／購入者は、メーカー供給された装置機能ファイルのないそのような印刷装置について、利用可能な機能および関連する機能設定を記述する装置機能ファイルを手動で構築してやる必要があることがある。そのような手動処理は複雑で、人的ミスを起こしやすい。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
よって、工程中の人的ミスを無くしつつ装置機能ファイルを生成することは、継続的な課題となっている。
【課題を解決するための手段】
【０００６】
本発明は、装置についての装置機能ファイルを拡張可能マークアップ言語スキーマ（XMLS:  eXtensible  Markup  Language  Schema）ファイルから実質的に自動的に生成するための方法および関連する構造を提供することによって、上記およびその他の課題を解決し、それにより有用な技術の現状を進歩させる。XMLSファイルを構文解析〔パース〕してその中のすべてのエレメントおよび属性を同定し、該装置の利用可能な機能を記述するよう装置機能ファイル内の対応するエントリーが生成される。ある例示的な実施形態では、XMLSファイルは、ユーザー入力からおよび／または複数のJDFジョブ・チケットから実質的に自動的に生成されうる。
【０００７】
本願の一つの側面は、印刷環境における対応する装置のための装置機能ファイルを生成する方法を提供する。本方法は、前記装置の機能を記述するXMLSファイルを提供することを含む。本方法は、XMLSファイルを構文解析して、XMLSファイルにおいて定義されている一つまたは複数の型を同定し、同定された各型を、同定された型のスコープ内で定義される属性およびエレメントのリストと関連付ける。同定された型は、属性およびエレメントのリストに基づいて装置機能ファイル内のエントリーを生成するよう処理される。
【０００８】
本願のもう一つの側面は、印刷環境における対応する装置のための利用可能な機能を記述する装置機能ファイルを生成する方法を提供する。本方法は、コンピューティング・システムにおいて、前記装置と一緒に使うために定義される複数のジョブ定義フォーマット（JDF）ジョブ・チケットを提供し、前記コンピューティング・システム内で、前記複数のJDFジョブ・チケットからXMLSファイルを生成することを含む。本方法は次いで、前記コンピューティング・システム内で、前記XMLSファイルに基づいて前記装置についての装置機能ファイルを生成する。
【０００９】
本願のさらにもう一つの側面は、印刷環境における装置のための装置機能ファイルを生成するシステムを提供する。本システムは、前記装置の利用可能な機能を記述するXMLSファイルを含む。XMLSファイルは一つまたは複数の階層的に配列されたエレメントを有し、各エレメントは前記装置の利用可能な機能に対応する一つまたは複数の属性を記述する。本システムはまた、前記XMLSを受領するよう結合され、前記XMLSファイル内の属性およびエレメントに基づいて装置機能ファイル内のエントリーを生成するよう適応された装置機能生成部をも含む。
【００１０】
すべての図面において、同じ参照符号は同じ要素または同じ型の要素を表す。
【図面の簡単な説明】
【００１１】
【図１】本願の特徴および側面に基づく、与えられたXMLSファイルから対応する装置についての装置機能ファイルを実質的に自動的に生成するよう適応された例示的なシステムのブロック図である。
【図２】本願の特徴および側面に基づく、与えられたXMLSファイルから対応する装置についての装置機能ファイルを実質的に自動的に生成するための例示的な方法を記述するフローチャートである。
【図３】本願の特徴および側面に基づく、与えられたXMLSファイルを構文解析してその中で定義されているエレメントおよび属性の型を同定する、図２の処理についての例示的な追加的詳細を記述するフローチャートである。
【図４】本願の特徴および側面に基づく、与えられたXMLSファイルにおいて同定されたエレメントおよび属性を処理する、図２の処理についての例示的な追加的詳細を記述するフローチャートである。
【図５】本願の特徴および側面に基づく、与えられたXMLSファイルにおいて同定されたエレメントおよび属性を処理する、図２の処理についての例示的な追加的詳細を記述するフローチャートである。
【図６】本願の特徴および側面に基づく、ユーザー入力からおよび／または当該装置に関連付けられた複数のJDFジョブ・チケットからXMLSファイルを実質的に自動的に生成する、図２の処理についての例示的な追加的詳細を記述するフローチャートである。
【図７】本願の特徴および側面に基づく、ユーザー入力からおよび／または当該装置に関連付けられた複数のJDFジョブ・チケットからXMLSファイルを実質的に自動的に生成する、図２の処理についての例示的な追加的詳細を記述するフローチャートである。
【図８】例示的なJDFジョブ・チケットおよび該例示的なJDFジョブ・チケットから生成される関係する例示的なXMLSファイルにおいて定義されるエレメントおよび属性の間の図的な関係を示すブロック図である。
【発明を実施するための形態】
【００１２】
図１ないし図８および以下の記述は、当業者に、本発明をいかにして作成および使用するかを教示するために本発明の個別的な例示的実施形態を記述する。本教示の目的のため、本発明のいくつかの通常の側面については単純化または省略している。当業者は、本発明の範囲内にはいるこれらの実施形態からの変形を認識するであろう。当業者は、以下に記述される特徴をさまざまな仕方で組み合わせて本発明の多数の変形を形成できることを認識するであろう。よって、本発明は、以下に記述される個別的な実施形態に限定されるものではなく、請求項およびその等価物によってのみ限定される。
【００１３】
図１は、本願の特徴および側面に基づいて向上された、装置機能ファイルの実質的に自動化された生成のための備えをする例示的なシステム１００のブロック図である。システム１００は、印刷環境にあるような対応する装置の利用可能な機能を表すXMLスキーマ（XMLS）ファイル１０４を受け取るよう結合された装置機能生成部（device  capabilities  generator）１０８を含む。装置機能生成部１０８は、XMLSファイル１０４を処理して、装置機能ファイル１１０のエントリーを生成する。装置機能ファイル１１０は、たとえば、利用要素１５０によって利用されてもよい。利用要素１５０は、たとえば、装置機能ファイル１１０内の情報に基づいて印刷ジョブを生成するよう適応されたいかなる好適なコンピューティング装置であってもよい。ある例示的な実施形態では、利用要素１５０は、印刷システムに適用されるべき印刷ジョブを表すJDFジョブ・チケットを生成するために装置機能ファイル１１０を利用しうる。
【００１４】
ある例示的な実施形態では、システム１００は、実質的に自動的にXMLSファイル１０４を生成するためのXMLS生成部１０２をも含みうる。ある例示的な実施形態では、XMLS生成部１０２は、ユーザー供給情報に基づいて対応する装置の利用可能な機能を定義するためにユーザー入力１２２を受領しうる。別の例示的な実施形態では、XMLS生成部１０２は、実質的に自動的にXMLSファイル１０４を生成するために複数のJDFジョブ・チケット１２０を受領してもよい。複数のJDFジョブ・チケット１２０は、対応する装置に関連付けられた印刷ジョブを定義するために以前に利用されたJDFジョブ・チケットを含んでいてもよい。加えて、あるいはその代わりに、複数のJDFジョブ・チケット１２０は、対応する装置の利用可能な各機能について設定のあらゆる可能な組み合わせを全体として表すJDFジョブ・チケットの集合を含んでいてもよい。JDFジョブ・チケット１２０のそのような網羅的な集合は、複数のJDFジョブ・チケットのフォーマットにおける機能設定のあらゆるそのような可能な組み合わせを生成するよう適応された好適なコンピューティング装置によって生成されてもよい。
【００１５】
XMLSファイル１０４が実質的に自動的に生成される例示的実施形態では、システム１００は、実質的に自動的に生成されるXMLSファイル１０４内のエントリーを調整するよう適応された任意的なXMLSエディタ１０６をも有していてもよい。XMLSエディタ１０６は、XMLSファイル１０４のエントリーを構文解析して、たとえば調整されたXMLSファイル１０４のエントリーにおいて指定されるべきデフォルト値ならびにたとえばXMLファイル１０４のエントリー内の機能設定についての数値の範囲を同定しうるという点で、それ自身、実質的に自動化されていてもよい。他の例示的実施形態では、任意的なXMLSエディタ１０６は、ユーザー入力１２２に応答してXMLSファイル１０４のエントリーを調整してもよい。例として、機能設定が「なし」または「自動」のような明確に同定可能で使われそうなデフォルト値を含む場合、その値がデフォルト値として同定されてもよい。たとえば機能設定が値の範囲であれば、値「1」がデフォルト値として同定されてもよい。列挙された機能設定値のリストが与えられる他の場合には、デフォルト値は、リスト中の最初のものまたはリストのアルファベット順ソートにおいて最初のものとして選択されてもよい。当業者は、デフォルト機能設定値を同定するために適用されうる数多くのアプローチおよび発見法的規則を認識するであろう。
【００１６】
システム１００は、パーソナル・コンピュータ、ワークステーション、サーバー・コンピューティング装置といった、典型的なコンピューティング・システムとして、あるいは装置機能生成部１０８の機能を実行するよう適応され任意的にXMLSエディタ１０６およびXMLS生成部１０２の機能を実行するよう適応された他の任意の好適な電子装置として実装されてもよい。ある例示的な実施形態では、装置機能生成部１０８、任意的なXMLSエディタ１０６およびXMLS生成部１０２は、そのようなコンピューティング・システム１００内で動作可能な好適にプログラムされた命令として実装されてもよい。さらに、システム１００のそのような例示的な実施形態では、XMLSファイル１０４、装置機能ファイル１１０およびJDFジョブ・チケット１２０は、たとえばローカルな大容量記憶装置および／またはネットワークを通じてアクセス可能なリモートの大容量記憶装置を含む、システム１００に付随するメモリまたは大容量記憶装置に記憶されてもよい。さらに、システム１００は、たとえばキーボード、音声認識、タッチスクリーン、ポインタ・デバイスなどを含むユーザー入力を受け取るための任意の好適な手段を含んでいてもよい。当業者は容易に、システム１００内で動作可能な、数多くの追加的および等価な要素および機能を認識するであろう。そのような追加的および等価な要素および機能は、議論の簡単および簡潔のため、ここでは省略する。
【００１７】
図２は、本願の特徴および側面に基づく、実質的に自動的に装置機能ファイルを生成する例示的な方法を記述するフローチャートである。図２の方法は、図１のシステム１００のような任意の好適なコンピューティング装置または電子装置において実行されうる。ステップ２００は、対応する装置の利用可能な機能を記述するXMLSファイルを提供する。上記し、また本稿でさらに後述するように、XMLSファイルも、ユーザーによって供給された情報に基づいておよび／または対応する装置に関連するJDFジョブ・チケットから導出される情報に基づいて、実質的に自動的に生成されてもよい。当業者にはよく知られているように、JDF規格は、印刷ジョブに関連しうるいくつかのパラメータおよび属性を定義している。JDF規格によってそのように定義される標準的な機能は、階層的にツリー構造で定義されている。こうして、JDFジョブ・チケットから生成された、あるいは装置の利用可能なJDF機能を表すXMLSは、この階層的な性質をも反映することになる。次いでステップ２０２は、提供されたXMLSファイルを構文解析して、その中で階層的に定義されたさまざまな型のエレメントを同定し、関連する属性および同定された各型のエレメントの階層的なスコープ内で定義される他のエレメントを同定する。具体的には、ある例示的な実施形態では、ステップ２０２は、エレメント型テーブル・エントリーを生成する。このテーブル・エントリーは、エレメント型名（たとえば「JDFType」または「ResourcePoolType」）を示し、属性および同定されたエレメント型名内で定義される他のエレメントのリストを指定する関連するフィールドを含む。そうして生成されたテーブルは、その後、同定された各エレメントについて以下に述べるさらなる処理において使用されうる。
【００１８】
ステップ２０４は、次いで、ステップ２０２の構文解析において構文解析された同定されたエレメント型を適切な順序で処理し、関連する属性および同定された各エレメント型についての他のエレメントのリストに基づいて、装置機能ファイルにおける装置機能エントリー（device  capabilities  entries）を生成する。ステップ２０４の処理によってそのようにして生成された装置機能ファイルは、次いで、印刷関係アプリケーションによって、印刷システムの対応する装置に適用されるべき印刷ジョブについてのJDFジョブ・チケットを生成するために利用されうる。
【００１９】
JDFジョブ・チケットから生成されたそのようなXMLSファイル構造のエレメントおよび属性の階層性は、図８に示されるように表現されうる。XMLS階層のルート型であるJDFType  ８００は、四つの属性（attribute）――ストリング(string)型の属性「Status〔状態〕」、ID型の属性「ID〔識別情報〕」、ストリング型の属性「Types〔型〕」およびストリング型の属性「Version〔バージョン〕」――を含む。さらに、JDFType  ８００は、さらなる属性およびエレメントを階層的に定義する二つのエレメント（element）を含んでもよい。JDFType  ８００の例示的な追加的エレメントは、ResourcePoolType型のResourcePool〔資源プール〕エレメントおよびResourceLinkPoolType型のResourceLinkPool〔資源リンク・プール〕を含みうる。例示的なXMLSにおいて定義されるJDFエレメントの階層を次のレベルまで深く下りると、ResourcePoolType  ８０２は、XMLS階層のさらに深いレベルにおいて定義された三つの例示的エレメントを含みうる。具体的には、たとえば、ResourcePoolType  ８０２は、LyaoutPreparationParamsType型のLayoutPreparationParams〔レイアウト準備パラメータ〕エレメント（８１０においてさらに定義される）、ComponentType型のComponent〔コンポーネント〕エレメント（８０８においてさらに定義される）およびRunListType型のRunList〔ラン・リスト〕エレメント（８０６においてさらに定義される）を含みうる。XMLSのこれら階層的により深いエレメントのそれぞれは、今度は、図８に示されるようなさらなる属性およびエレメントを定義しうる。
【００２０】
図３は、図２の与えられたXMLSファイルを構文解析するステップ２０２の処理の例示的な追加的詳細を与えるフローチャートである。上記した一つの例示的な実施形態では、XMLSファイルは構文解析されてもよく、対応するテーブルがさらなる参照のために生成されてもよい。テーブルの各エントリーは、XMLSファイルの遭遇される各エレメントについてエレメント型を同定してもよく、各エレメント型に、属性および対応する同定されたエレメント型のスコープ内で定義される他のエレメントのリストを関連付けてもよい。そのようなテーブルは、その後、本稿でさらに後述されるXMLSのさらなる参照において、対応する装置機能ファイルを生成するために利用されうる。ステップ３００ないし３０６は、XMLSファイルを構文解析する際に遭遇する各エレメント型について逐次反復的に作用可能である。ステップ３００は、XMLSファイル内の最初の／次のエレメント型を位置特定する。XMLSファイル内のエントリーのよく定義されたシンタックス構造を与えられれば、最初のまたは次のエレメント型を位置特定するためのXMLSシンタックスを構文解析することは、当業者にはよく知られた処理に関わる。ステップ３０２は次いで、このエレメント型について定義されている属性および他のエレメントのリストを決定する。ステップ３０４は、次いで、エレメント型名を指示するキー・フィールド値と、関連する属性および現在位置特定されているエレメント型のスコープ内で定義される他のエレメントのリストを表す対応する値フィールド・エントリーとを有する、テーブルへの新しいエントリーを追加する。関連付けられた属性およびエレメントのこのリストは、次いで、本稿でさらに後述するその後の処理において、装置機能ファイルを生成するために利用されうる。ステップ３０６は、次いで、追加的なエレメント型が処理されるべくXMLファイル内に残っているかどうかを判定する。もしそうであれば、処理はステップ３００にループで戻って継続する。もしそうでなければ、ステップ２０２の処理が完了し、XMLファイルにおいて遭遇した各エレメント型の名前と、同定された各型名に関連付けられて、属性および同定された型のスコープ内で定義されるエレメントの対応するリストとを指示する対応するテーブルが生成される。当業者は、図３で提案されるテーブル構造が、XMLSファイル内のエレメントを構文解析する一つの例示的な方法を表していることをすぐ認識するであろう。各エレメント型を位置発見／同定し、各エレメント型を対応する属性および階層的により深いエレメントと関連付ける他の構文解析技法は、当業者にはすぐ明白となるであろう。
【００２１】
図８に関して上記した例示的なXMLS階層ツリー構造に対応する例示的なテーブルを下に示す。
【表１】
0005609448.tif 000002
【００２２】
図４は、適切な順序で上記のステップ２０２の構文解析によって同定されたエレメント型を処理する、図２のステップ２０４の処理の例示的な追加的詳細を記述するフローチャートである。図４のステップ４００は、XMLSファイル内に位置されるJDFエレメントを処理することによって始まり、したがって、ルート名「JDF」をもつエレメントにマッピングする型キー・フィールドを有する、生成されたテーブル内のエレメント型、通例「JDFType」を位置特定する。ステップ４００で位置特定されたJDFTypeエレメントは、XMLSファイルの階層的ツリー構造のルートを表す。すべての属性および他の階層的により深いエレメントは、JDFTypeエレメントのスコープ内で定義される。次いで、ステップ４０２ないし４０６が、JDFTypeエレメントのスコープ内で定義された各属性を装置機能ファイル内の対応するエントリーに変換するよう、逐次反復的に（再帰的に）作用可能である。ステップ４０２はまず、生成されたテーブルからの現在位置特定されているエレメント内の属性およびエレメントの関連するリスト内の各属性を変換する。初期には、JDFTypeキー値を有する最初のエレメントが処理されて、JDFTypeエレメント内で直接定義されている各属性を変換する。次いでステップ４０４が、処理されている、現在、位置特定されているエレメント内の属性およびエレメントの関連するリストが追加的なエレメント（すなわち、XMLSの階層的ツリー構造内の一レベル深いところで定義されるエレメント）を含むかどうかを判定する。もしそうであれば、ステップ４０６は現在処理されているエレメントについての属性およびエレメントの関連するリスト内の次のエレメントを位置特定する。処理は次いで、ステップ４０２ないし４０６を再帰的に呼び出すことによって続いていき、次の位置特定されたエレメント内の属性およびエレメントの関連するリスト内の各属性およびエレメントを変換する。これは、現在の反復レベルにおいて処理されるべきさらなるエレメントが残っていなくなるまで続く。ステップ４０４はまた、再帰処理が完了して最高の（初期の）レベルの再帰まで戻ったかどうかをも判定する。もしそうでなければ、現在の再帰レベルは直前の再帰レベルに戻る（ステップ４０４で）。最高の（初期の）再帰レベルが完了したら、ステップ２０４の処理は完了である。
【００２３】
図５は、ステップ２０２の構文解析によって生成されたテーブル構造中の全属性およびエレメントを処理するための、別の実施形態における、図２のステップ２０４の処理の例示的な追加的詳細を記述するフローチャートである。複数のJDFジョブ・チケットから生成されるXMLSファイルでは、XMLSファイル内のエントリーの構造がJDFエレメントとして最高レベルのルート・エレメント（たとえばJDFTypeの型を割り当てられている）を含むことが典型的である。JDFエレメントは、それに関連付けられたいくつかの標準的な属性をもち、JDFエレメントのスコープ内で定義された少なくとも二つの階層的により深いエレメント――つまりResourcePoolエレメントおよびResourceLinkPoolエレメント――を含むであろう。図５の方法は、JDFエレメントのそのような階層的ツリー構造を予期する、ステップ２０４の処理の例示的な追加的詳細を表している。したがって、ステップ５００はまず、上記のステップ２０２の構文解析によって構築されたテーブル内のJDFTypeエレメントを位置特定する。ステップ５０２は、ルート・レベルJDFエレメント内で定義される各属性を変換して、装置機能ファイルにおける対応するエントリーを生成する。上記のように、JDFTypeエレメントについてのテーブル・エントリーは、属性と、JDFルート・エレメントのスコープ内で定義される他のエレメントとのリストを含んでいてもよい。ステップ５０４は、与えられたテーブル構造において、最初のエレメント、たとえばResourcePoolTypeエレメントを位置特定する。このテーブル・エントリーも、関連する属性およびResourcePoolエレメントのスコープ内で定義されるエレメントの対応するリストを含む。ステップ５０６は、ResourcePoolエレメントについての属性およびエレメントの関連するリスト内の各属性を、装置機能ファイル（device  capabilities  file）内の対応するDevCaps/DevCapエントリーに変換する。ステップ５０８は、リソース・プール（resource  pool）エレメントに関連付けられた属性およびエレメントのリスト内の各エレメントについて、ステップ５０６の変換処理を再帰的に呼び出す。この再帰的呼び出しは、ResourcePoolエレメントに関連付けられた階層的により深いエレメント内で定義されたエレメントのすべての属性を変換する。そのようなすべての属性が、生成される装置機能ファイル内のDevCaps/DevCapエントリーに変換される。次いでステップ５１０ないし５１４が、ステップ２０２の構文解析からの与えられたテーブル内に位置される別のエレメント型、たとえばResourceLinkPoolTypeエレメントのために、ステップ５０４ないし５０８と同様の処理を実行する。
【００２４】
対応する装置機能エントリー（device  capabilities  entry）を生成するためのXMLSファイル内の属性およびエレメントの処理は、以下の例を参照することでさらに理解されうる。以下の例は、対応する装置に関連付けられた複数の仮想JDFジョブ・チケットに基づいて装置のために生成されたXMLSファイルの断片を提供する。各断片のあとには、図２ないし図５に関して上記した処理によって生成される装置機能ファイルの対応するエントリーが続く。
【００２５】
XMLSファイルの例示的な断片は次のようになりうる。
【表２】
0005609448.tif 000003
【００２６】
例示的なXMLSファイルの上記の断片から生成された装置機能ファイル内のエントリーは次のようになりうる：
【表３】
0005609448.tif 000004
【００２７】
上記の例示的な断片において示されるように、装置機能ファイルのエントリーの要求されるフィールドを生成するための変換処理において、規則（たとえば発見法的規則）が適用されうる。たとえば、属性名（attribute  name）「Sides〔片面／両面の別〕」は、装置機能エントリー内の機能名として使用されてもよい。規則は、属性が「string〔ストリング〕」をベース（base）としてXMLSにおいて「SimpleType」として記載されており、したがって、装置機能エントリー内の機能を「StringState」機能として生成しうるということを認識しうる。XMLS属性エントリー内の各「列挙  値（enumeration  value）」は、装置機能ファイルのエントリー内の機能内の対応する「AllowedValue〔許容値〕」を生成しうる。XMLS内の属性の「デフォルト」設定は、装置機能ファイルの機能において対応する「DefaultValue〔デフォルト値〕」指定に変換されうる。同様にして、「int」をベースとする「SimpleType」なら装置機能ファイル内の「IntState」機能設定に変換されうる。
【００２８】
上記したように、XMLSファイルは、実質的に自動的に生成されてもよく、あるいはユーザー入力に基づいて標準的なXMLスキーマ・エディタおよび生成アプリケーションによって生成されてもよい。図６は、ユーザー入力に基づいてXMLSファイルを生成するための、図２のステップ２００の処理の例示的な追加的詳細を提供するフローチャートである。図６の方法は、ユーザーの入力に応じて任意の標準的なXMLエディタ／生成部ツールを利用して作用可能でありうる。ステップ６００はまず、対応する装置の機能を定義するユーザー入力を受け取る。ステップ６０２は次いで、受け取ったユーザー入力に基づいてXMLSファイルを生成する。
【００２９】
図７は、対応する装置について複数のJDFジョブ・チケットに基づいてXMLSファイルを実質的に自動的に生成するための、図２のステップ２００の処理の例示的な追加的詳細を与えるフローチャートである。ステップ７００はまず、対応する装置について複数のJDFジョブ・チケットを与える。前記複数のJDFジョブ・チケットは、実際の印刷ジョブを処理するための対応する装置に関連する以前に利用されたJDFジョブ・チケットの集合を表していてもよい。代替的な実施形態では、ステップ７００によって与えられる前記複数のJDFジョブ・チケットは、対応する装置において利用可能な機能および対応する機能設定のあらゆる可能な組み合わせを表すJDFジョブ・チケットの集合として生成されてもよい。ステップ７０２は、与えられた複数のJDFジョブ・チケットからXMLSファイルを自動的に生成する。
【００３０】
ある例示的な実施形態では、図７の方法は、任意的ステップ７０４によって指示される、自動生成されたXMLSエントリーの任意的な調整をも含みうる。たとえば、前記複数のJDFジョブ・チケットからのXMLSの自動生成は、前記複数のJDFジョブ・チケット内に何も提供されなければ、機能設定についてデフォルト値を決定することはできない（よって自動生成されたXMLSに存在しない）ことがありうる。したがって、ステップ７０４は、受け取られたユーザー入力または他の任意の好適な手段に基づいて自動生成されたXMLSのエントリー内の機能にデフォルト値情報を追加するステップ７０６の処理を含んでいてもよい。同様にして、複数のJDFジョブ・チケットからXMLSを生成する自動化ツールは、対応する装置の利用可能な数値特徴について可能な値の完全な範囲を容易には認識しないことがありうる。したがって、任意的ステップ７０４のステップ７０８は、ユーザー入力または他の適切な手段から、対応する装置の利用可能な数値特徴について可能な値の範囲を定義する最小値および最大値を決定してもよい。ステップ７０８は、次いで、自動生成されたXMLSファイル内のエントリーを、対応する装置の数値特徴についての値の可能な範囲を示す調整されたエントリーで置き換える。（図のように、ステップ７０８は、数値範囲を決定し、エントリーを数値範囲で置換するものといえる。一例では、ステップ７０８は、XMLSファイルの複数のエントリーから装置の数値特徴についての値の範囲を同定し、それら複数のエントリーを、前記値の範囲を示す一つのエントリーで置き換える。）
【００３１】
当業者は、図２ないし図７の例示的な方法に存在しうる数多くの追加的ステップおよび等価なステップをすぐに認識するであろう。そのような追加的ステップおよび等価なステップは本稿では議論の単純化および簡潔のために省略している。
【実施例】
【００３２】
上記の例示的方法の変換処理は、例示的なXMLSおよび例示的なXMLSファイルから実質的に自動生成された対応する装置機能ファイルを参照しつつ理解してもよい。
【００３３】
対応する装置についての複数のJDFジョブ・チケットから生成された例示的なXMLSファイルは次のようになりうる：
【表４】
0005609448.tif 000005
0005609448.tif 000006
0005609448.tif 000007
0005609448.tif 000008
【００３４】
上記の例示的なXMLSファイルからは装置機能ファイルが次のように実質的に自動的
に生成されうる：
【表５】
0005609448.tif 000009
0005609448.tif 000010
0005609448.tif 000011
0005609448.tif 000012
0005609448.tif 000013
【００３５】
本稿では個別的な実施形態を記載したが、本発明の範囲はこれら個別的な実施形態に限定されるものではない。本発明の範囲は、付属の請求項およびその等価物によって定義される。
【符号の説明】
【００３６】
１００  システム
１０２  XMLS生成部
１０４  XMLSファイル
１０６  任意的なXMLSエディタ
１０８  装置機能生成部／DevCap生成部
１１０  装置機能ファイル
１２０  JDFジョブ・チケット
１２２  ユーザー入力
１５０  装置機能ファイルの利用
２００  装置についてのXMLSを提供
２０２  XMLSを構文解析して型ならびに関連する属性およびエレメントを同定
２０４  同定された各エレメント型を適切な順序で処理して、属性およびエレメントのリストに基づいて装置機能ファイルを生成
３００  XMLS内の最初の／次のエレメント型を位置特定
３０２  エレメントの型を判別
３０４  エレメントの型を示すキー値ならびにエレメントのスコープ内で定義される属性および他のエレメントの関連するリストをもつエントリーをテーブルに追加
３０６  XMLS内にさらなるエレメント型あり？
４００  最初のエレメント（たとえばテーブル内のJDFTypeエントリー）を発見
４０２  属性およびエレメントの関連するリスト内の各属性を、対応する装置機能エントリーに変換
４０４  リスト内にさらなるエレメントあり？
４０６  属性およびエレメントの関連するリスト内の次のエレメントを発見（たとえば、テーブル内の次のエレメント型を発見）
５００  テーブル内のJDFTypeエレメント・エントリーを発見
５０２  JDFTypeエレメントに対する属性およびエレメントの関連するリスト内の各属性を、対応する装置機能エントリーに変換
５０４  リスト内の最初のエレメント（たとえば、テーブル内のResourcePoolType）を発見
５０６  ResourcePoolエレメントに対する属性およびエレメントの関連するリスト内の各属性を、対応する装置機能エントリーに変換
５０８  上記の変換を再帰的に呼び出して、ResourcePoolエレメント内のより深い属性およびエレメントを対応する装置機能エントリーに変換
５１０  リスト内の次のエレメント（たとえば、テーブル内のResourceLinkPoolType）を発見
５１２  ResourceLinkPoolエレメントに対する属性およびエレメントの関連するリスト内の各属性を、対応する装置機能エントリーに変換
５１４  上記の変換を再帰的に呼び出して、ResourceLinkPoolエレメント内のより深い属性およびエレメントを対応する装置機能エントリーに変換
６００  装置の機能を定義するユーザー入力を受領
６０２  ユーザー入力からXMLSを生成
７００  装置について複数のJDFジョブ・チケットを用意
７０２  複数のJDFジョブ・チケットからXMLSを生成
７０４  （任意的）XMLSエントリー調整
７０６  デフォルト値情報を追加
７０８  数値範囲を決定し、エントリーを数値範囲で置換
【図１】
0005609448.tif 000014
【図２】
0005609448.tif 000015
【図３】
0005609448.tif 000016
【図４】
0005609448.tif 000017
【図５】
0005609448.tif 000018
【図６】
0005609448.tif 000019
【図７】
0005609448.tif 000020
【図８】
0005609448.tif 000021