(57)【要約】【課題】アプリケーションの構成の変化に応じて表示データの表示内容を適切に変化させることのできる画像形成装置、表示データ生成方法及びプログラムの提供を目的とする。【解決手段】アプリケーションの追加が可能な画像形成装置であって、表示装置に表示させる表示データにおける表示項目が定義される表示項目定義ファイルと、前記表示項目定義ファイルに基づいて前記表示データを生成する表示データ生成手段とを有し、当該画像形成装置に追加された各アプリケーションは、それぞれのアプリケーションに関する表示項目の定義を前記表示項目定義ファイルに挿入することにより上記課題を解決する。【選択図】図８
2008108061.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの追加が可能な画像形成装置であって、
表示装置に表示させる表示データにおける表示項目が定義される表示項目定義ファイルと、
前記表示項目定義ファイルに基づいて前記表示データを生成する表示データ生成手段とを有し、
当該画像形成装置に追加された各アプリケーションは、それぞれのアプリケーションに関する表示項目の定義を前記表示項目定義ファイルに挿入することを特徴とする画像形成装置。
【請求項２】
当該画像形成装置に追加された各アプリケーションは、それぞれのアプリケーションが起動されたきに当該アプリケーションに関する表示項目の定義を前記表示項目定義ファイルに挿入することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記アプリケーションは、当該アプリケーションの属性の設定変更が要求されたときに、当該設定変更に関連する表示項目の定義に対する修正を前記表示項目定義ファイル対して行うことを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
前記アプリケーションは、当該アプリケーションが終了したときに当該アプリケーションに関する表示項目の定義を前記表示項目定義ファイルより削除することを特徴とする請求項１乃至３いずれか一項記載の画像形成装置。
【請求項５】
前記表示データはＨＴＭＬ形式のデータであり、
前記表示項目定義ファイルは、ＸＭＬ形式のファイルであることを特徴とする請求項１乃至４いずれか一項記載の画像形成装置。
【請求項６】
アプリケーションの追加が可能な画像形成装置が実行する表示データ生成方法であって、
当該画像形成装置に追加された各アプリケーションが、表示装置に表示させる表示データにおける表示項目が定義される表示項目定義ファイルに当該アプリケーションに関する表示項目の定義を挿入する手順と、
前記表示項目定義ファイルに基づいて前記表示データを生成する表示データ生成手順とを有することを特徴とする表示データ生成方法。
【請求項７】
当該画像形成装置に追加された各アプリケーションは、それぞれのアプリケーションが起動されたきに当該アプリケーションに関する表示項目の定義を前記表示項目定義ファイルに挿入することを特徴とする請求項６記載の表示データ生成方法。
【請求項８】
前記アプリケーションは、当該アプリケーションの属性の設定変更が要求されたときに、当該設定変更に関連する表示項目の定義に対する修正を前記表示項目定義ファイル対して行うことを特徴とする請求項６又は７記載の表示データ生成方法。
【請求項９】
前記アプリケーションは、当該アプリケーションが終了したときに当該アプリケーションに関する表示項目の定義を前記表示項目定義ファイルより削除することを特徴とする請求項６乃至８いずれか一項記載の表示データ生成方法。
【請求項１０】
前記表示データはＨＴＭＬ形式のデータであり、
前記表示項目定義ファイルは、ＸＭＬ形式のファイルであることを特徴とする請求項６乃至９いずれか一項記載の表示データ生成方法。
【請求項１１】
アプリケーションの追加が可能な画像形成装置に、
当該画像形成装置に追加された各アプリケーションが、表示装置に表示させる表示データにおける表示項目が定義される表示項目定義ファイルに当該アプリケーションに関する表示項目の定義を挿入する手順と、
前記表示項目定義ファイルに基づいて前記表示データを生成する表示データ生成手順とを実行させるための表示データ生成プログラム。
【請求項１２】
当該画像形成装置に追加された各アプリケーションは、それぞれのアプリケーションが起動されたきに当該アプリケーションに関する表示項目の定義を前記表示項目定義ファイルに挿入することを特徴とする請求項１１記載の表示データ生成プログラム。
【請求項１３】
前記アプリケーションは、当該アプリケーションの属性の設定変更が要求されたときに、当該設定変更に関連する表示項目の定義に対する修正を前記表示項目定義ファイル対して行うことを特徴とする請求項１１又は１２記載の表示データ生成プログラム。
【請求項１４】
前記アプリケーションは、当該アプリケーションが終了したときに当該アプリケーションに関する表示項目の定義を前記表示項目定義ファイルより削除することを特徴とする請求項１１乃至１３いずれか一項記載の表示データ生成プログラム。
【請求項１５】
前記表示データはＨＴＭＬ形式のデータであり、
前記表示項目定義ファイルは、ＸＭＬ形式のファイルであることを特徴とする請求項１１乃至１４いずれか一項記載の表示データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、表示データ生成方法及びプログラムに関する。
【背景技術】
【０００２】
近年では、一般的なコンピュータのみならず、種々の組み込み機器においても、Ｗｅｂサーバとして機能するものが提供されている。例えば、プリンタ、ＦＡＸ、コピー機、又は融合機（複合機）等の画像形成装置についても、機器のステータスや、保管された文書情報、スプールされているジョブ、ＦＡＸやｅ−ｍａｉｌ等に使用されるアドレス帳を、ネットワークを介して接続される端末等にＷｅｂページによって提供するものが存在する（例えば、特許文献１）。Ｗｅｂページによってこれらの情報を提供する利点としては、端末側には汎用的なＷｅｂブラウザがあれば特別なソフトウェアをインストールしなくても良い、端末側のプラットフォームに依存しない、遠隔地において機器の情報を確認できる等が挙げられる。
【特許文献１】特開２００４−２０６４５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
他方において、その出荷後にアプリケーションの追加（インストール）や削除（アンインストール）が可能な画像形成装置が提供されている。斯かる画像形成装置によってＷｅｂページが提供される場合、その表示内容は、アプリケーションの追加又は削除等に則したものであることが望ましい。
【０００４】
本発明は、上記の点に鑑みてなされたものであって、アプリケーションの構成の変化に応じて表示データの表示内容を適切に変化させることのできる画像形成装置、表示データ生成方法及びプログラムの提供を目的とする。
【課題を解決するための手段】
【０００５】
そこで上記課題を解決するため、本発明は、アプリケーションの追加が可能な画像形成装置であって、表示装置に表示させる表示データにおける表示項目が定義される表示項目定義ファイルと、前記表示項目定義ファイルに基づいて前記表示データを生成する表示データ生成手段とを有し、当該画像形成装置に追加された各アプリケーションは、それぞれのアプリケーションに関する表示項目の定義を前記表示項目定義ファイルに挿入することを特徴とする。
【０００６】
このような画像形成装置では、アプリケーションの構成の変化に応じて表示データの表示内容を適切に変化させることができる。
【発明の効果】
【０００７】
本発明によれば、アプリケーションの構成の変化に応じて表示データの表示内容を適切に変化させることのできる画像形成装置、表示データ生成方法及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【０００８】
図１は、本発明の実施の形態における融合機の構成例を示す図である。図１の融合機１０１は、画像形成装置の一例であり、種々のハードウェア１１１と、種々のソフトウェア１１２と、融合機起動部１１３により構成される。
【０００９】
融合機１０１のハードウェア１１１としては、撮像部１２１と、印刷部１２２と、その他のハードウェア１２３が存在する。撮像部１２１は、読取原稿から画像（画像データ）を読み取るためのハードウェアである。印刷部１２２は、画像（画像データ）を印刷用紙に印刷するためのハードウェアである。
【００１０】
融合機１０１のソフトウェア１１２としては、種々のアプリケーション１３１と、種々のプラットフォーム１３２が存在する。これらのプログラムは、ＵＮＩＸ（登録商標）等のＯＳ（オペレーティングシステム）によりプロセス単位で並列的に実行される。
【００１１】
アプリケーション１３１としては、コピー用のアプリケーションであるコピーアプリ１４１、プリンタ用のアプリケーションであるプリンタアプリ１４２、スキャナ用のアプリケーションであるスキャナアプリ１４３、ファクシミリ用のアプリケーションであるファクシミリアプリ１４４、、ネットワークを介して接続するクライアントＰＣ（Personal Computer）等から要求された情報を表示するＷｅｂページ（表示データ）を生成するための処理を実行するアプリケーションである情報提供アプリ１４５、及びＳＤＫアプリ１４６等が存在する。
【００１２】
ＳＤＫアプリ１４６は、専用のＳＤＫ（ソフトウェア開発キット）を使用して開発された各種のアプリケーションである。すなわち、融合機１０１は、その出荷後に、専用のＳＤＫを用いて開発されたアプリケーションをインストール（追加）することで、機能強化を図ることができる。したがって、ＳＤＫアプリ１４６は、必ずしも一つのアプリケーションではなく、複数のアプリケーションがインストールされ得る。また、一度インストールされたＳＤＫアプリ１４６は、その後にアンインストール（削除）することも可能である。
【００１３】
プラットフォーム１３２としては、種々のコントロールサービス１５１、システムリソースマネージャ１５２、種々のハンドラ１５３が存在する。コントロールサービス１５１としては、ネットワークコントロールサービス（ＮＣＳ）１６１、ファクシミリコントロールサービス（ＦＣＳ）１６２、デリバリコントロールサービス（ＤＣＳ）１６３、エンジンコントロールサービス（ＥＣＳ）１６４、メモリコントロールサービス（ＭＣＳ）１６５、オペレーションパネルコントロールサービス（ＯＣＳ）１６６、サーティフィケーションコントロールサービス（ＣＣＳ）１６７、ユーザディレクトリコントロールサービス（ＵＣＳ）１６８、システムコントロールサービス（ＳＣＳ）１６９が存在する。ハンドラ１５３としては、ファクシミリコントロールユニットハンドラ（ＦＣＵＨ）１７１、イメージメモリハンドラ（ＩＭＨ）１７２が存在する。
【００１４】
ＮＣＳ１６１のプロセスは、ネットワーク通信の仲介を行う。ＦＣＳ１６２のプロセスは、ファクシミリのＡＰＩを提供する。ＤＣＳ１６３のプロセスは、蓄積文書の配信処理に関する制御を行う。ＥＣＳ１６４のプロセスは、撮像部１２１や印刷部１２２に関する制御を行う。ＭＣＳ１６５のプロセスは、メモリやハードディスクドライブに関する制御を行う。ＯＣＳ１６６のプロセスは、オペレーションパネルに関する制御を行う。ＣＣＳ１６７のプロセスは、認証処理や課金処理に関する制御を行う。ＵＣＳ１６８のプロセスは、ユーザ情報の管理に関する制御を行う。ＳＣＳ１６９のプロセスは、システムの管理に関する制御を行う。
【００１５】
アプリケーション１３１とプラットフォーム１３２の仲介を行うソフトウェア１１２として、仮想アプリケーションサービス（ＶＡＳ）１３５が存在する。ＶＡＳ１３５は、アプリケーション１３１をクライアントとするサーバプロセスとして動作すると共に、プラットフォーム１３２をサーバとするクライアントプロセスとして動作する。ＶＡＳ１３５は、アプリケーション１３１から見てプラットフォーム１３２を隠蔽するラッピング機能を備え、プラットフォーム１３２のバージョンアップに伴うバージョン差を吸収する役割等を担う。
【００１６】
融合機起動部１１３は、融合機１０１の電源投入時に最初に実行される。これにより、ＵＮＩＸ（登録商標）等のＯＳが起動され、アプリケーション１３１やプラットフォーム１３２が起動される。これらのプログラムは、ハードディスクドライブやメモリカードに蓄積されており、ハードディスクドライブやメモリカードから再生されて、メモリに起動されることになる。
【００１７】
図２は、図１の融合機１０１に係るハードウェア構成図である。融合機１０１のハードウェア１１１としては、コントローラ２０１と、オペレーションパネル２０２と、ファクシミリコントロールユニット（ＦＣＵ）２０３と、撮像部１２１と、印刷部１２２が存在する。
【００１８】
コントローラ２０１は、ＣＰＵ２１１、ＡＳＩＣ２１２、ＮＢ２２１、ＳＢ２２２、ＭＥＭ−Ｐ２３１、ＭＥＭ−Ｃ２３２、ＨＤＤ（ハードディスクドライブ）２３３、メモリカードスロット２３４、ＮＩＣ（ネットワークインタフェースコントローラ）２４１、ＵＳＢデバイス２４２、ＩＥＥＥ１３９４デバイス２４３、セントロニクスデバイス２４４により構成される。
【００１９】
ＣＰＵ２１１は、種々の情報処理用のＩＣである。ＡＳＩＣ２１２は、種々の画像処理用のＩＣである。ＮＢ２２１は、コントローラ２０１のノースブリッジである。ＳＢ２２２は、コントローラ２０１のサウスブリッジである。ＭＥＭ−Ｐ２３１は、融合機１０１のシステムメモリである。ＭＥＭ−Ｃ２３２は、融合機１０１のローカルメモリである。ＨＤＤ２３３は、融合機１０１のストレージである。メモリカード用スロット２３４は、アプリケーション１３１やプラットフォーム１３２等のプログラムが記憶されたメモリカード２３５をセット（挿入）するためのスロットである。ＮＩＣ２４１は、ＭＡＣアドレスによるネットワーク通信用のコントローラである。ＵＳＢデバイス２４２は、ＵＳＢ規格の接続端子を提供するためのデバイスである。ＩＥＥＥ１３９４デバイス２４３は、ＩＥＥＥ１３９４規格の接続端子を提供するためのデバイスである。セントロニクスデバイス２４４は、セントロニクス仕様の接続端子を提供するためのデバイスである。なお、図１におけるソフトウェア１２１は、ＭＥＭ−Ｐ２３１又はメモリカード２３５等の記録媒体に記録されたプログラムが、ＣＰＵ２１１によって処理されることにより機能する。
【００２０】
オペレーションパネル２０２は、オペレータが融合機１０１に入力を行うためのハードウェア（操作部）であると共に、オペレータが融合機１０１から出力を得るためのハードウェア（表示部）である。
【００２１】
情報提供アプリ１４５の詳細について説明する。図３は、情報提供アプリを説明するための図である。図３において、情報提供アプリ１４５は、Ｗｅｂアプリ１０、ＸＳＬＴ（XML Stylesheet Language Transformations）プロセッサ２０、ｍｅｎｕ．ｘｍｌ３０、及びｍｅｎｕ．ｘｓｌ４０等より構成される。
【００２２】
Ｗｅｂアプリ２０は、Ｗｅｂページ（ＨＴＭＬ（HyperText Markup Language）データ）の生成処理全体を制御するソフトウェアモジュールである。ＸＳＬＴプロセッサ２０は、ＸＭＬ（eXtensible Markup Language）データに対し、ＸＳＬ（eXtensible Stylesheet Language）データに定義された書式情報に従った変換処理を実行するソフトウェアモジュールである。ｍｅｎｕ．ｘｍｌ３０は、融合機１０１に関する各種の情報の表示や設定を行わせるためのＷｅｂページ（以下「メニューページ」という。）における表示項目が定義されるＸＭＬファイルである。ｍｅｎｕ．ｘｓｌ４０は、メニューページの書式情報が定義されたファイルである。なお、ｍｅｎｕ．ｘｍｌ３０及びｍｅｎｕ．ｘｓｌ４０は、例えば、ＨＤＤ２３３に格納されている。
【００２３】
クライアントからメニューページを要求するＨＴＴＰリクエストが受信されると（Ｓ１１）、Ｗｅｂアプリ１０は、メニューページに応じたＸＭＬファイルとＸＳＬファイル（すなわち、ｍｅｎｕ．ｘｍｌ３０とｍｅｎｕ．ｘｓｌ４０）とを指定してＸＳＬＴプロセッサ２０を起動する（Ｓ１２）。ＸＳＬＴプロセッサ２０は、起動に応じてｍｅｎｕ．ｘｍｌ３０及びｍｅｎｕ．ｘｓｌ４０を読み込む（Ｓ１３、Ｓ１４）。続いて、ＸＳＬＴプロセッサ２０は、ｍｅｎｕ．ｘｍｌ３０に対し、ｍｅｎｕ．ｘｓｌ４０に定義された書式情報に従った変換処理を実行することによりメニューページに係るＨＴＭＬデータを生成し、当該ＨＴＭＬデータをＷｅｂアプリ１０に出力する（Ｓ１５）。Ｗｅｂアプリ１０は、ＮＣＳ１６１を介して、当該ＨＴＭＬデータをクライアントに返信する。
【００２４】
なお、クライアントは、ネットワークを介して接続するコンピュータの表示装置に表示されるＷｅｂブラウザであってもよいし、融合機１０１の表示装置（オペレーションパネル２０２）の表示制御を行う（すなわち、融合機１０１内の）Ｗｅｂブラウザであってもよい。
【００２５】
図４は、メニューページの表示例を示す図である。図４において、メニューページ５０は、状態メニュー５１、設定メニュー５２、及びセキュリティメニュー５３を含む。状態メニュー５１は、各種の状態を確認させるためのメニューであり、図の例では用紙項目５１１、カウンター項目５１２、及び問い合わせ項目５１３より構成される。
【００２６】
設定メニュー５２は、各種の設定を行わせるためのメニューであり、図の例ではＩＰｖ４項目５２１、ＩＰｖ６項目５２２、ネットワーク項目５２３、ＳＮＭＰ項目５２４，ＳＮＭＰｖ３項目５２５、時刻項目５２６、及びタイマー項目５２７等より構成される。
【００２７】
セキュリティメニュー５３は、セキュリティに関する設定を行わせるためのメニューであり、ＳＳＨ（Secure Shell）項目５３１及び機器証明書項目５３２等より構成される。
【００２８】
各メニューの各項目には、それぞれに応じたＷｅｂページへのリンクが張られている。したがって、いずれかの項目がクリックされると、当該項目に係る情報（例えば、用紙の残量）を表示させるＷｅｂページが表示される。
【００２９】
図５は、ｍｅｎｕ．ｘｍｌの定義例を示す図である。図４に示されるメニューページ５０は、図５に示されるようなｍｅｎｕ．ｘｍｌ３０に基づいて生成される。
【００３０】
図中に示されるように、ｍｅｎｕ．ｘｍｌにおいて、各メニュー及び各メニューに属する項目のそれぞれは、＜ｎｏｄｅ＞タグで囲まれた要素（ｎｏｄｅ要素）によって定義される。メニューと項目（メニュー項目）との従属関係（親子関係）は、ｎｏｄｅ要素の親子関係によって定義される。
【００３１】
例えば、図中において、ｎｏｄｅ要素３１は、状態メニュー５１に関する定義である。また、ｎｏｄｅ要素３１２は、用紙項目５１１に関する定義である。また、ｎｏｄｅ要素３１３は、カウンター項目５１２に関する定義である。また、ｎｏｄｅ要素３１３は、問い合わせ項目５１３に関する定義である。なお、図中では、設定メニュー５２及びセキュリティメニュー５３に関するｎｏｄｅ要素については便宜上省略されている。
【００３２】
各ｎｏｄｅ要素には、ｕｒｌ要素が子要素として定義されている。例えば、ｎｏｄｅ要素３１１にはｕｒｌ要素３１１ｌが、ｎｏｄｅ要素３１２にはｕｒｌ要素３１２ｌが、ｎｏｄｅ要素３１３にはｕｒｌ要素３１３ｌが定義されている。これらは、それぞれのｎｏｄｅ要素に対応する項目のリンク先を示している。すなわち、メニューページ５０において各項目がクリックされたとき、それぞれの項目に対応するｕｒｌ要素に定義されているＵＲＬ（Uniform Resource Locator）に係るＷｅｂページが表示される。
【００３３】
ところで、本実施の形態において、ｍｅｎｕ．ｘｍｌ３０の内容は、固定的なものではなく、融合機１０１の起動時や、融合機１０１の起動後における操作に応じて編集される。例えば、図６は、融合機の起動時におけるｍｅｎｕ．ｘｍｌファイルの編集処理を説明するためのシーケンス図である。図６のシーケンス図において、アプリＡ１４６ａ及びアプリＢ１４６ｂは、融合機１０１に新たにインストールされたアプリケーション（ＳＤＫアプリ１４６）に相当する。
【００３４】
融合機１０１の起動時において、各アプリケーションは、ＯＳによってプロセスとして起動される。図中では、Ｗｅｂアプリ１０が起動され（Ｓ１０１）、アプリＡ１４６ａが起動され（Ｓ１０２）、アプリＢ１４６ｂが起動（Ｓ１０３）されている例が示されている。各アプリケーションは起動されると、当該アプリケーションに関するメニューの定義をｍｅｎｕ．ｘｍｌ３０に登録する。例えば、Ｗｅｂアプリ１０は、メニューページ５０に基本的に表示されるメニュー（例えば、状態メニュー５１、設定メニュー５２、セキュリティメニュー５３）に対応するｎｏｄｅ要素をｍｅｎｕ．ｘｍｌ３０に挿入する（Ｓ１０４）。また、アプリＡ１４６ａは、アプリＡに関するメニューに対応するｎｏｄｅ要素をｍｅｎｕ．ｘｍｌ３０に挿入する（Ｓ１０５）。また、アプリＢ１４６ｂは、アプリＢに関するメニューに対応するｎｏｄｅ要素をｍｅｎｕ．ｘｍｌ３０に挿入する（Ｓ１０６）。すなわち、これらの各ｎｏｄｅ要素は、融合機１０１が起動される初期状態においては、ｍｅｎｕ．ｘｍｌ３０には含まれていない。
【００３５】
なお、各アプリケーションが挿入するｎｏｄｅ要素に関する記述は、それぞれのアプリケーションのソースコード内に記述（ハードコーディング）されていてもよいが、それぞれのアプリケーションの実行ファイルとは別のＸＭＬファイルに記述しておくとよい。そうすることで、当該ＸＭＬファイルの編集によって、当該アプリケーションのメニューに関する項目のカスタマイズを容易に行えるからである。
【００３６】
このように、ｍｅｎｕ．ｘｍｌ３０の各ｎｏｄｅ要素は、それぞれに対応するアプリケーションによってその起動時に登録（挿入）される。したがって、アプリＡ１４６ａ及びアプリＢ１４６ｂが追加されたときのｍｅｎｕ．ｘｍｌ３０の定義内容は、次のようになる。
【００３７】
図７は、アプリケーションが追加されたときのｍｅｎｕ．ｘｍｌの定義例を示す図である。図７中、図５と同一部分には同一符号を付し、その説明は省略する。
【００３８】
図７において、ｎｏｄｅ要素３４は、アプリＡ１４６ａに対応するメニューの定義である。すなわち、図６のステップＳ１０５では、ｎｏｄｅ要素３４がアプリＡ１４６ａによって挿入される。ｎｏｄｅ要素３４には、二つのｎｏｄｅ要素（ｎｏｄｅ要素３４１及びｎｏｄｅ要素３４２）が子要素として含まれている。したがって、アプリＡ１４６ａのメニューは、二つの項目によって構成されることが分かる。なお、図中では、アプリＢ１４６ｂに対応するｎｏｄｅ要素については便宜上省略されている。
【００３９】
図８は、アプリケーションが追加されたときのｍｅｎｕ．ｘｍｌの編集処理とメニューページの生成処理とを説明するための図である。図８中、図６と同一ステップには同一ステップ番号を付している。
【００４０】
図６において説明したように、融合機１０１の起動時に、各アプリケーションによってそれぞれのアプリケーションに関するメニューの定義がｍｅｎｕ．ｘｍｌ３０に登録される（Ｓ１０１〜Ｓ１０６）。その後、クライアントからメニューページ５０を要求するＨＴＴＰリクエストが受信されると（Ｓ１１１）、図３において説明したステップＳ１２〜Ｓ１６と同様の処理が実行されることにより（Ｓ１１２〜Ｓ１１６）、追加されたアプリケーションに関する定義を含むｍｅｎｕ．ｘｍｌ３０に基づいてメニューページ５０に係るＨＴＭＬデータ生成され、クライアントに返信される。
【００４１】
図９は、アプリケーションが追加されたときのメニューページの表示例を示す図である。図９中、図４と同一部分には同一符号を付し、その説明は省略する。
【００４２】
図９のメニューページ５０は、図７に示されるｍｅｎｕ．ｘｍｌ３０に基づいて生成されたものである。ここで、図７のｍｅｎｕ．ｘｍｌ３０には、アプリＡ１４６ａ及びアプリＢ１４６ｂのメニューに対応するｎｏｄｅ要素が追加されている。したがって、当該ｎｏｄｅ要素の追加に応じて、アプリＡメニュー５４及びアプリＢメニュー５５がメニューページ５０に追加されている。なお、アプリＡメニュー５４は、ｎｏｄｅ要素３４に対応している。また、基本設定項目５４１、詳細設定項目５４２は、それぞれｎｏｄｅ要素３４１、ｎｏｄｅ要素３４２に対応している。
【００４３】
このように、融合機１０１にアプリケーションが追加された場合、メニューページ５０には、当該アプリケーションに対応したメニューが新たに追加される。
【００４４】
次に、アプリケーションに対して設定変更が行われたときについて説明する。図１０は、アプリケーションに対して設定変更が行われたときのｍｅｎｕ．ｘｍｌの編集処理を説明するためのシーケンス図である。
【００４５】
例えば、アプリＡ１４６ａの属性を設定させるためのＷｅｂページにおいて、アプリＡ１４６ａの属性に関して設定変更が行われると、当該設定変更を要求するＨＴＴＰリクエストがＷｅｂアプリ１０に通知される。Ｗｅｂアプリ１０は、当該ＨＴＴＰリクエストに応じ、当該設定変更の内容をアプリＡ１４６ａに通知する。アプリＡ１４６ａは、自らの属性の設定を変更し（Ｓ２０２）、更に、当該設定変更に応じてメニューページ５０の表示内容に変更が生じる場合は、その変更に対応した（関連した）修正をｍｅｎｕ．ｘｍｌ３０に対して行う（Ｓ２０３）。
【００４６】
図１１は、アプリＡの属性の設定が変更されたときのｍｅｎｕ．ｘｍｌの定義例を示す図である。図１１中、図７と同一部分には同一符号を付し、その説明は省略する。図１１では、ｎｏｄｅ要素３４２が削除されている。すなわち、図１１は、図１０のステップＳ２０３において、ｍｅｎｕ．ｘｍｌ３０の定義内容からｎｏｄｅ要素３４２が削除された場合の例を示す。例えば、アプリＡ１４６ａの属性の設定変更に応じて、アプリＡ１４６ａに対する詳細設定が不要又は無効となった場合である。
【００４７】
図１２は、アプリＡの属性の設定が変更されたときのｍｅｎｕ．ｘｍｌの編集処理とメニューページの生成処理とを説明するための図である。図１２中、図１０と同一ステップには同一ステップ番号を付している。
【００４８】
図１０において説明したように、アプリＡ１４６ａの属性の設定変更に応じて、ｍｅｎｕ．ｘｍｌ３０の定義内容が修正される（Ｓ２０１〜Ｓ２０３）。その後、クライアントからメニューページ５０を要求するＨＴＴＰリクエストが受信されると（Ｓ２１１）、図３において説明したステップＳ１２〜Ｓ１６と同様の処理が実行されることにより（Ｓ２１２〜Ｓ２１６）、修正されたｍｅｎｕ．ｘｍｌ３０に基づいてメニューページ５０に係るＨＴＭＬデータ生成され、クライアントに返信される。
【００４９】
図１３は、アプリＡの属性の設定が変更されたときのメニューページの表示例を示す図である。図１３中、図９と同一部分には同一符号を付し、その説明は省略する。
【００５０】
図１３のメニューページ５０は、図１１に示されるｍｅｎｕ．ｘｍｌ３０に基づいて生成されたものである。ここで、図１１のｍｅｎｕ．ｘｍｌ３０では、ｎｏｄｅ要素３４２が削除されている。したがって、メニューページ５０では、ｎｏｄｅ要素３４２に対応する詳細設定項目５４２が削除されている。
【００５１】
このように、アプリケーションの属性が変更された場合、メニューページ５０の表示内容は、その変更に応じて変化する。なお、上記では、項目が削除される例を示したが、アプリケーションの属性の設定変更に応じて、新たに項目が追加される場合もある。この場合は、当該項目に対応するｎｏｄｅ要素がｍｅｎｕ．ｘｍｌ３０に追加される。
【００５２】
次に、アプリケーションのプロセスが終了したとき又はアプリケーションが削除（アンインストール）されたとき（以下「アプリケーションが終了等したとき」という。）について説明する。
【００５３】
図１４は、アプリケーションが終了等したときのｍｅｎｕ．ｘｍｌの編集処理を説明するためのシーケンス図である。
【００５４】
例えば、オペレーションパネル２０２を介してアプリＡ１４６ａの終了等が指示されると、ＯＳよりアプリＡ１４６ａに対して終了等の指示が通知される（Ｓ３０１）。アプリＡ１４６ａは、終了指示に応じ、ｍｅｎｕ．ｘｍｌ３０よりアプリＡ１４６ａのメニューに対応するｎｏｄｅ要素を削除する（Ｓ３０２）。その後、アプリＡ１４６ａは終了等する。
【００５５】
図１５は、アプリＡが終了等したときのｍｅｎｕ．ｘｍｌの定義例を示す図である。図１５中、図１１と同一部分には同一符号を付し、その説明は省略する。図１５では、ｎｏｄｅ要素３４が削除されている。すなわち、図１４のステップＳ３０２では、ｎｏｄｅ要素３４が削除される。なお、図示されているｎｏｄｅ要素３５は、アプリＢ１４６ｂのメニュー５５に対応するｎｏｄｅ要素である。
【００５６】
図１６は、アプリＡが終了等したときのｍｅｎｕ．ｘｍｌの編集処理とメニューページの生成処理とを説明するための図である。図１６中、図１４と同一ステップには同一ステップ番号を付している。
【００５７】
図１４において説明したように、アプリＡ１４６ａの終了等に応じて、ｍｅｎｕ．ｘｍｌ３０よりｎｏｄｅ要素３４が削除される（Ｓ３０１、Ｓ３０２）。その後、クライアントからメニューページ５０を要求するＨＴＴＰリクエストが受信されると（Ｓ３１１）、図３において説明したステップＳ１２〜Ｓ１６と同様の処理が実行されることにより（Ｓ３１２〜Ｓ３１６）、ｎｏｄｅ要素３４が削除されたｍｅｎｕ．ｘｍｌ３０に基づいてメニューページ５０に係るＨＴＭＬデータ生成され、クライアントに返信される。
【００５８】
図１７は、アプリＡが終了等したときのメニューページの表示例を示す図である。図１７中、図１３と同一部分には同一符号を付し、その説明は省略する。
【００５９】
図１７のメニューページ５０は、図１５に示されるｍｅｎｕ．ｘｍｌ３０に基づいて生成されたものである。ここで、図１５のｍｅｎｕ．ｘｍｌ３０では、ｎｏｄｅ要素３４が削除されている。したがって、メニューページ５０では、ｎｏｄｅ要素３４に対応するアプリＡメニュー５４が削除されている。
【００６０】
このように、アプリケーションが終了等した場合、メニューページ５０の表示内容は、それに応じて変化する。
【００６１】
上述したように、本実施の形態における融合機１０１によれば、アプリケーションの追加、設定変更、及び終了等に応じて、Ｗｅｂページの表示内容を動的に変化させることができる。また、各事象に応じたｍｅｎｕ．ｘｍｌ３０に対する編集は、各アプリケーションに任されているため既存の実装部分に変更を加える必要はない。また、当該変更は、ｍｅｎｕ．ｘｍｌ３０に対して行われるため、プログラムのソースコードに対するコンパイル等を行うことなくＷｅｂページの表示項目を変更することができる。
【００６２】
なお、ｍｅｎｕ．ｘｍｌ４０については、ｎｏｄｅ要素の数に変化が生じても対応可能なロジック（例えば、ｎｏｄｅ要素の数分だけループするようなロジック）によって書式情報を定義しておけばよい。そうすることにより、ｍｅｎｕ．ｘｍｌ４０に対する修正は不要となる。
【００６３】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施の形態における融合機の構成例を示す図である。
【図２】本発明の実施の形態における融合機のハードウェア構成例を示す図である。
【図３】情報提供アプリを説明するための図である。
【図４】メニューページの表示例を示す図である。
【図５】ｍｅｎｕ．ｘｍｌの定義例を示す図である。
【図６】融合機の起動時におけるｍｅｎｕ．ｘｍｌファイルの編集処理を説明するためのシーケンス図である。
【図７】アプリケーションが追加されたときのｍｅｎｕ．ｘｍｌの定義例を示す図である。
【図８】アプリケーションが追加されたときのｍｅｎｕ．ｘｍｌの編集処理とメニューページの生成処理とを説明するための図である。
【図９】アプリケーションが追加されたときのメニューページの表示例を示す図である。
【図１０】アプリケーションに対して設定変更が行われたときのｍｅｎｕ．ｘｍｌの編集処理を説明するためのシーケンス図である。
【図１１】アプリＡの属性の設定が変更されたときのｍｅｎｕ．ｘｍｌの定義例を示す図である。
【図１２】アプリＡの属性の設定が変更されたときのｍｅｎｕ．ｘｍｌの編集処理とメニューページの生成処理とを説明するための図である。
【図１３】アプリＡの属性の設定が変更されたときのメニューページの表示例を示す図である。
【図１４】アプリケーションが終了等したときのｍｅｎｕ．ｘｍｌの編集処理を説明するためのシーケンス図である。
【図１５】アプリＡが終了等したときのｍｅｎｕ．ｘｍｌの定義例を示す図である。
【図１６】アプリＡが終了等したときのｍｅｎｕ．ｘｍｌの編集処理とメニューページの生成処理とを説明するための図である。
【図１７】アプリＡが終了等したときのメニューページの表示例を示す図である。
【符号の説明】
【００６５】
１０        Ｗｅｂアプリ
２０        ＸＳＬＴプロセッサ
３０        ｍｅｎｕ．ｘｍｌ
４０        ｍｅｎｕ．ｘｓｌ
１０１      融合機
１１１      ハードウェア
１１２      ソフトウェア
１１３      融合機起動部
１２１      撮像部
１２２      印刷部
１２３      その他のハードウェア
１３１      アプリケーション
１３２      プラットフォーム
１３３      アプリケーションプログラムインタフェース
１３４      エンジンインタフェース
１３５      仮想アプリケーションサービス
１４１      コピーアプリ
１４２      プリンタアプリ
１４３      スキャナアプリ
１４４      ファクシミリアプリ
１４５      情報提供アプリ
１４６      ＳＤＫアプリ
１５１      コントロールサービス
１５２      システムリソースマネージャ
１５３      ハンドラ
１６１      ネットワークコントロールサービス
１６２      ファクシミリコントロールサービス
１６３      デリバリコントロールサービス
１６４      エンジンコントロールサービス
１６５      メモリコントロールサービス
１６６      オペレーションパネルコントロールサービス
１６７      サーティフィケーションコントロールサービス
１６８      ユーザディレクトリコントロールサービス
１６９      システムコントロールサービス
１７１      ファクシミリコントロールユニットハンドラ
１７２      イメージメモリハンドラ
１８１      Ｗｅｂブラウザ
１８２      Ｗｅｂサーバソフト
１８３      ＳＤＫアプリケーションサービス
２０１      コントローラ
２０２      オペレーションパネル
２０３      ファクシミリコントロールユニット
２１１      ＣＰＵ
２１２      ＡＳＩＣ
２２１      ＮＢ
２２２      ＳＢ
２３１      ＭＥＭ−Ｐ
２３２      ＭＥＭ−Ｃ
２３３      ＨＤＤ
２３４      メモリカードスロット
２３５      メモリカード
２４１      ＮＩＣ
２４２      ＵＳＢデバイス
２４３      ＩＥＥＥ１３９４デバイス
２４４      セントロニクスデバイス
【図１】
2008108061.tif 000003
【図２】
2008108061.tif 000004
【図３】
2008108061.tif 000005
【図４】
2008108061.tif 000006
【図５】
2008108061.tif 000007
【図６】
2008108061.tif 000008
【図７】
2008108061.tif 000009
【図８】
2008108061.tif 000010
【図９】
2008108061.tif 000011
【図１０】
2008108061.tif 000012
【図１１】
2008108061.tif 000013
【図１２】
2008108061.tif 000014
【図１３】
2008108061.tif 000015
【図１４】
2008108061.tif 000016
【図１５】
2008108061.tif 000017
【図１６】
2008108061.tif 000018
【図１７】
2008108061.tif 000019