コンテンツへのリンクまたは他のスクリプトへのリンクにより木構造を構成するスクリプトであって、子ノードである子ノードスクリプトの取得に失敗した場合に該子ノードスクリプトの代替となる代替子ノードスクリプトを検索するか否かを示す第1スクリプト制御情報、および、該子ノードスクリプトの木構造上1つ上のノードの親ノードスクリプトの代替である第1代替親ノードスクリプトを検索するか否かを示す第2スクリプト制御情報を含む、該子ノードスクリプトへのリンクを示す第1子ノードスクリプトと、コンテンツの取得に失敗した場合に代替となる代替コンテンツを検索するか否かを示す第1コンテンツ制御情報、および、該コンテンツの木構造上1つ上のノードの親ノードスクリプトの代替である第2代替親ノードスクリプトを検索するか否かを示す第2コンテンツ制御情報を含む、該コンテンツへのリンクを示す第1コンテンツと、を使用する情報処理装置であって、前記木構造を構成するスクリプトを複数格納する第1格納手段と、前記第1格納手段が格納している複数のスクリプトの中から1つのスクリプトを親ノードスクリプトとして選択し、該親ノードスクリプトの子ノードの1つであり子ノードスクリプトへのリンクである第2子ノードスクリプトに含まれる、第1スクリプト制御情報および第2スクリプト制御情報を参照してそれぞれ検索するか否かを解析し、該親ノードスクリプトの子ノードの1つでありコンテンツへのリンクである第2コンテンツに含まれる、第1コンテンツ制御情報および第2コンテンツ制御情報を参照してそれぞれ検索するか否かを解析し、前記第2子ノードスクリプトに示されているリンクにある第3子ノードスクリプトがあれば取得して、取得した第3子ノードスクリプトについてさらに解析をおこなうスクリプト解析手段と、前記第2コンテンツに示されているリンクにある第3コンテンツがあれば取得するコンテンツ取得手段と、前記第3コンテンツの取得に失敗して、前記第2コンテンツの第1コンテンツ制御情報が代替コンテンツを検索することを示すと解析した場合は該代替コンテンツを検索する代替コンテンツ検索手段と、前記第3子ノードスクリプトの取得に失敗して、前記第2子ノードスクリプトの第1スクリプト制御情報が代替子ノードスクリプトを検索することを示すと解析した場合は該代替子ノードスクリプトを検索し、前記第2コンテンツの第2コンテンツ制御情報および前記第2子ノードスクリプトの第2スクリプト制御情報のいずれか一方が代替親ノードスクリプトを検索することを示す場合は代替親ノードスクリプトを検索する代替スクリプト検索手段と、代替コンテンツが見つかった場合は該代替コンテンツを取得する代替コンテンツ取得手段と、代替子ノードスクリプトおよび代替親ノードスクリプトが見つかった場合は、それぞれ該代替子ノードスクリプトおよび該代替親ノードスクリプトを取得する代替スクリプト取得手段と、前記代替コンテンツの保存場所を示す第1代替コンテンツを前記第2コンテンツに反映するか、代替子ノードスクリプトへのリンクを示す第1代替子ノードスクリプトを前記第2子ノードスクリプトに反映するか、および、代替親ノードスクリプトを前記親ノードスクリプトに反映するか、の少なくとも1つを変更した変更スクリプトを得る変更手段と、を具備することを特徴とする情報処理装置。前記親ノードスクリプトは、前記コンテンツおよび前記子ノードスクリプトの少なくとも1つから構成される親ノードであって、該コンテンツおよび該子ノードスクリプトの木構造上1つ上の親ノードであることを特徴とする請求項1に記載の情報処理装置。第1コンテンツサーバおよび該第1コンテンツサーバとは含むコンテンツが異なる第2コンテンツサーバ、スクリプトサーバ、外部サーバと接続している情報処理装置であって、コンテンツキャッシュをさらに具備し、前記コンテンツ取得手段は、前記第3コンテンツを前記第1コンテンツサーバから取得し、前記スクリプト解析手段は、前記第3子ノードスクリプトを前記第1格納手段から取得し、前記代替コンテンツ検索手段は、前記代替コンテンツを前記外部サーバおよび前記コンテンツキャッシュから検索し、前記代替スクリプト検索手段は、前記代替子ノードスクリプトおよび前記代替親ノードスクリプトを該外部サーバおよび前記第1格納手段から検索し、前記代替コンテンツ取得手段は、前記代替コンテンツを前記第2コンテンツサーバから取得し、前記代替スクリプト取得手段は、前記代替子ノードスクリプトおよび前記代替親ノードスクリプトをそれぞれ前記スクリプトサーバおよび前記第1格納手段から取得することを特徴とする請求項1または請求項2に記載の情報処理装置。前記スクリプト解析手段は、スクリプト内に新たなスクリプトが含まれる場合は該新たなスクリプトがさらに新たなスクリプトを含むか否かを解析する第1手順と、スクリプト内に新たなスクリプトを含まない場合は1つ上の親ノードであるスクリプトに戻り、該スクリプト内にさらに新たなスクリプトを含むか否かを解析する第2手順とを有し、前記第1手順と前記第2手順を前記第3子ノードスクリプトに適用することを特徴とする請求項1または請求項3のいずれか1項に記載の情報処理装置。前記第3コンテンツおよび前記第3子ノードスクリプトのそれぞれの取得に成功したか否かを示す複数の第1フラグと、前記第3コンテンツおよび前記第3子ノードスクリプトのそれぞれの代替が少なくとも1つ以上あったか否かを示す複数の第2フラグと、前記第2コンテンツの第2コンテンツ制御情報および前記第2子ノードスクリプトの第2スクリプト制御情報のいずれかにより前記親ノードスクリプトそのものの代替をおこなうかを示す複数の第3フラグとを格納する第2格納手段をさらに具備し、前記代替スクリプト検索手段は、前記第3コンテンツおよび前記第3子ノードスクリプトのいずれか1つが前記第3フラグを満たす場合は、前記親ノードスクリプトの代替親ノードスクリプトを検索することを特徴とする請求項4に記載の情報処理装置。前記変更手段は、前記変更スクリプトを前記第1格納手段へ格納することを特徴とする請求項1から請求項4のいずれか1項に記載の情報処理装置。前記第3コンテンツの取得に失敗することは、前記第1コンテンツサーバが一時的または恒久的に該第3コンテンツを提供しないか、該第3コンテンツの利用条件が変更され前記コンテンツの保存場所にある該第3コンテンツを利用できないかであることを特徴とする請求項1から請求項6のいずれか1項に記載の情報処理装置。コンテンツへのリンクまたは他のスクリプトへのリンクにより木構造を構成するスクリプトであって、子ノードである子ノードスクリプトの取得に失敗した場合に該子ノードスクリプトの代替となる代替子ノードスクリプトを検索するか否かを示す第1スクリプト制御情報、および、該子ノードスクリプトの木構造上1つ上のノードの親ノードスクリプトの代替である第1代替親ノードスクリプトを検索するか否かを示す第2スクリプト制御情報を含む、該子ノードスクリプトへのリンクを示す第1子ノードスクリプトと、コンテンツの取得に失敗した場合に代替となる代替コンテンツを検索するか否かを示す第1コンテンツ制御情報、および、該コンテンツの木構造上1つ上のノードの親ノードスクリプトの代替である第2代替親ノードスクリプトを検索するか否かを示す第2コンテンツ制御情報を含む、該コンテンツへのリンクを示す第1コンテンツと、を使用する情報処理方法であって、前記木構造を構成するスクリプトを複数格納する第1格納手段を用意し、前記第1格納手段が格納している複数のスクリプトの中から1つのスクリプトを親ノードスクリプトとして選択し、該親ノードスクリプトの子ノードの1つであり子ノードスクリプトへのリンクである第2子ノードスクリプトに含まれる、第1スクリプト制御情報および第2スクリプト制御情報を参照してそれぞれ検索するか否かを解析し、該親ノードスクリプトの子ノードの1つでありコンテンツへのリンクである第2コンテンツに含まれる、第1コンテンツ制御情報および第2コンテンツ制御情報を参照してそれぞれ検索するか否かを解析し、前記第2子ノードスクリプトに示されているリンクにある第3子ノードスクリプトがあれば取得して、取得した第3子ノードスクリプトについてさらに解析し、前記第2コンテンツに示されているリンクにある第3コンテンツがあれば取得し、前記第3コンテンツの取得に失敗して、前記第2コンテンツの第1コンテンツ制御情報が代替コンテンツを検索することを示すと解析した場合は該代替コンテンツを検索し、前記第3子ノードスクリプトの取得に失敗して、前記第2子ノードスクリプトの第1スクリプト制御情報が代替子ノードスクリプトを検索することを示すと解析した場合は該代替子ノードスクリプトを検索し、前記第2コンテンツの第2コンテンツ制御情報および前記第2子ノードスクリプトの第2スクリプト制御情報のいずれか一方が代替親ノードスクリプトを検索することを示す場合は代替親ノードスクリプトを検索し、代替コンテンツが見つかった場合は該代替コンテンツを取得し、代替子ノードスクリプトおよび代替親ノードスクリプトが見つかった場合は、それぞれ該代替子ノードスクリプトおよび該代替親ノードスクリプトを取得し、前記代替コンテンツの保存場所を示す第1代替コンテンツを前記第2コンテンツに反映するか、代替子ノードスクリプトへのリンクを示す第1代替子ノードスクリプトを前記第2子ノードスクリプトに反映するか、および、代替親ノードスクリプトを前記親ノードスクリプトに反映するか、の少なくとも1つを変更した変更スクリプトを得ることを特徴とする情報処理方法。コンテンツへのリンクまたは他のスクリプトへのリンクにより木構造を構成するスクリプトであって、子ノードである子ノードスクリプトの取得に失敗した場合に該子ノードスクリプトの代替となる代替子ノードスクリプトを検索するか否かを示す第1スクリプト制御情報、および、該子ノードスクリプトの木構造上1つ上のノードの親ノードスクリプトの代替である第1代替親ノードスクリプトを検索するか否かを示す第2スクリプト制御情報を含む、該子ノードスクリプトへのリンクを示す第1子ノードスクリプトと、コンテンツの取得に失敗した場合に代替となる代替コンテンツを検索するか否かを示す第1コンテンツ制御情報、および、該コンテンツの木構造上1つ上のノードの親ノードスクリプトの代替である第2代替親ノードスクリプトを検索するか否かを示す第2コンテンツ制御情報を含む、該コンテンツへのリンクを示す第1コンテンツと、を使用する情報処理プログラムであって、コンピュータを、前記木構造を構成するスクリプトを複数格納する第1格納手段と、前記第1格納手段が格納している複数のスクリプトの中から1つのスクリプトを親ノードスクリプトとして選択し、該親ノードスクリプトの子ノードの1つであり子ノードスクリプトへのリンクである第2子ノードスクリプトに含まれる、第1スクリプト制御情報および第2スクリプト制御情報を参照してそれぞれ検索するか否かを解析し、該親ノードスクリプトの子ノードの1つでありコンテンツへのリンクである第2コンテンツに含まれる、第1コンテンツ制御情報および第2コンテンツ制御情報を参照してそれぞれ検索するか否かを解析し、前記第2子ノードスクリプトに示されているリンクにある第3子ノードスクリプトがあれば取得して、取得した第3子ノードスクリプトについてさらに解析をおこなうスクリプト解析手段と、前記第2コンテンツに示されているリンクにある第3コンテンツがあれば取得するコンテンツ取得手段と、前記第3コンテンツの取得に失敗して、前記第2コンテンツの第1コンテンツ制御情報が代替コンテンツを検索することを示すと解析した場合は該代替コンテンツを検索する代替コンテンツ検索手段と、前記第3子ノードスクリプトの取得に失敗して、前記第2子ノードスクリプトの第1スクリプト制御情報が代替子ノードスクリプトを検索することを示すと解析した場合は該代替子ノードスクリプトを検索し、前記第2コンテンツの第2コンテンツ制御情報および前記第2子ノードスクリプトの第2スクリプト制御情報のいずれか一方が代替親ノードスクリプトを検索することを示す場合は代替親ノードスクリプトを検索する代替スクリプト検索手段と、代替コンテンツが見つかった場合は該代替コンテンツを取得する代替コンテンツ取得手段と、代替子ノードスクリプトおよび代替親ノードスクリプトが見つかった場合は、それぞれ該代替子ノードスクリプトおよび該代替親ノードスクリプトを取得する代替スクリプト取得手段と、前記代替コンテンツの保存場所を示す第1代替コンテンツを前記第2コンテンツに反映するか、代替子ノードスクリプトへのリンクを示す第1代替子ノードスクリプトを前記第2子ノードスクリプトに反映するか、および、代替親ノードスクリプトを前記親ノードスクリプトに反映するか、の少なくとも1つを変更した変更スクリプトを得る変更手段として機能させるための情報処理プログラム。複数のコンテンツをスクリプトに従って組み合わせて出力する情報処理装置であって、いずれかのコンテンツの取得に失敗した場合、代替コンテンツを取得する取得手段と、前記代替コンテンツを取得した場合、前記スクリプトを書き換える書き換え手段と、を具備する情報処理装置。前記スクリプトは木構造を有する複数のスクリプトからなり、各スクリプトはプレイリストを具備し、前記プレイリストは子スクリプトへのリンク情報と、コンテンツへのリンク情報とを具備する請求項10記載の情報処理装置。前記書き換え手段は、前記子スクリプトあるいはコンテンツの取得に失敗した場合、前記子スクリプトへのリンク情報あるいはコンテンツへのリンク情報を書き換える請求項11記載の情報処理装置。前記子スクリプトへのリンク情報は前記子スクリプトの取得に失敗した場合に代替スクリプトの取得を行うか否かを示す第1制御情報を具備し、前記コンテンツへのリンク情報は前記コンテンツの取得に失敗した場合に代替コンテンツの取得を行うか否かを示す第2制御情報を具備し、前記取得手段は前記第1制御情報あるいは第2制御情報に基づいて代替スクリプトあるいは代替コンテンツの取得を行う請求項11記載の情報処理装置。前記書き換え手段は、代替スクリプトの取得を行った場合は前記子スクリプトへのリンク情報を代替スクリプトに基づいて書き換え、代替スクリプトの取得を行わなかった場合は前記子スクリプトへのリンク情報を削除し、代替コンテンツの取得を行った場合は前記コンテンツへのリンク情報を代替コンテンツに基づいて書き換え、代替コンテンツの取得を行わなかった場合は前記コンテンツへのリンク情報を削除する請求項13記載の情報処理装置。複数のコンテンツをスクリプトに従って組み合わせて出力する情報処理方法であって、いずれかのコンテンツの取得に失敗した場合、代替コンテンツを取得することと、前記代替コンテンツを取得した場合、前記スクリプトを書き換えることと、を具備する情報処理方法。複数のコンテンツをスクリプトに従って組み合わせて出力する情報処理プログラムであって、コンピュータを、いずれかのコンテンツの取得に失敗した場合、代替コンテンツを取得する手段と、前記代替コンテンツを取得した場合、前記スクリプトを書き換える手段と、して機能させるための情報処理プログラム。複数の権利者のサービスコンテンツをあるスクリプトに従って組み合わせて表示する機器においては、コンテンツの内容の一部分だけが突然利用できなくなる可能性がある。原因としてはコンテンツ提供者がサービス提供を一時的もしくは恒久的に中止した、コンテンツの利用条件例えば契約内容や利用料金などが変更になり利用できなくなった、などが考えられる。また、スクリプトとコンテンツの提供者が異なるとき、スクリプト提供者はコンテンツが利用できなくなることを事前に把握できない、という問題がある。しかしながら、上記した従来の技術ではコンテンツの管理者と再生するコンテンツの決定者および推薦者は同一と考えられている。つまり、再生時、コンテンツの取得状況は自明と言えるため、再生時にコンテンツの取得が不可能になった場合のことは想定していない。本発明は、上記の課題を解決するためになされたものであり、複数の権利者から取得したコンテンツをさらに別の権利者またはユーザが作成したスクリプトにしたがい組み合わせて情報を出力するシステムにおいて、一部のコンテンツが利用不可能になった場合に、自動的に代替となるコンテンツに置き換えるための情報処理装置、方法およびプログラムを提供することを目的とする。上述の課題を解決するため、本発明に係る情報処理装置は、木構造を構成するスクリプトであって子ノードである子ノードスクリプトの取得に失敗した場合に該子ノードスクリプトの代替となる代替子ノードスクリプトを検索するか否かを示す第1スクリプト制御情報、および、該子ノードスクリプトの木構造上1つ上のノードの親ノードスクリプトの代替である第1代替親ノードスクリプトを検索するか否かを示す第2スクリプト制御情報を含む、該子ノードスクリプトへのリンクを示す第1子ノードスクリプトと、コンテンツの取得に失敗した場合に代替となる代替コンテンツを検索するか否かを示す第1コンテンツ制御情報、および、該コンテンツの木構造上1つ上のノードの親ノードスクリプトの代替である第2代替親ノードスクリプトを検索するか否かを示す第2コンテンツ制御情報を含む、該コンテンツへのリンクを示す第1コンテンツと、を使用する情報処理装置であって、前記木構造を構成するスクリプトを複数格納する第1格納手段と、前記第1格納手段が格納している複数のスクリプトの中から1つのスクリプトを親ノードスクリプトとして選択し、該親ノードスクリプトの子ノードの1つであり子ノードスクリプトへのリンクである第2子ノードスクリプトに含まれる、第1スクリプト制御情報および第2スクリプト制御情報を参照してそれぞれ検索するか否かを解析し、該親ノードスクリプトの子ノードの1つでありコンテンツへのリンクである第2コンテンツに含まれる、第1コンテンツ制御情報および第2コンテンツ制御情報を参照してそれぞれ検索するか否かを解析し、前記第2子ノードスクリプトに示されているリンクにある第3子ノードスクリプトがあれば取得して、取得した第3子ノードスクリプトについてさらに解析をおこなうスクリプト解析手段と、前記第2コンテンツに示されているリンクにある第3コンテンツがあれば取得するコンテンツ取得手段と、前記第3コンテンツの取得に失敗して、前記第2コンテンツの第1コンテンツ制御情報が代替コンテンツを検索することを示すと解析した場合は該代替コンテンツを検索する代替コンテンツ検索手段と、前記第3子ノードスクリプトの取得に失敗して、前記第2子ノードスクリプトの第1スクリプト制御情報が代替子ノードスクリプトを検索することを示すと解析した場合は該代替子ノードスクリプトを検索し、前記第2コンテンツの第2コンテンツ制御情報および前記第2子ノードスクリプトの第2スクリプト制御情報のいずれか一方が代替親ノードスクリプトを検索することを示す場合は代替親ノードスクリプトを検索する代替スクリプト検索手段と、代替コンテンツが見つかった場合は該代替コンテンツを取得する代替コンテンツ取得手段と、代替子ノードスクリプトおよび代替親ノードスクリプトが見つかった場合は、それぞれ該代替子ノードスクリプトおよび該代替親ノードスクリプトを取得する代替スクリプト取得手段と、前記代替コンテンツの保存場所を示す第1代替コンテンツを前記第2コンテンツに反映するか、代替子ノードスクリプトへのリンクを示す第1代替子ノードスクリプトを前記第2子ノードスクリプトに反映するか、および、代替親ノードスクリプトを前記親ノードスクリプトに反映するか、の少なくとも1つを変更した変更スクリプトを得る変更手段と、を具備することを特徴とする。本発明の情報処理装置、方法及びプログラムによれば、一部のコンテンツが利用不可能になった場合に自動的に代替となるコンテンツに置き換えることができる。以下、図面を参照しながら本発明の実施形態に係る情報処理装置、方法及びプログラムについて詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。実施形態本発明の本実施形態に係る情報処理装置について図1を参照して説明する。本実施形態に係る情報処理装置は、端末に載せることを前提としているが、サーバにあってもよい。本実施形態に係る情報処理装置100は、スクリプトストレージ部101、スクリプト解析部102、コンテンツ取得部103、代替コンテンツ検索部104、代替コンテンツ取得部105、スクリプトフラグチェック部106、代替スクリプト検索部107、代替スクリプト取得部108、フラグ格納部109、スクリプト変更部110、コンテンツキャッシュ部111を含む。スクリプトストレージ部101は、複数のスクリプトを格納している。スクリプトはウェブ上のスクリプト提供者からの受信、情報処理装置100の利用者による作成や情報処理装置100内での自動生成などの方法で作成され、プレイリスト、メタデータなどを含んでいる。スクリプトについては、後に図2、図4を参照して詳細に説明する。またスクリプトストレージ部は、スクリプト解析部102と代替スクリプト取得部108へスクリプトを送る。スクリプト解析部102は、スクリプトストレージ部101からあるスクリプトを読み出し、これを親ノードスクリプトまたは親スクリプトとも呼ぶとしてスクリプトの解析をおこなう。親ノードスクリプトは、このスクリプトがもつプレイリスト中にさらにスクリプトを含む場合をいう。この親ノードスクリプトに含まれているスクリプトを子ノードスクリプトまたは子スクリプトとも呼ぶと呼ぶ。プレイリストがコンテンツを含むものであれば、コンテンツ取得部103に送り、プレイリストがスクリプトを含むものであれば、スクリプトストレージ部101から対応するスクリプトを取得する。また、プレイリスト中のコンテンツや子ノードスクリプトがもつフラグをフラグ格納部109へ送る。フラグは、取得に成功したか、あるいは代替となるものを取得したか等の条件を示すものであり、後に詳細に説明する。またスクリプト解析部102は、スクリプトの処理が全て終わった場合は、スクリプト変更部110から受け取ったスクリプトを外部へ出力する。コンテンツ取得部103は、スクリプト解析部102からスクリプトを受け取り、外部のコンテンツ提供者A150およびコンテンツ提供者B151からコンテンツの取得をおこなう。コンテンツの取得に成功した場合または親ノードスクリプトそのものの代替が必要である場合は、スクリプト解析部102に送る。コンテンツの取得に失敗した場合は、代替コンテンツ検索部104へ送る。コンテンツの取得に失敗した場合とは、例えばコンテンツの提供者が一時的または恒久的に中止した、またはコンテンツの利用条件例えばユーザの契約内容や利用料金などが変更され、コンテンツ提供者からのコンテンツを利用できない場合などがある。代替コンテンツ検索部104は、代替コンテンツの検索をおこなう。代替コンテンツは、はじめの親ノードスクリプトで指定されたコンテンツの同様またはそれに類似した情報内容を含むコンテンツである。代替コンテンツの検索は、コンテンツキャッシュ部111や外部にある照合情報保持サーバ153を参照して検索をおこなう。検索によって代替コンテンツが見つかった場合は、検索結果を代替コンテンツ取得部105へ送る。代替コンテンツ取得部105は、代替コンテンツ検索部104から受け取った検索結果をもとに、代替コンテンツを外部にある代替コンテンツ提供者152から取得する。代替コンテンツの取得に成功した場合、フラグをフラグ格納部109へ送り、取得内容をスクリプト変更部110へ送る。スクリプトフラグチェック部106は、スクリプト解析部102から受け取ったプレイリストに含まれるフラグのチェックをおこなう。チェックを終えてスクリプト親ノードスクリプトまたは子ノードスクリプトの代替が必要でない場合は、スクリプト解析部102へ送る。スクリプトの代替が必要である場合、代替スクリプト検索部107へ進む。代替スクリプト検索部107は、子ノードスクリプトの代替をおこなう場合または親ノードスクリプトの代替をおこなう場合に、代替スクリプトの検索をおこなう。代替スクリプトの検索は、外部の照合情報保持サーバ153やスクリプトストレージ部101からおこなう。検索によって代替となるスクリプトが見つかった場合には、検索結果を代替スクリプト取得部108へ送る。代替スクリプト取得部108は、代替スクリプト検索部107から受け取った検索結果をもとに、代替スクリプトを外部にある代替スクリプト提供サーバ154またはスクリプトストレージ部101から取得する。代替スクリプトの取得に成功した場合、フラグをフラグ格納部109へ送り、取得内容をスクリプト変更部110へ送る。フラグ格納部109は、各コンテンツや各スクリプトが持つフラグの値を格納し、必要に応じてスクリプト変更部110へ送る。スクリプト変更部110は、フラグ格納部109から受け取ったフラグの値に応じて、プレイリスト全体のフラグについてマージ処理を行う。マージ処理した結果によりスクリプトの変更を行う必要がある場合は、子ノードスクリプトまたは親ノードスクリプトのプレイリストを書き換える。またスクリプト変更部110は、書き換えたこれらのスクリプトをスクリプト解析部102へ送る。コンテンツキャッシュ部111は、代替となるコンテンツのキャッシュを記録してあり、外部から取得したコンテンツのキャッシュについても更新して記録する。次に、スクリプトについて図2、図3を参照しながら説明する。スクリプト200は、プレイリスト210とメタデータ220を含む。プレイリスト210は、サービスコンテンツの表示順を示しており、例えばどのコンテンツを表示させるかを示す。プレイリスト210に並べられた順にコンテンツを取得する。子ノードスクリプトへのリンクと制御情報211、コンテンツへのリンクと制御情報212を少なくとも1つ以上含む。つまりスクリプト200は、複数のスクリプトを木構造で構成して構造化することができるようになっている。子ノードスクリプトへのリンクと制御情報211は、スクリプトの木構造のリンクを表現するためと、子ノードスクリプトに対する制御情報を記述するためのものである。木構造で構造化した一例を図3を参照して説明する。スクリプト301を基となる親ノードスクリプトルート;根ノードとも呼ぶとすれば、スクリプト301のプレイリスト中に、スクリプト302、303へのリンクがあり、これが子ノードスクリプトとなる。スクリプト303のプレイリスト中には、さらに次の子ノードスクリプトとなるスクリプト304へのリンクがなされている。スクリプト304から見れば、スクリプト303は親ノードスクリプトとなる。このように複数のスクリプトを入れ子状態で組み合わせて用いることができる。また、コンテンツへのリンクと制御情報212は、図1のコンテンツ提供者A150やコンテンツ提供者B151などのコンテンツの提供者に対するリンク情報と、コンテンツへのリンクが指し示すコンテンツに対する制御情報を記述するためのものである。メタデータ220は、名前、作成者、ジャンル、キーワード、権利者情報、説明文などを含む属性情報を記述するためのものであり、スクリプト200自身の属性情報を記述するスクリプト自身のメタデータ221と、プレイリスト220でリンクされた子ノードスクリプトやコンテンツのメタデータを記述するプレイリスト中の子ノードスクリプトおよびコンテンツのメタデータ222を含む。このスクリプト200をXMLExtensibleMarkupLanguage形式で記述した一例を図4および図5に示す。図4は朝のニュース情報という名前のスクリプトであり、その内容はdaily_newsという子ノードスクリプトと、marumaru_weatherという子ノードスクリプトと、sports_newsという子ノードスクリプトによって構成されている。図4のスクリプト中の子ノードスクリプトのうち、marumaru_weatherスクリプトの記述例が図5である。marumaru_weatherスクリプトは、kyouasu_weatherという子ノードスクリプトと、otenki.jp/weeklyというコンテンツと、amederu.jp/というコンテンツと、typhoon.jp/というコンテンツによって構成される。それぞれの子ノードスクリプトにおいて、<scriptmeta>タグで囲まれた部分がスクリプト自身のメタデータ221、<playlist>タグで囲まれた部分がプレイリスト210、その子エレメントのうち、<subscript>タグで囲まれた部分が子ノードスクリプトへのリンクと制御情報211、<content>タグで囲まれた部分がコンテンツへのリンクと制御情報212となる。<subscript>タグおよび<content>タグの子エレメントのうち<meta>タグで囲まれた部分がプレイリスト中の子ノードスクリプトおよびコンテンツのメタデータ222である。<subscript>タグの属性idが子ノードスクリプトへのリンクで、子ノードとなるスクリプトの判別は<script>タグの属性idとのマッチングにより行われる。<content>タグの属性urlはコンテンツへのリンクである。<subscript>タグおよび<content>タグの子エレメントのうち<control>タグに書かれている部分が制御情報にあたる。制御情報として、図4および図5の例では以下の2つを記述している。制御情報1:取得に失敗したときに置き換えを行うかどうか制御情報2:取得および代替に失敗したときに、呼び出し元の親ノードスクリプトそのもの代替を行うかどうかこの2つの制御情報について、制御情報1は、<control>タグの子エレメントである<alternate>タグに‘yes’または‘no’で記述している。‘yes’の場合はコンテンツおよびスクリプトの取得に失敗ときに代替による置き換えを行い、‘no’の場合は代替による置き換えを行わない。制御情報2は<content>タグの子エレメントである<mandatory>タグに‘yes’または‘no’で記述し、‘yes’の場合はコンテンツおよびスクリプトの取得および代替の取得に失敗したときに、現在注目しているスクリプトより1つ上の階層のノードである親ノードスクリプトそのものの代替を行い、‘no’の場合はその代替を行わない、とする。以後の説明では、<subscript>タグもしくは<content>タグで囲まれたひとかたまりをプレイリスト中の1件と定義して説明を進めていくものとする。プレイリストの再生順については、上から記述された順に処理することを基本とするが、スクリプトは繰り返しや分岐、入れ子などの制御構造を持った文法としても良い。<コンテンツ収集処理>次に、スクリプトストレージ部101から、あるスクリプトを読み出して処理をおこなう手順を図4から図8を参照して詳細に説明する。なお、スクリプトの処理ではプレイリストの1件ごとに以下の3つのフラグを用意して処理を進める。なお、フラグは初期ではすべてOFFになっているものとする。各フラグのONとなる条件を以下に示す。フラグ1:取得成功コンテンツまたは子ノードスクリプトの取得に成功したらONフラグ2:代替を取得コンテンツまたは子ノードスクリプトの取得には失敗したが、代替コンテンツまたは代替子ノードスクリプトの検索または取得には成功したらONフラグ3:親ノードスクリプトそのものの代替コンテンツまたは子ノードスクリプトの取得および代替の両方に失敗し、さらに制御情報2が‘yes’であった場合にONなお、コンテンツの取得状況については、<content>タグの属性urlから必要な情報が取得できたかによって決定する。ここで、スクリプトの読込みからスクリプトの書き換えまでの動作を図6のフローチャートを参照しながら詳細に説明する。はじめに、スクリプト解析部102は、スクリプトストレージ部101からあるスクリプトを、はじめに親ノードスクリプトとして読み出すS601。次に、読み込んだ親ノードスクリプトのプレイリストのうち、最初に書かれている1件を読み込むS602。そして、読み込んだ1件の内容がコンテンツであるか、子ノードスクリプトであるかを判定するS603。読み込んだ1件がコンテンツである場合には、コンテンツ取得部103においてコンテンツ取得処理を行うS604。S605において、コンテンツの取得に成功した場合には、処理をスクリプト解析部102に戻し、プレイリストの処理中の1件についてについてフラグ1取得成功をONにする。そしてプレイリストの次の1件の取得を試みるためS611へ移り、プレイリストに次の1件があるかどうかを判定する。次の1件がある場合はS602へ戻り再び処理を進める。次の1件がない場合は、S612へ進む。S605において、コンテンツの取得に失敗した場合は、S607へ進み代替コンテンツ検索および取得処理をおこなう。代替コンテンツ検索および取得の処理については図7を参照して詳細に説明する。<代替コンテンツ検索および取得>まずプレイリストの処理中について制御情報1の内容をチェックするS701。制御情報1の内容を示す<alternate>タグの中身が‘yes’の場合には、置き換えを許可と判断してS702へ進み、代替コンテンツの検索を行う。制御情報1が‘no’の場合には、コンテンツの代替を行わず、制御情報2の内容チェックをおこなうためS706へ進む。S702における代替コンテンツの検索は、スクリプトに書かれたメタデータやコンテンツのURLをキーに、外部の照合情報保持サーバ153への問い合わせ、もしくはコンテンツキャッシュ部111内のコンテンツに対するマッチングによって行う。キーのマッチング方法については完全一致を基本とするが、部分一致や、関連する単語を別の辞書により探しだし、その結果をキーに代替コンテンツを検索しても良い。代替コンテンツの検索については、スクリプト中にどのような検索方法を用いるか記述してもよい。また、コンテンツが画像や音声、テキストなどの単一のメディアではなく、HTMLHyperTextMarkupLanguageやXMLなどのマークアップ言語とそのリンクに記載されたマルチメデイアデータであった場合、そのうち一部のみ取得に失敗することがあり得る。この場合には、取得に失敗した一部のデータのみの代替を検索しても良い。そのとき、検索にはスクリプトに記載された情報だけでなく、取得に成功したデータをテキスト処理、信号処理を行って解析し、検索のキーを生成しても良い。さらに、代替コンテンツの検索は、照合情報保持サーバ153またはシステム内部のキャッシュコンテンツキャッシュ部111などへの問い合わせを想定しているが、その両方が利用できる場合、どちらを優先するかについてはシステムで決定もしくはスクリプト上で指定することが考えられる。問い合わせの優先度をスクリプト上に直接記述してもよい。S703において、代替コンテンツが見つかった場合には、S704に進み代替スクリプト取得部108において代替コンテンツを取得する。そして、プレイリストの処理中の1件についてフラグ2代替を取得をONにしS705、フラグ2をフラグ格納部109へ送りENDからS607に戻る。S703において代替コンテンツが見つからなかった場合には、制御情報1のチェックで‘no’だった場合と同様、制御情報2の内容チェックへと進むS706。制御情報2の内容が‘yes’親ノードスクリプトそのものの代替行うの場合には、S707に進みプレイリストの処理中の1件についてフラグ3親ノードスクリプトそのものの代替をONにし、ENDからS607に戻る。制御情報2の内容が‘no’親ノードスクリプトそのものの代替を行わないの場合は、フラグ3親ノードスクリプトそのものの代替はOFFのまま、ENDからS607に戻る。<子ノードスクリプト呼び出し処理>次に、S602で読み込んだ次の1件が子ノードスクリプトであった場合のS603における処理について示す。子ノードスクリプトであった場合には、S608に進み、子ノードスクリプトへのリンクに記述されたidをスクリプトストレージ部101から子ノードスクリプトを取得し、新たに取得したスクリプトについて、もとの子ノードスクリプト同様に図6のSTARTから処理を行う。子ノードスクリプトの処理は、その子ノードスクリプトの中にさらに新たなスクリプトを含むかどうかを解析し、新たなスクリプトを含む場合は先に新たなスクリプトの処理をおこない、処理中のスクリプトのプレイリスト内に新たなスクリプトを含まない子ノードまで、つまりプレイリスト中にコンテンツのみを含んでいる子ノードにいたるまで順次先に処理を行う。子ノードスクリプトのプレイリスト中に新たなスクリプトがない場合は、その子ノードスクリプト内での処理を終えて、一つ上のノードスクリプトに処理がうつりさらに新たなスクリプトがないかどうかを解析する。このように子ノードスクリプトの再帰的な処理が終了し、処理が上のノードへ戻ってくると、スクリプトフラグチェック部106において、子ノードスクリプトの取得状況をチェックするS609。子ノードスクリプトの取得状況は、子ノードスクリプトの処理の結果、子ノードスクリプトの処理結果でフラグ3がOFFの場合を成功、と定義する。ただし、他の実施形態においては制御情報として代替コンテンツが入っていてはいけないといった制御情報を追加してもよい。その場合には、子ノードスクリプトの処理の結果、子ノードスクリプトの処理結果でフラグ2がOFFの場合を成功、と定義されることになる。子ノードスクリプトの取得が成功と判定された場合には、処理をスクリプトフラグチェック部106からスクリプト解析部102に戻し、プレイリストの処理中の1件についてについてフラグ1取得成功をONにしS606、プレイリストの次の1件の取得を試みてS611の処理へ進む。次の1件がある場合はS602へ戻り再び処理を進める。次の1件がない場合は、S612へ進む。<代替スクリプト検索および取得>S609において、子ノードスクリプトで取得失敗となったものがあった場合には、S610における代替スクリプト検索および取得の処理を行う。この処理を行うために図8のSTARTへと処理が移る。S610における具体的な処理を図8を参照して説明する。まず、プレイリストの処理中の1件について制御情報1の内容をチェックするS801。制御情報1の内容である<alternate>タグの中身が‘yes’の場合には置き換えを許可と判断し、S802へ進み代替スクリプトの検索処理に移る。制御情報1の内容が‘no’の場合には、スクリプトの代替を行わず、制御情報2の内容チェックをおこなうためS806へと進む。代替スクリプトの検索は、スクリプトに書かれたメタデータやコンテンツのURL、もしくは子ノードスクリプトに書かれたメタデータやコンテンツのURL、取得した一部のコンテンツ内のメタデータやコンテンツそのものをキーとして、外部の照合情報保持サーバ153への問い合わせ、もしくはスクリプトストレージ部101に対するマッチングによって行う。取得のキーがテキスト情報である場合には、完全一致を基本とするが、部分一致は関連する単語を別の辞書をベースに検索し、関連する単語をベースに検索しても良い。代替スクリプトの検索については、スクリプト中にどのような検索方法を用いるか記述することも考えられる。また、スクリプト中の取得に成功した一部のコンテンツがテキスト以外のデータ画像、音声、動画などである場合には、画像認識および音声認識などの信号処理を行い、検索のキーとしても良い。代替スクリプトの検索は、照合情報保持サーバ153またはシステム内部のキャッシュスクリプトストレージ部101などへの問い合わせを想定しているが、その両方が利用できる場合、どちらを優先するかについてはシステムで決定、もしくは親ノードスクリプト上で指定することが考えられる。問い合わせの優先度を親ノードスクリプト上に直接記述しても良いものとする。S803において、代替スクリプトが見つかった場合には、代替スクリプト取得部108において代替スクリプトを取得しS804、プレイリストの処理中の1件についてについてフラグ2代替を取得をONにするS805。このフラグ2をフラグ格納部109へ送り、ENDからS610に戻る。代替スクリプトが見つからなかった場合には、制御情報1のチェックで‘no’だった場合と同様、制御情報2の内容チェックへと進むS806。制御情報2の内容が‘yes’親ノードスクリプトそのものの代替行うの場合にはプレイリストの処理中の1件についてフラグ3親ノードスクリプトそのものの代替をONにしS807、ENDからS610に戻る。制御情報2の内容が‘no’親ノードスクリプトそのものの代替を行わないの場合は、フラグ3親ノードスクリプトそのものの代替はOFFのまま、ENDからS610に戻る。プレイリストの1件の処理が終了すると、プレイリストに次のコンテンツまたは子ノードスクリプトの記述があるかどうかをチェックするS611。次の1件が存在する場合には、S602へ戻り、プレイリストの次の1件を読み込んで同様の処理をおこなう。次の1件が存在しない場合には、プレイリスト中のすべてのコンテンツおよび子ノードスクリプトを処理し終わったこととなり、親ノードスクリプトのプレイリストの処理結果のフラグのマージへ移るS612。S612において、各プレイリストが有する処理結果のフラグのマージ処理をおこなう。プレイリスト1件ごとのフラグをプレイリスト全体でマージした結果は、処理中のスクリプトの親ノードスクリプトにおいて子ノードスクリプトの処理結果として用いられる。処理中のスクリプトが、ある親ノードスクリプトから呼び出された子ノードスクリプトであった場合、図6のENDの処理が終わると、親ノードスクリプトのS608の処理へ戻る。そしてS609でのフラグのチェックと、親ノードスクリプトのプレイリスト処理終了時でのフラグのマージにおいてこの処理結果が利用される。フラグのマージ方法は以下の通りである。フラグ1:取得成功のマージフラグ1はコンテンツおよび子ノードスクリプトの取得に成功したらONとなる。OFFとなっているスクリプトが1つでもある場合には、完全に取得できたとはいえないため、フラグをAND演算したものを、マージ結果とする。フラグ2:代替を取得のマージフラグ2はコンテンツおよび子ノードスクリプトの取得には失敗したが、代替コンテンツの検索および取得に成功した場合にONとなる。代替を取得したコンテンツおよび子ノードスクリプトが1つでもある場合には、どこかで代替が行われたことになるため、フラグをOR演算したものをマージ結果とする。フラグ3:親ノードスクリプトそのものの代替のマージフラグ3は、コンテンツおよび子ノードスクリプトの取得および代替の両方に失敗し、さらに制御情報2、つまり親ノードスクリプトそのものの代替が‘yes’であった場合にONとなる。取得および代替の失敗により親ノードスクリプトそのものの代替を要求する、コンテンツおよび子ノードスクリプトが1つでもあった場合には、スクリプトそのものを代替することを示すフラグであるため、フラグをOR演算したものをマージ結果とする。スクリプトのフラグのマージが終わると、スクリプト変更部110においてスクリプトの書き換えが行われるS613。なお、更新したスクリプトをスクリプトストレージ部101へ格納し、コンテンツが取得できなかったスクリプトについて書き換えてもよい。スクリプトの書き換え処理が終わると、1つのスクリプトの処理は終了となり、スクリプト解析部102へ戻る。このとき、処理していたスクリプトに親ノードスクリプトが存在する場合には、S608の子ノードスクリプトの処理に戻り、親ノードスクリプトの処理を再開する。親ノードスクリプトが存在しない場合には、スクリプト全体の木構造のスクリプトの処理の終了、つまりスクリプト全体の処理が終了したと判断して外部への出力処理を行う。<スクリプト書き換えの例>ここから、スクリプトの記述例である図4、図5、および図9から図18を用い、スクリプト変更部110における実際のスクリプト書き換えの例を示す。図5のスクリプトmarumaru_weatherは、図4のスクリプトmorning_newsから子ノードスクリプトとして呼び出される関係となっている。スクリプト変更部110では、以下の3つのいずれかの場合にスクリプトの書き換えを行う。コンテンツの代替による書き換えスクリプトの代替による書き換えスクリプトおよびコンテンツの代替を行わず、スクリプトから削除なお、実施形態においてスクリプト変更部110での書き換え処理は、スクリプト代替の取得条件の判定や、代替コンテンツスクリプトの取得などが終わった後に、1つのスクリプト単位で行われる。そのため、システムはスクリプトの変更すべき内容について、フラグ格納部109に格納したフラグを参照して書き換え処理をおこなう。なお、内部のメモリやキャッシュに保持しておき、スクリプト変更部110ではその情報を参照して書き換え処理をおこなってもよい。<コンテンツの代替の例>まず、コンテンツの代替について図4、図5および図9から図11を用いて示す。コンテンツの代替が行われるのは、制御情報1が‘yes’であり、代替コンテンツを取得してフラグ2がONになっている場合である。図9のように、図5の2件目のコンテンツであるコンテンツURLotenki.jp/weeklyが取得できない状態を考える。この場合、<alternate>タブが‘yes’であるため、このコンテンツの取得できない場合の代替コンテンツを検索する。図5のスクリプトのotenki.jp/weeklyのコンテンツ記述部分が、sankaku-tenki.jp/weeklyのコンテンツ記述に書き換えられた一例を図10に示す。このとき、コンテンツURLsankaku-tenki.jp/weeklyというコンテンツが見つかった場合、コンテンツの構成例は図11のようになる。<親ノードスクリプトの代替の例>次に、親ノードスクリプトの代替について図4、図5および図12から図15を用いて示す。親ノードスクリプトの代替が行われるのは、図6に示した子ノードスクリプト取得情報の確認において、親ノードスクリプトそのものの代替が必要と判断され、フラグ3がONとなり、親ノードスクリプトの代替を検索および取得に成功した場合である。図12のように、コンテンツURLamederu.jp/の取得に失敗した場合を考えてみる。このとき、図5のコンテンツURLamederu.jp/の制御情報では、<alternate>が‘no’で、<mandatory>が‘yes’となっている。そのため、amederu.jp/を含む親ノードスクリプトであるmarumaru_weatherそのものの代替が必要となる。このとき、各コンテンツのメタデータ、この例では<meta>タグの子エレメントの内容をキーにして、同じような<meta>タグを持った代替スクリプトを検索する。図5の例では、子ノードスクリプトkyouasu_weatherに含まれる<keyword>タグとして今日明日の天気およびきょうあすの天気、コンテンツURLotenki.jp/weeklyに含まれる<keyword>タグとして週間天気、コンテンツURLamederu.jp/に含まれる<keyword>タグとして降雨情報およびアメデル、コンテンツURLtyphoon.jp/に含まれる<keyword>タグとして台風情報が記述されている。これらのキーを元に、子ノードスクリプトおよびコンテンツの単位で代替すべき内容が分離されていると考え、検索した結果見つかったコンテンツの例を図13のbatsubatsu_weatherの代替スクリプトの記述例に示す。また、batsubatsu_weatherを含むように図4のスクリプトを書き換えた一例を図14に示す。このときのコンテンツの構成例は図15のようになり、降雨情報などの親ノードスクリプトである○○天気予報が、××天気予報に置き換わり、コンテンツ取得場所も変更される。<スクリプトおよびコンテンツの代替を行わずにスクリプトから削除>次に、スクリプトおよびコンテンツの代替を行わず、スクリプトから削除する場合について図4、図5および図16から図18を用いて示す。スクリプトおよびコンテンツの代替を行わずにスクリプトから削除するのは、子ノードスクリプトおよびコンテンツの取得および代替に失敗し、図7または図8の制御情報2の判定で、親ノードスクリプトそのものの代替を行わない、つまり<mandatory>タグが‘no’となっている場合である。ここでは図16のように、コンテンツURLtyphoon.jp/が取得できなかった場合を考える。このとき、図5のコンテンツURLtyphoon.jp/の制御情報では、<alternate>が‘no’で、<mandatory>が‘no’となっている。そのため、typhoon.jp/の代替および親ノードスクリプトの代替はおこなわず、図5のスクリプトからコンテンツURLtyphoon.jp/を削除する。図5のスクリプトからコンテンツURLtyphoon.jp/を削除した結果のスクリプト記述例を図17に示す。このときのコンテンツの構成例は図18のようになり、台風情報というタイトルの記述なくなっている。システムの大まかな処理手順は、スクリプトストレージ部101から1つのスクリプトを基となる親ノードスクリプトとして読み込み、すべての葉ノード子ノードスクリプトまでのスクリプトの処理が終わり、全てのコンテンツの取得および代替または削除が終了したら出力するというものであるが、すべてのコンテンツを取得してからではなく、1つのスクリプト中のコンテンツを取得できればそのたびに出力してもよいし、取得に成功したコンテンツから順に出力してもよい。上述した実施形態によれば、スクリプト中のコンテンツおよび子ノードスクリプトごとに代替をおこなうか、親ノードスクリプトの代替をおこなうかの制御情報のパラメータを持たせ、コンテンツの取得に失敗したときにパラメータに応じて自動的に代替を検索して置き換えをおこなう。その際に複数のスクリプトを木構造で構成し、葉ノード子ノードスクリプトから順にコンテンツの取得結果および取得に失敗したときの代替コンテンツの取得結果を親ノード親ノードスクリプトに伝達する処理をおこなう。これにより、スクリプト提供者の意思を尊重しながら、元のスクリプトに対する変更範囲を最小限に抑えることができ、代替コンテンツへの置き換えをおこなう処理単位を柔軟に変更できるようになる。その結果、スクリプトとスクリプトに従って構成されたコンテンツとを利用者に提供し続けることができる。また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した情報処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスクフレキシブルディスク、ハードディスクなど、光ディスクCD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RWなど、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の情報処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOSオペレーティングシステムや、データベース管理ソフト、ネットワーク等のMWミドルウェア等が本実施形態を実現するための各処理の一部を実行してもよい。さらに、本願発明における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。なお、本願発明におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。