(57)【要約】【課題】  コンテンツを表示する処理をより少なくする。【解決手段】  コンテンツ構造定義リスト保存モジュール２５２は、サーバ１１から取得するコンテンツのコンテンツ構造定義を過去に取得しているか否かを判定する。コンテンツ構造定義を過去に取得していた場合、コンテンツ取得モジュール２５１は、サーバ１１からコンテンツを受信し、画面レイアウト情報保存モジュール２５６は、画面レイアウト情報を読み出し、画面表示作成ルール情報保存モジュール２５８は、画面表示作成ルール情報を読み出す。画面表示情報作成モジュール２５９は、コンテンツ、画面レイアウト情報、および画面表示作成ルール情報を基に、画面表示情報を生成する。画面表示モジュール２６０は、生成した画面表示情報を基に、画面にコンテンツを表示する。これにより、コンテンツを表示する処理をより少なくすることができる。本発明は、情報処理システムに適用できる。【選択図】  図５
2005321909.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理装置と、ネットワークを介して、コンテンツを前記第１の情報処理装置に送信する第２の情報処理装置とから構成される情報処理システムにおいて、
前記第１の情報処理装置は、
前記ネットワークを介して、前記第２の情報処理装置から送信される前記コンテンツを受信する第１の受信手段と、
前記ネットワークを介して、前記第２の情報処理装置から送信される前記コンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報を受信する第２の受信手段と、
前記配置決定手順情報に記述されている手順を基に、前記コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報および前記コンテンツから、前記表示装置の画面における前記コンテンツの前記要素の配置を指示する第１の指示情報を生成する第１の生成手段と、
前記第１の指示情報を基に、前記要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成手段と、
前記コンテンツ、前記第１の指示情報、および前記第２の指示情報を基に、前記コンテンツを前記表示装置に表示させるための表示情報を生成する第３の生成手段と
を含み
前記第２の情報処理装置は、
前記ネットワークを介して、前記第１の情報処理装置からの所定の要求に応じて、前記コンテンツを前記第１の情報処理装置に送信する第１の送信手段と、
前記ネットワークを介して、前記第１の情報処理装置からの所定の要求に応じて、前記配置決定手順情報を前記第１の情報処理装置に送信する第２の送信手段と
を含むことを特徴とする情報処理システム。
【請求項２】
ネットワークを介して、情報提供装置からコンテンツを受信する情報処理装置において、
前記ネットワークを介して、前記情報提供装置から送信される前記コンテンツを受信する第１の受信手段と、
前記ネットワークを介して、前記情報提供装置から送信される前記コンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報を受信する第２の受信手段と、
前記配置決定手順情報に記述されている手順を基に、前記コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報および前記コンテンツから、前記表示装置の画面における前記コンテンツの前記要素の配置を指示する第１の指示情報を生成する第１の生成手段と、
前記第１の指示情報を基に、前記要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成手段と、
前記コンテンツ、前記第１の指示情報、および前記第２の指示情報を基に、前記コンテンツを前記表示装置に表示させるための表示情報を生成する第３の生成手段と
を含むことを特徴とする情報処理装置。
【請求項３】
前記表示情報を基に、前記コンテンツの前記表示装置への表示を制御する表示制御手段
を含むことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記ネットワークを介して、前記情報提供装置から前記コンテンツを構成する要素の階層構造に関する情報であるコンテンツ構造定義情報を受信する第３の受信手段と、
前記第３の受信手段により受信した前記コンテンツ構造定義情報を基に、過去に受信した前記コンテンツ構造定義情報のリストであるコンテンツ構造定義リストに、前記コンテンツ構造定義が含まれているか否かを判定する判定手段と
を含むことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記判定手段により、前記コンテンツ構造定義リストに前記コンテンツ構造定義が含まれていないと判定された場合、前記第１の生成手段により生成した前記第１の指示情報と前記コンテンツ構造定義情報とを対応させた情報を記憶する第１の記憶手段と、
前記第２の生成手段により生成した前記第２の指示情報と前記コンテンツ構造定義情報とを対応させた情報を記憶する第２の記憶手段と
を含むことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記判定手段により、前記コンテンツ構造定義リストに前記コンテンツ構造定義が含まれていると判定された場合、前記第１の受信手段は、前記情報提供装置から、前記コンテンツを取得するための所定の要求に応じた前記コンテンツの一部を受信し、
前記第３の生成手段は、前記第１の受信手段が受信したコンテンツの一部、前記第１の記憶手段から供給される前記第１の指示情報、および前記第２の記憶手段から供給される第２の指示情報を基に、前記表示情報を生成する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記コンテンツは、前記コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、前記表示装置に表示される文字列または画像データに関する情報である要素内容、前記要素内容が前記表示装置に表示される際の優先順位に関する情報である表示優先順位、および前記要素内容の位置に関する情報である位置情報から構成される
ことを特徴とする請求項２に記載の情報処理装置。
【請求項８】
ネットワークを介して、情報提供装置からコンテンツを受信する情報処理装置の情報処理方法において、
前記ネットワークを介して、前記情報提供装置から送信される前記コンテンツの受信を制御する第１の受信制御ステップと、
前記ネットワークを介して、前記情報提供装置から送信される前記コンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報の受信を制御する第２の受信制御ステップと、
前記配置決定手順情報に記述されている手順を基に、前記コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報および前記コンテンツから、前記表示装置の画面における前記コンテンツの前記要素の配置を指示する第１の指示情報を生成する第１の生成ステップと、
前記第１の指示情報を基に、前記要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成ステップと、
前記コンテンツ、前記第１の指示情報、および前記第２の指示情報を基に、前記コンテンツを前記表示装置に表示させるための表示情報を生成する第３の生成ステップと
を含むことを特徴とする情報処理方法。
【請求項９】
ネットワークを介して、情報提供装置からコンテンツを受信する情報処理用のプログラムであって、
前記ネットワークを介して、前記情報提供装置から送信される前記コンテンツの受信を制御する第１の受信制御ステップと、
前記ネットワークを介して、前記情報提供装置から送信される前記コンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報の受信を制御する第２の受信制御ステップと、
前記配置決定手順情報に記述されている手順を基に、前記コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報および前記コンテンツから、前記表示装置の画面における前記コンテンツの前記要素の配置を指示する第１の指示情報を生成する第１の生成ステップと、
前記第１の指示情報を基に、前記要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成ステップと、
前記コンテンツ、前記第１の指示情報、および前記第２の指示情報を基に、前記コンテンツを前記表示装置に表示させるための表示情報を生成する第３の生成ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１０】
ネットワークを介して、情報提供装置からコンテンツを受信する処理を、コンピュータに行わせるプログラムにおいて、
前記ネットワークを介して、前記情報提供装置から送信される前記コンテンツの受信を制御する第１の受信制御ステップと、
前記ネットワークを介して、前記情報提供装置から送信される前記コンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報の受信を制御する第２の受信制御ステップと、
前記配置決定手順情報に記述されている手順を基に、前記コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報および前記コンテンツから、前記表示装置の画面における前記コンテンツの前記要素の配置を指示する第１の指示情報を生成する第１の生成ステップと、
前記第１の指示情報を基に、前記要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成ステップと、
前記コンテンツ、前記第１の指示情報、および前記第２の指示情報を基に、前記コンテンツを前記表示装置に表示させるための表示情報を生成する第３の生成ステップと
を含むことを特徴とするプログラム。
【請求項１１】
ネットワークを介して、コンテンツを情報処理装置に提供する情報提供装置において、
前記ネットワークを介して、前記情報処理装置からの所定の要求に応じて、前記コンテンツを前記情報処理装置に送信する第１の送信手段と、
前記ネットワークを介して、前記情報処理装置からの所定の要求に応じて、前記コンテンツの要素の配置を決定する手順を記述する配置決定手順情報を前記情報処理装置に送信する第２の送信手段と
を含むことを特徴とする情報提供装置。
【請求項１２】
前記ネットワークを介して、前記情報処理装置からの所定の要求に応じて、前記コンテンツを構成する要素の階層構造に関する情報であるコンテンツ構造定義情報を前記情報処理装置に送信する第３の送信手段と、
前記第１の送信手段は、前記所定の要求が、前記コンテンツの一部を要求するものであった場合、前記コンテンツの一部を選択して前記情報処理装置に送信する
ことを特徴とする請求項１１に記載の情報提供装置。
【請求項１３】
ネットワークを介して、コンテンツを情報処理装置に提供する情報提供装置の情報提供方法において、
前記ネットワークを介して、前記情報処理装置からの所定の要求に応じて、前記コンテンツの前記情報処理装置への送信を制御する第１の送信制御ステップと、
前記ネットワークを介して、前記情報処理装置からの所定の要求に応じて、前記コンテンツの要素の配置を決定する手順を記述する配置決定手順情報の前記情報処理装置への送信を制御する第２の送信制御ステップと
を含むことを特徴とする情報提供方法。
【請求項１４】
ネットワークを介して、コンテンツを情報処理装置に提供する情報提供処理用のプログラムであって、
前記ネットワークを介して、前記情報処理装置からの所定の要求に応じて、前記コンテンツの前記情報処理装置への送信を制御する第１の送信制御ステップと、
前記ネットワークを介して、前記情報処理装置からの所定の要求に応じて、前記コンテンツの要素の配置を決定する手順を記述する配置決定手順情報の前記情報処理装置への送信を制御する第２の送信制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１５】
ネットワークを介して、コンテンツを情報処理装置に提供する処理を、コンピュータに行わせるプログラムにおいて、
前記ネットワークを介して、前記情報処理装置からの所定の要求に応じて、前記コンテンツの前記情報処理装置への送信を制御する第１の送信制御ステップと、
前記ネットワークを介して、前記情報処理装置からの所定の要求に応じて、前記コンテンツの要素の配置を決定する手順を記述する配置決定手順情報の前記情報処理装置への送信を制御する第２の送信制御ステップと
を含むことを特徴とするプログラム。
【請求項１６】
ネットワークを介して、コンテンツを情報処理装置に提供する情報提供装置において、
前記ネットワークを介して、前記情報処理装置から送信されてくる過去に前記コンテンツを取得したか否かを示す通知を受信する受信手段と、
前記コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、および前記コンテンツを表示する表示装置に表示される文字列または画像データに関する情報である要素内容からなる第１の情報、並びに前記要素内容が前記表示装置に表示される際の優先順位に関する情報である表示優先順位情報、および前記要素内容の位置に関する情報である位置情報を生成する手順を記述する第２の情報を基に、前記コンテンツを生成する生成手段と、
前記通知が過去にコンテンツを取得していないことを示す場合、前記生成手段により生成した前記コンテンツを前記情報処理装置に送信し、前記通知が過去にコンテンツを取得していることを示す場合、前記第１の情報を情報処理装置に送信する送信手段と
を含むことを特徴とする情報提供装置。
【請求項１７】
前記第１の情報を記憶する第１の記憶手段と、
前記第２の情報を記憶する第２の記憶手段と
をさらに含むことを特徴とする請求項１６に記載の情報提供装置。
【請求項１８】
ネットワークを介して、コンテンツを情報処理装置に提供する情報提供装置の情報提供方法において、
前記ネットワークを介して、前記情報処理装置から送信されてくる過去に前記コンテンツを取得したか否かを示す通知を受信する受信ステップと、
前記コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、および前記コンテンツを表示する表示装置に表示される文字列または画像データに関する情報である要素内容からなる第１の情報、並びに前記要素内容が前記表示装置に表示される際の優先順位に関する情報である表示優先順位情報、および前記要素内容の位置に関する情報である位置情報を生成する手順を記述する第２の情報を基に、前記コンテンツを生成する生成ステップと、
前記通知が過去にコンテンツを取得していないことを示す場合、前記生成ステップにより生成した前記コンテンツの前記情報処理装置への送信を制御し、前記通知が過去にコンテンツを取得していることを示す場合、前記第１の情報の情報処理装置への送信を制御する送信制御ステップと
を含むことを特徴とする情報提供方法。
【請求項１９】
ネットワークを介して、コンテンツを情報処理装置に提供する情報提供処理用のプログラムであって、
前記ネットワークを介して、前記情報処理装置から送信されてくる過去に前記コンテンツを取得したか否かを示す通知を受信する受信ステップと、
前記コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、および前記コンテンツを表示する表示装置に表示される文字列または画像データに関する情報である要素内容からなる第１の情報、並びに前記要素内容が前記表示装置に表示される際の優先順位に関する情報である表示優先順位情報、および前記要素内容の位置に関する情報である位置情報を生成する手順を記述する第２の情報を基に、前記コンテンツを生成する生成ステップと、
前記通知が過去にコンテンツを取得していないことを示す場合、前記生成ステップにより生成した前記コンテンツの前記情報処理装置への送信を制御し、前記通知が過去にコンテンツを取得していることを示す場合、前記第１の情報の情報処理装置への送信を制御する送信制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項２０】
ネットワークを介して、コンテンツを情報処理装置に提供する処理を、コンピュータに行わせるプログラムにおいて、
前記ネットワークを介して、前記情報処理装置から送信されてくる過去に前記コンテンツを取得したか否かを示す通知を受信する受信ステップと、
前記コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、および前記コンテンツを表示する表示装置に表示される文字列または画像データに関する情報である要素内容からなる第１の情報、並びに前記要素内容が前記表示装置に表示される際の優先順位に関する情報である表示優先順位情報、および前記要素内容の位置に関する情報である位置情報を生成する手順を記述する第２の情報を基に、前記コンテンツを生成する生成ステップと、
前記通知が過去にコンテンツを取得していないことを示す場合、前記生成ステップにより生成した前記コンテンツの前記情報処理装置への送信を制御し、前記通知が過去にコンテンツを取得していることを示す場合、前記第１の情報の情報処理装置への送信を制御する送信制御ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置および方法、情報提供装置および方法、記録媒体、並びにプログラムに関し、特に、コンテンツを表示するか、相手にコンテンツを表示させる情報処理システム、情報処理装置および方法、情報提供装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
昨今、インターネットを介して、コンテンツの配信を提供するサービスが一般的に行われている。また、コンテンツを管理する機器を家庭内に配置することも行われている。このような状況に伴い、コンテンツを記述するための言語は多様化し、また、そのコンテンツを処理するデバイスの機能も多様化してきた。
【０００３】
このように、コンテンツを記述する言語が多様化し、さらにそのコンテンツを処理するデバイスの機能も多様化してきたので、コンテンツを配信するサーバは、より多くのデバイスがコンテンツを処理することができるように、互いに異なる言語により記述された同じ内容のコンテンツを複数用意し、配信先となるデバイスの仕様に応じて、それらの中から選択的に配信するようにするのが望ましい。また、それらのデバイスが有する各種の機能に対応することができるように、サーバは、互いに異なる機能に対応した各種のコンテンツを用意し、配信先となるデバイスが有する機能に応じて、それらの中から選択的に配信するようにするのが望ましい。
【０００４】
しかしながら、このように、全てのデバイスに対応するようにコンテンツを予め用意する方法の場合、サーバは、膨大な数のコンテンツを用意しなければならず、コンテンツの作成や配信の負荷を考慮すると現実的ではない。
【０００５】
このような状況から、サーバ側で、コンテンツの基となるソースを保持し、サーバは、各デバイスから受け取った機器特性の情報を基に、コンテンツをデバイスに適した配置または言語に変換し、変換したコンテンツをデバイスに配信するということが行われてきた。
【０００６】
コンテンツを配信するサーバ側で、コンテンツの基となるソースを各マークアップ言語の形式に変換し、変換したコンテンツを配信することを行っているものもある（例えば、特許文献１参照）。これにより、特定のマークアップ言語しか扱うことのできない機器においてもコンテンツを閲覧することが可能となる。
【０００７】
また、コンテンツを配信するサーバ側で、各機器の機器特性情報を取得し、取得した機器特性情報を基に、コンテンツの変換を行い、変換したコンテンツを配信することを行っているものもある（例えば、特許文献２参照）。これにより、表示領域の異なる様々なデバイスがサーバに保持されているコンテンツを閲覧することができる。
【０００８】
サーバ側ではなく、デバイス側でコンテンツを変換し、表示領域に適した形式でコンテンツを表示する方法も提案されている。
【０００９】
コンテンツを受信するデバイス側で、サーバから取得したコンテンツの識別子を基に、変換ルールを選択し、各デバイスに適した形式でコンテンツを表示しているものもある（例えば、特許文献３参照）。
【００１０】
また、コンテンツを受信するデバイス側で、サーバからコンテンツを取得した際に、表示すべきコンテンツの内容を抽出し、ユーザの嗜好にあった画面レイアウト情報を選択的に用いることで、ユーザに適したコンテンツを表示しているものもある（例えば、特許文献４参照）。
【００１１】
【特許文献１】特開２００２−３１２２８０号公報
【特許文献２】特開２００２−３５１７８１号公報
【特許文献３】特開２００１−８６０７８号公報
【特許文献４】特開２００３−６７１００号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、従来の手法では、コンテンツの変換を行うサーバ側の負担が非常に大きい。すなわち、コンテンツを管理するサーバ側で、各デバイスに適した形式にコンテンツを変換してから配信する場合、コンテンツを閲覧するデバイスの種類、またはデバイスが用いる言語数の増加に伴い、新しいデバイスに対応するために、常に最新のコンテンツを変換するための変換ルールを用意しなければならないため、デバイスの多様化に比例して、サーバ側の負担が大きくなり、サーバ側でコンテンツを変換して配信することは困難であった。
【００１３】
また、サーバ側ではなくデバイス側でコンテンツを変換して、表示領域に適した形式でコンテンツを表示する場合、一般的にサーバよりも性能が劣るデバイスで、サーバと同等の処理を行う必要があるため、複雑な処理が行われる変換においては、即応性が期待できなかった。コンテンツを表示するための画面レイアウト情報は、完全にデバイスに特化したものではない。
【００１４】
本発明は、このような状況に鑑み、デバイス側が多様化しても、サーバ側の負担を大きくすることなく、また、デバイス側において、より少ない処理で、表示装置に適したコンテンツを表示できるようにすることを目的とする。
【課題を解決するための手段】
【００１５】
本発明の情報処理システムは、第１の情報処理装置が、ネットワークを介して、第２の情報処理装置から送信されるコンテンツを受信する第１の受信手段と、ネットワークを介して、第２の情報処理装置から送信されるコンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報を受信する第２の受信手段と、配置決定手順情報に記述されている手順を基に、コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報およびコンテンツから、表示装置の画面におけるコンテンツの要素の配置を指示する第１の指示情報を生成する第１の生成手段と、第１の指示情報を基に、要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成手段と、コンテンツ、第１の指示情報、および第２の指示情報を基に、コンテンツを表示装置に表示させるための表示情報を生成する第３の生成手段とを含み、第２の情報処理装置が、ネットワークを介して、第１の情報処理装置からの所定の要求に応じて、コンテンツを第１の情報処理装置に送信する第１の送信手段と、ネットワークを介して、第１の情報処理装置からの所定の要求に応じて、配置決定手順情報を第１の情報処理装置に送信する第２の送信手段とを含むことを特徴とする。
【００１６】
本発明の情報処理装置は、ネットワークを介して、情報提供装置から送信されるコンテンツを受信する第１の受信手段と、ネットワークを介して、情報提供装置から送信されるコンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報を受信する第２の受信手段と、配置決定手順情報に記述されている手順を基に、コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報およびコンテンツから、表示装置の画面におけるコンテンツの要素の配置を指示する第１の指示情報を生成する第１の生成手段と、第１の指示情報を基に、要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成手段と、コンテンツ、第１の指示情報、および第２の指示情報を基に、コンテンツを表示装置に表示させるための表示情報を生成する第３の生成手段とを含むことを特徴とする。
【００１７】
本発明の情報処理装置は、表示情報を基に、コンテンツの表示装置への表示を制御する表示制御手段を含むことを特徴とする。
【００１８】
本発明の情報処理装置は、ネットワークを介して、情報提供装置からコンテンツを構成する要素の階層構造に関する情報であるコンテンツ構造定義情報を受信する第３の受信手段と、第３の受信手段により受信したコンテンツ構造定義情報を基に、過去に受信したコンテンツ構造定義情報のリストであるコンテンツ構造定義リストに、コンテンツ構造定義が含まれているか否かを判定する判定手段とを含むことを特徴とする。
【００１９】
本発明の情報処理装置は、判定手段により、コンテンツ構造定義リストにコンテンツ構造定義が含まれていないと判定された場合、第１の生成手段により生成した第１の指示情報とコンテンツ構造定義情報とを対応させた情報を記憶する第１の記憶手段と、第２の生成手段により生成した第２の指示情報とコンテンツ構造定義情報とを対応させた情報を記憶する第２の記憶手段とを含むことを特徴とする。
【００２０】
判定手段により、コンテンツ構造定義リストにコンテンツ構造定義が含まれていると判定された場合、第１の受信手段は、情報提供装置から、コンテンツを取得するための所定の要求に応じたコンテンツの一部を受信し、第３の生成手段は、第１の受信手段が受信したコンテンツの一部、第１の記憶手段から供給される第１の指示情報、および第２の記憶手段から供給される第２の指示情報を基に、表示情報を生成することができる。
【００２１】
コンテンツは、コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、表示装置に表示される文字列または画像データに関する情報である要素内容、要素内容が表示装置に表示される際の優先順位に関する情報である表示優先順位、および要素内容の位置に関する情報である位置情報から構成することができる。
【００２２】
本発明の情報処理方法は、ネットワークを介して、情報提供装置から送信されるコンテンツの受信を制御する第１の受信制御ステップと、ネットワークを介して、情報提供装置から送信されるコンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報の受信を制御する第２の受信制御ステップと、配置決定手順情報に記述されている手順を基に、コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報およびコンテンツから、表示装置の画面におけるコンテンツの要素の配置を指示する第１の指示情報を生成する第１の生成ステップと、第１の指示情報を基に、要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成ステップと、コンテンツ、第１の指示情報、および第２の指示情報を基に、コンテンツを表示装置に表示させるための表示情報を生成する第３の生成ステップとを含むことを特徴とする。
【００２３】
本発明の第１の記録媒体のプログラムは、ネットワークを介して、情報提供装置から送信されるコンテンツの受信を制御する第１の受信制御ステップと、ネットワークを介して、情報提供装置から送信されるコンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報の受信を制御する第２の受信制御ステップと、配置決定手順情報に記述されている手順を基に、コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報およびコンテンツから、表示装置の画面におけるコンテンツの要素の配置を指示する第１の指示情報を生成する第１の生成ステップと、第１の指示情報を基に、要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成ステップと、コンテンツ、第１の指示情報、および第２の指示情報を基に、コンテンツを表示装置に表示させるための表示情報を生成する第３の生成ステップとを含むことを特徴とする。
【００２４】
本発明の第１のプログラムは、ネットワークを介して、情報提供装置からコンテンツを受信する処理を、コンピュータに行わせるプログラムにおいて、ネットワークを介して、情報提供装置から送信されるコンテンツの受信を制御する第１の受信制御ステップと、ネットワークを介して、情報提供装置から送信されるコンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報の受信を制御する第２の受信制御ステップと、配置決定手順情報に記述されている手順を基に、コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報およびコンテンツから、表示装置の画面におけるコンテンツの要素の配置を指示する第１の指示情報を生成する第１の生成ステップと、第１の指示情報を基に、要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成ステップと、コンテンツ、第１の指示情報、および第２の指示情報を基に、コンテンツを表示装置に表示させるための表示情報を生成する第３の生成ステップとを含むことを特徴とする。
【００２５】
本発明の第１の情報提供装置は、ネットワークを介して、コンテンツを情報処理装置に提供する情報提供装置において、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツを情報処理装置に送信する第１の送信手段と、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツの要素の配置を決定する手順を記述する配置決定手順情報を情報処理装置に送信する第２の送信手段とを含むことを特徴とする。
【００２６】
本発明の第１の情報提供装置は、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツを構成する要素の階層構造に関する情報であるコンテンツ構造定義情報を情報処理装置に送信する第３の送信手段と、第１の送信手段は、所定の要求が、コンテンツの一部を要求するものであった場合、コンテンツの一部を選択して情報処理装置に送信することを特徴とする。
【００２７】
本発明の第１の情報提供方法は、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツの情報処理装置への送信を制御する第１の送信制御ステップと、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツの要素の配置を決定する手順を記述する配置決定手順情報の情報処理装置への送信を制御する第２の送信制御ステップとを含むことを特徴とする。
【００２８】
本発明の第２の記録媒体のプログラムは、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツの情報処理装置への送信を制御する第１の送信制御ステップと、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツの要素の配置を決定する手順を記述する配置決定手順情報の情報処理装置への送信を制御する第２の送信制御ステップとを含むことを特徴とする。
【００２９】
本発明の第２のプログラムは、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツの情報処理装置への送信を制御する第１の送信制御ステップと、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツの要素の配置を決定する手順を記述する配置決定手順情報の情報処理装置への送信を制御する第２の送信制御ステップとを含むことを特徴とする。
【００３０】
本発明の第２の情報提供装置は、ネットワークを介して、情報処理装置から送信されてくる過去にコンテンツを取得したか否かを示す通知を受信する受信手段と、コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、およびコンテンツを表示する表示装置に表示される文字列または画像データに関する情報である要素内容からなる第１の情報、並びに要素内容が表示装置に表示される際の優先順位に関する情報である表示優先順位情報、および要素内容の位置に関する情報である位置情報を生成する手順を記述する第２の情報を基に、コンテンツを生成する生成手段と、通知が過去にコンテンツを取得していないことを示す場合、生成手段により生成したコンテンツを情報処理装置に送信し、通知が過去にコンテンツを取得していることを示す場合、第１の情報を情報処理装置に送信する送信手段とを含むことを特徴とする。
【００３１】
本発明の第２の情報提供装置は、第１の情報を記憶する第１の記憶手段と、第２の情報を記憶する第２の記憶手段とをさらに含むことを特徴とする。
【００３２】
本発明の第２の情報提供方法は、ネットワークを介して、情報処理装置から送信されてくる過去にコンテンツを取得したか否かを示す通知を受信する受信ステップと、コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、およびコンテンツを表示する表示装置に表示される文字列または画像データに関する情報である要素内容からなる第１の情報、並びに要素内容が表示装置に表示される際の優先順位に関する情報である表示優先順位情報、および要素内容の位置に関する情報である位置情報を生成する手順を記述する第２の情報を基に、コンテンツを生成する生成ステップと、通知が過去にコンテンツを取得していないことを示す場合、生成ステップにより生成したコンテンツの情報処理装置への送信を制御し、通知が過去にコンテンツを取得していることを示す場合、第１の情報の情報処理装置への送信を制御する送信制御ステップとを含むことを特徴とする。
【００３３】
本発明の第３の記録媒体のプログラムは、ネットワークを介して、情報処理装置から送信されてくる過去にコンテンツを取得したか否かを示す通知を受信する受信ステップと、コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、およびコンテンツを表示する表示装置に表示される文字列または画像データに関する情報である要素内容からなる第１の情報、並びに要素内容が表示装置に表示される際の優先順位に関する情報である表示優先順位情報、および要素内容の位置に関する情報である位置情報を生成する手順を記述する第２の情報を基に、コンテンツを生成する生成ステップと、通知が過去にコンテンツを取得していないことを示す場合、生成ステップにより生成したコンテンツの情報処理装置への送信を制御し、通知が過去にコンテンツを取得していることを示す場合、第１の情報の情報処理装置への送信を制御する送信制御ステップとを含むことを特徴とする。
【００３４】
本発明の第３のプログラムは、ネットワークを介して、情報処理装置から送信されてくる過去にコンテンツを取得したか否かを示す通知を受信する受信ステップと、コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、およびコンテンツを表示する表示装置に表示される文字列または画像データに関する情報である要素内容からなる第１の情報、並びに要素内容が表示装置に表示される際の優先順位に関する情報である表示優先順位情報、および要素内容の位置に関する情報である位置情報を生成する手順を記述する第２の情報を基に、コンテンツを生成する生成ステップと、通知が過去にコンテンツを取得していないことを示す場合、生成ステップにより生成したコンテンツの情報処理装置への送信を制御し、通知が過去にコンテンツを取得していることを示す場合、第１の情報の情報処理装置への送信を制御する送信制御ステップとを含むことを特徴とする。
【００３５】
本発明の情報処理システムにおいては、第１の情報処理装置が、ネットワークを介して、第２の情報処理装置から送信されるコンテンツを受信し、ネットワークを介して、第２の情報処理装置から送信されるコンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報を受信し、配置決定手順情報に記述されている手順を基に、コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報およびコンテンツから、表示装置の画面におけるコンテンツの要素の配置を指示する第１の指示情報を生成し、第１の指示情報を基に、要素の表示または表示の抑制を指示する第２の指示情報を生成し、コンテンツ、第１の指示情報、および第２の指示情報を基に、コンテンツを表示装置に表示させるための表示情報を生成し、さらに、第２の情報処理装置が、ネットワークを介して、第１の情報処理装置からの所定の要求に応じて、コンテンツを第１の情報処理装置に送信し、ネットワークを介して、第１の情報処理装置からの所定の要求に応じて、配置決定手順情報を第１の情報処理装置に送信する。
【００３６】
本発明の情報処理装置および方法、第１の記録媒体、並びに第１のプログラムにおいては、ネットワークを介して、情報提供装置から送信されるコンテンツを受信し、ネットワークを介して、情報提供装置から送信されるコンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報を受信し、配置決定手順情報に記述されている手順を基に、コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報およびコンテンツから、表示装置の画面におけるコンテンツの要素の配置を指示する第１の指示情報を生成し、第１の指示情報を基に、要素の表示または表示の抑制を指示する第２の指示情報を生成し、コンテンツ、第１の指示情報、および第２の指示情報を基に、コンテンツを表示装置に表示させるための表示情報を生成する。
【００３７】
本発明の第１の情報処理装置および方法、第２の記録媒体、並びに第２のプログラムにおいては、ネットワークを介して、コンテンツを情報処理装置に提供する情報提供装置において、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツを情報処理装置に送信し、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツの要素の配置を決定する手順を記述する配置決定手順情報を情報処理装置に送信する。
【００３８】
本発明の第２の情報処理装置および方法、第３の記録媒体、並びに第３のプログラムにおいては、ネットワークを介して、情報処理装置から送信されてくる過去にコンテンツを取得したか否かを示す通知を受信し、コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、およびコンテンツを表示する表示装置に表示される文字列または画像データに関する情報である要素内容からなる第１の情報、並びに要素内容が表示装置に表示される際の優先順位に関する情報である表示優先順位情報、および要素内容の位置に関する情報である位置情報を生成する手順を記述する第２の情報を基に、コンテンツを生成し、通知が過去にコンテンツを取得していないことを示す場合、コンテンツを情報処理装置に送信し、通知が過去にコンテンツを取得していることを示す場合、第１の情報を情報処理装置に送信する。
【発明の効果】
【００３９】
第１の本発明によれば、コンテンツを表示させることができる。また、第１の本発明によれば、デバイス側が多様化しても、より少ない種類の情報を記録し、より少ない処理で、デバイス側において、表示装置に適した形態でコンテンツを表示させることができるようになる。
【００４０】
第２の本発明によれば、コンテンツを表示させることができる。また、第２の本発明によれば、より少ない処理で、表示装置に適したコンテンツを表示することができるようになる。
【００４１】
第３の本発明によれば、コンテンツを表示させることができる。また、第３の本発明によれば、デバイス側が多様化しても、より少ない種類の情報を記録し、より少ない処理で、情報をデバイスに送信することができるようになる。
【００４２】
第４の本発明によれば、コンテンツを表示させることができる。また、第４の本発明によれば、より少ない種類の情報を記録し、より少ない処理で、デバイス側において、表示装置に適した形態でコンテンツを表示させることができるようになる。
【発明を実施するための最良の形態】
【００４３】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。本明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応していないものであることを意味するものではない。
【００４４】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００４５】
本発明によれば、情報処理システムが提供される。この情報処理システム（例えば、図１のホームネットワークシステム１）は、第１の情報処理装置（例えば、図１のデバイス１３）が、ネットワークを介して、第２の情報処理装置から送信されるコンテンツを受信する第１の受信手段（例えば、図１７のステップＳ２０９の処理を実行する図４の通信部２０６）と、ネットワークを介して、第２の情報処理装置から送信されるコンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報を受信する第２の受信手段（例えば、図１７のステップＳ２０７の処理を実行する図４の通信部２０６）と、配置決定手順情報に記述されている手順を基に、コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報およびコンテンツから、表示装置の画面におけるコンテンツの要素の配置を指示する第１の指示情報を生成する第１の生成手段（例えば、図５の画面レイアウト情報作成モジュール２５５）と、第１の指示情報を基に、要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成手段（例えば、図５の画面表示作成ルール情報作成モジュール２５７）と、コンテンツ、第１の指示情報、および第２の指示情報を基に、コンテンツを表示装置に表示させるための表示情報を生成する第３の生成手段（例えば、図５の画面表示情報作成モジュール２５９）とを含み、第２の情報処理装置（例えば、図１のサーバ１１）は、ネットワークを介して、第１の情報処理装置からの所定の要求に応じて、コンテンツを第１の情報処理装置に送信する第１の送信手段（例えば、図１６のステップＳ１６３の処理を実行する図２の通信部１０６）と、ネットワークを介して、第１の情報処理装置からの所定の要求に応じて、配置決定手順情報を第１の情報処理装置に送信する第２の送信手段（例えば、図１５のステップＳ１４３の処理を実行する図２の通信部１０６）とを含む。
【００４６】
本発明によれば、情報処理装置が提供される。この情報処理装置（例えば、図１のデバイス１３）は、ネットワークを介して、情報提供装置から送信されるコンテンツを受信する第１の受信手段（例えば、図１７のステップＳ２０９の処理を実行する図４の通信部２０６）と、ネットワークを介して、情報提供装置から送信されるコンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報を受信する第２の受信手段（例えば、図１７のステップＳ２０７の処理を実行する図４の通信部２０６）と、配置決定手順情報に記述されている手順を基に、コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報およびコンテンツから、表示装置の画面におけるコンテンツの要素の配置を指示する第１の指示情報を生成する第１の生成手段（例えば、図５の画面レイアウト情報作成モジュール２５５）と、第１の指示情報を基に、要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成手段（例えば、図５の画面表示作成ルール情報作成モジュール２５７）と、コンテンツ、第１の指示情報、および第２の指示情報を基に、コンテンツを表示装置に表示させるための表示情報を生成する第３の生成手段（例えば、図５の画面表示情報作成モジュール２５９）とを含む。
【００４７】
表示情報を基に、コンテンツの表示装置への表示を制御する表示制御手段（例えば、図５の画面表示モジュール２６０）を含む。
【００４８】
ネットワークを介して、情報提供装置からコンテンツを構成する要素の階層構造に関する情報であるコンテンツ構造定義情報を受信する第３の受信手段（図１７のステップＳ２０３の処理を実行する図４の通信部２０５）と、第３の受信手段により受信したコンテンツ構造定義情報を基に、過去に受信したコンテンツ構造定義情報のリストであるコンテンツ構造定義リストに、コンテンツ構造定義が含まれているか否かを判定する判定手段（例えば、図５のコンテンツ構造定義リスト保存モジュール２５２）とを含む。
【００４９】
判定手段により、コンテンツ構造定義リストにコンテンツ構造定義が含まれていないと判定された場合、第１の生成手段により生成した第１の指示情報とコンテンツ構造定義情報とを対応させた情報を記憶する第１の記憶手段（例えば、図５の画面レイアウト情報保存モジュール２５６）と、第２の生成手段により生成した第２の指示情報とコンテンツ構造定義情報とを対応させた情報を記憶する第２の記憶手段（例えば、図５の画面表示作成ルール情報保存モジュール２５８）とを含む。
【００５０】
判定手段により、コンテンツ構造定義リストにコンテンツ構造定義が含まれていると判定された場合、第１の受信手段は、情報提供装置から、コンテンツを取得するための所定の要求に応じたコンテンツの一部を受信し、第３の生成手段は、第１の受信手段が受信したコンテンツの一部、第１の記憶手段から供給される第１の指示情報、および第２の記憶手段から供給される第２の指示情報を基に、表示情報を生成する。
【００５１】
コンテンツは、コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、表示装置に表示される文字列または画像データに関する情報である要素内容、要素内容が表示装置に表示される際の優先順位に関する情報である表示優先順位、および要素内容の位置に関する情報である位置情報から構成される。
【００５２】
また、本発明によれば、情報処理方法が提供される。この情報処理方法は、ネットワークを介して、情報提供装置（例えば、図１のサーバ１１）から送信されるコンテンツの受信を制御する第１の受信制御ステップ（例えば、図１７のステップＳ２０９の処理）と、ネットワークを介して、情報提供装置から送信されるコンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報の受信を制御する第２の受信制御ステップ（例えば、図１７のステップＳ２０７の処理）と、配置決定手順情報に記述されている手順を基に、コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報およびコンテンツから、表示装置の画面におけるコンテンツの要素の配置を指示する第１の指示情報を生成する第１の生成ステップ（例えば、図１７のステップＳ２１１の処理）と、第１の指示情報を基に、要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成ステップ（例えば、図１７のステップＳ２１３の処理）と、コンテンツ、第１の指示情報、および第２の指示情報を基に、コンテンツを表示装置に表示させるための表示情報を生成する第３の生成ステップ（例えば、図１７のステップＳ２１６の処理）とを含む。
【００５３】
また、本発明によれば、プログラムが提供される。このプログラムは、ネットワークを介して、情報提供装置（例えば、図１のサーバ１１）から送信されるコンテンツの受信を制御する第１の受信制御ステップ（例えば、図１７のステップＳ２０９の処理）と、ネットワークを介して、情報提供装置から送信されるコンテンツを構成する要素の配置を決定する手順を記述する配置決定手順情報の受信を制御する第２の受信制御ステップ（例えば、図１７のステップＳ２０７の処理）と、配置決定手順情報に記述されている手順を基に、コンテンツを表示する表示装置の表示能力に関する情報を示す表示能力情報およびコンテンツから、表示装置の画面におけるコンテンツの要素の配置を指示する第１の指示情報を生成する第１の生成ステップ（例えば、図１７のステップＳ２１１の処理）と、第１の指示情報を基に、要素の表示または表示の抑制を指示する第２の指示情報を生成する第２の生成ステップ（例えば、図１７のステップＳ２１３の処理）と、コンテンツ、第１の指示情報、および第２の指示情報を基に、コンテンツを表示装置に表示させるための表示情報を生成する第３の生成ステップ（例えば、図１７のステップＳ２１６の処理）とを含む。
【００５４】
本発明によれば、情報提供装置が提供される。この情報提供装置は、ネットワークを介して、情報処理装置（例えば、図１のデバイス１３）からの所定の要求に応じて、コンテンツを情報処理装置に送信する第１の送信手段（例えば、図１６のステップＳ１６３の処理を実行する図２の通信部１０６）と、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツの要素の配置を決定する手順を記述する配置決定手順情報を情報処理装置に送信する第２の送信手段（例えば、図１５のステップＳ１４３の処理を実行する図２の通信部１０６）とを含む。
【００５５】
ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツを構成する要素の階層構造に関する情報であるコンテンツ構造定義情報を情報処理装置に送信する第３の送信手段（例えば、図１４のステップＳ１２２の処理を実行する図２の通信部１０６）と、第１の送信手段は、所定の要求が、コンテンツの一部を要求するものであった場合、コンテンツの一部を選択して情報処理装置に送信する。
【００５６】
また、本発明によれば、情報提供方法が提供される。この情報提供方法は、ネットワークを介して、情報処理装置（例えば、図１のデバイス１３）からの所定の要求に応じて、コンテンツの情報処理装置への送信を制御する第１の送信制御ステップ（例えば、図１６のステップＳ１６３の処理）と、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツの要素の配置を決定する手順を記述する配置決定手順情報の情報処理装置への送信を制御する第２の送信制御ステップ（例えば、図１５のステップＳ１４３の処理）とを含む。
【００５７】
また、本発明によれば、プログラムが提供される。このプログラムは、ネットワークを介して、情報処理装置（例えば、図１のデバイス１３）からの所定の要求に応じて、コンテンツの情報処理装置への送信を制御する第１の送信制御ステップ（例えば、図１６のステップＳ１６３の処理）と、ネットワークを介して、情報処理装置からの所定の要求に応じて、コンテンツの要素の配置を決定する手順を記述する配置決定手順情報の情報処理装置への送信を制御する第２の送信制御ステップ（例えば、図１５のステップＳ１４３の処理）とを含む。
【００５８】
本発明によれば、情報提供装置が提供される。この情報提供装置は、ネットワークを介して、情報処理装置（例えば、図１のデバイス１３）から送信されてくる過去にコンテンツを取得したか否かを示す通知を受信する受信手段（例えば、図３６のステップＳ３０１の処理を実行する図２の通信部１０６）と、コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、およびコンテンツを表示する表示装置に表示される文字列または画像データに関する情報である要素内容からなる第１の情報、並びに要素内容が表示装置に表示される際の優先順位に関する情報である表示優先順位情報、および要素内容の位置に関する情報である位置情報を生成する手順を記述する第２の情報を基に、コンテンツを生成する生成手段（例えば、図３５のコンテンツ保存モジュール１５２）と、通知が過去にコンテンツを取得していないことを示す場合、生成手段により生成したコンテンツを情報処理装置に送信し、通知が過去にコンテンツを取得していることを示す場合、第１の情報を情報処理装置に送信する送信手段（例えば、図３６のステップＳ３０４またはステップＳ３０５の処理を実行する図２の通信部１０６）とを含む。
【００５９】
第１の情報を記憶する第１の記憶手段（例えば、図３５のコンテンツ選択保存モジュール９０１）と、第２の情報を記憶する第２の記憶手段（例えば、図３５のスタイルシート選択保存モジュール９０２）とをさらに含む。
【００６０】
また、本発明によれば、情報提供方法が提供される。この情報提供方法は、ネットワークを介して、情報処理装置（例えば、図１のデバイス１３）から送信されてくる過去にコンテンツを取得したか否かを示す通知を受信する受信ステップ（例えば、図３６のステップＳ３０１の処理）と、コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、およびコンテンツを表示する表示装置に表示される文字列または画像データに関する情報である要素内容からなる第１の情報、並びに要素内容が表示装置に表示される際の優先順位に関する情報である表示優先順位情報、および要素内容の位置に関する情報である位置情報を生成する手順を記述する第２の情報を基に、コンテンツを生成する生成ステップ（例えば、図３６のステップＳ３０３の処理）と、通知が過去にコンテンツを取得していないことを示す場合、生成ステップにより生成したコンテンツの情報処理装置への送信を制御し、通知が過去にコンテンツを取得していることを示す場合、第１の情報の情報処理装置への送信を制御する送信制御ステップ（例えば、図３６のステップＳ３０４またはステップＳ３０５の処理）とを含む。
【００６１】
また、本発明によれば、プログラムが提供される。このプログラムは、ネットワークを介して、情報処理装置（例えば、図１のデバイス１３）から送信されてくる過去にコンテンツを取得したか否かを示す通知を受信する受信ステップ（例えば、図３６のステップＳ３０１の処理）と、コンテンツを構成する要素であるコンテンツ構成要素の識別に関する情報である要素識別子、およびコンテンツを表示する表示装置に表示される文字列または画像データに関する情報である要素内容からなる第１の情報、並びに要素内容が表示装置に表示される際の優先順位に関する情報である表示優先順位情報、および要素内容の位置に関する情報である位置情報を生成する手順を記述する第２の情報を基に、コンテンツを生成する生成ステップ（例えば、図３６のステップＳ３０３の処理）と、通知が過去にコンテンツを取得していないことを示す場合、生成ステップにより生成したコンテンツの情報処理装置への送信を制御し、通知が過去にコンテンツを取得していることを示す場合、第１の情報の情報処理装置への送信を制御する送信制御ステップ（例えば、図３６のステップＳ３０４またはステップＳ３０５の処理）とを含む。
【００６２】
このプログラムは、記録媒体（例えば、図２の磁気ディスク１２１）に記憶することができる。
【００６３】
以下、図面を参照しながら本発明の実施の形態について説明する。
【００６４】
本発明は、例えば、操作用のパネルを備えるリモートコントローラから、HDD（Hard Disk Drive）レコーダを制御するホームネットワークシステムに適用できる。
【００６５】
図１は、本発明を適用したホームネットワークシステム１の一実施の形態を示す図である。このホームネットワークシステム１においては、ホームネットワーク１２に、サーバ１１−１、サーバ１１−２、デバイス１３−１、デバイス１３−２、およびデバイス１３−３が接続されている。
【００６６】
サーバ１１−１およびサーバ１１−２は、例えば、HDDレコーダプレーヤ、DVD（Digital Versatile Disk）レコーダプレーヤ、またはパーソナルコンピュータ（Personal Computer）などであり、住居内に設置してコンテンツを管理する。サーバ１１−１およびサーバ１１−２は、一般に、いわゆるホームサーバと称される。
【００６７】
サーバ１１−１は、ホームネットワーク１２を介して、デバイス１３−１、デバイス１３−２、またはデバイス１３−３のいずれかにより要求されたコンテンツ、またはコンテンツを変換するための情報を、要求に応じて、デバイス１３−１、デバイス１３−２、またはデバイス１３−３のいずれかに送信する。
【００６８】
サーバ１１−２は、ホームネットワーク１２を介して、デバイス１３−１、デバイス１３−２、またはデバイス１３−３のいずれかにより要求されたコンテンツ、またはコンテンツを変換するための情報を、要求に応じて、デバイス１３−１、デバイス１３−２、またはデバイス１３−３のいずれかに送信する。
【００６９】
ここで、コンテンツを変換するための情報とは、例えば、コンテンツをデバイス１３−１、デバイス１３−２、またはデバイス１３−３の画面（操作用のパネル）に表示するためにコンテンツを変換するための情報である。
【００７０】
ホームネットワーク１２は、例えば、または住居内に構築されたIEEE（Institute of Electrical and Electronics Engineers）802.11a、802.11b、若しくは802.11gなどの規格に準拠した無線LAN（Local Area Network）、有線のLAN、またはインターネットなどからなる。
【００７１】
ホームネットワーク１２は、サーバ１１−１またはサーバ１１−２から送信されるコンテンツ、またはコンテンツを変換するための情報を、デバイス１３−１、デバイス１３−２、またはデバイス１３−３に伝送する。また、ホームネットワーク１２は、デバイス１３−１、デバイス１３−２、またはデバイス１３−３から送信されるコンテンツまたはコンテンツを変換するための情報を取得するための通知（送信の要求）を、サーバ１１−１またはサーバ１１−２に伝送する。
【００７２】
デバイス１３−１乃至デバイス１３−３は、例えば、操作用のパネルを備えるリモートコントローラ、PDA（Personal Digital Assistance）、またはTV（Television）ディスプレイなどである。例えば、操作パネルは、ボタン、スイッチ、またはタッチパネルが設けられた液晶表示装置などとすることができる。
【００７３】
デバイス１３−１は、ホームネットワーク１２を介して、サーバ１１−１またはサーバ１１−２から供給されるコンテンツ、およびコンテンツを変換するための情報を基に、コンテンツをデバイス１３−１に適した形式に変換し、変換したコンテンツをデバイス１３−１の画面（表示装置の画面）に表示する。
【００７４】
デバイス１３−２は、ホームネットワーク１２を介して、サーバ１１−１またはサーバ１１−２から供給されるコンテンツ、およびコンテンツを変換するための情報を基に、コンテンツをデバイス１３−２に適した形式に変換し、変換したコンテンツをデバイス１３−２の画面（表示装置の画面）に表示する。
【００７５】
デバイス１３−３は、ホームネットワーク１２を介して、サーバ１１−１またはサーバ１１−２から供給されるコンテンツ、およびコンテンツを変換するための情報を基に、コンテンツをデバイス１３−３に適した形式に変換し、変換したコンテンツをデバイス１３−３の画面（表示装置の画面）に表示する。
【００７６】
なお、図１で示されるホームネットワークシステム１の例においては、サーバ１１−１およびサーバ１１−２が２台設けられているが、実際には、１または所望の数の複数台のサーバを設けるようにしてもよい。また、同様に、デバイス１３−１乃至デバイス１３−３が３台設けられているが、実際には、１または所望の数の複数台のデバイスを設けるようにしてもよい。
【００７７】
以下、サーバ１１−１およびサーバ１１−２を個々に区別する必要がないとき、単に、サーバ１１と称する。以下、デバイス１３−１乃至デバイス１３−３を個々に区別する必要がないとき、単に、デバイス１３と称する。
【００７８】
図２は、サーバ１１の構成の例を示すブロック図である。CPU（Central Processing Unit）１０１は、ROM（Read Only Memory）１０３、またはHDD（Hard Disk Drive）１０５に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）１０２には、CPU１０１が実行するプログラムやデータなどが適宜記憶される。これらのCPU１０１、ROM１０３、およびRAM１０２は、バス１０４により相互に接続されている。
【００７９】
バス１０４に接続されているHDD１０５は、CPU１０１が実行するプログラムや各種のデータを記録する。通信部１０６は、ホームネットワーク１２を介して、デバイス１３などの外部の装置と通信をする。
【００８０】
また、通信部１０６を介してプログラムを取得し、HDD１０５に記録するようにしてもよい。
【００８１】
バス１０４に接続されているドライブ１０７は、磁気ディスク１２１、光ディスク１２２、光磁気ディスク１２３、或いは半導体メモリ１２４などが装着されたとき、それらを駆動し、そこに記憶されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じてHDD１０５に転送され、記録される。
【００８２】
図３は、プログラムを実行するサーバ１１の機能の構成を示すブロック図である。
【００８３】
サーバ１１のHDD１０５（またはROM１０３）には、コンテンツ保存モジュール１５２、コンテンツ構造定義保存モジュール１５３、および画面レイアウト作成ルール情報保存モジュール１５４が構築される。
【００８４】
コンテンツ管理モジュール１５１は、ホームネットワーク１２を介して、デバイス１３から送信されるコンテンツを取得するための要求（以下、コンテンツ取得要求と称する）を受信する。コンテンツ管理モジュール１５１は、受信したコンテンツ取得要求に応じたコンテンツを取得するための要求（以下、コンテンツ要求と称する）を、コンテンツ保存モジュール１５２に供給する。コンテンツ管理モジュール１５１は、コンテンツ保存モジュール１５２から、コンテンツ要求に応じたコンテンツを取得し、取得したコンテンツをデバイス１３に送信する。
【００８５】
すなわち、コンテンツ管理モジュール１５１は、通信部１０６において行われる、デバイス１３から送信されるコンテンツ取得要求の受信を管理し、さらに、コンテンツ取得要求に応じて取得したコンテンツのデバイス１３への送信をも管理する。
【００８６】
また、ホームネットワーク１２を介して、デバイス１３から送信されるコンテンツ取得要求が、コンテンツの特定の箇所を要求するものであった場合、受信したコンテンツ取得要求に応じたコンテンツ要求を、コンテンツ保存モジュール１５２に供給する。コンテンツ管理モジュール１５１は、コンテンツ保存モジュール１５２から、コンテンツ要求に応じたコンテンツの特定の箇所を取得し、取得したコンテンツの特定の箇所をデバイス１３に送信する。
【００８７】
このように、デバイス１３からのコンテンツ取得要求に応じて、コンテンツの特定の箇所を取得できるようしたことで、サーバ１１は、ホームネットワーク１２を介して、デバイス１３の画面に表示可能な部分のコンテンツのみを送信することができるので、コンテンツをデバイス１３の画面に表示させる負荷を軽減することができる。
【００８８】
コンテンツ保存モジュール１５２は、各種のコンテンツを保存する。コンテンツ保存モジュール１５２は、コンテンツ管理モジュール１５１から供給されるコンテンツ要求に応じて、HDD１０５に記録された、例えば、画像データ、動画データ、またはテキストデータなどのコンテンツを読み出し、読み出したコンテンツをコンテンツ管理モジュール１５１に供給する。
【００８９】
コンテンツ構造定義保存モジュール１５３は、コンテンツ構造定義を保存する。コンテンツ構造定義保存モジュール１５３は、ホームネットワーク１２を介して、デバイス１３から送信されるコンテンツ構造定義を取得するための要求（以下、コンテンツ構造定義要求と称する）に応じて、HDD１０５に記録されたコンテンツ構造定義を読み出し、読み出したコンテンツ構造定義をデバイス１３に送信する。
【００９０】
すなわち、コンテンツ構造定義保存モジュール１５３は、通信部１０６において行われる、デバイス１３から送信されるコンテンツ構造定義要求の受信を管理し、さらに、コンテンツ構造定義要求に応じて取得したコンテンツ構造定義のデバイス１３への送信をも管理する。
【００９１】
ここで、コンテンツ構造定義とは、コンテンツの階層の構造に関する情報をいう。例えば、コンテンツ構造定義とは、階層的な、コンテンツを構成する総てのコンテンツ構成要素の構造を定義する。
【００９２】
また、コンテンツ構造定義保存モジュール１５３がデバイス１３に送信するコンテンツ構造定義は、コンテンツを一意に識別できる識別子によって識別される。コンテンツ構造定義保存モジュール１５３は、デバイス１３からの要求に応じて、コンテンツ構造定義または識別子をデバイス１３に供給する。コンテンツ構造定義の繰り返しの送信に代えて、識別子を送信することで、コンテンツ構造定義の送信に要求されるデータ量を減らすことができ、より迅速な処理を行うことができる。
【００９３】
コンテンツを一意に識別できる識別子は、例えば、“MusicContents01”など、識別子からコンテンツを連想できるような名称とすることができる。この例の場合、識別子に含まれる文字列を参照することにより、コンテンツの種類（音楽のコンテンツであること）を特定することができる。
【００９４】
画面レイアウト作成ルール情報保存モジュール１５４は、画面レイアウト作成ルール情報を保存する。画面レイアウト作成ルール情報保存モジュール１５４は、ホームネットワーク１２を介して、デバイス１３から供給される画面レイアウト作成ルール情報取得するための要求（以下、画面レイアウト作成ルール情報取得要求と称する）に応じて、HDD１０５に記録された画面レイアウト作成ルール情報を読み出し、読み出した画面レイアウト作成ルール情報をデバイス１３に送信する。
【００９５】
すなわち、画面レイアウト作成ルール情報保存モジュール１５４は、通信部１０６において行われる、デバイス１３から送信される画面レイアウト作成ルール情報取得要求の受信を管理し、さらに、画面レイアウト作成ルール情報取得要求に応じて取得した画面レイアウト作成ルール情報のデバイス１３への送信をも管理する。
【００９６】
ここで、画面レイアウト作成ルール情報とは、コンテンツ構成要素のデバイス１３の画面上の配置に関する情報である。例えば、画面レイアウト作成ルール情報は、コンテンツの表示可能な各部位と、画面レイアウト情報を基に、画面表示情報を生成するための手順を示す。
【００９７】
画面レイアウト情報とは、コンテンツ構成要素に対応する要素の内容の、表示装置の画面上の配置を示す情報である。
【００９８】
画面表示情報とは、表示装置にコンテンツを表示させるための情報である。画面表示情報においては、画面レイアウト情報に基づき、コンテンツ構成要素に対応する要素の内容の、表示装置の画面上の配置が具体的に示されている。
【００９９】
なお、HDD１０５に記録されているコンテンツ、コンテンツ構造定義情報、および画面レイアウト作成ルール情報は、サーバ１１の工場出荷時に予め記録するようにしてもよく、また、例えば、ドライブ１０７に光ディスク１２２を装着し、装着された光ディスク１２２を駆動して、光ディスク１２２に記憶されているコンテンツなどを取得したり、さらにまた、インターネットなどを介して、コンテンツなどを管理するサーバから、通信部１０６がコンテンツなどを取得したりすることで、取得したコンテンツなどをHDD１０５に記録させて、コンテンツ構造定義情報、および画面レイアウト作成ルール情報を、適宜、アップデートするようにしてもよい。
【０１００】
また、コンテンツ、コンテンツ構造定義、および画面レイアウト作成ルール情報は、HDD１０５に限らずROM１０３に記憶させ、そこから読み出すようにしてもよい。さらに、サーバ１１の機能は、ハードウェアにより実現するようにしてもよい。
【０１０１】
図４は、クライアント１３の構成の例を示すブロック図である。CPU２０１は、ROM２０３、またはHDD２０５からロードされたRAM２０２に記憶されているプログラムに従って各種の処理を実行する。RAM２０２は、CPU２０１が実行するプログラムやプログラムの実行に必要なデータなどを適宜記憶する。ROM２０３は、CPU２０１が実行するプログラムや固定のデータなどを記憶する。これらのCPU２０１、ROM２０３、およびRAM２０２は、バス２０４により相互に接続されている。
【０１０２】
バス２０４に接続されているHDD２０５は、CPU２０１が実行するプログラムや各種のデータを記録する。通信部２０６は、ホームネットワーク１２を介して、サーバ１１などの外部の装置と通信をする。
【０１０３】
また、通信部２０６を介してプログラムを取得し、HDD２０５に記録するようにしてもよい。
【０１０４】
入力部２０７は、例えば、ボタンまたはスイッチなどで構成され、入力信号をCPU２０１に供給する。また、入力部２０７は、例えば、赤外線通信を介して、入力信号をデバイス１３本体に供給するリモートコントローラとするようにしてもよい。CPU２０１は、入力部２０７から供給される入力信号を基にデバイス１３を制御をする。
【０１０５】
表示部２０８は、例えば、LCD（Liquid Crystal Display）パネル（LCD表示装置）で構成され、コンテンツを表示する。なお、表示部２０８は、LCDパネルに限らず、有機EL（Electroluminescence）パネル（有機EL表示装置）またはプラズマパネル（プラズマ表示装置）などから構成されるようにしてもよい。
【０１０６】
バス２０４に接続されているドライブ２０９は、磁気ディスク２２１、光ディスク２２２、光磁気ディスク２２３、或いは半導体メモリ２２４などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じてHDD２０５に転送され、記録される。
【０１０７】
図５は、プログラムを実行するデバイス１３の機能の構成を示すブロック図である。
【０１０８】
CPU２０１がプログラムを実行することにより、コンテンツ取得モジュール２５１、コンテンツ構造定義リスト保存モジュール２５２、画面レイアウト作成ルール情報取得モジュール２５３、画面特性情報保存モジュール２５４、画面レイアウト情報作成モジュール２５５、画面レイアウト情報保存モジュール２５６、画面表示作成ルール情報作成モジュール２５７、画面表示作成ルール情報保存モジュール２５８、画面表示情報作成モジュール２５９、および画面表示モジュール２６０が実現される。
【０１０９】
プログラムデバイス１３のHDD２０５（またはROM２０３）には、コンテンツ構造定義リスト保存モジュール２５２、画面特性情報保存モジュール２５４、画面レイアウト情報保存モジュール２５６、画面表示作成ルール情報保存モジュール２５８、が構築される。
【０１１０】
換言すれば、CPU２０１は、プログラムであるこれらの各モジュールを実行することで、コンテンツをデバイス１３の表示部２０８に表示させる。
【０１１１】
コンテンツ取得モジュール２５１は、サーバ１１より取得するコンテンツを決定し、取得することが決定したコンテンツのコンテンツ構造定義が、過去に受信したコンテンツのコンテンツ構造定義に含まれるか否かを判定させるための要求（以下、取得履歴調査要求と称する）をコンテンツ構造定義リスト保存モジュール２５２に供給する。
【０１１２】
また、コンテンツ取得モジュール２５１は、コンテンツ構造定義リスト保存モジュール２５２から供給される取得履歴調査要求に応じた結果通知（以下、結果通知と称する）を基に、ホームネットワーク１２を介して、コンテンツ取得要求をサーバ１１に送信し、サーバ１１から、コンテンツ取得要求に応じたコンテンツを受信する。
【０１１３】
すなわち、コンテンツ取得モジュール２５１は、通信部２０６において行われる、コンテンツ取得要求のサーバ１１への送信を管理し、さらに、サーバ１１から送信されるコンテンツ取得要求に応じたコンテンツの受信をも管理する。
【０１１４】
コンテンツ取得モジュール２５１は、結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれないことを示す通知である場合、受信したコンテンツを画面レイアウト情報作成モジュール２５５および画面表示情報作成モジュール２５９にそれぞれ供給する。このようにすることで、後述する、画面レイアウト情報作成モジュール２５５は、画面レイアウト情報を生成することができる。
【０１１５】
また、結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれることを示す通知である場合、コンテンツ取得モジュール２５１は、受信したコンテンツを画面表示情報作成モジュール２５９のみに供給する。
【０１１６】
さらに、コンテンツ取得モジュール２５１は、ホームネットワーク１２を介して、コンテンツの特定の箇所（コンテンツ構成要素からなるコンテンツの一部）を要求するコンテンツ取得要求をサーバ１１に送信する。コンテンツの特定の箇所を要求するコンテンツ取得要求を受信したサーバ１１は、要求されたコンテンツの特定の箇所を送信してくるので、コンテンツ取得モジュール２５１は、サーバ１１から送信されてくるコンテンツの特定の箇所を受信する。
【０１１７】
このように、コンテンツ取得モジュール２５１は、送信するコンテンツ取得要求に応じて、ホームネットワーク１２を介して、サーバ１１からコンテンツの特定の箇所を受信できるので、コンテンツを表示部２０８に表示させる負荷を軽減することができる。
【０１１８】
コンテンツ構造定義リスト保存モジュール２５２は、コンテンツ取得モジュール２５１から供給される取得履歴調査要求を基に、ホームネットワーク１２を介して、取得履歴調査要求に応じた、コンテンツ構造定義要求をサーバ１１に送信する。コンテンツ構造定義リスト保存モジュール２５２は、ホームネットワーク１２を介して、サーバ１１からコンテンツ構造定義要求に応じたコンテンツ構造定義を受信する。
【０１１９】
すなわち、コンテンツ構造定義リスト保存モジュール２５２は、通信部２０６において行われる、コンテンツ構造定義要求のサーバ１１への送信を管理し、さらに、サーバ１１から送信されるコンテンツ構造定義要求に応じたコンテンツ構造定義の受信をも管理する。
【０１２０】
コンテンツ構造定義リスト保存モジュール２５２は、HDD２０５に記録されたコンテンツ構造定義リストを読み出し、読み出したコンテンツ構造定義リストに、ホームネットワーク１２を介して、サーバ１１から受信したコンテンツ構造定義が含まれるか否かを判定し、判定した結果（結果通知）をコンテンツ取得モジュール２５１に供給する。
【０１２１】
画面レイアウト作成ルール情報取得モジュール２５３は、コンテンツ構造定義リスト保存モジュール２５２の判定した結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれないことを示す通知である場合、CPU２０１の制御に基づいて、ホームネットワーク１２を介して、画面レイアウト作成ルール情報を取得するための要求（以下、画面レイアウト作成ルール情報取得要求と称する）をサーバ１１に送信する。画面レイアウト作成ルール情報取得モジュール２５３は、サーバ１１から、画面レイアウト作成ルール情報取得要求に応じた、画面レイアウト作成ルール情報を受信し、受信した画面レイアウト作成ルール情報を画面レイアウト情報作成モジュール２５５に供給する。
【０１２２】
すなわち、画面レイアウト作成ルール情報取得モジュール２５３は、通信部２０６において行われる、画面レイアウト作成ルール情報取得要求のサーバ１１への送信を管理し、さらに、サーバ１１から送信される画面レイアウト作成ルール情報取得要求に応じた画面レイアウト作成ルール情報の受信をも管理する。
【０１２３】
また、結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれることを示す通知である場合、サーバ１１から画面レイアウト作成ルール情報を受信せずに、デバイス１３のHDD２０５に記録された画面レイアウト情報および画面表示作成ルール情報を使用して、コンテンツを表示部２０８に表示するので、画面レイアウト作成ルール情報取得モジュール２５３は、CPU２０１の制御に基づいて、画面レイアウト作成ルール情報を画面レイアウト情報作成モジュール２５５に供給しない。
【０１２４】
画面特性情報保存モジュール２５４は、例えば、表示部２０８のパネルの解像度の情報（以下、画面特性情報と称する）を記録する。画面特性情報保存モジュール２５４は、コンテンツ構造定義リスト保存モジュール２５２の判定した結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれないことを示す通知である場合、CPU２０１の制御に基づいて、HDD２０５に記録された、画面特性情報を読み出し、読み出した画面特性情報を画面レイアウト情報作成モジュール２５５に供給する。
【０１２５】
なお、画面特性情報は、表示部２０８のパネルの解像度の他にも、例えば、色数、応答速度、画素ピッチなどを指定するようにしてもよい。
【０１２６】
また、結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれることを示す通知である場合、デバイス１３のHDD２０５に記録された画面レイアウト情報および画面表示作成ルール情報を使用して、コンテンツを表示部２０８に表示するので、画面特性情報保存モジュール２５４は、CPU２０１の制御に基づいて、読み出した画面特性情報を画面レイアウト情報作成モジュール２５５に供給しない。
【０１２７】
画面レイアウト情報作成モジュール２５５は、コンテンツ構造定義リスト保存モジュール２５２の判定した結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれないことを示す通知である場合、CPU２０１の制御に基づいて、コンテンツ取得モジュール２５１から供給されるコンテンツ、画面レイアウト作成ルール情報取得モジュール２５３から供給される画面レイアウト作成ルール情報、および画面特性情報保存モジュール２５４から供給される画面特性情報を基に、画面レイアウト情報を生成し、生成した画面レイアウト情報を画面レイアウト情報保存モジュール２５６に供給する。
【０１２８】
ここで、画面レイアウト情報は、例えば、コンテンツを構成する要素における、表示部２０８の表示領域上の位置情報である。
【０１２９】
また、結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれることを示す通知である場合、デバイス１３のHDD２０５に記録された画面レイアウト情報を使用して、コンテンツを表示部２０８に表示するので、画面レイアウト情報作成モジュール２５５は、CPU２０１の制御に基づいて、画面レイアウト情報を生成しない。
【０１３０】
画面レイアウト情報保存モジュール２５６は、画面レイアウト情報を記録する。画面レイアウト情報保存モジュール２５６は、コンテンツ構造定義リスト保存モジュール２５２の判定した結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれないことを示す通知である場合、CPU２０１の制御に基づいて、画面レイアウト情報作成モジュール２５５から供給される画面レイアウト情報をHDD２０５に記録させる。また、画面レイアウト情報保存モジュール２５６は、画面レイアウト情報作成モジュール２５５から供給された画面レイアウト情報を、画面表示作成ルール情報作成モジュール２５７および画面表示情報作成モジュール２５９に供給する。
【０１３１】
また、結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれることを示す通知である場合、画面レイアウト情報保存モジュール２５６は、CPU２０１の制御に基づいて、デバイス１３のHDD２０５に記録された画面レイアウト情報を読み出し、読み出した画面レイアウト情報を画面表示情報作成モジュール２５９に供給する。
【０１３２】
このように、コンテンツ構造定義が一致するコンテンツを再度表示する場合、画面レイアウト情報を生成せずに、HDD２０５に記録された画面レイアウト情報を使用することができるので、画面レイアウト情報を生成する負担を軽減することができる。
【０１３３】
画面表示作成ルール情報作成モジュール２５７は、コンテンツ構造定義リスト保存モジュール２５２の判定した結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれないことを示す通知である場合、CPU２０１の制御に基づいて、画面レイアウト情報保存モジュール２５６から供給された画面レイアウト情報を基に、画面表示作成ルール情報を生成し、生成した画面表示作成ルール情報を画面表示作成ルール情報保存モジュール２５８に供給する。
【０１３４】
ここで、画面表示作成ルール情報とは、コンテンツ構成要素の配置を決定する手順を記述する情報である。例えば、画面表示作成ルール情報は、表示部２０８の表示領域において、コンテンツの表示可能な部位が、画面レイアウトに基づいて、表示領域上に配置される際のルールを示す。
【０１３５】
また、結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれることを示す通知である場合、デバイス１３のHDD２０５に記録された画面表示作成ルール情報を使用して、コンテンツを表示部２０８に表示するので、画面表示作成ルール情報作成モジュール２５７は、CPU２０１の制御に基づいて、画面表示作成ルール情報を生成しない。
【０１３６】
画面表示作成ルール情報保存モジュール２５８は、コンテンツ構造定義リスト保存モジュール２５２の判定した結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれないことを示す通知である場合、CPU２０１の制御に基づいて、画面表示作成ルール情報作成モジュール２５７から供給された画面表示作成ルール情報をHDD２０５に記録させる。また、画面表示作成ルール情報保存モジュール２５８は、画面表示作成ルール情報作成モジュール２５７から供給された画面表示作成ルール情報を画面表示情報作成モジュール２５９に供給する。
【０１３７】
また、結果通知が、コンテンツ構造定義リストに受信したコンテンツ構造定義が含まれることを示す通知である場合、画面表示作成ルール情報保存モジュール２５８は、CPU２０１の制御に基づいて、デバイス１３のHDD２０５に記録された画面表示作成ルール情報を読み出し、読み出した画面表示作成ルール情報を画面表示情報作成モジュール２５９に供給する。
【０１３８】
このように、コンテンツ構造定義が一致するコンテンツを再度表示する場合、画面表示作成ルール情報を生成せずに、HDD２０５に記録された画面表示作成ルール情報を使用することができるので、画面表示作成ルール情報を生成する負担を軽減することができる。
【０１３９】
画面表示情報作成モジュール２５９は、コンテンツ取得モジュール２５１から供給されたコンテンツ、画面レイアウト情報保存モジュール２５６から供給された画面レイアウト情報、および画面表示作成ルール情報保存モジュール２５８から供給された画面表示作成ルール情報を基に、画面表示情報を生成し、生成した画面表示情報を画面表示モジュール２６０に供給する。
【０１４０】
ここで、画面表示情報は、例えば、コンテンツを構成する要素の内容が、表示部２０８の表示領域上のどの位置に配置されるかを示す情報である。
【０１４１】
画面表示モジュール２６０は、画面表示情報作成モジュール２５９から供給される画面表示情報を基に、コンテンツを表示部２０８に表示する。
【０１４２】
このように、コンテンツ構造定義が一致するコンテンツを再度表示する場合、画面レイアウト情報および画面表示作成ルール情報を生成せずに、デバイス１３のHDD２０５に記録された画面レイアウト情報および画面表示作成ルール情報をそれぞれ使用するので、画面レイアウト情報および画面表示作成ルール情報を生成する負荷を軽減することができる。
【０１４３】
なお、コンテンツ構造定義リスト、画面特性情報、画面レイアウト情報、および画面表示作成ルール情報は、HDD２０５に限らずROM２０３に記憶させ、そこから読み出すようにしてもよい。また、デバイス１３の機能は、ハードウェアにより実現するようにしてもよい。
【０１４４】
図６は、表示部２０８に表示されるコンテンツの例を示す図である。
【０１４５】
例えば、サーバ１１に記憶された音楽を再生する場合、記憶された音楽に対応するコンテンツ３０１が、表示部２０８に表示される。表示部２０８には、コンテンツ３１１として、“タイトルＡ”である曲名に対して、“アーティストＡ”である歌手名、および“3:54”である再生時間が表示されている。また、コンテンツ３１２として、“タイトルＢ”である曲名に対して、“アーティストＢ”である歌手名、および“4:01”である再生時間が表示されている。
【０１４６】
コンテンツ３０１、コンテンツ３１１、およびコンテンツ３１２は、表示部２０８に応じて変換される。すなわち表示部２０８の表示領域に最も適した形式で、コンテンツ３０１、コンテンツ３１１、およびコンテンツ３１２が表示される。
【０１４７】
次に、コンテンツの詳細について、図７乃至図１２を参照して説明する。まず、コンテンツの階層構造について、図７を参照して説明する。
【０１４８】
図７で示される例において、コンテンツは、コンテンツ構成要素Ａを最上位階層（ルート）として、コンテンツ構成要素Ａの下位階層に、コンテンツ構成要素Ａ−１およびコンテンツ構成要素Ａ−２が配置され、コンテンツ構成要素Ａ−１の下位階層に、コンテンツ構成要素Ａ−１−１、コンテンツ構成要素Ａ−１−２、およびコンテンツ構成要素Ａ−１−３が階層的に配置される。
【０１４９】
例えば、コンテンツ構成要素Ａが“コンテンツ”である場合、“コンテンツ”の下位階層であるコンテンツ構成要素Ａ−１およびコンテンツ構成要素Ａ−２には、コンテンツの種類（ジャンル）を示す“音楽”が配置される。また、“音楽”の下位階層であるコンテンツ構成要素Ａ−１−１、コンテンツ構成要素Ａ−１−２、およびコンテンツ構成要素Ａ−１−３には、“曲名”、“歌手名”、および“再生時間”がそれぞれ配置される。
【０１５０】
このように、コンテンツ構成要素を階層構造にすることで、より直感的に表現することができ、コンテンツの取り扱いがより容易になる。
【０１５１】
次に、コンテンツを構成するデータ同士の関係について、図８乃至図１２のクラス図を参照して説明する。クラス図（Class diagram）とは、モデリングの手法であるUML（Unified Modeling Language）のダイヤグラムの１つである。また、図８乃至図１２のクラス図は、全体を表すクラスとその部分を表すクラスとの関係を示す、一般的に集約（aggregation）と称される関係に基づいて記載されている。
【０１５２】
図８は、コンテンツのクラス４０１とコンテンツ構成要素のクラス４０２との関係を示すクラス図である。コンテンツのクラス４０１は、コンテンツ構成要素４０２から形成される。
【０１５３】
コンテンツのクラス４０１は、コンテンツ構成要素のクラス４０２からなり、コンテンツ構成要素のクラス４０２は、コンテンツのクラス４０１の一部である。また、コンテンツ構成要素のクラス４０２は、要素識別子のクラス４０３、表示優先順位のクラス４０４、位置情報のクラス４０５、および要素内容のクラス４０６の全体を示す。
【０１５４】
要素識別子のクラス４０３は、コンテンツ構造要素のクラス４０２を識別するための識別子のクラスである。また、表示優先順位のクラス４０４は、コンテンツ構造要素のクラス４０２の一部であり、要素内容のクラス４０６のオブジェクトが、表示部２０８に表示される際の優先順位を示すオブジェクトからなる。さらに、位置情報のクラス４０５は、コンテンツ構造要素のクラス４０２の一部であり、要素内容のクラス４０６のオブジェクトが、表示部２０８に表示される位置を示すオブジェクトからなる。また、要素内容のクラス４０６は、コンテンツ構造要素のクラス４０２の一部であり、表示部２０８に表示される内容（オブジェクト）からなる。
【０１５５】
コンテンツのクラス４０１とコンテンツ構成要素のクラス４０２とは、１対複数で関連付けられている。また、コンテンツ構成要素のクラス４０２と要素識別子のクラス４０３とは、１対１で関連付けされている。また、コンテンツ構成要素のクラス４０２と表示優先順位のクラス４０４とは、１対１で関連付けされている。さらに、コンテンツ構成要素のクラス４０２と位置情報のクラス４０５は、１対複数で関連付けされている。また、コンテンツ構成要素のクラス４０２と要素内容のクラス４０６とは、１対１で関連付けされている。
【０１５６】
すなわち、１つのコンテンツのクラス４０１に対して、１または複数のコンテンツ構成要素のクラス４０２が存在する。また、１つのコンテンツ構成要素のクラス４０２に対して、１つの要素識別子のクラス４０３、１つの表示優先順位のクラス４０４、１または複数の位置情報のクラス４０５、および１つの要素内容のクラス４０６が存在する。位置情報のクラス４０５に属する位置情報は、例えば、水平方向の位置（ｘ）および垂直方向の位置（ｙ）の２つの位置情報からなる。
【０１５７】
図９は、コンテンツ構造定義リストのクラス４１１とコンテンツ構造定義のクラス４１２、画面レイアウト情報のクラス４１３、および画面表示作成ルール情報のクラス４１５との関係を示すクラス図である。
【０１５８】
コンテンツ構造定義リストのクラス４１１は、コンテンツ構造定義のクラス４１２、画面レイアウト情報のクラス４１３、および画面表示作成ルール情報のクラス４１５から形成される。また、コンテンツ構造定義のクラス４１２は、コンテンツ構造定義リストのクラス４１１の一部である。さらに、画面レイアウト情報４１３は、コンテンツ構造定義リストのクラス４１１の一部である。また、画面表示作成ルール情報４１５は、コンテンツ構造定義リストのクラス４１１の一部である。
【０１５９】
また、画面レイアウト情報のクラス４１３は、クラス４１４で表される“コンテンツ構成要素４０２の表示領域上における配置情報”からなり、クラス４１４で表される“コンテンツ構成要素４０２の表示領域上における配置情報”は、画面レイアウト情報のクラス４１３の一部である。さらに、画面表示作成ルール情報のクラス４１５は、“コンテンツ４０１の表示可能な部位が画面レイアウトに基づいて表示領域上に配置される際のルールを示す情報”のクラス４１６のからなり、“コンテンツ４０１の表示可能な部位が画面レイアウトに基づいて表示領域上に配置される際のルールを示す情報”のクラス４１６は、画面表示作成ルール情報のクラス４１５の一部である。
【０１６０】
コンテンツ構造定義リストのクラス４１１とコンテンツ構造定義のクラス４１２とは、１対複数で関連付けされている。また、コンテンツ構造定義リストのクラス４１１と画面レイアウト情報のクラス４１３は、１対複数で関連付けされている。さらに、コンテンツ構造定義のクラスリスト４１１と画面表示作成ルール情報のクラス４１５とは、１対複数で関連付けされている。
【０１６１】
また、画面レイアウト情報のクラス４１３と“コンテンツ構成要素４０２の表示領域上における配置情報”のクラス４１４とは、１対複数で関連付けされている。さらに、画面表示作成ルール情報のクラス４１５と“コンテンツ４０１の表示可能な部位が画面レイアウトに基づいて表示領域上に配置される際のルールを示す情報”のクラス４１６とは、１対複数で関連付けされている。
【０１６２】
すなわち、１つのコンテンツ構造定義リストのクラス４１１に対して、１または複数のコンテンツ構造定義のクラス４１２が存在する。また、１つのコンテンツ構造定義リストのクラス４１１に対して、１または複数の画面レイアウト情報のクラス４１３が存在する。さらに、コンテンツ構造定義リストのクラス４１１に対して、１または複数の画面表示作成ルール情報のクラス４１５が存在する。
【０１６３】
また、１つの画面レイアウト情報のクラス４１３に対して、１または複数の“コンテンツ構成要素４０２の表示領域上における配置情報”のクラス４１４が存在する。さらに、１つの画面表示作成ルール情報のクラス４１５に対して、１または複数の“コンテンツ４０１の表示可能な部位が画面レイアウトに基づいて表示領域上に配置される際のルールを示す情報”のクラス４１６が存在する。
【０１６４】
図１０は、画面レイアウト作成ルール情報のクラス４４１を示すクラス図である。
【０１６５】
画面レイアウト作成ルール情報のクラス４４１は、“コンテンツ要素がデバイスの画面特性を用いて表示領域上のどこに配置されるべきかを示すルール情報”のクラス４４２からなり、“コンテンツ要素がデバイスの画面特性を用いて表示領域上のどこに配置されるべきかを示すルール情報”のクラス４４２は、画面レイアウト作成ルール情報のクラス４４１の一部である。
【０１６６】
画面レイアウト作成ルール情報のクラス４４１と“コンテンツ要素がデバイスの画面特性を用いて表示領域上のどこに配置されるべきかを示すルール情報”のクラス４４２とは、１対複数で関連付けされている。すなわち、１つの画面レイアウト作成ルール情報のクラス４４１に対して、１または複数の“コンテンツ要素がデバイスの画面特性を用いて表示領域上のどこに配置されるべきかを示すルール情報”のクラス４４２が存在する。
【０１６７】
図１１は、画面表示情報のクラス４５１を示すクラス図である。
【０１６８】
画面表示情報のクラス４５１は、“コンテンツ構成要素の要素内容が表示領域上のどの場所に配置されるかを示す情報”のクラス４５２からなり、“コンテンツ構成要素の要素内容が表示領域上のどの場所に配置されるかを示す情報”のクラス４５２は、画面表示情報のクラス４５１の一部である。
【０１６９】
画面表示情報のクラス４５１と“コンテンツ構成要素の要素内容が表示領域上のどの場所に配置されるかを示す情報”のクラス４５２とは、１対複数で関連付けされている。すなわち、１つの画面表示情報のクラス４５１に対して、１または複数の“コンテンツ構成要素の要素内容が表示領域上のどの場所に配置されるかを示す情報”のクラス４５２が存在する。
【０１７０】
図１２は、画面特性情報のクラス４６１を示すクラス図である。
【０１７１】
画面特性情報のクラス４６１は、“表示領域の解像度“のクラス４６２からなり、“表示領域の解像度“のクラス４６２は、画面特性情報のクラス４６１の一部である。
【０１７２】
画面特性情報のクラス４６１と“表示領域の解像度”のクラス４６２とは、１対１で関連付けされている。すなわち、１つの画面特性情報のクラス４６１に対して、１つの“表示領域の解像度”のクラス４６２が存在する。“表示領域の解像度”のクラス４６２は、例えば、表示部２０８の表示領域の解像度として、縦480×横320ピクセルを定義する。
【０１７３】
図１３は、図３の構成を有するサーバ１１による、送信の処理を説明するフローチャートである。
【０１７４】
ステップＳ１０１において、コンテンツ構造定義保存モジュール１５３は、ホームネットワーク１２を介して、デバイス１３から受信するコンテンツ構造定義取得要求に応じて、コンテンツ構造定義をデバイス１３に送信する。コンテンツ構造定義送信の処理の詳細は後述する。
【０１７５】
ステップＳ１０２において、画面レイアウト作成ルール情報保存モジュール１５４は、ホームネットワーク１２を介して、デバイス１３から受信する画面レイアウト作成ルール情報取得要求に応じて、画面レイアウト作成手順情報をデバイス１３に送信する。画面レイアウト作成ルール情報送信の処理の詳細は後述する。
【０１７６】
ステップＳ１０３において、コンテンツ管理モジュール１５１は、ホームネットワーク１２を介して、デバイス１３から受信するコンテンツ取得の要求に応じて、コンテンツ保存モジュール１５２からコンテンツを取得し、取得したコンテンツをデバイス１３に送信して、処理は終了する。コンテンツ送信の処理の詳細は後述する。
【０１７７】
次に、ステップＳ１０１の処理に対する、コンテンツ構造定義送信の処理の詳細について、図１４のフローチャートを参照して説明する。
【０１７８】
ステップＳ１２１において、コンテンツ構造定義保存モジュール１５３は、ホームネットワーク１２を介して、デバイス１３から送信されるコンテンツ構造定義取得要求を受信する。
【０１７９】
ステップＳ１２２において、コンテンツ構造定義保存モジュール１５３は、受信したコンテンツ構造定義取得要求に応じたコンテンツ構造定義を、HDD１０５から読み出し、ホームネットワーク１２を介して、読み出したコンテンツ構造定義をデバイス１３に送信して、処理は終了する。
【０１８０】
次に、ステップＳ１０２の処理に対する、画面レイアウト作成手順情報送信の処理の詳細について、図１５のフローチャートを参照して説明する。
【０１８１】
ステップＳ１４１において、画面レイアウト作成ルール情報保存モジュール１５４は、ホームネットワーク１２を介して、デバイス１３から送信される画面レイアウト作成ルール情報取得通知を受信する。
【０１８２】
ステップＳ１４２において、画面レイアウト作成ルール情報保存モジュール１５４は、記録している画面レイアウト作成ルール情報を要求する画面レイアウト作成ルール情報取得通知を受信できたか否かを判定する。
【０１８３】
ステップＳ１４２において、記録している画面レイアウト作成ルール情報を要求する画面レイアウト作成ルール情報取得通知を受信したと判定された場合、画面レイアウト作成ルール情報保存モジュール１５４は、画面レイアウト作成ルール情報を、HDD１０５から読み出し、ホームネットワーク１２を介して、読み出した画面レイアウト作成ルール情報をデバイス１３に送信して、処理は終了する。
【０１８４】
一方、ステップＳ１４２において、記録している画面レイアウト作成ルール情報を要求する画面レイアウト作成ルール情報取得通知を受信できなかったと判定された場合、ステップＳ１４３の処理はスキップされ、処理は終了する。
【０１８５】
次に、ステップＳ１０３の処理に対する、コンテンツ送信の処理の詳細について、図１６のフローチャートを参照して説明する。
【０１８６】
ステップＳ１６１において、コンテンツ管理モジュール１５１は、ホームネットワーク１２を介して、デバイス１３から送信されるコンテンツ取得の要求を受信する。
【０１８７】
ステップＳ１６２において、コンテンツ管理モジュール１５１は、受信したコンテンツ取得要求に応じたコンテンツ要求を、コンテンツ保存モジュール１５２に供給する。コンテンツ保存モジュール１５２は、コンテンツ管理モジュール１５１から供給されるコンテンツ要求に応じて、HDD１０５に記録された、例えば、画像データ、動画データ、またはテキストデータなどのコンテンツを、コンテンツ管理モジュール１５１に供給する。
【０１８８】
また、ステップＳ１６１の処理において、ホームネットワーク１２を介して、デバイス１３から送信されるコンテンツ取得要求が、コンテンツの特定の箇所（コンテンツの一部）を要求するものであった場合、受信したコンテンツ取得要求に応じたコンテンツ要求を、コンテンツ保存モジュール１５２に供給する。コンテンツ管理モジュール１５１は、コンテンツ保存モジュール１５２から、コンテンツ要求に応じたコンテンツの特定の箇所を取得し、取得したコンテンツの特定の箇所をデバイス１３に送信する。
【０１８９】
このように、デバイス１３からのコンテンツ取得要求に応じて、コンテンツの特定の箇所を取得できるようにしたことで、サーバ１１は、ホームネットワーク１２を介して、表示部２０８に表示可能な部分のコンテンツのみを送信することができるので、コンテンツを表示部２０８に表示させる負荷を軽減することができる。
【０１９０】
ステップＳ１６３において、コンテンツ管理モジュール１５１は、ホームネットワーク１２を介して、コンテンツ保存モジュール１５２から供給されたコンテンツをデバイス１３に送信して、処理は終了する。
【０１９１】
図１７は、図５の構成を有するデバイス１３による、画面表示の処理を説明するフローチャートである。
【０１９２】
ステップＳ２０１において、コンテンツ取得モジュール２５１は、サーバ１１から取得するコンテンツを決定する。例えば、サーバ１１に記録されている音楽を再生する場合、コンテンツ取得モジュール２５１は、サーバ１１から取得するコンテンツとして、デバイス１３の表示部２０８に表示させるコンテンツであって、例えば、“音楽”を選択するためのメニュー画面であるコンテンツを決定する。
【０１９３】
また、コンテンツ取得モジュール２５１は、決定したコンテンツのコンテンツ構造定義が、過去に受信したコンテンツのコンテンツ構造定義に含まれるか否かを判定させるために、取得履歴調査要求をコンテンツ構造定義リスト保存モジュール２５２に供給する。
【０１９４】
ステップＳ２０２において、コンテンツ構造定義リスト保存モジュール２５２は、ホームネットワーク１２を介して、コンテンツ取得モジュール２５１から供給される取得履歴調査要求に応じたコンテンツ構造定義取得通知をサーバ１１に送信する。
【０１９５】
サーバ１１は、ホームネットワーク１２を介して、デバイス１３からコンテンツ構造定義取得通知を受信し、受信したコンテンツ構造定義取得通知に応じたコンテンツ構造定義をデバイス１３に送信する。
【０１９６】
図１８は、コンテンツ構造定義の記述例を示す図である。
【０１９７】
コンテンツ構造定義５０１は、例えば、マークアップ言語であるXML（eXtensible Markup Language）方式により記述される。XML方式においては、開始タグと終了タグで要素の内容データを挟み込むことによって要素が表現される。
【０１９８】
また、XML方式においては、タグ付けされた要素が、いわゆる入れ子構造で記述するされることよって、要素の包含関係が表現され、ある要素の特性や性質は、属性として表現される。例えば、「<item name=“TVContents01”>」の場合、要素は、“item”であり、属性は、“name”である。すなわち、item要素のname属性は、“TVContents01”である。
【０１９９】
さらに、後述するノードとは、XMLを構成する各部分を、木構造を構成するノード（節点）としてモデル化した場合、モデル化された要素を要素ノードと称し、モデル化された属性を属性ノードと称する。すなわち、例えば、開始タグが「<item name=“TVContents01”>」で、終了タグが「</item>」の場合、“item”は、item要素のノードであり、“name”は、name属性のノードとなる。また、「<item name=“TVContents01”>」である開始タグと「</item>」である終了タグに挟まれた箇所の記述は、item要素のノードについて記述していることになる。
【０２００】
以下、要素、属性、およびノードは、それぞれ上述した関係に基づいて説明する。なお、各行の左端には、説明のため行番号を付してある。
【０２０１】
１行目は、XML宣言（XML Declaration）を記述する。XML宣言は、XML文書が準拠するXML規格のバージョンや使用する文字コードなどを宣言する。１行目の「<?xml version=“1.0” encoding=“UTF-8”?>」は、XMLのバージョンが“1.0”であり、XMLの文字コードが“UTF-8”であることを示す。
【０２０２】
２行目乃至３６行目は、いわゆるDTD（Document Type Definition）であり、要素の名前、要素が持つ属性、または要素の中に入れることができる子要素若しくはデータなど指定することで、文書の型を定義する。
【０２０３】
２行目の「<!ELEMENT contents(music+)>」は、ルート要素であるcontents要素が、子要素としての、１または複数のmusic要素からなることを示す。
【０２０４】
３行目の「<!ELEMENT music(title,artist,time,explanation)>」は、music要素が、子要素として、title要素、artist要素、time要素、およびexplanation要素からなることを示す。
【０２０５】
４行目の「<!ELEMENT title(#PCDATA)>」は、title要素の要素内容が、文字データであることを示す。
【０２０６】
５行目の「<!ELEMENT artist(#PCDATA)>」は、artist要素の要素内容が、文字データであることを示す。
【０２０７】
６行目の「<!ELEMENT time(#PCDATA)>」は、time要素の要素内容が、文字データであることを示す。
【０２０８】
７行目の「<!ELEMENT explanation(#PCDATA)>」は、explanation要素の要素内容が、文字データであることを示す。
【０２０９】
８行目乃至１２行目は、music要素の属性を定義している。８行目の「<!ATTLIST music priority(required) #REQUIRED」は、music要素のpriority属性の値が、“required”であることを示す。
【０２１０】
９行目の「x(0.05) #REQUIRED」は、music要素のx属性の値が、“0.05”であることを示す。
【０２１１】
１０行目の「y(0.05) #REQUIRED」は、music要素のy属性の値が、“0.05”であることを示す。
【０２１２】
１１行目の「width_ratio(0.9) #REQUIRED」は、music要素のwidth_ratio属性の値が、“0.9”であることを示す。
【０２１３】
１２行目の「height_ratio(0.4) #REQUIRED」は、music要素のheight_ratio属性の値が、“0.4”であることを示す。
【０２１４】
１３行目乃至１７行目は、title要素の属性を定義している。１３行目の「<!ATTLIST title priority(required) #REQUIRED」は、title要素のpriority属性の値が、“required”であることを示す。
【０２１５】
１４行目の「x(0.05) #REQUIRED」は、title要素のx属性の値が、“0.05”であることを示す。
【０２１６】
１５行目の「y(0.05) #REQUIRED」は、title要素のy属性の値が、“0.05”であることを示す。
【０２１７】
１６行目の「width_ratio(0.9) #REQUIRED」は、title要素のwidth_ratio属性の値が、“0.9”であることを示す。
【０２１８】
１７行目の「height_ratio(0.4) #REQUIRED」は、title要素のheight_ratio属性の値が、“0.4”であることを示す。
【０２１９】
１８行目乃至２２行目は、artist要素の属性を定義している。１８行目の「<!ATTLIST artist priority(required) #REQUIRED」は、artist要素のpriority属性の値が、“required”であることを示す。
【０２２０】
１９行目の「x(0.05) #REQUIRED」は、artist要素のx属性の値が、“0.05”であることを示す。
【０２２１】
２０行目の「y(0.55) #REQUIRED」は、artist要素のy属性の値が、“0.55”であることを示す。
【０２２２】
２１行目の「width_ratio(0.9) #REQUIRED」は、artist要素のwidth_ratio属性の値が、“0.9”であることを示す。
【０２２３】
２２行目の「height_ratio(0.4) #REQUIRED」は、artist要素のheight_ratio属性の値が、“0.4”であることを示す。
【０２２４】
２３行目乃至２９行目は、time要素の属性を定義している。２３行目の「<!ATTLIST time priority(implied) #REQUIRED」は、time要素のpriority属性の値が、“implied”であることを示す。
【０２２５】
２４行目の「x(0.35) #REQUIRED」は、time要素のx属性の値が、“0.35”であることを示す。
【０２２６】
２５行目の「y(0.55) #REQUIRED」は、time要素のy属性の値が、“0.55”であることを示す。
【０２２７】
２６行目の「width_ratio(0.3) #REQUIRED」は、time要素のwidth_ratio属性の値が、“0.3”であることを示す。
【０２２８】
２７行目の「height_ratio(0.4) #REQUIRED」は、time要素のheight_ratio属性の値が、“0.4”であることを示す。
【０２２９】
２８行目の「required_height(15) #REQUIRED」は、time要素のrequired_height属性の値が、“15”であることを示す。
【０２３０】
２９行目の「required_width(20) #REQUIRED」は、time要素のrequired_width属性の値が、“20”であることを示す。
【０２３１】
３０行目乃至３６行目は、explanation要素の属性を定義している。３０行目の「<!ATTLIST explanation priority(implied) #REQUIRED」は、explanation要素のpriority属性の値が、“implied”であることを示す。
【０２３２】
２４行目の「x(0.65) #REQUIRED」は、explanation要素のx属性の値が、“0.65”であることを示す。
【０２３３】
２５行目の「y(0.55) #REQUIRED」は、explanation要素のy属性の値が、“0.55”であることを示す。
【０２３４】
２６行目の「width_ratio(0.3) #REQUIRED」は、explanation要素のwidth_ratio属性の値が、“0.3”であることを示す。
【０２３５】
２７行目の「height_ratio(0.4) #REQUIRED」は、explanation要素のheight_ratio属性の値が、“0.4”であることを示す。
【０２３６】
２８行目の「required_height(150) #REQUIRED」は、explanation要素のrequired_height属性の値が、“150”であることを示す。
【０２３７】
２９行目の「required_width(200) #REQUIRED>」は、explanation要素のrequired_width属性の値が、“200”であることを示す。
【０２３８】
図１７に戻り、ホームネットワーク１２を介して、サーバ１１から送信されるコンテンツ構造定義は、上述したコンテンツ構造定義５０１に限らず、コンテンツ構造定義を一意に識別する文字列とすることも可能である。例えば、サーバ１１は、音楽のコンテンツのコンテンツ構造定義と“MusicContents01”である文字列とを対応させた情報をHDD１０５に記録しておき、デバイス１３から送信されるコンテンツ構造定義要求に応じて、“MusicContents01”である文字列をデバイス１３に送信する。
【０２３９】
ステップＳ２０３において、コンテンツ構造定義リスト保存モジュール２５２は、ネットワーク１２を介して、サーバ１１からコンテンツ構造定義（例えば、“MusicContents01”である文字列）を受信する。
【０２４０】
以下、コンテンツ構造定義として、“MusicContents01”である文字列を受信した場合を例に説明する。
【０２４１】
ステップＳ２０４において、コンテンツ構造定義リスト保存モジュール２５２は、HDD２０５に記録されているコンテンツ構造定義リストを読み出す。
【０２４２】
図１９は、ステップＳ２０４の処理によって読み出した、コンテンツ構造定義リストの記述例を示す図である。
【０２４３】
コンテンツ構造定義リスト５１１は、例えば、XML方式により記述される。なお、図１９において、各行の左端には、説明のため行番号を付してある。
【０２４４】
１行目の「<?xml version=“1.0” encoding=“UTF-8”?>」は、XMLのバージョンが“1.0”であり、XMLの文字コードが“UTF-8”であることを示す。
【０２４５】
２行目乃至１１行目は、XMLの本文が記述されている。２行目の「<items>」と１１行目の「</items>」は、３行目乃至１０行目の記述が、items要素に属しているノードであることを示す。
【０２４６】
３行目の「<item name=“TVContents01”>」は、item要素のname属性が“TVContents01”であることを示す。３行目の「<item name=“TVContents01”>」と６行目の「</item>」は、４行目および５行目の記述が“TVContents01”の情報を示すことを表している。４行目の「<layout>Layout-TVContents01.xml</layout>」の“Layout-TVContents01.xml”は、“TVContents01”の画面レイアウト情報が格納されているファイルのファイル名を示す。５行目の「<display>DisplayCreation-TVContents01.xsl</display>」の“DisplayCreation-TVContents01.xsl”は、“TVContents01”の画面表示作成ルール情報が格納されているファイルのファイル名を示す。
【０２４７】
７行目の「<item name=“TVContents02”>」は、item要素のname属性が“TVContents02”であることを示す。７行目の「<item name=“TVContents02”>」と１０行目の「</item>」は、８行目および９行目の記述が“TVContents02”の情報を示すことを表している。８行目の「<layout>Layout-TVContents02.xml</layout>」の“Layout-TVContents02.xml”は、“TVContents02”の画面レイアウト情報が格納されているファイルのファイル名を示す。９行目の「<display>DisplayCreation-TVContents02.xsl</display>」の“DisplayCreation-TVContents02.xsl”は、“TVContents02”の画面表示作成ルール情報が格納されているファイルのファイル名を示す。
【０２４８】
すなわち、コンテンツ構造定義リスト５１１は、コンテンツ構造定義の情報をitem要素のname属性として格納し、さらに、コンテンツ構造定義リストにおいて、name属性に対して、画面レイアウト情報および画面表示作成ルール情報のファイルが関連付けされている。
【０２４９】
例えば、ホームネットワーク１２を介して、サーバ１１から受信したコンテンツ構造定義を一意に識別できる識別子が、コンテンツ構造定義リスト５１１のitem要素のname属性で指定した値の中に、一致する文字列があるか否かを調べることで、コンテンツ構造定義リストに、サーバ１１から受信したコンテンツ構造定義が含まれるかを判定することができる。
【０２５０】
図１７に戻り、ステップＳ２０５において、コンテンツ構造定義リスト保存モジュール２５２は、読み出したコンテンツ構造定義リストに、サーバ１１から受信したコンテンツ構造定義が含まれるか否かを判定する。例えば、サーバ１１から受信した“MusicContents01”であるコンテンツ構造定義が、コンテンツ構造定義リスト５１１のitem要素のname属性で指定した値の中に、一致する文字列があるか否かを判定する。
【０２５１】
例えば、図１９のコンテンツ構造定義リスト５１１のitem要素のname属性は、“TVContents01”と“TVContents02”とをコンテンツ構造定義として記述しており、サーバ１１から受信した“MusicContents01”であるコンテンツ構造定義は記述されていないので、コンテンツ構造定義リスト５１１に受信したコンテンツ構造定義（MusicContents01）は含まれないと判定される（すなわち、後述するステップＳ２０６乃至ステップＳ２１５の処理を実行する）。
【０２５２】
ステップＳ２０５において、読み込んだコンテンツ構造定義リストに、サーバ１１から受信したコンテンツ構造定義が含まれないと判定された場合、ステップＳ２０６に進み、画面レイアウト作成ルール情報取得モジュール２５３は、ホームネットワーク１２を介して、画面レイアウト作成ルール情報取得通知をサーバ１１に送信する。
【０２５３】
ステップＳ２０７において、画面レイアウト作成ルール情報取得モジュール２５３は、ホームネットワーク１２を介して、サーバ１１から、画面レイアウト作成ルール情報取得通知に応じた画面レイアウト作成ルール情報を受信し、受信した画面レイアウト作成ルール情報を画面レイアウト情報作成モジュール２５５に供給する。
【０２５４】
図２０は、ステップＳ２０７の処理によって受信した、画面レイアウト作成ルール情報の記述例を示す図である。
【０２５５】
画面レイアウト作成ルール情報５２１は、XSLT（Extensible Stylesheet Language Transformations）方式により記述される。XSLT方式は、XML方式で記述された文書の形式の定義を記述してXML方式の文書のデータ構造を変換させる、いわゆるスタイルシートの一種である。なお、図２０の各行の左端には、説明のため行番号を付してある。
【０２５６】
画面レイアウト作成ルール情報５２１の１行目は、XML宣言を記述する。１行目の「<?xml version=“1.0” encoding=“UTF-8”?>」は、XMLのバージョンが“1.0”であり、XMLの文字コードが“UTF-8”であることを示す。
【０２５７】
２行目の「<xsl:stylesheet version=”1.0”xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”xmlns:fo=”http://www.w3.org/1999/XSL/Format”>」と４９行目の「</ xsl:stylesheet >」は、２行目乃至４９行目が、XSLTの情報を示すことを表している。
【０２５８】
２行目の「<xsl:stylesheet version=”1.0”xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”xmlns:fo=”http://www.w3.org/1999/XSL/Format”>」は、XSLTのバージョンが“1.0”であることを示し、W3C（World Wide Web Consortium）によってXSLTに割り当てられたURI（Uniform Resource Identifier）が“http://www.w3.org/1999/XSL/Transform”および“http://www.w3.org/1999/XSL/Format”であることを示す。
【０２５９】
点線５２１−１で囲まれた、３行目乃至９行目は、デバイス１３の表示領域の解像度（縦、横のピクセル数）の取得方法、および取得した解像度を基に、music要素の表示部２０８の表示領域上での大きさおよび配置を算出する算出方法を記述している。
【０２６０】
３行目の「<xsl:variable name=”DeviceProfile” select=”docoument(DeviceProfile.xml')”/>」は、デバイス１３に関する情報を記述するファイルである“DeviceProfile.xml”のデータを、“DeviceProfile”である変数に代入することを示す。
【０２６１】
例えば、“DeviceProfile.xml”は、後述する図２４の画面特性情報６０１とすることができる。
【０２６２】
４行目の「xsl:variable name=”Width” select=”$DeviceProfile/DeviceProfile/Presentation/Visual/width”/」は、“DeviceProfile”に格納されたデータを基に、表示部２０８の表示領域における横のピクセル数を、”Width”である変数に代入することを示す。
【０２６３】
例えば、”Width”である変数に代入する値は、“DeviceProfile.xml”を図２４の画面特性情報６０１とした場合、“320”であるwidth要素の値とすることができる。
【０２６４】
また、５行目の「xsl:variable name=”Height” select=”$DeviceProfile/DeviceProfile/Presentation/Visual/height”/」は、“DeviceProfile”のデータを基に、表示部２０８の表示領域における縦のピクセル数を、”Height”である変数に代入することを示す。
【０２６５】
例えば、”Height”である変数に代入する値は、“DeviceProfile.xml”を図２４の画面特性情報６０１とした場合、“480”であるheight要素の値とすることができる。
【０２６６】
６行目の「xsl:variable name=”music_x” select=”(/contents/music/@x)*($Width)”/」は、”music_x”の値が、contents要素の子要素であるmusic要素のx属性の値と４行目の“Width”である変数を参照した値との掛け算をすることにより算出される値であることを示す。
【０２６７】
例えば、contents要素の子要素であるmusic要素のx属性の値は、後述する図２１のコンテンツ５３１のmusic要素のx属性の値とすることができる。より具体的には、例えば、“0.05”であるmusic要素のx属性の値とすることができる。
【０２６８】
７行目の「xsl:variable name=”music_y” select=”(/contents/music/@y)*($Width)”/」は、”music_y”の値が、contents要素の子要素であるmusic要素のy属性の値と、４行目の“Width”である変数を参照した値との掛け算をすることにより算出される値であることを示す。
【０２６９】
例えば、contents要素の子要素であるmusic要素のy属性の値は、図２１のコンテンツ５３１のmusic要素のy属性の値とすることができる。より具体的には、例えば、“0.05”であるmusic要素のy属性の値とすることができる。
【０２７０】
８行目の「xsl:variable name=”music_height” select=”(/contents/music/@height_ratio)*($Height)”/」は、”music_height”の値が、contents要素の子要素であるmusic要素のheight_ratio属性の値と、５行目の“Height”である変数を参照した値との掛け算をすることにより算出される値であることを示す。
【０２７１】
例えば、contents要素の子要素であるmusic要素のheight_ratio属性の値は、図２１のコンテンツ５３１のmusic要素のheight_ratio属性の値とすることができる。より具体的には、例えば、“0.2”であるmusic要素のheight_ratio属性の値とすることができる。
【０２７２】
９行目の「xsl:variable name=”music_width” select=”(/contents/music/@width_ratio)*($Width)”/」は、”music_width”の値が、contents要素の子要素であるmusic要素のwidth_ratio属性の値と、４行目の“Width”である変数を参照した値との掛け算をすることにより算出される値であることを示す。
【０２７３】
例えば、contents要素の子要素であるmusic要素のwidth_ratio属性の値は、図２１のコンテンツ５３１のmusic要素のwidth_ratio属性の値とすることができる。より具体的には、例えば、“0.9”であるmusic要素のwidth_ratio属性の値とすることができる。
【０２７４】
ここで、XSLT方式では、入力されたXML文書の各要素を検索し、一致した要素に対して、XSLT方式で記述されたテンプレートを基に、XML文書を変換して出力する。テンプレートは、xsl:template要素の内容として記述され、各要素に応じて、処理が記述される。また、xsl:template要素は、match属性を持ち、このmatch属性に要素を指定する。XSLT方式のテンプレートを処理するプログラムは、XSLT方式のxsl:template要素を再帰的に処理することで、XML文書を変換して表示部２０８に表示する。
【０２７５】
次に、１０行目の「<xsl:template match=”/”>」と１２行目の「</xsl:template>」は、XSLTの処理のスタート地点となる特別なノードであり、一般的にルートノードと称される。１１行目の「xsl:apply-templates」は、テンプレートの中で別のテンプレートの処理を読み込む場合に記述する。ちなみに、ルートノードの場合、全てのノードが処理の対象となる。
【０２７６】
次に、１３行目の「<xsl:template match=”contents”>」と２８行目の「</xsl:template>」は、１４行目乃至２７行目が、contents要素に属しているノードであることを示す。同様に、１４行目の「<contents>」と２７行目の「</contents>」は、１４行目乃至２７行目が、contents要素に属しているノードであることを示す。
【０２７７】
点線５２１−２で囲まれた、１５行目乃至２６行目は、music要素の配置の処理を記述している。例えば、図２１のコンテンツ５３１における、music要素の配置の処理について記述する。例えば、図２５の画面レイアウト情報における、“music”であるrectangle要素のname属性に対して、“x”、“y”、“width”、および“height”の属性の値を算出する。
【０２７８】
１５行目の「<xsl:for-each select=”music”>」と２６行目の「</xsl:for-each>」は、XML文書（例えば、後述する図２１のコンテンツ５３１）のcontents要素に含まれるmusic要素を選択する、繰り返しの処理であることを示す。１６行目の「<xsl:if test “position()=1”>」と２５行目の「</xsl:if>」は、“position()関数”（要素の位置を取得する関数）の戻り値が、１である値を取得するとき、１７行目乃至２４行目の記述を実行することを示す。
【０２７９】
１７行目の「<rectangle>」と２４行目の「</rectangle>」は、１８行目乃至２３行目が、rectangle要素に属しているノードであることを示す。
【０２８０】
１８行目の「<xsl:attribute name=”name”><xsl:value-of select=”name()”/></xsl:attribute>」は、rectangle要素のname属性の値が、“name()関数”（ノードの名前を取得する関数）の戻り値となることを示す。
【０２８１】
１９行目の「<xsl:attribute name=”x”><xsl:value-of select=”$music_x”/></xsl:attribute>」は、rectangle要素のx属性の値が、６行目の“music_x”である変数を参照した値であることを示す。
【０２８２】
２０行目の「<xsl:attribute name=”y”><xsl:value-of select=”($music_height)*(position()-1)”/></xsl:attribute>」は、rectangle要素のy属性の値が、“($music_height)*(position()-1)”を計算した結果の値であることを示す。ここで、“$music_height”は、８行目の“music_height”である変数を参照した値である。
【０２８３】
２１行目の「<xsl:attribute name=”width”><xsl:value-of select=”$music_width”/></xsl:attribute>」は、rectangle要素のwidth属性の値が、９行目の“music_width“である変数を参照した値であることを示す。
【０２８４】
２２行目の「<xsl:attribute name=”height”><xsl:value-of select=”$music_height”/></xsl:attribute>」は、rectangle要素のheight属性の値が、８行目の“music_height”である変数を参照した値であることを示す。
【０２８５】
２３行目の「<xsl:apply-templates/>」は、テンプレートの中で別のテンプレートの処理を読み込む場合に記述し、点線５２１−３または点線５２１−４に記述された処理のいずれかを実行する。例えば、上述したmusic要素の処理から、music要素の子要素へ処理を移動する。より具体的には、例えば、図２１のコンテンツ５３１において、music要素の子要素である、title要素、artist要素、およびtime要素の処理を実行する。
【０２８６】
点線５２１−３で囲まれた、２９行目乃至３７行目は、XML文書（例えば、図２１のコンテンツ５３１）のpriority属性が“required”の場合における、コンテンツ構成要素の配置を算出する算出方法を記述している。また、priority属性の値が、“required”の場合、表示部２０８の表示領域が許す限りにおいて、コンテンツを表示しなければならない。
【０２８７】
２９行目の「<xsl:template match=“*[@priority='required']”>」と３７行目の「</xsl:template>」は、priority属性の値が、“required”の場合、３０行目乃至３６行目に記述された処理を実行する。
【０２８８】
線５２１−３−１で囲まれた、３０行目の「<rectangle>」と３６行目の「</rectangle>」は、３１行目乃至３５行目がrectangle要素に属しているノードであることを示す。３１行目乃至３５行目には、rectangle要素のname属性（例えば、title、artist、timeなど）に応じて、表示部２０８の表示領域上でのピクセル数を基に、“x”、“y”、“width”、および“height”の属性の値を、それぞれ算出する処理を記述する。
【０２８９】
例えば、図２５の画面レイアウト情報における、rectangle要素のname属性の値に応じて、“x”、“y”、“width”、および“height”の属性の値を、それぞれ算出する。
【０２９０】
３１行目の「<xsl:attribute name=”name”><xsl:value-of select=”name()”/></xsl:attribute>」は、rectangle要素のname属性の値が、“name()関数”（ノードの名前を取得する関数）の戻り値となることを示す。
【０２９１】
３２行目の「<xsl:attribute name=”x”><xsl:value-of select=”(@x)*($music_width)”/></xsl:attribute>」は、rectangle要素のx属性の値が、１９行目のx属性の値と９行目の“music_width”である変数を参照した値との掛け算をすることにより算出される値であることを示す。
【０２９２】
３３行目の「<xsl:attribute name=”y”><xsl:value-of select=”(@y)*($music_height)”/></xsl:attribute>」は、rectangle要素のy属性の値が、２０行目のy属性の値と８行目の“music_height“である変数を参照した値との掛け算をすることにより算出される値であることを示す。
【０２９３】
３４行目の「<xsl:attribute name=”width”><xsl:value-of select=”(@width_ratio)*($music_width)”/></xsl:attribute>」は、rectangle要素のwidth属性の値が、width_ratio属性の値と“music_width”である変数を参照した値との掛け算をすることにより算出される値であることを示す。
【０２９４】
３５行目の「<xsl:attribute name=”height”><xsl:value-of select=”(@height_ratio)*($music_height)”/></xsl:attribute>」は、rectangle要素のheight属性の値が、height_ratio属性の値と“music_height“である変数を参照した値との掛け算をすることにより算出される値であることを示す。
【０２９５】
点線５２１−４で囲まれた、３８行目乃至４８行目は、XML文書（例えば、図２１のコンテンツ５３１）のpriority属性が“implied”の場合における、コンテンツ構成要素の配置を算出する算出方法を記述する。priority属性の値が、“implied”の場合、表示部２０８に表示されるコンテンツが、表示または非表示になる可能性があることを示す。
【０２９６】
線５２１−４−１で囲まれた、３９行目の「<xsl:if test=”(($music_height)*(@height_raito)&gt;(@required_height))and(($music_width)*(width_raito)&gt;(@required_width))”>」は、priority属性が“implied”である要素のデバイス表示領域上で表示される縦および横のピクセル数を算出し、算出した縦のピクセル数が、priority属性が“implied”である要素のrequired_height属性の値よりも大きく、かつ、算出した横のピクセル数が、priority属性が“implied”である要素のrequired_width属性の値よりも大きい場合、４０行目乃至４６行目に記述された処理を実行することを示す。
【０２９７】
線５２１−４−２で囲まれた、４０行目の「<rectangle>」と４６行目の「</rectangle>」は、４１行目乃至４５行目がrectangle要素に属しているノードであることを示す。４１行目乃至４５行目には、rectangle要素のname属性（例えば、title、artist、timeなど）に応じて、表示部２０８の表示領域上でのピクセル数を基に、“x”、“y”、“width”、および“height”の属性の値を、それぞれ算出する処理を記述する。
【０２９８】
例えば、図２５の画面レイアウト情報における、rectangle要素のname属性の値に応じて、“x”、“y”、“width”、および“height”の属性の値を、それぞれ算出する。
【０２９９】
４１行目の「<xsl:attribute name=”name”><xsl:value-of select=”name()”/></xsl:attribute>」は、rectangle要素のname属性の値が、“name()関数”（ノードの名前を取得する関数）の戻り値となることを示す。
【０３００】
４２行目の「<xsl:attribute name=”x”><xsl:value-of select=”(@x)*($music_width)”/></xsl:attribute>」は、rectangle要素のx属性の値が、１９行目のx属性の値と９行目の“music_width”である変数を参照した値との掛け算をすることにより算出される値であることを示す。
【０３０１】
４３行目の「<xsl:attribute name=”y”><xsl:value-of select=”(@y)*($music_height)”/></xsl:attribute>」は、rectangle要素のy属性の値が、２０行目のy属性の値と８行目の“music_height“である変数を参照した値との掛け算をすることにより算出される値であることを示す。
【０３０２】
４４行目の「<xsl:attribute name=”width”><xsl:value-of select=”(@width_ratio)*($music_width)”/></xsl:attribute>」は、rectangle要素のwidth属性の値が、width_ratio属性の値と“music_width”である変数を参照した値との掛け算をすることにより算出される値であることを示す。
【０３０３】
４５行目の「<xsl:attribute name=”height”><xsl:value-of select=”(@height_ratio)*($music_height)”/></xsl:attribute>」は、rectangle要素のheight属性の値が、height_ratio属性の値と“music_height“である変数を参照した値との掛け算をすることにより算出される値であることを示す。
【０３０４】
図１７に戻り、ステップＳ２０８において、コンテンツ取得受信モジュール２５１は、ホームネットワーク１２を介して、ステップＳ２０１の処理において、取得することが決定したコンテンツに応じたコンテンツ取得通知をサーバ１１に送信する。
【０３０５】
ステップＳ２０９において、コンテンツ取得受信モジュール２５１は、ホームネットワーク１２を介して、サーバ１１からコンテンツ取得通知に応じたコンテンツを受信し、受信したコンテンツを画面レイアウト情報作成モジュール２５５および画面表示情報作成モジュール２５９に供給する。
【０３０６】
図２１は、ステップＳ２０９の処理によって受信した、コンテンツの記述例を示す図である。
【０３０７】
コンテンツ５３１は、例えば、XML方式により記述される。なお、図２１の各行の左端には、説明のため行番号を付してある。
【０３０８】
１行目の「<?xml version=”1.0” encoding=”UTF-8”?>」は、XMLのバージョンが“1.0”であり、XMLの文字コードが“UTF-8”であることを示す。
【０３０９】
２行目の「<contents>」と２４行目の「</contents>」は、３行目乃至２３行目に記述された処理が、contents要素に属しているノードであることを示す。contents要素は、contents要素の子要素である、music、title、artist、time、およびexplanationの各要素からなる。
【０３１０】
図２２および図２３を参照して、各要素の構成内容について説明する。
【０３１１】
図２２の要素５４１は、要素識別子５４２、表示優先順位５４３、位置情報５４４、および要素内容５４５から構成される。また、図２３の要素５４１は、図２１のコンテンツ５３１の４行目のtitle要素を示す図である。
【０３１２】
要素識別子５４２は、要素を一意に識別する名称であり、例えば、図２３で示される“title”により指定される。また、表示優先順位５４３は、表示部２０８における要素内容５４５の表示または非表示を切り替えを指定する文字列であり、例えば、図２３で示される“priority=required”により指定され、“priority”に“required”または“implied”のいずれかの文字列を指定することで、表示部２０８における要素内容５４５の表示または非表示の切り替えを指定する。さらに、位置情報５４４は、画面の解像度に対する割合、または親要素の表示される大きさの割合を指定する値であり、例えば、図２３で示される“x=0.05”、“y=0.05”、”width_ratio=0.9”、および“height_ratio=0.4”により指定される。また、要素内容５４５は、表示部２０８に表示される文字列であり、例えば、図２３で示される“タイトルＡ”により指定される。
【０３１３】
なお、表示優先順位５４３が“implied”の場合、位置情報５４４に、required_height属性およびrequired_width属性を追加することで、要素内容５４５が、表示部２０８に表示される際に必要な縦および横のピクセル数が指定される。
【０３１４】
図２１に戻り、３行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」と９行目の「</music>」は、３行目乃至９行目に記述された処理が、music要素に属しているノードであることを示す。
【０３１５】
３行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」は、“music”である要素識別子５４２、priority=”required”である表示優先順位５４３、および“x=0.05”、”y=0.05”、“width_ratio=0.9”、”height_raito=0.2”である位置情報５４４を示す。
【０３１６】
４行目の「<title priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.4”>タイトルＡ</title>」は、“タイトルＡ“である要素内容５４５を、“x=0.05”、”y=0.05”、“width_ratio=0.9”、および”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示されることを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“タイトルＡ”である要素内容５４５を表示する。
【０３１７】
５行目の「<artist priority=”required” x=”0.05” y=”0.55” width_ratio=”0.3” height_raito=”0.4”>アーティストＡ</artist>」は、“アーティストＡ“である要素内容５４５を、“x=0.05”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“アーティストＡ”である要素内容５４５を表示する。
【０３１８】
６行目の「<time priority=”implied” x=”0.35” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”15” required_width=”20”>03:54</time>」は、“03:54“である要素内容５４５を、“x=0.35”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”、required_height=”15”、required_width=”20”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“implied”であるので、“03:54“である要素内容５４５は、表示部２０８の表示領域によって、表示または非表示となる。
【０３１９】
７行目および8行目の「<explanation priority=”implied” x=”0.65” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”150” required_width=”200”>アーティストＡ:URL=http://www……,その他の代表曲，タイトルＡ１(1999)，タイトルＡ２(1999)，タイトルＡ３(2000)</explanation >」は、“アーティストＡ:URL=http://www……,その他の代表曲，タイトルＡ１(1999)，タイトルＡ２(1999)，タイトルＡ３(2000)”である要素内容５４５を、x=”0.65” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”150” required_width=”200”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“implied”であるので、“アーティストＡ:URL=http://www……,その他の代表曲，タイトルＡ１(1999)，タイトルＡ２(1999)，タイトルＡ３(2000)”である要素内容５４５は、表示部２０８の表示領域によって、表示または非表示となる。
【０３２０】
１０行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」と１６行目の「</music>」は、１０行目乃至１６行目に記述された処理が、music要素に属しているノードであることを示す。
【０３２１】
１０行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」は、“music”である要素識別子５４２、priority=”required”である表示優先順位５４３、および“x=0.05”、”y=0.05”、“width_ratio=0.9”、”height_raito=0.2”である位置情報５４４を示す。
【０３２２】
１１行目の「<title priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.4”>タイトルＢ</title>」は、“タイトルＢ“である要素内容５４５を、“x=0.05”、”y=0.05”、“width_ratio=0.9”、および”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“タイトルＢ”である要素内容５４５が表示される。
【０３２３】
１２行目の「<artist priority=”required” x=”0.05” y=”0.55” width_ratio=”0.3” height_raito=”0.4”>アーティストＢ</artist>」は、“アーティストＢ“である要素内容５４５を、“x=0.05”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“アーティストＢ”である要素内容５４５が表示される。
【０３２４】
１３行目の「<time priority=”implied” x=”0.35” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”15” required_width=”20”>04:01</time>」は、“04:01“である要素内容５４５を、“x=0.35”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”、required_height=”15”、required_width=”20”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“implied”であるので、“04:01“である要素内容５４５は、表示部２０８の表示領域によって、表示または非表示となる。
【０３２５】
１４行目および１５行目の「<explanation priority=”implied” x=”0.65” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”150” required_width=”200”>アーティストＢ:URL=http://www……,その他の代表曲，タイトルＢ１(2002)</explanation >」は、“アーティストＢ:URL=http://www……,その他の代表曲，タイトルＢ１(2002)”である要素内容５４５を、x=”0.65” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”150” required_width=”200”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“implied”であるので、“アーティストＢ:URL=http://www……,その他の代表曲，タイトルＢ１(2002)”である要素内容５４５は、表示部２０８の表示領域によって、表示または非表示となる。
【０３２６】
１７行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」と２３行目の「</music>」は、１７行目乃至２３行目に記述された処理が、music要素に属しているノードであることを示す。
【０３２７】
１７行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」は、“music”である要素識別子５４２、priority=”required”である表示優先順位５４３、および“x=0.05”、”y=0.05”、“width_ratio=0.9”、”height_raito=0.2”である位置情報５４４を示す。
【０３２８】
１８行目の「<title priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.4”>タイトルＣ</title>」は、“タイトルＣ“である要素内容５４５を、“x=0.05”、”y=0.05”、“width_ratio=0.9”、および”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“タイトルＣ”である要素内容５４５が表示される。
【０３２９】
１９行目の「<artist priority=”required” x=”0.05” y=”0.55” width_ratio=”0.3” height_raito=”0.4”>アーティストＣ</artist>」は、“アーティストＣ“である要素内容５４５を、“x=0.05”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“アーティストＣ”である要素内容５４５が表示される。
【０３３０】
２０行目の「<time priority=”implied” x=”0.35” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”15” required_width=”20”>04:03</time>」は、“04:03“である要素内容５４５を、“x=0.35”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”、required_height=”15”、required_width=”20”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“implied”であるので、“04:03“である要素内容５４５は、表示部２０８の表示領域によって、表示または非表示となる。
【０３３１】
２１行目および２２行目の「<explanation priority=”implied” x=”0.65” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”150” required_width=”200”>アーティストＣ:URL=http://www……,その他の代表曲，タイトルＣ１(2003)，タイトルＣ２(2004)</explanation >」は、“アーティストＣ:URL=http://www……,その他の代表曲，タイトルＣ１(2003)，タイトルＣ２(2004)”である要素内容５４５を、x=”0.65” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”150” required_width=”200”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“implied”であるので、“アーティストＣ:URL=http://www……,その他の代表曲，タイトルＣ１(2003)，タイトルＣ２(2004)”である要素内容５４５は、表示部２０８の表示領域によって、表示または非表示となる。
【０３３２】
図１７に戻り、ステップＳ２１０において、画面特性情報保存モジュール２５４は、HDD２０５に記録されている画面特性情報を読み出して、読み出した画面特性情報を画面レイアウト情報作成モジュール２５５に供給する。
【０３３３】
画面特性情報は、例えば、デバイス１３の表示部２０８における、表示パネルのピクセル数または解像度などの情報である。
【０３３４】
図２４は、ステップＳ２１０の処理によって読み出された、画面特性情報の記述例を示す図である。
【０３３５】
画面特性情報６０１は、例えば、XML方式により記述される。なお、図２４の各行の左端には、説明のため行番号を付してある。
【０３３６】
１行目の「<?xml version=”1.0” encoding=”UTF-8”?>」は、XMLのバージョンが“1.0”であり、XMLの文字コードが“UTF-8”であることを示す。
【０３３７】
２行目の「<DeviceProfile>」と９行目の「</DeviceProfile>」は、２行目乃至９行目に記述された処理が、DeviceProfile要素に属しているノードであることを示す。３行目の「<Presentation>」と８行目の「</Presentation>」は、４行目乃至７行目に記述された処理が、Presentation要素に属しているノードであることを示す。
【０３３８】
４行目の「<Visual Type=”lcd”>」と７行目の「</Visual>」は、５行目および６行目に記述された処理が、Visual要素に属しているノードであることを示す。ここで、Visual要素のType属性は、”lcd”に設定されており、これは、表示部２０８がLCDパネルであることを示す。なお、有機ELパネルまたはプラズマパネルなどを使用する場合、それに応じて文字列を設定し、設定した文字列をType属性とすればよい。
【０３３９】
５行目の「<width>320</width>」は、表示部２０８（LCDパネル）の表示領域の横方向の解像度が320ピクセルであることを示す。
【０３４０】
６行目の「<height>480</height>」は、表示部２０８（LCDパネル）の表示領域の縦方向の解像度が480ピクセルであることを示す。
【０３４１】
図１７に戻り、ステップＳ２１１において、画面レイアウト情報作成モジュール２５５は、コンテンツ取得モジュール２５１から供給されるコンテンツ（例えば、図２１のコンテンツ５３１）、画面レイアウト作成ルール情報取得モジュール２５３から供給される画面レイアウト作成ルール情報（例えば、図２０の画面レイアウト作成ルール情報５２１）、および画面特性情報保存モジュール２５４から供給される画面特性情報（例えば、図２４の画面特性情報６０１）を基に、画面レイアウト情報を生成し、生成した画面レイアウト情報を、画面レイアウト情報保存モジュール２５６に供給する。
【０３４２】
図２５は、ステップＳ２１１の処理によって生成された、画面レイアウト情報の記述例を示す図である。
【０３４３】
画面レイアウト情報６２１は、例えば、XML方式により記述される。なお、図２５の各行の左端には、説明のため行番号を付してある。
【０３４４】
１行目の「<?xml version=“1.0” encoding=“UTF-8”?>」は、XMLのバージョンが“1.0”であり、XMLの文字コードが“UTF-8”であることを示す。
【０３４５】
２行目の「<contents xmlns:fo=”http://www.w3.org/1999/XSL/Format”>」と８行目の「</contents>」は、３行目乃至７行目が、contents要素に属しているノードであることを示す。“http://www.w3.org/1999/XSL/Format“は、W3CによってXSLTに割り当てられたURIであることを示す。
【０３４６】
３行目の「<rectangle name=”music” x=”16” y=”0” width=”288” height=”96”>」と７行目の「</rectangle>」は、４行目乃至６行目が、rectangle要素に属しているノードであることを示す。
【０３４７】
３行目の「<rectangle name=”music” x=”16” y=”0” width=”288” height=”96”>」は、表示部２０８において、music要素が、例えば、表示部２０８の左上を端点とした場合、16ピクセルであるx座標および0ピクセルであるｙ座標を起点に、幅288×高さ96ピクセルの範囲で配置されることを示す。
【０３４８】
ここで、端点とは、例えば、（0、0）など、ｘ属性およびｙ属性の基準となる点の座標であり、起点とは、例えば、（16、0）など、width属性およびheight属性の基準となる点の座標である。
【０３４９】
４行目の「<rectangle name=”title” x=”14.4” y=”4.8” width=”259.2” height=”38.4”>」は、表示部２０８において、music要素の子要素としてtitle要素が、例えば、music要素の左上を端点とした場合、14.4ピクセルであるx座標および4.8ピクセルであるｙ座標を起点に、幅259.2×高さ38.4ピクセルの範囲で配置されることを示す。
【０３５０】
５行目の「<rectangle name=”artist” x=”14.4” y=”52.8” width=”86.4” height=”38.4”>」は、表示部２０８において、music要素の子要素としてartist要素が、例えば、music要素の左上を端点とした場合、14.4ピクセルであるx座標および52.8ピクセルであるｙ座標を起点に、幅86.4×高さ38.4ピクセルの範囲で配置されることを示す。
【０３５１】
６行目の「<rectangle name=”time” x=”100.8” y=”52.8” width=”86.4” height=”38.4”>」は、表示部２０８において、music要素の子要素としてtime要素が、例えば、music要素の左上を端点とした場合、100.8ピクセルであるx座標および52.8ピクセルであるｙ座標を起点に、幅86.4×高さ38.4ピクセルの範囲で配置されることを示す。
【０３５２】
図１７に戻り、ステップＳ２１２において、画面レイアウト情報保存モジュール２５６は、画面レイアウト情報作成モジュール２５５から供給された画面レイアウト情報を、HDD２０５に記録させる。画面レイアウト情報保存モジュール２５６は、画面レイアウト情報作成モジュール２５５から供給された画面レイアウト情報（例えば、図２５の画面レイアウト情報６２１）を、画面表示作成ルール情報作成モジュール２５７および画面表示情報作成モジュール２５９にそれぞれ供給する。
【０３５３】
このように、画面レイアウト情報作成モジュール２５５から供給された画面レイアウト情報を、HDD２０５に記録させることで、コンテンツ構造定義を受信したことがあるコンテンツを再度表示する場合、画面レイアウト情報を生成せずに、HDD２０５に記録された画面レイアウト情報を再利用することができる。したがって、画面レイアウト情報を生成する負荷を軽減することができる。
【０３５４】
ステップＳ２１３において、画面表示作成ルール情報作成モジュール２５７は、画面レイアウト情報保存モジュール２５６から供給された画面レイアウト情報を基に、画面表示作成ルール情報を生成し、生成した画面表示作成ルール情報を、画面表示作成ルール情報保存モジュール２５８に供給する。
【０３５５】
図２６は、ステップＳ２１３の処理によって生成された、画面表示作成ルール情報の記述例を示す図である。
【０３５６】
画面表示作成ルール情報６４１は、例えば、XSLT方式により記述される。なお、図２６の各行の左端には、説明のため行番号を付してある。
【０３５７】
画面レイアウト情報６２１を生成する過程で、例えば、music要素の子要素であるtitle要素、artist要素、time要素、またはexplanation要素のうち、explanation要素が表示部２０８に表示できない場合、explanation要素が表示されないようにする。すなわち、explanation要素以外の要素が表示される。
【０３５８】
このように、各デバイス１３の表示部２０８に即した情報のみを保持することで、画面表示作成情報を迅速に生成できるので、より迅速にコンテンツを表示部２０８に表示することができる。
【０３５９】
以下、図２６を参照して、explanation要素以外の要素を表示する処理を説明する。
【０３６０】
１行目の「<?xml version=“1.0” encoding=“UTF-8”?>」は、XMLのバージョンが“1.0”であり、XMLの文字コードが“UTF-8”であることを示す。
【０３６１】
２行目の「<xsl:stylesheet version=”1.0”xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”xmlns:fo=”http://www.w3.org/1999/XSL/Format”>」と３３行目の「</ xsl:stylesheet >」は、３行目乃至３２行目が、XSLTの情報を示すことを表している。
【０３６２】
２行目の「<xsl:stylesheet version=”1.0”xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”xmlns:fo=”http://www.w3.org/1999/XSL/Format”>」は、XSLTのバージョンが“1.0”であることを示し、W3CによってXSLTに割り当てられたURIが“http://www.w3.org/1999/XSL/Transform”および“http://www.w3.org/1999/XSL/Format”であることを示す。
【０３６３】
３行目の「<xsl:variable name=”Layout” select=”docoument(Layout-MusicContents01.xml')”/>」は、画面レイアウト情報を記述するファイルである“Layout-MusicContents01.xml”のデータを、“Layout”である変数に代入することを示す。
【０３６４】
例えば、“Layout-MusicContents01.xml“は、画面レイアウト情報６２１とすることができる。
【０３６５】
４行目の「<xsl:variable name=”Layout-music” select=”$Layout//*[@name='music']”/>」は、３行目の変数である“Layout”に代入された値において、music要素に関するデータを、”Layout-music”である変数に代入することを示す。
【０３６６】
５行目の「<xsl:template match=”/”>」と７行目の「<xsl:template>」は、５行目乃至７行目がルートノードとなることを示す。６行目の「xsl:apply-templates」は、テンプレートの中で別のテンプレートの処理を読み込む場合に記述する。ちなみに、ルートノードの場合、全てのノードが処理の対象となる。
【０３６７】
８行目の「<xsl:template match=”contents”>」と２０行目の「<xsl:template>」は、９行目乃至１９行目がcontents要素に属しているノードであることを示す。
【０３６８】
９行目の「<xsl:copy>」と１９行目の「</xsl:copy>」は、１０行目乃至１８行目のノードをコピーすることを示す。
【０３６９】
１０行目の「<xsl:for-each select=”music”>」と１８行目の「</xsl:for-each>」は、music要素に属しているノードについて、１１行目乃至１７行目の処理を繰り返して実行することを示す。
【０３７０】
１１行目の「<xsl:element name=”rectangle”>」と１７行目の「</xsl:element>」は、１２行目乃至１６行目を属性とするrectangle要素を生成することを示す。
【０３７１】
１２行目の「<xsl:attribute name=”x”><xsl:value-of select=$Layout-music/@x/></xsl:attribute>」は、rectangle要素のx属性の値が、“Layout-music“である変数に格納されたx属性を参照した値であることを示す。
【０３７２】
１３行目の「<xsl:attribute name=”y”><xsl:value-of select=”$Layout-music/@y+(position()-1)*($Layout-music/@height)”」/></xsl:attribute>」は、rectangle要素のy属性の値が、“position()関数“の戻り値から１を減算した値と、“Layout-music“である変数に格納されたheight属性を参照した値とを乗算した値に、“Layout-music“である変数に格納されたy属性を参照した値を加算した値であることを示す。
【０３７３】
１４行目の「<xsl:attribute name=”width”><xsl:value-of select=”$Layout-music/@width/></xsl:attribute>」は、rectangle要素のwidth属性の値が、“Layout-music“である変数に格納されたwidth属性を参照した値であることを示す。
【０３７４】
１５行目の「<xsl:attribute name=”height”><xsl:value-of select=”$Layout-music/@height/></xsl:attribute>」は、rectangle要素のheight属性の値が、“Layout-music“である変数に格納されたheight属性を参照した値であることを示す。
【０３７５】
１６行目の「<xsl:apply-templates/>」は、テンプレートの中で別のテンプレートの処理を読み込む場合に記述し、点線６４１−１または点線６４１−２に記述されたいずれかの処理を実行することを示す。
【０３７６】
点線６４１−１で囲まれた、２１行目の「<xsl:templates match=”*”>」と３０行目の「</xsl:templates>」は、“match”の値が、“*”で示されるワイルドカードであるので、すべての要素において２２行目乃至２９行目に記述された処理を実行するが、線６４１−２にexplanation要素の場合の処理が記述されているので、explanation要素以外の要素について、２２行目乃至２９行目に記述された処理を実行する。
【０３７７】
２２行目の「<xsl:element name=”rectangle”>」と２９行目の「</xsl:element>」は、２３行目乃至２８行目に記述された内容を属性とするrectangle要素を生成することを示す。
【０３７８】
２３行目の「<xsl:variable name=”NAME” select=”name()”>」は、“name()関数”の戻り値である要素名を、“NAME”である変数に代入することを示す。
【０３７９】
２４行目の「<xsl:attribute name=”x”><xsl:value-of select=”$Layout//*[@name=$NAME]/@x”/></xsl:attribute>」は、rectangle要素のx属性の値が、“Layout“である変数に格納されている要素名と、”NAME“である変数に格納されている要素名とが一致している要素名のx属性を参照した値であることを示す。
【０３８０】
２５行目の「<xsl:attribute name=”y”><xsl:value-of select=”$Layout//*[@name=$NAME]/@y”/></xsl:attribute>」は、rectangle要素のy属性の値が、“Layout“である変数に格納されている要素名と、”NAME“である変数に格納されている要素名とが一致している要素名のy属性を参照した値であることを示す。
【０３８１】
２６行目の「<xsl:attribute name=”width”><xsl:value-of select=”$Layout//*[@name=$NAME]/@width”/></xsl:attribute>」は、rectangle要素のwidth属性の値が、“Layout“である変数に格納されている要素名と、”NAME“である変数に格納されている要素名とが一致している要素名のwidth属性を参照した値であることを示す。
【０３８２】
２７行目の「<xsl:attribute name=”height”><xsl:value-of select=”$Layout//*[@name=$NAME]/@height”/></xsl:attribute>」は、rectangle要素のheight属性の値が、“Layout“である変数に格納されている要素名と、”NAME“である変数に格納されている要素名とが一致している要素名のheight属性を参照した値であることを示す。
【０３８３】
２８行目の「<xsl:value-of select=”./”>」は、変数である”NAME“に一時的に記憶されている要素の文字列の値を取得することを示す。すなわち、例えば、”タイトルＡ“、”アーティストＡ“、または”03:54“などを取得する。
【０３８４】
線６４１−２で囲まれた、３１行目の「<xsl:template match=“explanation”>」および３２行目の「</xsl:template>」は、explanation要素の場合の処理が記述されている。上述したように、explanation要素が表示部２０８に表示できなかったので、explanation要素を表示しないようにするため、３１行目および３２行目の間には、何ら処理は記述しない。すなわち、表示部２０８は、explanation要素を表示しない。
【０３８５】
なお、上述したように、explanation要素の場合、表示部２０８に表示できないとしたが、explanation要素に限らず、例えば、title要素、artist要素、またはtime要素などを表示させないようにすることも可能である。
【０３８６】
図１７に戻り、ステップＳ２１４において、画面表示作成ルール情報保存モジュール２５８は、画面表示作成ルール情報作成モジュール２５７から供給された画面表示作成ルール情報（例えば、図２６の画面表示作成ルール情報６４１）を、例えば、HDD２０５に記録させる。画面表示作成ルール情報保存モジュール２５８は、画面表示作成ルール情報作成モジュール２５７から供給された画面表示作成ルール情報を、画面表示情報作成モジュール２５９に供給する。
【０３８７】
ステップＳ２１５において、コンテンツ構造定義リスト保存モジュール２５２は、CPU２０１の制御に基づいて、画面レイアウト情報作成モジュール２５５により生成された画面レイアウト情報（例えば、図２５の画面レイアウト情報６２１の“Layout-MusicContents01.xml”であるファイル名）、および画面表示作成ルール情報作成モジュール２５７により生成された画面表示作成ルール情報（例えば、図２６の画面表示作成ルール情報６４１の“DisplayCreation-MusicContents01.xsl”であるファイル名）と、コンテンツ構造定義（例えば、“MusicContents01”である文字列）とを対応させた情報を、コンテンツ構造定義リスト（例えば、図１９のコンテンツ構造定義リスト５１１）を更新して記録させる。
【０３８８】
図２７は、ステップＳ２１５の処理によって生成された、コンテンツ構造定義リストの記述例を示す図である。
【０３８９】
コンテンツ構造定義リスト６６１は、例えば、XML方式により記述される。なお、図２７の各行の左端には、説明のため行番号を付してある。
【０３９０】
図２７のコンテンツ構造定義リスト６６１の１行目乃至１０行目の記述は、図１９のコンテンツ構造定義リスト５１１の１行目乃至１０行目の記述と同様であるので、その説明は省略する。
【０３９１】
１１行目の「<item name=“MusicContents01”>」と１４行目の「</item>」は、１２行目および１３行目の記述が“MusicContents01”の情報を表すことを示す。
【０３９２】
１１行目の「<item name=“MusicContents01”>」は、item要素のname属性が“MusicContents01”であることを示す。１２行目の「<layout>Layout-MusicContents01.xml</layout>」の“Layout-MusicContents01.xml”は、“MusicContents01”の画面レイアウト情報が格納されているファイルのファイル名を示す。例えば、“Layout-MusicContents01.xml”であるファイル名のファイルを、画面レイアウト情報６２１とすることができる。
【０３９３】
１２行目の「<display>DisplayCreation01-MusicContents01.xsl</display>」の“DisplayCreation01-MusicContents01.xsl”は、“MusicContents01”の画面表示作成ルール情報が格納されているファイルのファイル名を示す。例えば、“DisplayCreation01-MusicContents01.xsl”であるファイル名のファイルを、画面表示作成ルール情報６４１とすることができる。
【０３９４】
より具体的には、音楽のコンテンツを表示させることで、“MusicContents01”であるコンテンツ構造定義が、コンテンツ構造定義リストに記憶されるので、以降、ホームネットワーク１２を介して、サーバ１１から“MusicContents01”であるコンテンツ構造定義を取得した場合、コンテンツ構造定義リストの“MusicContents01”に対応した、“Layout-MusicContents01.xml”である画面レイアウト情報を画面レイアウト情報保存モジュール２５６から読み出し、同様に、“DisplayCreation01-MusicContents01.xsl”である画面表示作成ルール情報を画面表示作成ルール情報保存モジュール２５８から読み出すことで、コンテンツを表示部２０８に表示することができる。
【０３９５】
すなわち、画面レイアウト情報および画面表示作成ルール情報を生成せずに、HDD２０５に記録されている画面レイアウト情報および画面表示作成ルール情報を読み出すので、デバイス１３は、コンテンツを表示部２０８に表示するコストを軽減することができ、即応性を確保することができる。
【０３９６】
図１７に戻り、ステップＳ２１６において、画面表示情報作成モジュール２５９は、コンテンツ取得モジュール２５１から供給されるコンテンツ（例えば、図２１のコンテンツ５３１）、画面レイアウト情報保存モジュール２５６から供給される画面レイアウト情報（例えば、図２５の画面レイアウト情報６２１）、および画面表示作成ルール情報２５８から供給される画面表示作成ルール情報（図２６の画面表示作成ルール情報６４１）を基に、画面表示情報を生成し、生成した画面表示情報を画面表示モジュール２６０に供給する。
【０３９７】
図２８は、ステップＳ２１６の処理によって生成された、画面表示情報の記述例を示す図である。
【０３９８】
画面表示情報６８１は、例えば、XML方式により記述される。なお、図２８の各行の左端には、説明のため行番号を付してある。
【０３９９】
１行目の「<?xml version=“1.0” encoding=“UTF-8”?>」は、XMLのバージョンが“1.0”であり、XMLの文字コードが“UTF-8”であることを示す。
【０４００】
２行目の「<contents>」と１８行目の「</contents>」は、３行目乃至１７行目が、contents要素に属しているノードであることを示す。
【０４０１】
３行目の「<rectangle x=”16” y=”0” width=”288” height=”96”>」と７行目の「</rectangle>」は、４行目乃至６行目が、rectangle要素に属しているノードであることを示す。
【０４０２】
３行目の「<rectangle x=”16” y=”0” width=”288” height=”96”>」は、表示部２０８において、rectangle要素が、例えば、表示部２０８の左上を端点とした場合、16ピクセルであるx座標および0ピクセルであるｙ座標を起点に、幅288×高さ96ピクセルの範囲で配置されることを示す。
【０４０３】
４行目の「<rectangle x=”14.4” y=”4.8” width=”259.2” height=”38.4”>タイトルＡ</rectangle>」は、表示部２０８において、rectangle要素（親要素）の子要素としてrectangle要素（子要素）が、例えば、親要素であるrectangle要素の左上を端点とした場合、14.4ピクセルであるx座標および4.8ピクセルであるｙ座標を起点に、幅259.2×高さ38.4ピクセルの範囲に、子要素であるrectangle要素が配置され、配置された子要素であるrectangle要素の範囲の中に、“タイトルＡ”である要素内容が表示されることを示す。
【０４０４】
５行目の「<rectangle x=”14.4” y=”52.8” width=”86.4” height=”38.4”>アーティストＡ</rectangle>」は、表示部２０８において、rectangle要素（親要素）の子要素としてrectangle要素（子要素）が、例えば、親要素であるrectangle要素の左上を端点とした場合、14.4ピクセルであるx座標および52.8ピクセルであるｙ座標を起点に、幅86.4×高さ38.4ピクセルの範囲に、子要素であるrectangle要素が配置され、配置された子要素であるrectangle要素の範囲の中に、“アーティストＡ”である要素内容が表示されることを示す。
【０４０５】
６行目の「<rectangle x=”100.8” y=”52.8” width=”86.4” height=”38.4”>03:54</rectangle>」は、表示部２０８において、rectangle要素（親要素）の子要素としてrectangle要素（子要素）が、例えば、親要素であるrectangle要素の左上を端点とした場合、100.8ピクセルであるx座標および52.8ピクセルであるｙ座標を起点に、幅86.4×高さ38.4ピクセルの範囲に、子要素であるrectangle要素が配置され、配置された子要素であるrectangle要素の範囲の中に、“03:54”である要素内容が表示されることを示す。
【０４０６】
８行目の「<rectangle x=”16” y=”96” width=”288” height=”96”>」と１２行目の「</rectangle>」は、９行目乃至１１行目が、rectangle要素に属しているノードであることを示す。
【０４０７】
８行目の「<rectangle x=”16” y=”96” width=”288” height=”96”>」は、表示部２０８において、rectangle要素が、例えば、表示部２０８の左上を端点とした場合、16ピクセルであるx座標および96ピクセルであるｙ座標を起点に、幅288×高さ96ピクセルの範囲で配置されることを示す。
【０４０８】
９行目の「<rectangle x=”14.4” y=”4.8” width=”259.2” height=”38.4”>タイトルＢ</rectangle>」は、表示部２０８において、rectangle要素（親要素）の子要素としてrectangle要素（子要素）が、例えば、親要素であるrectangle要素の左上を端点とした場合、14.4ピクセルであるx座標および4.8ピクセルであるｙ座標を起点に、幅259.2×高さ38.4ピクセルの範囲に、子要素であるrectangle要素が配置され、配置された子要素であるrectangle要素の範囲の中に、“タイトルＢ”である要素内容が表示されることを示す。
【０４０９】
１０行目の「<rectangle x=”14.4” y=”52.8” width=”86.4” height=”38.4”>アーティストＢ</rectangle>」は、表示部２０８において、rectangle要素（親要素）の子要素としてrectangle要素（子要素）が、例えば、親要素であるrectangle要素の左上を端点とした場合、14.4ピクセルであるx座標および52.8ピクセルであるｙ座標を起点に、幅86.4×高さ38.4ピクセルの範囲に、子要素であるrectangle要素が配置され、配置された子要素であるrectangle要素の範囲の中に、“アーティストＢ”である要素内容が表示されることを示す。
【０４１０】
１１行目の「<rectangle x=”100.8” y=”52.8” width=”86.4” height=”38.4”>04:01</rectangle>」は、表示部２０８において、rectangle要素（親要素）の子要素としてrectangle要素（子要素）が、例えば、親要素であるrectangle要素の左上を端点とした場合、100.8ピクセルであるx座標および52.8ピクセルであるｙ座標を起点に、幅86.4×高さ38.4ピクセルの範囲に、子要素であるrectangle要素が配置され、配置された子要素であるrectangle要素の範囲の中に、“04:01”である要素内容が表示されることを示す。
【０４１１】
１３行目の「<rectangle x=”16” y=”192” width=”288” height=”96”>」と１７行目の「</rectangle>」は、１４行目乃至１６行目が、rectangle要素に属しているノードであることを示す。
【０４１２】
１３行目の「<rectangle x=”16” y=”192” width=”288” height=”96”>」は、表示部２０８において、rectangle要素が、例えば、表示部２０８の左上を端点とした場合、16ピクセルであるx座標および192ピクセルであるｙ座標を起点に、幅288×高さ96ピクセルの範囲で配置されることを示す。
【０４１３】
１４行目の「<rectangle x=”14.4” y=”4.8” width=”259.2” height=”38.4”>タイトルＣ</rectangle>」は、表示部２０８において、rectangle要素（親要素）の子要素としてrectangle要素（子要素）が、例えば、親要素であるrectangle要素の左上を端点とした場合、14.4ピクセルであるx座標および4.8ピクセルであるｙ座標を起点に、幅259.2×高さ38.4ピクセルの範囲に、子要素であるrectangle要素が配置され、配置された子要素であるrectangle要素の範囲の中に、“タイトルＣ”である要素内容が表示されることを示す。
【０４１４】
１５行目の「<rectangle x=”14.4” y=”52.8” width=”86.4” height=”38.4”>アーティストＣ</rectangle>」は、表示部２０８において、rectangle要素（親要素）の子要素としてrectangle要素（子要素）が、例えば、親要素であるrectangle要素の左上を端点とした場合、14.4ピクセルであるx座標および52.8ピクセルであるｙ座標を起点に、幅86.4×高さ38.4ピクセルの範囲に、子要素であるrectangle要素が配置され、配置された子要素であるrectangle要素の範囲の中に、“アーティストＣ”である要素内容が表示されることを示す。
【０４１５】
１６行目の「<rectangle x=”100.8” y=”52.8” width=”86.4” height=”38.4”>04:03</rectangle>」は、表示部２０８において、rectangle要素（親要素）の子要素としてrectangle要素（子要素）が、例えば、親要素であるrectangle要素の左上を端点とした場合、100.8ピクセルであるx座標および52.8ピクセルであるｙ座標を起点に、幅86.4×高さ38.4ピクセルの範囲に、子要素であるrectangle要素が配置され、配置された子要素であるrectangle要素の範囲の中に、“04:03”である要素内容が表示されることを示す。
【０４１６】
図１７に戻り、ステップＳ２１７において、画面表示モジュール２６０は、画面表示情報作成モジュール２５９から供給された画面表示情報（例えば、図２８の画面表示情報６８１）を基に、コンテンツを、例えば、LCDパネルなどから構成される表示部２０８に表示する。
【０４１７】
すなわち、各デバイスの表示部２０８の表示領域に応じて、コンテンツを変換して表示部２０８に表示することで、ユーザは、表示部２０８に表示されたコンテンツを見ることができる。
【０４１８】
図２９は、ステップＳ２１７の処理によって、コンテンツが表示された画面７０１の例を示す図である。
【０４１９】
コンテンツは、図２８の画面表示情報６８１のXML文書を基に、解像度が縦480×横320である画面７０１上に表示される。例えば、サーバ１１に記録された音楽を再生する場合、記録された音楽に対応したコンテンツが、画面７０１に表示される。画面７０１には、コンテンツ７０１−１として、“タイトルＡ”である曲名に対して、“アーティストＡ”である歌手名、および“3:54”である再生時間が表示されている。また、コンテンツ７０１−２として、“タイトルＢ”である曲名に対して、“アーティストＢ”である歌手名、および“4:01”である再生時間が表示されている。さらに、コンテンツ７０１−３として、“タイトルＣ”である曲名に対して、“アーティストＣ”である歌手名、および“4:03”である再生時間が表示されている。
【０４２０】
また、コンテンツ７０１−１は、画面表示情報６８１の３行目乃至７行目の記述を基に、解像度が縦480×横320である画面７０１の左上を端点とした場合、16ピクセルであるx座標および0ピクセルであるｙ座標を起点に、幅288×高さ96ピクセルの範囲で配置されることを示す。同様に、コンテンツ７０１−２は、画面表示情報６８１の８行目乃至１２行目の記述を基に、解像度が縦480×横320である画面７０１の左上を端点とした場合、16ピクセルであるx座標および96ピクセルであるｙ座標を起点に、幅288×高さ96ピクセルの範囲で配置されることを示す。さらに、コンテンツ７０１−３は、画面表示情報６８１の１３行目乃至１７行目の記述を基に、解像度が縦480×横320である画面７０１の左上を端点とした場合、16ピクセルであるx座標および192ピクセルであるｙ座標を起点に、幅288×高さ96ピクセルの範囲で配置されることを示す。
【０４２１】
なお、画面７０１は、デバイス１３の表示部２０８である。
【０４２２】
次に、図３０を参照して、図２９のコンテンツ７０１−３の詳細について説明する。
【０４２３】
図２９を参照して説明したように、画面７０１に、コンテンツ７０１−３として、“タイトルＣ”である曲名に対して、“アーティストＣ”である歌手名、および“4:03”である再生時間が表示されている。コンテンツ７０１−３は、図２８の画面表示情報６８１の１４行目の記述を基に、コンテンツ７０１−３の起点となる座標（16ピクセルであるx座標および192ピクセルであるｙ座標）を端点とした場合、14.4ピクセルであるx座標および4.8ピクセルであるｙ座標を起点に、幅259.2×高さ38.4ピクセルの範囲内に、“タイトルＣ”である要素内容が表示される。
【０４２４】
また、図２８の画面表示情報６８１の１５行目の記述を基に、コンテンツ７０１−３の起点となる座標を端点とした場合、14.4ピクセルであるx座標および52.8ピクセルであるｙ座標を起点に、幅86.4×高さ38.4ピクセルの範囲内に、“アーティストＣ”である要素内容が表示される。さらに、図２８の画面表示情報６８１の１６行目の記述を基に、コンテンツ７０１−３の起点となる座標を端点とした場合、100.8ピクセルであるx座標および52.8ピクセルであるｙ座標を起点に、幅86.4×高さ38.4ピクセルの範囲内に、“04:03”である要素内容が表示される。
【０４２５】
なお、図２９のコンテンツ７０１−３について説明したが、図２９のコンテンツ７０１−１およびコンテンツ７０１−２についても同様である。
【０４２６】
一方、ステップＳ２０５において、コンテンツ構造定義リストに、受信したコンテンツ構造定義が含まれていると判定された場合、ステップＳ２１８に進み、画面レイアウト情報保存モジュール２５６は、HDD２０５に記録されている画面レイアウト情報（例えば、図２５の画面レイアウト情報６２１）を読み出し、読み出した画面レイアウト情報を画面表示情報作成モジュール２５９に供給する。
【０４２７】
このように、画面レイアウト情報を生成せずに、HDD２０５に記録されている画面レイアウト情報を読み出すので、デバイス１３は、コンテンツを表示部２０８に表示するための処理をより少なくすることができ、より迅速にコンテンツを表示することができる。
【０４２８】
ステップＳ２１９において、画面表示作成ルール情報保存モジュール２５８は、HDD２０５に記録されている画面表示作成ルール情報（例えば、図２６の画面表示作成ルール情報６４１）を読み出し、読み出した画面表示作成ルール情報を画面表示情報作成モジュール２５９に供給する。
【０４２９】
このように、画面表示作成ルール情報を生成せずに、HDD２０５に記録されている画面表示作成ルール情報を読み出すので、デバイス１３は、コンテンツを表示部２０８に表示するための処理をより少なくすることができ、より迅速にコンテンツを表示することができる。
【０４３０】
ステップＳ２２０において、コンテンツ取得モジュール２５１は、CPU２０１の制御を基に、ステップＳ２１８の処理で読み込んだ画面レイアウト情報（例えば、図２５の画面レイアウト情報６２１）から、受信するコンテンツの表示可能なコンテンツ構成要素、および要素内容を選択する。
【０４３１】
図３１は、ステップＳ２０１の処理によって、取得することが決定したコンテンツの記述例を示す図である。
【０４３２】
コンテンツ７４１は、例えば、XML方式により記述される。なお、図３１の各行の左端には、説明のため行番号を付してある。
【０４３３】
図３１のコンテンツ７４１の１行目乃至２３行目および３１行目は、図２１のコンテンツ５３１の１行目乃至２３行目および２４行目の記述内容と同様であるので、その説明は省略する。
【０４３４】
２４行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」と３０行目の「</music>」は、２５行目乃至２９行目に記述された属性が、music要素を記述していることを示す。
【０４３５】
２４行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」は、“music”である要素識別子５４２、priority=”required”である表示優先順位５４３、および“x=0.05”、”y=0.05”、“width_ratio=0.9”、”height_raito=0.2”である位置情報５４４を示す。
【０４３６】
２５行目の「<title priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.4”>タイトルＤ</title>」は、“タイトルＤ“である要素内容５４５を、“x=0.05”、”y=0.05”、“width_ratio=0.9”、および”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“タイトルＤ”である要素内容５４５を表示する。
【０４３７】
２６行目の「<artist priority=”required” x=”0.05” y=”0.55” width_ratio=”0.3” height_raito=”0.4”>アーティストＤ</artist>」は、“アーティストＤ“である要素内容５４５を、“x=0.05”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“アーティストＤ”である要素内容５４５を表示する。
【０４３８】
２７行目の「<time priority=”implied” x=”0.35” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”15” required_width=”20”>04:03</time>」は、“04:03“である要素内容５４５を、“x=0.35”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”、required_height=”15”、required_width=”20”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“implied”であるので、“04:03“である要素内容５４５は、表示部２０８の表示領域によって、表示または非表示となることを示す。
【０４３９】
２８行目および２９行目の「<explanation priority=”implied” x=”0.65” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”150” required_width=”200”>アーティストＤ:URL=http://www……</explanation>」は、“アーティストＤ:URL=http://www……”である要素内容５４５を、x=”0.65” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”150” required_width=”200”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“implied”であるので、“アーティストＤ:URL=http://www……”である要素内容５４５は、表示部２０８の表示領域によって、表示または非表示となることを示す。
【０４４０】
図１７に戻り、例えば、図２５の画面レイアウト情報６２１の場合、画面レイアウト情報６２１を構成するrectangle要素のname属性の値は、“music”、“title”、“artist”、および“time”であり、“explanation”が含まれていない。一方、コンテンツ７４１を構成するcontents要素に属する要素は、music要素、title要素、artist要素、time要素、およびexplanation要素である。
【０４４１】
すなわち、ステップＳ２２０の処理において、コンテンツ取得モジュール２５１は、画面レイアウト情報６２１を基に、例えば、コンテンツ７４１を構成するコンテンツ構成要素である、５つの要素（music要素、title要素、artist要素、time要素、およびexplanation要素）のうち、表示部２０８に表示可能なコンテンツ構成要素である、４つの要素（music要素、title要素、artist要素、およびtime要素）を選択する。
【０４４２】
ステップＳ２２１において、コンテンツ取得モジュール２５１は、ホームネットワーク１２を介して、ステップＳ２２１の処理で選択したコンテンツを取得するためのコンテンツ取得要求を、サーバ１１に送信する。
【０４４３】
ステップＳ２２２において、コンテンツ取得モジュール２５１は、ホームネットワーク１２を介して、サーバ１１から、ステップＳ２２１の処理でサーバ１１に送信したコンテンツ取得要求に応じたコンテンツを受信し、受信したコンテンツを画面表示情報作成モジュール２５９に供給する。
【０４４４】
すなわち、デバイス１３は、ホームネットワーク１２を介して、サーバ１１のHDD１０５に記録されているコンテンツ（例えば、図３１のコンテンツ７４１）から、選択的に４つの要素（explanation要素以外の要素）であるコンテンツ（例えば、後述する図３２のコンテンツ７６１）を取得する。
【０４４５】
このように、デバイス１３は、ホームネットワーク１２を介して、サーバ１１から、表示可能なコンテンツの特定の箇所を選択して受信することができるので、コンテンツを表示部２０８に表示させる処理をより少なくすることができる。
【０４４６】
図３２は、サーバ１１から受信したコンテンツの記述例を示す図である。
【０４４７】
コンテンツ７６１は、例えば、XML方式により記述される。なお、図３２の各行の左端には、説明のため行番号を付してある。
【０４４８】
１行目の「<?xml version=”1.0” encoding=”UTF-8”?>」は、XMLのバージョンが“1.0”であり、XMLの文字コードが“UTF-8”であることを示す。
【０４４９】
２行目の「<contents>」と２３行目の「</contents>」は、３行目乃至２２行目に記述された処理が、contents要素に属しているノードであることを示す。contents要素は、contents要素の子要素である、music、title、artist、およびtimeの各要素からなる。すなわち、上述したように、contents要素の子要素は、explanation要素以外の要素となる。
【０４５０】
３行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」と７行目の「</music>」は、４行目乃至６行目に記述された処理が、music要素に属しているノードであることを示す。
【０４５１】
３行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」は、“music”である要素識別子５４２、priority=”required”である表示優先順位５４３、および“x=0.05”、”y=0.05”、“width_ratio=0.9”、”height_raito=0.2”である位置情報５４４を示す。
【０４５２】
４行目の「<title priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.4”>タイトルＡ</title>」は、“タイトルＡ“である要素内容５４５を、“x=0.05”、”y=0.05”、“width_ratio=0.9”、および”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“タイトルＡ”である要素内容５４５を表示する。
【０４５３】
５行目の「<artist priority=”required” x=”0.05” y=”0.55” width_ratio=”0.3” height_raito=”0.4”>アーティストＡ</artist>」は、“アーティストＡ“である要素内容５４５を、“x=0.05”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“アーティストＡ”である要素内容５４５を表示する。
【０４５４】
６行目の「<time priority=”implied” x=”0.35” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”15” required_width=”20”>03:54</time>」は、“03:54“である要素内容５４５を、“x=0.35”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”、required_height=”15”、required_width=”20”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“implied”であるので、“03:54“である要素内容５４５は、表示部２０８の表示領域によって、表示または非表示となる。
【０４５５】
ここで、上述したように、コンテンツ７６１は、explanation要素を含まないので、explanation要素については、記述しない。
【０４５６】
８行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」と１２行目の「</music>」は、８行目乃至１２行目に記述された処理が、music要素に属しているノードであることを示す。
【０４５７】
８行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」は、“music”である要素識別子５４２、priority=”required”である表示優先順位５４３、および“x=0.05”、”y=0.05”、“width_ratio=0.9”、”height_raito=0.2”である位置情報５４４を示す。
【０４５８】
９行目の「<title priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.4”>タイトルＢ</title>」は、“タイトルＢ“である要素内容５４５を、“x=0.05”、”y=0.05”、“width_ratio=0.9”、および”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“タイトルＢ”である要素内容５４５を表示する。
【０４５９】
１０行目の「<artist priority=”required” x=”0.05” y=”0.55” width_ratio=”0.3” height_raito=”0.4”>アーティストＢ</artist>」は、“アーティストＢ“である要素内容５４５を、“x=0.05”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“アーティストＢ”である要素内容５４５を表示する。
【０４６０】
１１行目の「<time priority=”implied” x=”0.35” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”15” required_width=”20”>03:54</time>」は、“04:01“である要素内容５４５を、“x=0.35”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”、required_height=”15”、required_width=”20”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“implied”であるので、“04:01“である要素内容５４５は、表示部２０８の表示領域によって、表示または非表示となる。
【０４６１】
ここで、上述したように、コンテンツ７６１は、explanation要素を含まないので、explanation要素については、記述しない。
【０４６２】
１３行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」と１７行目の「</music>」は、１７行目乃至２３行目に記述された処理が、music要素に属しているノードであることを示す。
【０４６３】
１３行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」は、“music”である要素識別子５４２、priority=”required”である表示優先順位５４３、および“x=0.05”、”y=0.05”、“width_ratio=0.9”、”height_raito=0.2”である位置情報５４４を示す。
【０４６４】
１４行目の「<title priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.4”>タイトルＣ</title>」は、“タイトルＣ“である要素内容５４５を、“x=0.05”、”y=0.05”、“width_ratio=0.9”、および”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“タイトルＣ”である要素内容５４５を表示する。
【０４６５】
１５行目の「<artist priority=”required” x=”0.05” y=”0.55” width_ratio=”0.3” height_raito=”0.4”>アーティストＣ</artist>」は、“アーティストＣ“である要素内容５４５を、“x=0.05”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“アーティストＣ”である要素内容５４５を表示する。
【０４６６】
１６行目の「<time priority=”implied” x=”0.35” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”15” required_width=”20”>03:54</time>」は、“04:03“である要素内容５４５を、“x=0.35”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”、required_height=”15”、required_width=”20”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“implied”であるので、“04:03“である要素内容５４５は、表示部２０８の表示領域によって、表示または非表示となる。
【０４６７】
ここで、上述したように、コンテンツ７６１は、explanation要素を含まないので、explanation要素については、記述しない。
【０４６８】
１８行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」と２２行目の「</music>」は、１８行目乃至２２行目に記述された処理が、music要素に属しているノードであることを示す。
【０４６９】
１８行目の「<music priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.2”>」は、“music”である要素識別子５４２、priority=”required”である表示優先順位５４３、および“x=0.05”、”y=0.05”、“width_ratio=0.9”、”height_raito=0.2”である位置情報５４４を示す。
【０４７０】
１９行目の「<title priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_raito=”0.4”>タイトルＤ</title>」は、“タイトルＤ“である要素内容５４５を、“x=0.05”、”y=0.05”、“width_ratio=0.9”、および”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“タイトルＤ”である要素内容５４５を表示する。
【０４７１】
２０行目の「<artist priority=”required” x=”0.05” y=”0.55” width_ratio=”0.3” height_raito=”0.4”>アーティストＤ</artist>」は、“アーティストＤ“である要素内容５４５を、“x=0.05”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“required”であるので、表示部２０８の表示領域が、許容する限りにおいて、“アーティストＤ”である要素内容５４５を表示する。
【０４７２】
２１行目の「<time priority=”implied” x=”0.35” y=”0.55” width_ratio=”0.3” height_raito=”0.4” required_height=”15” required_width=”20”>04:03</time>」は、“04:03“である要素内容５４５を、“x=0.35”、”y=0.55”、“width_ratio=0.3”、”height_raito=0.4”、required_height=”15”、required_width=”20”である位置情報５４４を基に、表示部２０８に表示することを示す。なお、表示優先順位５４３が“implied”であるので、“04:03“である要素内容５４５は、表示部２０８の表示領域によって、表示または非表示となる。
【０４７３】
ここで、上述したように、コンテンツ７６１は、explanation要素を含まないので、explanation要素については、記述しない。
【０４７４】
図１７に戻り、ステップＳ２１６において、画面表示情報作成モジュール２５９は、コンテンツ取得モジュール２５１から供給されるコンテンツ（例えば、図３２のコンテンツ７６１）、画面レイアウト情報保存モジュール２５６から供給された画面レイアウト情報（例えば、図２５の画面レイアウト情報６２１）、および画面表示作成ルール情報保存モジュール２５８から供給された画面表示作成ルール情報（例えば、図２６の画面表示作成ルール情報）を基に、画面表示情報を生成し、生成した画面表示情報を画面表示モジュール２６０に供給する。
【０４７５】
図３３は、ステップＳ２１６の処理によって生成された、画面表示情報の記述例を示した図である。
【０４７６】
画面表示情報７８１は、例えば、XML方式により記述される。なお、図３３の各行の左端には、説明のため行番号を付してある。
【０４７７】
図３３のコンテンツ７８１の１行目乃至１７行目および２３行目は、図２８のコンテンツ６８１の１行目乃至１７行目および１８行目に記述した内容と同様であるので、その説明は省略する。
【０４７８】
１８行目の「<rectangle x=”16” y=”288” width=”288” height=”96”>」と２２行目の「</rectangle>」は、１９行目乃至２２行目が、rectangle要素に属しているノードであることを示す。
【０４７９】
１８行目の「<rectangle x=”16” y=”288” width=”288” height=”96”>」は、表示部２０８において、rectangle要素が、例えば、表示部２０８の左上を端点とした場合、16ピクセルであるx座標および288ピクセルであるｙ座標を起点に、幅288×高さ96ピクセルの範囲で配置されることを示す。
【０４８０】
１９行目の「<rectangle x=”14.4” y=”4.8” width=”259.2” height=”38.4”>タイトルＤ</rectangle>」は、表示部２０８において、rectangle要素（親要素）の子要素としてrectangle要素（子要素）が、例えば、親要素であるrectangle要素の左上を端点とした場合、14.4ピクセルであるx座標および4.8ピクセルであるｙ座標を起点に、幅259.2×高さ38.4ピクセルの範囲に、子要素であるrectangle要素が配置され、配置された子要素であるrectangle要素の範囲の中に、“タイトルＤ”である要素内容が表示されることを示す。
【０４８１】
２０行目の「<rectangle x=”14.4” y=”52.8” width=”86.4” height=”38.4”>アーティストＤ</rectangle>」は、表示部２０８において、rectangle要素（親要素）の子要素としてrectangle要素（子要素）が、例えば、親要素であるrectangle要素の左上を端点とした場合、14.4ピクセルであるx座標および52.8ピクセルであるｙ座標を起点に、幅86.4×高さ38.4ピクセルの範囲に、子要素であるrectangle要素が配置され、配置された子要素であるrectangle要素の範囲の中に、“アーティストＤ”である要素内容が表示されることを示す。
【０４８２】
２１行目の「<rectangle x=”100.8” y=”52.8” width=”86.4” height=”38.4”>04:05</rectangle>」は、表示部２０８において、rectangle要素（親要素）の子要素としてrectangle要素（子要素）が、例えば、親要素であるrectangle要素の左上を端点とした場合、100.8ピクセルであるx座標および52.8ピクセルであるｙ座標を起点に、幅86.4×高さ38.4ピクセルの範囲に、子要素であるrectangle要素が配置され、配置された子要素であるrectangle要素の範囲の中に、“04:05”である要素内容が表示されることを示す。
【０４８３】
図１７に戻り、ステップＳ２１７において、表示部２０８の画面表示モジュール２６０は、画面表示情報作成モジュール２５９から供給された画面表示情報（例えば、図３３の画面表示情報７８１）を基に、コンテンツを表示部２０８に表示する。
【０４８４】
図３４は、ステップＳ２１７の処理によって、コンテンツが表示された画面７０１の例を示す図である。図２９に示す場合と同様の部分には、同一の番号が付してあり、その説明は適宜省略する。
【０４８５】
コンテンツは、図３３の画面表示情報７８１のXML文書を基に、解像度が縦480×横320である画面７０１上に表示される。例えば、サーバ１１に記憶された音楽を再生する場合、記憶された音楽に対応したコンテンツが、画面７０１に表示される。画面７０１には、コンテンツ７０１−１として、“タイトルＡ”である曲名に対して、“アーティストＡ”である歌手名、および“3:54”である再生時間が表示されている。また、コンテンツ７０１−２として、“タイトルＢ”である曲名に対して、“アーティストＢ”である歌手名、および“4:01”である再生時間が表示されている。また、コンテンツ７０１−３として、“タイトルＣ”である曲名に対して、“アーティストＣ”である歌手名、および“4:03”である再生時間が表示されている。さらに、コンテンツ７０１−４として、“タイトルＤ”である曲名に対して、“アーティストＤ”である歌手名、および“4:05”である再生時間が表示されている。
【０４８６】
また、コンテンツ７０１−１は、画面表示情報７８１の３行目乃至７行目の記述を基に、解像度が縦480×横320である画面７０１の左上を端点とした場合、16ピクセルであるx座標および0ピクセルであるｙ座標を起点に、幅288×高さ96ピクセルの範囲で配置されることを示す。同様に、コンテンツ７０１−２は、画面表示情報７８１の８行目乃至１２行目の記述を基に、解像度が縦480×横320である画面７０１の左上を端点とした場合、16ピクセルであるx座標および96ピクセルであるｙ座標を起点に、幅288×高さ96ピクセルの範囲で配置されることを示す。また、コンテンツ７０１−３は、画面表示情報７８１の１３行目乃至１７行目の記述を基に、解像度が縦480×横320である画面７０１の左上を端点とした場合、16ピクセルであるx座標および192ピクセルであるｙ座標を起点に、幅288×高さ96ピクセルの範囲で配置されることを示す。さらに、また、コンテンツ７０１−４は、図３３の画面表示情報７８１の１８行目乃至２２行目の記述を基に、解像度が縦480×横320である画面７０１の左上を端点とした場合、16ピクセルであるx座標および288ピクセルであるｙ座標を起点に、幅288×高さ96ピクセルの範囲で配置されることを示す。
【０４８７】
なお、画面７０１は、デバイスの表示部２０８である。
【０４８８】
図３５は、プログラムを実行するサーバ１１の機能の他の構成を示すブロック図である。図３に示す場合と同様の部分には、同一の符号が付してあり、その説明は適宜省略する。
【０４８９】
デバイス１３のコンテンツ取得モジュール２５１は、ホームネットワーク１２を介して、取得することが決定したコンテンツのコンテンツ構造定義を以前に取得したことがあるか否かの情報（以下、取得情報と称する）を含むコンテンツ取得要求をサーバ１１に送信する。
【０４９０】
コンテンツ管理モジュール１５１は、ホームネットワーク１２を介して、デバイス１３から、コンテンツ取得要求に含まれる取得情報を受信し、受信した取得情報に応じたコンテンツ要求をコンテンツ保存モジュール１５２に供給する。コンテンツ管理モジュール１５１は、コンテンツ保存モジュール１５２から、コンテンツ要求に応じたコンテンツを取得し、取得したコンテンツをデバイス１３に送信する。
【０４９１】
コンテンツ保存モジュール１５２は、コンテンツ選択保存モジュール９０１およびスタイルシート保存モジュール９０２を含むように構成される。
【０４９２】
コンテンツ保存モジュール１５２は、コンテンツ管理モジュール１５１から供給されるコンテンツ要求に応じて、HDD１０５に記録された、例えば、画像データ、動画データ、またはテキストデータなどのコンテンツを取得し、取得したコンテンツをコンテンツ管理モジュール１５１に供給する。
【０４９３】
コンテンツ選択保存モジュール９０１は、コンテンツ管理モジュール１５１から供給される取得情報を基に、HDD１０５に記録された、各コンテンツの要素識別子および要素内容のみを保存したファイル（以下、コンテンツファイルと称する）を読み出す。
【０４９４】
ここで、HDD１０５には、１または複数のコンテンツファイルが記憶されている。
【０４９５】
スタイルシート保存モジュール９０２は、コンテンツ管理モジュール１５１から供給される取得情報を基に、HDD１０５に記録された、各コンテンツの要素識別子に対して、位置情報および表示優先順位を付与するファイル（以下、スタイルシートファイルと称する）を読み出す。
【０４９６】
ここで、HDD１０５には、１つのスタイルシートファイルが記憶されている。
【０４９７】
対象のコンテンツのコンテンツ構造定義を以前に取得したことがないことを示す取得情報だった場合、コンテンツ保存モジュール１５２は、スタイルシート保存モジュール９０２が読み込んだスタイルシートファイルを基に、コンテンツ選択保存モジュール９０１が読み込んだコンテンツファイルに、各要素に応じて、位置情報および表示優先順位を生成する。コンテンツ保存モジュール１５２は、要素識別子、要素内容、位置情報、および表示優先順位を含むコンテンツを、コンテンツ管理モジュール１５１に供給する。コンテンツ管理モジュール１５１は、ホームネットワーク１２を介して、コンテンツ保存モジュール１５２から供給されたコンテンツをデバイス１３に送信する。
【０４９８】
このように、コンテンツ構造定義を以前に取得したことがない場合、ホームネットワーク１２を介して、位置情報および表示優先順位を含むコンテンツをデバイス１３に送信することができる。すなわち、スタイルシートファイルを用いることで、コンテンツの要素識別子および要素内容を、位置情報および表示優先順位とは別に記憶させることができるので、すべてのコンテンツにおいて、位置情報および表示優先順位を保持する必要がなくなり、サーバ１１のコンテンツを保持する負担を軽減することができる（例えば、サーバ１１のHDD１０５の使用容量を減らすことができる）。
【０４９９】
一方、対象のコンテンツのコンテンツ構造定義を以前に取得したことがあることを示す通知だった場合、コンテンツ保存モジュール１５２は、コンテンツ選択モジュール９０１が読み込んだコンテンツファイルである、要素識別子および要素内容を含むコンテンツをコンテンツ管理モジュール１５１に供給する。コンテンツ管理モジュール１５１は、ホームネットワーク１２を介して、コンテンツ保存モジュール１５２から供給されたコンテンツをデバイス１３に送信する。
【０５００】
このように、コンテンツ構造定義を以前に取得したことがある場合、デバイス１３は、コンテンツに要素識別子および要素内容が含まれていれば、画面にコンテンツを表示することができるので、デバイス１３は、位置情報および表示優先順位が不要となる。したがって、サーバ１１は、ホームネットワーク１２を介して、コンテンツとしてコンテンツファイルをデバイス１３に送信すればよい。すなわち、デバイス１３は、コンテンツ構造定義を以前に取得したことがある場合、要素識別子および要素内容を含むコンテンツを取得すればいいので、コンテンツを取得する処理をより少なくすることができる。
【０５０１】
図３６は、コンテンツ送信の処理を説明するフローチャートである。
【０５０２】
ステップＳ３０１において、コンテンツ管理モジュール１５１は、ホームネットワーク１２を介して、デバイス１３から送信されるコンテンツ取得の要求に含まれる取得情報を受信し、受信した取得情報をコンテンツ保存モジュール１５２に供給する。
【０５０３】
ステップＳ３０２において、コンテンツ保存モジュール１５２は、コンテンツ管理モジュール１５１から供給された取得情報が、コンテンツ構造定義を以前に取得したことを示すか否かを判定する。
【０５０４】
ステップＳ３０２において、コンテンツ構造定義を以前に取得していないことを示す取得情報だった場合、ステップＳ３０３に進み、コンテンツ保存モジュール１５２は、スタイルシート保存モジュール９０２が読み込んだスタイルシートファイルを基に、コンテンツ選択保存モジュール９０１が読み込んだコンテンツファイルに、各要素に応じて、位置情報および表示優先順位を生成する。コンテンツ保存モジュール１５２は、要素識別子、要素内容、位置情報、および表示優先順位を含むコンテンツを、コンテンツ管理モジュール１５１に供給する。
【０５０５】
コンテンツファイルおよびスタイルシートファイルは、例えば、サーバ１１のHDD１０５に記録される。
【０５０６】
図３７は、コンテンツファイルの記述例を示す図である。
【０５０７】
コンテンツファイル９５１は、例えば、XML方式により記述される。なお、図３７の各行の左端には、説明のため行番号を付してある。
【０５０８】
１行目の「<?xml version=”1.0” encoding=”UTF-8”?>」は、XMLのバージョンが“1.0”であり、XMLの文字コードが“UTF-8”であることを示す。
【０５０９】
２行目の「<contents>」と２２行目の「</contents>」は、３行目乃至２１行目に記述された処理が、contents要素に属しているノードであることを示す。contents要素は、contents要素の子要素である、music、title、artist、time、explanationの各要素からなる。
【０５１０】
３行目の「<music>」と９行目の「</music>」は、３行目乃至９行目に記述された要素が、music要素に属しているノードであることを示す。
【０５１１】
４行目の「<title>タイトルＡ</title>」は、music要素の子要素であるtitle要素の要素内容５４５が“タイトルＡ“であることを示す。
【０５１２】
５行目の「<artist>アーティストＡ</artist>」は、music要素の子要素であるartist要素の要素内容５４５が“アーティストＡ“であることを示す。
【０５１３】
６行目の「<time>03:54</time>」は、music要素の子要素であるtime要素の要素内容５４５が“03:54“であることを示す。
【０５１４】
７行目および8行目の「<explanation>アーティストＡ:URL=http://www……,その他の代表曲，タイトルＡ１(1999)，タイトルＡ２(1999)，タイトルＡ３(2000)</explanation >」は、music要素の子要素であるexplanation要素の要素内容５４５が“アーティストＡ:URL=http://www……,その他の代表曲，タイトルＡ１(1999)，タイトルＡ２(1999)，タイトルＡ３(2000)”であることを示す。
【０５１５】
１０行目の「<music>」と１５行目の「</music>」は、１０行目乃至１５行目に記述された要素が、music要素に属しているノードであることを示す。
【０５１６】
１１行目の「<title>タイトルＢ</title>」は、music要素の子要素であるtitle要素の要素内容５４５が“タイトルＢ“であることを示す。
【０５１７】
１２行目の「<artist>アーティストＢ</artist>」は、music要素の子要素であるartist要素の要素内容５４５が“アーティストＢ“であることを示す。
【０５１８】
１３行目の「<time>04:01</time>」は、music要素の子要素であるtime要素の要素内容５４５が“04:01“であることを示す。
【０５１９】
１４行目の「<explanation>アーティストＢ:URL=http://www……,その他の代表曲，タイトルＢ１(2002)</explanation>」は、music要素の子要素であるexplanation要素の要素内容５４５が“アーティストＢ:URL=http://www……,その他の代表曲，タイトルＢ１(2002)”であることを示す。
【０５２０】
１６行目の「<music>」と２１行目の「</music>」は、１６行目乃至２１行目に記述された処理が、music要素に属しているノードであることを示す。
【０５２１】
１７行目の「<title>タイトルＣ</title>」は、music要素の子要素であるtitle要素の要素内容５４５が“タイトルＣ“であることを示す。
【０５２２】
１８行目の「<artist>アーティストＣ</artist>」は、music要素の子要素であるartist要素の要素内容５４５が“アーティストＣ“であることを示す。
【０５２３】
１９行目の「<time>04:03</time>」は、music要素の子要素であるtime要素の要素内容５４５が“04:03“であることを示す。
【０５２４】
２０行目の「<explanation>アーティストＣ:URL=http://www……,その他の代表曲，タイトルＣ１(2003)，タイトルＣ２(2004)</explanation >」は、music要素の子要素であるexplanation要素の要素内容５４５は、“アーティストＣ:URL=http://www……,その他の代表曲，タイトルＣ１(2003)，タイトルＣ２(2004)”であることを示す。
【０５２５】
このように、コンテンツファイル９５１には、要素識別子および要素内容のみが記述されている。
【０５２６】
次に、図３８は、スタイルシートファイルの記述例を示す図である。
【０５２７】
スタイルシートファイル９７１は、例えば、XSLT方式により記述される。なお、各行の左端には、説明のため行番号を付してある。
【０５２８】
１行目の「<?xml version=“1.0” encoding=“UTF-8”?>」は、XMLのバージョンが“1.0”であり、XMLの文字コードが“UTF-8”であることを示す。
【０５２９】
２行目の「<xsl:stylesheet version=”1.0”xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”xmlns:fo=”http://www.w3.org/1999/XSL/Format”>」と６５行目の「</ xsl:stylesheet >」は、３行目乃至４８行目が、XSLT方式の情報を示すことを表している。
【０５３０】
２行目の「<xsl:stylesheet version=”1.0”xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”xmlns:fo=”http://www.w3.org/1999/XSL/Format”>」は、XSLTのバージョンが“1.0”であることを示し、W3C（World Wide Web Consortium）によってXSLTに割り当てられたURI（Uniform Resource Identifier）が“http://www.w3.org/1999/XSL/Transform”および“http://www.w3.org/1999/XSL/Format”であることを示す。
【０５３１】
３行目の「<xsl:template match=”/”>」と５行目の「</xsl:template>」は、XSLTの処理のスタート地点となる特別なノードであり、一般的にルートノードといわれる。４行目の「xsl:apply-templates」は、テンプレートの中で別のテンプレートの処理を読み込む場合に記述する。ちなみに、ルートノードの場合、全てのノードが処理の対象となる。
【０５３２】
６行目の「<xsl:template match=”contents”>」と１０行目の「</xsl:template>」は、６行目乃至１０行目が、contents要素に属しているノードであることを示す。
【０５３３】
７行目の「<xsl:copy>」と９行目の「</xsl:copy>」は、６行目乃至１０行目が、xsl:copy要素に属しているノードであることを示す。xsl:copy要素により、コピーを再帰的に実行する。
【０５３４】
８行目の「<xsl:apply-templates/>」は、別のテンプレートを実行するようにする指示する命令であり、対象のノードから、対象のノードの子ノードのテンプレートに処理を移動させる。すなわち、contents要素の処理から、contents要素の子要素であるmusic要素の処理に移動する。
【０５３５】
１１行目の「<xsl:template match=”music”>」と２０行目の「</xsl:template>」は、１１行目乃至２０行目が、music要素に属しているノードであることを示す。
【０５３６】
１２行目の「<xsl:copy>」と１９行目の「</xsl:copy>」は、１２行目乃至１９行目が、xsl:copy要素に属しているノードであることを示す。xsl:copy要素により、コピーを再帰的に実行する。
【０５３７】
１３行目の「<xsl:attribute name=”priority”>required</xsl:attribute>」は、music要素のpriority属性が“required”であることを示す。
【０５３８】
１４行目の「<xsl:attribute name=”x”>0.05</xsl:attribute>」は、music要素のx属性が“0.05”であることを示す。
【０５３９】
１５行目の「<xsl:attribute name=”y”>0.05</xsl:attribute>」は、music要素のy属性が“0.05”であることを示す。
【０５４０】
１６行目の「<xsl:attribute name=”width_ratio”>0.9</xsl:attribute>」は、music要素のwidth_ratio属性が“0.9”であることを示す。
【０５４１】
１７行目の「<xsl:attribute name=”height_ratio”>0.2</xsl:attribute>」は、music要素のheight_ratio属性が“0.2”であることを示す。
【０５４２】
１８行目の「<xsl:apply-templates/>」は、music要素の処理から、music要素の子要素であるtitle要素の処理に移動することを示す。
【０５４３】
２１行目の「<xsl:template match=”title”>」と３０行目の「</xsl:template>」は、２１行目乃至３０行目が、title要素に属しているノードであることを示す。
【０５４４】
２２行目の「<xsl:copy>」と２９行目の「</xsl:copy>」は、２２行目乃至２９行目が、xsl:copy要素に属しているノードであることを示す。xsl:copy要素により、コピーを再帰的に実行する。
【０５４５】
２３行目の「<xsl:attribute name=”priority”>required</xsl:attribute>」は、title要素のpriority属性が“required”であることを示す。
【０５４６】
２４行目の「<xsl:attribute name=”x”>0.05</xsl:attribute>」は、title要素のx属性が“0.05”であることを示す。
【０５４７】
２５行目の「<xsl:attribute name=”y”>0.05</xsl:attribute>」は、title要素のy属性が“0.05”であることを示す。
【０５４８】
２６行目の「<xsl:attribute name=”width_ratio”>0.9</xsl:attribute>」は、title要素のwidth_ratio属性が“0.9”であることを示す。
【０５４９】
２７行目の「<xsl:attribute name=”height_ratio”>0.4</xsl:attribute>」は、title要素のheight_ratio属性が“0.4”であることを示す。
【０５５０】
２８行目の「<xsl:value-of select=”.”/>」は、現在処理中のノードであるtitle要素（カレントノード）を出力させることを示す。すなわち、コンテンツファイル９５１のtitle要素に対応させて、“x=0.05”、“y=0.05”、“width_ratio=0.9”、および“height_ratio=0.4”である位置情報、並びに“required”である表示優先順位をコンテンツファイル９５１に出力する。
【０５５１】
３１行目の「<xsl:template match=”artist”>」と４０行目の「</xsl:template>」は、３１行目乃至４０行目が、artist要素に属しているノードであることを示す。
【０５５２】
３２行目の「<xsl:copy>」と３９行目の「</xsl:copy>」は、３２行目乃至３９行目が、xsl:copy要素に属しているノードであることを示す。xsl:copy要素により、コピーを再帰的に実行する。
【０５５３】
３３行目の「<xsl:attribute name=”priority”>required</xsl:attribute>」は、artist要素のpriority属性が“required”であることを示す。
【０５５４】
２４行目の「<xsl:attribute name=”x”>0.05</xsl:attribute>」は、artist要素のx属性が“0.05”であることを示す。
【０５５５】
２５行目の「<xsl:attribute name=”y”>0.55</xsl:attribute>」は、artist要素のy属性が“0.55”であることを示す。
【０５５６】
２６行目の「<xsl:attribute name=”width_ratio”>0.3</xsl:attribute>」は、artist要素のwidth_ratio属性が“0.3”であることを示す。
【０５５７】
２７行目の「<xsl:attribute name=”height_ratio”>0.4</xsl:attribute>」は、artist要素のheight_ratio属性が“0.4”であることを示す。
【０５５８】
２８行目の「<xsl:value-of select=”.”/>」は、現在処理中のノードであるartist要素を出力させることを示す。すなわち、コンテンツファイル９５１のartist要素に対応させて、“x=0.05”、“y=0.55”、“width_ratio=0.3”、および“height_ratio=0.4”である位置情報、並びに“required”である表示優先順位をコンテンツファイル９５１に出力する。
【０５５９】
４１行目の「<xsl:template match=”time”>」と５２行目の「</xsl:template>」は、４１行目乃至５２行目が、time要素に属しているノードであることを示す。
【０５６０】
４２行目の「<xsl:copy>」と５１行目の「</xsl:copy>」は、４２行目乃至５１行目が、xsl:copy要素に属しているノードであることを示す。xsl:copy要素により、コピーを再帰的に実行する。
【０５６１】
４３行目の「<xsl:attribute name=”priority”>implied</xsl:attribute>」は、time要素のpriority属性が“implied”であることを示す。
【０５６２】
４４行目の「<xsl:attribute name=”x”>0.35</xsl:attribute>」は、time要素のx属性が“0.35”であることを示す。
【０５６３】
４５行目の「<xsl:attribute name=”y”>0.55</xsl:attribute>」は、time要素のy属性が“0.55”であることを示す。
【０５６４】
４６行目の「<xsl:attribute name=”width_ratio”>0.3</xsl:attribute>」は、time要素のwidth_ratio属性が“0.3”であることを示す。
【０５６５】
４７行目の「<xsl:attribute name=”height_ratio”>0.4</xsl:attribute>」は、time要素のheight_ratio属性が“0.4”であることを示す。
【０５６６】
４８行目の「<xsl:attribute name=”required_width”>20</xsl:attribute>」は、time要素のrequired_width属性が“20”であることを示す。
【０５６７】
４９行目の「<xsl:attribute name=”required_height”>15</xsl:attribute>」は、time要素のrequired_height属性が“15”であることを示す。
【０５６８】
５０行目の「<xsl:value-of select=”.”/>」は、現在処理中のノードであるtime要素を出力させることを示す。すなわち、コンテンツファイル９５１のtime要素に対応させて、“x=0.35”、“y=0.55”、“width_ratio=0.3”、“height_ratio=0.4”、required_width=“20”、およびrequired_height=“15”である位置情報、並びに“implied”である表示優先順位をコンテンツファイル９５１に出力する。
【０５６９】
５３行目の「<xsl:template match=”explanation”>」と６４行目の「</xsl:template>」は、５３行目乃至６４行目が、explanation要素に属しているノードであることを示す。
【０５７０】
５４行目の「<xsl:copy>」と６３行目の「</xsl:copy>」は、５４行目乃至６３行目が、xsl:copy要素に属しているノードであることを示す。xsl:copy要素により、コピーを再帰的に実行する。
【０５７１】
５５行目の「<xsl:attribute name=”priority”>implied</xsl:attribute>」は、explanation要素のpriority属性が“implied”であることを示す。
【０５７２】
５６行目の「<xsl:attribute name=”x”>0.65</xsl:attribute>」は、explanation要素のx属性が“0.65”であることを示す。
【０５７３】
５７行目の「<xsl:attribute name=”y”>0.55</xsl:attribute>」は、explanation要素のy属性が“0.55”であることを示す。
【０５７４】
５８行目の「<xsl:attribute name=”width_ratio”>0.3</xsl:attribute>」は、explanation要素のwidth_ratio属性が“0.3”であることを示す。
【０５７５】
５９行目の「<xsl:attribute name=”height_ratio”>0.4</xsl:attribute>」は、explanation要素のheight_ratio属性が“0.4”であることを示す。
【０５７６】
６０行目の「<xsl:attribute name=”required_width”>200</xsl:attribute>」は、explanation要素のrequired_width属性が“200”であることを示す。
【０５７７】
６１行目の「<xsl:attribute name=”required_height”>150</xsl:attribute>」は、explanation要素のrequired_height属性が“150”であることを示す。
【０５７８】
６２行目の「<xsl:value-of select=”.”/>」は、現在処理中のノードであるexplanation要素を出力させることを示す。すなわち、コンテンツファイル９５１のexplanation要素に対応させて、“x=0.65”、“y=0.55”、“width_ratio=0.3”、“height_ratio=0.4”、required_width=“200”、およびrequired_height=“150”である位置情報、並びに“implied”である表示優先順位をコンテンツファイル９５１に出力する。
【０５７９】
このように、スタイルシートファイル９７１には、コンテンツファイル９５１の各要素識別子に対して、位置情報および表示優先順位を生成する情報が記述されている。
【０５８０】
例えば、図３７のコンテンツファイル９５１の４行目の「<title>タイトルＡ</title>」の場合、図３８のスタイルシートファイル９７１の２１行目乃至３０行目の記述を基に、「<title priority=”required” x=”0.05” y=”0.05” width_ratio=”0.9” height_ratio=”0.4”>タイトルＡ</title>」が生成される。
【０５８１】
図３６に戻り、ステップＳ３０４において、コンテンツ管理モジュール１５１は、ホームネットワーク１２を介して、コンテンツ保存モジュール１５２から供給された要素識別子、要素内容、位置情報、および表示優先順位を含むコンテンツをデバイス１３に送信する。
【０５８２】
このように、コンテンツ構造定義を以前に取得したことがない場合、ホームネットワーク１２を介して、位置情報および表示優先順位を含むコンテンツをデバイス１３に送信することができる。すなわち、スタイルシートファイル９７１を用いることで、コンテンツの要素識別子および要素内容を、位置情報および表示優先順位とは別に記憶させることができるので、すべてのコンテンツにおいて、位置情報および表示優先順位を保持する必要がなく、サーバ１１のコンテンツを保持する負担を軽減することができる（例えば、サーバ１１のHDD１０５の使用容量を減らすことができる）。
【０５８３】
一方、ステップＳ３０２において、コンテンツ構造定義を以前に取得していないことを示す取得情報だった場合、ステップＳ３０５に進み、コンテンツ保存モジュール１５２は、コンテンツ選択モジュール９０１が読み込んだコンテンツファイルである、要素識別子および要素内容を含むコンテンツをコンテンツ管理モジュール１５１に供給する。コンテンツ管理モジュール１５１は、ホームネットワーク１２を介して、コンテンツ保存モジュール１５２から供給されたコンテンツをデバイス１３に送信する。
【０５８４】
このように、コンテンツ構造定義を以前に取得したことがある場合、デバイス１３は、コンテンツに要素識別子および要素内容が含まれていれば、画面にコンテンツを表示することができるので、デバイス１３には、位置情報および表示優先順位が不要となる。したがって、サーバ１１は、ネットワーク１２を介して、コンテンツとしてコンテンツファイルをデバイス１３に送信すればよい。
【０５８５】
すなわち、デバイス１３は、コンテンツ構造定義を以前に取得したことがある場合、要素識別子および要素内容を含むコンテンツを取得すればいいので、コンテンツを取得する処理をより少なくすることができる。
【０５８６】
このように、以前に取得したことがあるコンテンツと同じコンテンツ構造定義を持つコンテンツを取得する場合、コンテンツを表示するための画面レイアウト情報および画面表示作成ルール情報をそれぞれ再度利用することで、これらの情報を生成するコストを軽減することができるので、複雑なコンテンツを変換する処理においても即応性を確保することができる。また、デバイス１３側でコンテンツを変換する処理を行うので、サーバ１１の負担を軽減することもできる。
【０５８７】
さらに、デバイス１３において、サーバ１１から、表示部２０８に表示可能なコンテンツの特定の箇所を選択して取得することができるので、コンテンツを表示するコストを軽減することができる。その結果、より迅速にコンテンツを表示することができる。
【０５８８】
なお、上述した処理は、マークアップ言語としてXMLを用いて説明したが、上述したXMLに限らず、例えば、SGML（Standard Generalized Mark-up Language）、HTML（HyperText Markup Language）、またはTeXなど、他のマークアップ言語を使用するようにしてもよい。また、スタイルシート言語として、XSLを用いて説明したが、上述したXSLTに限らず、例えば、CSS（Cascading Style Sheets）など、他のスタイルシート言語を使用するようにしてもよい。
【０５８９】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０５９０】
この記録媒体は、図２に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１２１（フレキシブルディスクを含む）、光ディスク１２２（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク１２３（MD(Mini-Disc)（商標）を含む）、若しくは半導体メモリ１２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM１０３や、HDD１０５などで構成される。
【０５９１】
また、この記録媒体は、図４に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク２２１（フレキシブルディスクを含む）、光ディスク２２２（CD-ROM、DVDを含む）、光磁気ディスク２２３（MD（商標）を含む）、若しくは半導体メモリ２２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM２０３や、HDD２０５などで構成される。
【０５９２】
さらに、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【０５９３】
なお、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記述された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０５９４】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０５９５】
【図１】本発明を適用したホームネットワークシステムの一実施の形態を示すブロック図である。
【図２】サーバの構成の例を示すブロック図である。
【図３】サーバの機能の構成を示すブロック図である。
【図４】クライアントの構成の例を示すブロック図である。
【図５】クライアントの機能の構成を示すブロック図である。
【図６】デバイスの画面に表示されるコンテンツの例を示す図である。
【図７】コンテンツの階層構造について説明する図である。
【図８】コンテンツとコンテンツ構成要素との関係を示すクラス図である。
【図９】コンテンツ構造定義リストとコンテンツ構造定義、画面レイアウト情報、および画像表示作成ルール情報との関係を示すクラス図である。
【図１０】画面レイアウト作成ルール情報のクラス図である。
【図１１】画面表示情報のクラス図である。
【図１２】画面特性情報のクラス図である。
【図１３】送信の処理を説明するフローチャートである。
【図１４】コンテンツ構造定義送信の処理の詳細を説明するフローチャートである。
【図１５】画面レイアウト作成手順情報送信の処理の詳細を説明するフローチャートである。
【図１６】コンテンツ送信の処理の詳細を説明するフローチャートである。
【図１７】画面表示の処理を説明するフローチャートである。
【図１８】コンテンツ構造定義の記述例を示す図である。
【図１９】コンテンツ構造定義リストの記述例を示す図である。
【図２０】画面レイアウト作成ルール情報の記述例を示す図である。
【図２１】コンテンツの記述例を示す図である。
【図２２】各要素の構成内容について説明する図である。
【図２３】各要素の構成内容について説明する図である。
【図２４】画面特性情報の記述例を示す図である。
【図２５】画面レイアウト情報の記述例を示す図である。
【図２６】画面表示作成ルール情報の記述例を示す図である。
【図２７】コンテンツ構造定義リストの記述例を示す図である。
【図２８】画面表示情報の記述例を示す図である。
【図２９】コンテンツが表示されたデバイスの画面の例を示す図である。
【図３０】コンテンツの詳細について説明する図である。
【図３１】コンテンツの記述例を示す図である。
【図３２】コンテンツの記述例を示す図である。
【図３３】画面表示情報の記述例を示した図である。
【図３４】コンテンツが表示されたデバイスの画面の例を示す図である。
【図３５】プログラムを実行するサーバの機能の他の構成を示すブロック図である。
【図３６】コンテンツ送信の処理を説明するフローチャートである。
【図３７】コンテンツファイルの記述例を示す図である。
【図３８】スタイルシートファイルの記述例を示す図である。
【符号の説明】
【０５９６】
１１−１乃至１１−２および１１  サーバ，  １２  ホームネットワーク，  １３−１乃至１３−３および１３  デバイス，  １０１  CPU，  １０２  RAM，  １０３  ROM，  １０４  バス，  １０５  HDD，  １０６  通信部，  １０７  ドライブ，  １２１  磁気ディスク，  １２２  光ディスク，  １２３  光磁気ディスク，  １２４  半導体メモリ，  １５１  コンテンツ管理モジュール，  １５２  コンテンツ保存モジュール，  １５３  コンテンツ構造定義保存モジュール，  １５４  画面レイアウト作成ルール情報保存モジュール，  ２０１  CPU，  ２０２  RAM，  ２０３  ROM，  ２０４  バス，  ２０５  HDD，  ２０６  通信部，  ２０７  入力部，  ２０８  表示部，  ２０９  ドライブ，  ２２１  磁気ディスク，  ２２２  光ディスク，  ２２３  光磁気ディスク，  ２２４  半導体メモリ，  ２５１  コンテンツ取得モジュール，  ２５２  コンテンツ構造定義リスト保存モジュール，  ２５３  画面レイアウト作成ルール情報取得モジュール，  ２５４  画面特性情報保存モジュール，  ２５５  画面レイアウト情報作成モジュール，  ２５６  画面レイアウト情報保存モジュール，  ２５７  画面表示作成ルール情報作成モジュール，  ２５８  画面表示作成ルール情報保存モジュール，  ２５９  画面表示情報作成モジュール，  ２６０  画面表示モジュール
【図１】
2005321909.tif 000003
【図２】
2005321909.tif 000004
【図３】
2005321909.tif 000005
【図４】
2005321909.tif 000006
【図５】
2005321909.tif 000007
【図６】
2005321909.tif 000008
【図７】
2005321909.tif 000009
【図８】
2005321909.tif 000010
【図９】
2005321909.tif 000011
【図１０】
2005321909.tif 000012
【図１１】
2005321909.tif 000013
【図１２】
2005321909.tif 000014
【図１３】
2005321909.tif 000015
【図１４】
2005321909.tif 000016
【図１５】
2005321909.tif 000017
【図１６】
2005321909.tif 000018
【図１７】
2005321909.tif 000019
【図１８】
2005321909.tif 000020
【図１９】
2005321909.tif 000021
【図２０】
2005321909.tif 000022
【図２１】
2005321909.tif 000023
【図２２】
2005321909.tif 000024
【図２３】
2005321909.tif 000025
【図２４】
2005321909.tif 000026
【図２５】
2005321909.tif 000027
【図２６】
2005321909.tif 000028
【図２７】
2005321909.tif 000029
【図２８】
2005321909.tif 000030
【図２９】
2005321909.tif 000031
【図３０】
2005321909.tif 000032
【図３１】
2005321909.tif 000033
【図３２】
2005321909.tif 000034
【図３３】
2005321909.tif 000035
【図３４】
2005321909.tif 000036
【図３５】
2005321909.tif 000037
【図３６】
2005321909.tif 000038
【図３７】
2005321909.tif 000039
【図３８】
2005321909.tif 000040