(57)【要約】【課題】マークアップ言語で記述されたコンテンツを多様な端末機器に表示する際に、各端末機器タイプに最適な画面構成による表示を行なう。【解決手段】スタイルシートの書き換えルールを記述した変換表に基づいて、既定スタイルシートと特定の端末機器向けに最適化したスタイルシートとの間の差分スタイルシートを動的に生成し、適用することで、表示対象の端末機器に適した形式による表示を行なうと共に複数のスタイルシートの管理に要する負荷を削減する。【選択図】図２
2012141183.tif 000002
【特許請求の範囲】
【請求項１】
差分生成プログラムと第一のスタイルシート保存手段と第二のスタイルシート保存手段とスタイルシート変換ルール保存手段から構成されるコンテンツ変換手段を備え、第一のスタイルシート、第二のスタイルシート、および、スタイルシート変換ルールはそれぞれキー項目と属性値から成るコンテンツ提供装置であって、
該差分生成プログラムが、第一のスタイルシート保存手段内のスタイルシートを読み出し、変換ルール保存手段内の変換ルールを読み出し、第一のスタイルシートから変換ルール内のキー項目に合致するキー項目を有する複数項目を抽出し、抽出した該複数項目のそれぞれの属性値を変換ルール内の属性値で置き換えて、第二のスタイルシートを生成し、第二のスタイルシートを第二のスタイルシート保存手段に保存することを特徴とするコンテンツ提供装置
【請求項２】
差分生成プログラムと第一のスタイルシート保存手段と第二のスタイルシート保存手段とスタイルシート変換ルール保存手段から構成されるコンテンツ変換手段を備え、第一のスタイルシート、第二のスタイルシート、および、スタイルシート変換ルールはそれぞれキー項目と属性値から成るコンテンツ提供装置において、
第一のスタイルシート保存手段内のスタイルシートを読み出し、変換ルール保存手段内の変換ルールを読み出し、第一のスタイルシートから変換ルール内のキー項目に合致するキー項目を有する複数項目を抽出し、抽出した該複数項目のそれぞれの属性値を変換ルール内の属性値で置き換えて、第二のスタイルシートを生成し、第二のスタイルシートを第二のスタイルシート保存手段に保存することを特徴とする差分生成プログラム
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マークアップ言語で記述されたコンテンツを多様な端末機器に表示する際に、各端末機器タイプに適した画面表示を可能にするための装置、方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
今日のインターネットにおいてはHTMLやXHTMLなどのマークアップ言語で記述されたコンテンツをブラウザに表示することが頻繁に行なわれている。【０００３】
過去においては、インターネットにおいてコンテンツが表示される対象機器はパーソナルコンピュータなどの比較的少数の機器タイプに限られてきた。しかし、今日においては、インターネットにおけるコンテンツの表示対象となる端末機器はきわめて多様化している。【０００４】
特に、携帯電話機器の普及に伴う端末機器の多様化が顕著な動向となっている。さらに、携帯電話機器の領域においても、比較的小型の画面を有する従来型携帯電話機器だけではなく、より大型の画面を有する高機能のスマートフォンが普及し始めている。さらには、スマートフォンよりもさらに大型の画面を有するタブレット端末機器も急速に普及し始めている。これらの機器タイプ以外にも、たとえば、携帯ゲーム機器、カーナビゲーション機器、デジタルサイネージなど、インターネットを介してサーバに接続し、マークアップ言語で記述されたコンテンツを表示する対象となる端末機器の多様化が今後とも急速に進展することが予測される。【０００５】
また、端末機器の画面サイズの多様化だけではなく入力方式の多様化も進んでいる。従来型パーソナルコンピュータにおけるマウスなどのポインティング機器とキーボードの組み合わせによる入力方式だけではなく、携帯電話の小型のボタンによる入力、スマートフォンやタブレット端末で典型的に見られる指先による画面へのタッチによる入力、などの入力方式が一般化している。【０００６】
これらの端末機器は、そのタイプによってコンテンツ表示の要件が異なる。大型画面を有する端末機器では、情報の一覧性を高めるためにできるだけ多くの情報項目をひとつの画面に表示することが望ましいことが多い。一方、小型の画面を有する端末機器では、可読性を高めるために重要な情報だけを優先的に表示することが望ましいことが多い。また、マウスなどのポインティングデバイスを備えた端末機器ではユーザーが細かいメニュー操作を行なうことが可能であるのに対して、指先での画面へのタッチにより操作を行なう端末機器ではあまり細かい操作を行なうことができないため、メニュー項目を従来型パーソナルコンピュータの場合と比較して大きく表示することが望ましいことが多い。【０００７】
言うまでもなく、これらの多様な機器タイプごとに、コンテンツ提供者が異なるコンテンツ・ファイルを作成し、用意することは非現実的である。このような課題に対応するために、文書の内容や構造に関する情報と表示形式（体裁、スタイル、デザイン、レイアウト）に関する情報を分離することを目的としたスタイルシートと呼ばれる技術が一般化している。スタイルシート・ファイルとは、コンテンツの表示における形式、たとえば、文字のサイズ、色、配置などの情報を、コンテンツの内容や構造と分離して保存するためのファイルである。必要に応じてスタイルシート・ファイルを切り替えて表示処理を行なうことで、コンテンツ提供者は、ひとつのコンテンツ・ファイルを使用して多様な端末タイプに対応することができるようになる。スタイルシートの技術的思想は、たとえば、特許文献１において開示されている。【０００８】
今日のインターネットの世界ではCSS（カスケーディング・スタイル・シート）と呼ばれるスタイルシートの技術標準が一般化している。当該技術標準は、たとえば、非特許文献１に開示されている。ここで、カスケード（直列接続の意）とはコンテンツの構成要素の体裁を決定するためのルールの優先順位を指す。たとえば、CSS標準では、一般に後方にある指定の方が優先され、また、より細かい指定の方が優先される。このカスケードの仕組みを利用することで、あるCSSファイル内の特定要素の効果を別のCSSファイル上書きし、スタイルを強制的に変更することができる。たとえば、元々のCSSファイルの設定において色の違いによりコンテンツ内の構造（見出し、地の文、他のコンテンツへのリンクなど）を表現するようなデザインが行なわれていた場合、このままではモノクロ画面を有する機器に表示した場合にユーザービリティが大きく損なわれてしまうが、CSSのカスケードの仕組みを利用することで、コンテンツの構造を文字の大きさや字体（太字、斜体、下線）などで表現するよう指定した別のCSSファイルを用意して、元々のCSSファイルの指定の一部の効果を上書きし、モノクロ画面を有する機器への表示を最適化することができる。この場合に、コンテンツ・ファイル自体には変更を行なう必要がない。【０００９】
以降の説明では、今日のインターネットの世界における技術標準となっているCSS、および、コンテンツ記述の標準フォーマットであるHTMLあるいはXHTMLに基づいた例を挙げて説明していくが、本願発明の技術的思想はカスケード処理の仕組みを有するスタイルシートに基づくあらゆるコンテンツ表示システムに適用可能である。なお、本明細書で単に「表示」と書いた場合には、画面への表示、紙面への印刷、音声による読み上げ等、コンテンツを人間にとって知覚可能にするあらゆる処理を表わすこととする。【００１０】
CSSは、インターネットの世界における多様化するコンテンツ表示端末機器に対する柔軟な対応という課題解決に大きく貢献してきた。しかし、コンテンツ表示端末機器タイプ、および、表示対象となるコンテンツの増加ペースがますます加速する中で、CSS技術の標準的使用だけでは多様化する端末機器への表示最適化という要求に、コンテンツ提供者が十分に応えられなくなってきた。現在、一般的に行なわれている複数CSSファイルの管理方法とその課題を以下に示す。【００１１】
（従来型技術の問題点）
第一の方法として、端末機器タイプごとにCSSファイルを用意してそれを切り替える手法がある。この方法では、コンテンツ提供者が、コンテンツを格納するXHTML（あるいはHTML）ファイルを作成する時にそれらのファイル内で複数のCSSファイルを明示的に参照（リンク）する指定を行なう必要がある。しかしながら、現在、日本国内において800機種以上の携帯端末機器が販売されていることを考えると、すべての端末機器タイプに対応するためには、仮にひとつのコンテンツ・ファイルあたり5個のCSSファイルが参照されているとすると800×5=4,000個のCSSファイルを用意して管理する必要が生じる。さらに、コンテンツ・ファイルのページごとに別のCSSファイルがリンクされていることもあるため、実際に管理対象となるCSSファイルの数はさらに多くなる。対応すべきコンテンツ表示機器タイプが日々増加し、Webページも日々更新されていく環境で、このような膨大な数のCSSファイルを管理していくことが困難になりつつある。【００１２】
第二の方法として、対象端末機器タイプごとにCSSファイルを動的に生成する方法がある。この方式において、現在一般的に行なわれている方法のひとつにXSL標準を使用する方法がある。この方法では、コンテンツはXML言語で記述されることになるが、パーソナルコンピュータ以外の多くの端末機器はXMLを解釈する機能を有していないため、すべての機器がサポートできなくなるという現実的問題がある。また、端末機器タイプの増加に対応するために、複雑なXSL自体を動的に生成する仕組みを必要とし、画面形式の設計を簡単に変更できるというCSSの元来の特性を失ってしまう。さらに、一般に、CSSを動的に生成する方法では、コンテンツの構造の複雑な解析処理が必要となるため、元のコンテンツの構造が変わるたびに正確なスタイルを出力するための処理の負荷が大きくなってしまう。結果的に、日々増加し続けるデバイスと日々変更が発生するWebページに追随して、端末機器ごとに最適なCSSを提供することは困難である。一般論として、端末機器の多様化は市場原理に基づいて急速に進展していくため、XSLなどの固定的な標準規格だけで対応していくことには本質的な限界がある。【００１３】
第三の方法として、CSSファイルを端末機器側のブラウザ内の（通常はJavaScript（登録商標）言語で記述された）スクリプトから操作する手法がある。この方式では、第二の方法と同様に、多種多様な端末機器の中にはJavaScript言語をサポートしていないものが多いこと、機器タイプ数×ページ数に相当する数のスクリプトを用意する必要があること、JavaScript言語によるCSSファイルの操作は複雑であり、機器タイプ毎にその動作をテストすることが困難であること、そして、JavaScript言語でHTMLを解析するような処理プログラムの作成が難しいことという現実的問題がある。【００１４】
第四の方法として、ブラウザが提供するCSSファイルのユーザー指定機能を使用して適用するCSSファイルを端末機器のユーザー自身が切り替える方法がある。この方法でも、端末機器タイプ毎に最適なCSSファイルを作成する必要があり、膨大な数のCSSファイルの作成が必要となる点は第一の方法と同様であり、また、多くの端末機器ではCSSファイルのユーザー指定機能を実装していないという現実的問題がある。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】米国特許第５８６００７３号明細書
【非特許文献】
【００１６】
段階スタイルシート 水準2(CSS2) 標準情報(TR)
TR X 0032:2000（http://www.y-adagio.com/public/standards/tr_css2/toc.html）
【発明の概要】
【発明が解決しようとする課題】
【００１７】
CSSファイルの管理に係る従来の問題点を解決し、機器タイプ数とWebページ数の乗算値に比例して管理対象が増えないこと、コンテンツ（HTMLやXHTMLファイル）の複雑な解析が不要であること、機器側のブラウザの実装に依存しないことを特徴として、多種多様な機器におけるコンテンツの最適な表示を可能にするコンテンツ提供装置およびコンピュータプログラムを提供する。
【課題を解決するための手段】
【００１８】
本願発明は、差分生成プログラムと第一のスタイルシート保存手段と第二のスタイルシート保存手段とスタイルシート変換ルール保存手段から構成されるコンテンツ変換手段を備え、第一のスタイルシート、第二のスタイルシート、および、スタイルシート変換ルールはそれぞれキー項目と属性値から成るコンテンツ提供装置であって、該差分生成プログラムが、第一のスタイルシート保存手段内のスタイルシートを読み出し、変換ルール保存手段内の変換ルールを読み出し、第一のスタイルシートから変換ルール内のキー項目に合致するキー項目を有する複数項目を抽出し、抽出した該複数項目のそれぞれの属性値を変換ルール内の属性値で置き換えて、第二のスタイルシートを生成し、第二のスタイルシートを第二のスタイルシート保存手段に保存することを特徴とするコンテンツ提供装置を提供することで前記課題を解決する。【００１９】
また、本願発明は、差分生成プログラムと第一のスタイルシート保存手段と第二のスタイルシート保存手段とスタイルシート変換ルール保存手段から構成されるコンテンツ変換手段を備え、第一のスタイルシート、第二のスタイルシート、および、スタイルシート変換ルールはそれぞれキー項目と属性値から成るコンテンツ表示提供装置における差分生成プログラムであって、第一のスタイルシート保存手段内のスタイルシートを読み出し、変換ルール保存手段内の変換ルールを読み出し、第一のスタイルシートから変換ルール内のキー項目に合致するキー項目を有する複数項目を抽出し、抽出した該複数項目のそれぞれの属性値を変換ルール内の属性値で置き換えて、第二のスタイルシートを生成し、第二のスタイルシートを第二のスタイルシート保存手段に保存することを特徴とする差分生成プログラムを提供することで前記課題を解決する。
【発明の効果】
【００２０】
本発明により、インターネットのコンテンツを多種多様な端末機器に対して表示する際に、各機器の画面サイズや入力方式などの特性に合致した表示を行なうことが可能になると同時に、コンテンツ管理者によるスタイルシート・ファイルの管理負荷を軽減し、サーバによるコンテンツ・ファイル解析のための処理負荷を最小化することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明に係る情報システムの全体構成図である。
【図２】本発明の主要要素であるコンテンツ提供手段の内部構造である。
【図３】本発明で使用する機器グループ設定（図2の構成要素）の例である。
【図４】本発明で使用するCSS変換表（図2の構成要素）の例である。
【図５】本発明に係る差分CSS生成プログラム（図2の構成要素）の処理ステップの概要である。
【図６】図５に示した差分CSS生成プログラムの処理結果の具体例である。
【図７】本発明に係る差分CSS適用プログラム（図2の構成要素）の処理結果の例である。
【図８】本発明に係る差分CSS適用プログラムにおけるプロパティの変更・消去の指定方法の例である。
【発明を実施するための形態】
【００２２】
以下、本発明に係る情報システム、情報表示方法、および、この方法を実行するコンピュータプログラムの例について詳細に説明する。
【００２３】
図１は、本発明に係る情報システムが稼働する環境の全体図である。コンテンツ提供手段（１０１）は、HTMLやXHTMLで作成されたコンテンツをひとつ以上のコンテンツ表示端末機器に対して配信し、閲覧できるようにするための手段であり、典型的にはサーバ・ハードウェアおよびその上で稼働するプログラム群から構成されるが、これに限定されない。コンテンツ提供手段の内部構造については以降で説明する。
【００２４】
コンテンツ表示端末機器（１０２）は、コンテンツの表示手段（典型的にはWebブラウザ）を備えたハードウェア機器であり、具体的にはパーソナルコンピュータ、携帯電話、スマートフォン、タブレット端末、ゲーム機器、カーナビゲーション機器、デジタルサイネージ等であるが、これらに限定されない。
【００２５】
ネットワークはコンテンツ提供手段（１０１）とコンテンツ表示端末機器（１０２）を相互接続する手段であり、典型的にはインターネットであるが、これに限定されない。
【００２６】
図１におけるコンテンツ提供手段（１０１）以外の要素は、今日のインターネットで使用されている一般的技術であるため、これ以上の説明は特に行なわない。以降では、コンテンツ提供手段（１０１）の内部構造と処理手順に絞って説明を行なう。
【００２７】
図２に、コンテンツ提供手段（１０１）の内部構造を示す。コンテンツ提供手段は、大きくWebサーバ・プログラム（２０１）、差分CSS生成プログラム（２０２）、および、差分CSS適用プログラム（２０３）の三つの機能モジュールから構成される。
【００２８】
ここで、Webサーバ・プログラム（２０１）は、HTTP、HTML、XHTML、CSSなどの一般的なインターネット標準にしたがって、コンテンツ表示端末機器（１０２）に対してコンテンツを配信する機能を有するプログラムである。Webサーバ・プログラム（２０１）は今日のインターネットにおける技術常識であるため、その内部的機能と動作についてはこれ以上特に説明しない。
【００２９】
差分CSS生成プログラム（２０２）は、システム管理者が作成した既定CSSファイルを読み取り、コンテンツ製作者あるいはコンテンツ管理者が機器グループ構成保存手段（２０６）とCSS変換表（２０７）とに設定した情報にしたがって、差分CSSファイルを生成するプログラムである。差分CSS生成プログラム（２０２）の詳細な動作については後述する。
【００３０】
差分CSS適用プログラム（２０３）は、差分CSS生成プログラム（２０２）が生成した差分CSSファイルによって既定CSSファイルのスタイル指定の効果の一部をオーバーライド（上書き）し、Webサーバ・プログラム（２０１）が各端末機器タイプにとって最適なスタイルのコンテンツ配信を行なえるようにするためのプログラムである。差分CSS適用プログラム（２０３）の詳細な動作については後述する。
【００３１】
コンテンツ保存手段（２０４）は、Webサーバ・プログラム（２０１）がコンテンツ表示端末機器（１０２）に送信する対象となるコンテンツ（典型的にはHTMLまたはXHTMLで記述されたWebページ）を保管するファイル、あるいは、データベースなどである。コンテンツ保存手段（２０４）は今日のインターネットにおける技術常識であるため、これ以上は特に説明しない。
【００３２】
既定CSSファイル保存手段（２０５）は、コンテンツ製作者あるいはコンテンツ管理者が作成した汎用的なCSSファイルを保管するためのファイル、あるいは、データベースなどである。このCSSファイルは、広く普及した技術標準であるCSSの形式で記述することが望ましい。既定CSSファイル保存手段（２０５）は一般的なWebサーバ・システムにおいても必須の構成要素であり今日の技術常識となっているため、これ以上の説明は行なわない。
【００３３】
機器グループ設定保存手段（２０６）は、コンテンツ作成者またはコンテンツ管理者が作成するデータベースあるいはファイルなどのデータ保存手段であり、共通の特性を有する複数の端末機器タイプをグループ化して管理する機能を提供する。機器グループ設定保存手段（２０６）に保存される機器グループ設定の例を図３に示す。端末IDとは端末識別子と同義であり、端末機器に固有のタイプ（典型的にはモデル名）を表わす。端末変換テーブル（図３−ａ）が、特定の端末機器を一つ以上の端末グループに対応付ける。端末変換グループテーブル（図３−ｂ）が、端末グループを一つのデバイスグループに対応づける。デバイスグループは共通の特性を持つ端末機器のグループである。CSSプロパティグループとは、デバイスグループのカテゴリーを表わす属性である。たとえば、同じ画面サイズを有する複数の端末機器タイプは、スクリーンサイズのCSSプロパティグループにおいて同じデバイスグループに属するような設定をコンテンツ管理者が行なうことが通常である。また、一つの端末機器が複数のデバイスグループに属していてもよい。図３の例では、たとえば、T1の識別子を有する端末機器は、vgaという（スクリーンサイズに関する）デバイスグループと「モリサワ」という（フォントに関する）デバイスグループに属することになる。デバイスグループは、差分CSS生成プログラム（２０２）がCSSファイルの属性値を置き換える際に従うルールを構成する。
【００３４】
CSS変換表（２０７）は、コンテンツ作成者またはコンテンツ管理者が作成する表であり、差分CSS生成プログラム（２０２）が既定CSSファイルに対する差分CSSファイルの抽出と変換を行なう際のルールを記述するために使用する。典型的には、CSS変換表（２０７）は、サーバ・ハードウェア上のファイル、あるいは、データベースなどにより実現される。CSS変換表（２０７）の例を図４に示す。ここで、セレクタとは形式（スタイル）を適用する対象範囲を選択する指定であり、たとえば、ヘッダー、通常段落などの指定がある。プロパティとは形式（スタイル）の特定の属性であり、プロパティ値は属性の具体的値である。セレクタとプロパティはCSS標準で定められた用語であり、本発明の実施においてもCSS標準に合致した指定を行なうことが望ましい。セレクタ、プロパティ名、および、プロパティ値はCSS変換表（２０７）のキー項目を構成する。CSS変換表（２０７）におけるキー項目以外の列は属性値であり、差分CSS生成プログラム（２０２）がその処理において適用する変換後の属性値を、デバイスグループごとに示している。たとえば、図４のCSS変換表（２０７）の１行目の設定について言えば、デバイスグループＡ−２に属する端末機器に対して、キー項目がマッチする既定CSSファイルの項目の属性値を8pxという属性値で置き換えることを示す。
【００３５】
なお、機器グループ設定保存手段（２０６）とCSS変換表（２０７）は、物理的に異なるファイルあるいは異なるデータベースとして実装する必要はない。本明細書で開示する論理的機能、すなわち、端末IDをキーとして、CSSファイル内において置き換えるべき項目と置き換え後の属性値を特定できるデータベースとしての機能を提供できる論理的構造であれば、両者を物理的にひとつのファイルあるいはデータベースとして実装してもよいし、任意の物理的実装を採用してよい。
【００３６】
以下では、本発明の技術的特徴のひとつである差分CSS生成プログラム（２０３）の動作について詳細に説明する。
【００３７】
図５に、差分CSS生成プログラム（２０３）が実行する処理の各ステップ、および、各ステップにおける入力ファイルと出力ファイルの概略について示す。なお、差分CSS生成プログラム（２０３）が各処理ステップにおいて使用するファイルのうちの一時ファイル、すなわち、処理の実行中のみに存在し、処理終了後にシステムあるいは差分CSS生成プログラム（２０３）自身が削除するファイルは図２には示していない。
【００３８】
（図５−ａの説明）コンテンツ表示端末機器（１０２）が特定コンテンツのリクエスト（通常は、HTTPのGETリクエストまたはPOSTリクエストによる）をコンテンツ提供手段（１０１）内のWebサーバ・プログラム（２０１）に送信すると、Webサーバ・プログラム（２０１）はその情報を差分CSS生成プログラム（２０３）に渡す。差分CSS生成プログラム（２０３）は、コンテンツ表示端末機器（１０２）が要求するコンテンツ・ファイルが使用している既定CSSファイルを識別する（図３−ａ）。一般的なケースでは、差分CSS生成プログラム（２０３）は、インターネットの標準にしたがいHTMLで記述されたコンテンツ・ファイル内のlinkタグを参照することで既定CSSファイルを識別できる。
【００３９】
（図５−ｂの説明）次に、差分CSS生成プログラム（２０３）は、CSS変換表（２０７）を参照して、図３−aの処理で識別した既定CSSファイル内の各項目を順次チェックし、CSS変換表（２０７）のキー項目と内容がマッチするものがないかを識別する。ここで、比較の対象となるキー項目は１）セレクタ、プロパティ名、プロパティ値の組み合わせ、２）プロパティ名、プロパティ値の組み合わせ、３）セレクタ、プロパティ名の組み合わせ、４）プロパティ名、の四つのパターンのうちのいずれかひとつである。マッチングの順番は、上記のパターンの列挙において前にあるものの方が優先するようにしてよい。すなわち、たとえば、セレクタ、プロパティ名、プロパティ値の組み合わせがマッチする項目があれば、セレクタ、プロパティ名の組み合わせだけがマッチする項目よりも優先的に適用されるようにしてよい。差分CSS生成プログラム（２０３）は、既定CSSファイルの項目の中で、CSS変換表（２０７）のキー項目とマッチした項目だけを抽出し、変換対象CSS項目ファイル（一時ファイル）を生成する。
【００４０】
（図５−ｃの説明）コンテンツ表示端末機器（１０２）がWebサーバ・プログラム（２０１）に送る要求は、インターネットの標準にしたがい、端末タイプの識別子（ブラウザ名や携帯電話のモデル番号など）を含む。差分CSS生成プログラム（２０３）は、Webサーバ・プログラム（２０１）より当該端末タイプの識別子を受け取り、それをキーとして機器グループ保存手段（２０６）から、当該端末タイプに対応する一つ以上の端末グループID、各端末グループIDに対応するデバイスグループ名、および、CSSプロパティグループIDを読み出し、機器グループ設定（一時ファイル）として書き出す。
【００４１】
（図５−ｄの説明）差分CSS生成プログラム（２０３）は、図５−ｃのステップで読み出した機器グループ設定（一時ファイル）とCSS変換表（２０７）の内容を併合し、CSS変換表サブセット（一時ファイル）を生成する。当該ファイルは、CSS変換表（２０７）の中で、当該端末タイプに関連するルールだけを抽出したファイルに相当する。
【００４２】
（図５−ｅの説明）差分CSS生成プログラム（２０３）は、図５−ｂのステップで生成した変換対象CSS項目中の各項目に対してCSS変換表サブセット（一時ファイル）中の変換処理を適用する。具体的には、変換対象CSS項目（一時ファイル）のキー項目とCSS変換表サブセットのキー項目がマッチする場合に、変換対象CSS項目のプロパティ値をCSS変換表サブセット内の対応する属性値で置き換える。対応する属性値とは、端末機器が属する端末グループに相当するCSSプロパティグループとデバイスグループの組み合わせに相当するCSS変換表の列に保管された属性値のことである（ある端末機器がどの端末グループに属するか、および、どの端末グループがどのCSSプロパティグループにおいてどのデバイスグループに属するかは、機器グループ設定（図３）を参照することで知ることができる）。差分CSS生成プログラム（２０３）は、変換対象CSS項目のすべての項目の変換処理を完了した後に、結果として得られた差分CSSファイルを差分CSS保存手段（２０８）に保存する。差分CSS生成プログラム（２０３）が保存した差分CSSファイルは、差分CSS適用プログラム（２０４）が読み取り、以降の処理を行なう（当該処理については後述する）。
【００４３】
以下に、具体的データを使用して差分CSS生成プログラム（２０３）の処理を再度説明する。本説明は、W3CのCSS標準に基づいたものであるが、本発明の思想は、CSS類似のスタイルシートを使用したコンテンツ提供システム全般に適用可能である。
【００４４】
この例では、図３に挙げた機器グループ設定、および、図４に挙げたCSS変換表を使用するものとする。図６−ａに本説明で使用する既定CSSファイルを示す。
【００４５】
（図5−ａおよび図５−ｂに相当する処理ステップの結果の例の説明）
差分CSS生成プログラム（２０３）は、既定CSSファイル（図６−ａ）を先頭から読み、図４に示したCSS変換表のキー項目とマッチする項目をサーチする。図４のCSS変換表において、最初の行はセレクタ（p.article）であって、プロパティ（margin）がプロパティ値（10px）の項目にマッチする（その項目が変換対象となる）ことを示している。この場合、既定CSSファイル内でのサーチ処理は単純にセレクタを文字列比較し、マッチすればさらにプロパティ値の文字列比較をすればよい。図４のCSS変換表の２行目では、セレクタの指定がないため、セレクタは無視して、プロパティ（font-size）かつプロパティ値（MS明朝）がマッチする行を既定CSSファイルで探索する。図４のCSS変換表の３行目もセレクタがないので、セレクタの指定は無視してプロパティ（font-size）をマッチする行を既定CSSファイルで探索する（この場合は、プロパティ値の指定がないので、プロパティがfont-sizeである既定CSSファイル内のすべての行がマッチする）。図４のCSS変換表の4行目では、セレクタ（p.article）の中でプロパティがline-heightである行をサーチする（プロパティ値の指定がないためプロパティがline-heightであればマッチする。）これらのマッチング処理の結果を図６−ｂに示す。差分CSS生成プログラム（２０３）は、マッチしたすべての項目を変換対象CSS項目（一時ファイル）として出力する。この例における当該一時ファイルの内容を図６−ｃに示す。
【００４６】
（図５−ｃ、図５−ｄ、および、図５−ｅに相当する処理ステップの結果の例）
差分CSS生成プログラム（２０３）は、コンテンツ要求を行なった端末のタイプに応じて、CSS変換表（図４）の指定にしたがって、変換対象CSS項目ファイルにおけるプロパティ値の書き換えを行なう。この例では、T１、T２、T３という三種類の機器タイプに対する処理例を示す。この例では、機器グループ設定（図３）に示すように、スクリーンサイズのグループ（CSSプロパティグループIDがＡ）において、T１とT２はデバイスグループ２に属し、Ｔ３はデバイスグループ３に属し、さらに、フォントのグループ（CSSプロパティグループIDがB）においてＴ１はデバイスグループ３に、Ｔ２はデバイスグループ２に属している（Ｔ３はフォントのCSSプロパティグループではどのデバイスグループにも属さない、すなわち、Ｔ３に属する端末機器に対しては差分CSS生成プログラム（２０３）はフォントに関する書き換え処理を行なわない）。ここで、CSSプロパティグループIDがＡであるプロパティグループにおいて、デバイスグループ１に属している端末機器タイプに対しては、CSS変換表（図４）のＡ−１の列に保管された属性値によって置き換え処理を行なう。その他のCSSプロパティグループIDとデバイスグループにおいても同様に処理する。この例において、差分CSS生成プログラム（２０３）が生成する差分CSSファイルを図6−ｄに示す。
【００４７】
なお、上記の各処理はすべて単純な文字列マッチ処理であり、複雑な構文解析を必要としないため、ハードウェアの処理負荷が小さく、本発明に係る装置やプログラムの開発者にとっての開発負担が小さい。
【００４８】
次に、差分CSS適用プログラム（２０４）の処理内容について説明する。差分CSS適用プログラム（２０４）が、差分CSS生成プログラム（２０３）が生成した差分CSSファイルを適用し、端末機器における実際の表示に反映させる方法は大きく三種類に分けられる。以下に各方法について説明する。ここで、既定CSSファイルのヘッダー部分には、図７−ａのような指定が行なわれているとする（これは、特に変換処理を行なわない状態では図６−ａの既定CSSファイルのスタイル指定に基づいたコンテンツ表示が行なわれることを意味する）。
【００４９】
第一の方法は、HTMLファイルに対して差分CSSファイルへの参照（リンク）を追記する方法である。たとえば、差分CSS生成プログラム（２０３）が端末タイプＴ１に相当する差分CSSファイルの名称をT1.cssとして書き出した場合には、差分CSS適用プログラム（２０４）がコンテンツ・ファイルを変換し、図７−ｂ−１のような指定を行なうようにする。差分CSSファイルにどのようなファイル名を付けるかは設計上の選択肢として開発者が決定する事項である（たとえば、ファイル名にURL名やファイル作成時のタイムスタンプを付け、たとえば www.foobar.jp.20110412134567.T1.css
というようなユニークなファイル名を生成するようにしてもよい）。CSS標準では、後方に指定されたCSSファイルのスタイル設定が前方で指定されたCSSファイルのスタイル設定よりも優先して適用されるため、本発明の目的である端末タイプに応じた表示形式の実現が可能になる。なお、スタイルのすべての変更部分が差分CSSファイルに集約されているため、多段階のカスケード処理によって端末機器側の処理負担が増すことはない。
【００５０】
第一の方法のバリエーションとして、差分CSS適用プログラム（２０４）が、既定CSSファイルと差分CSSファイルをマージ（併合）し、新たなCSSファイルを作成し、その作成されたCSSファイルをヘッダー部分で指定するようにコンテンツ・ファイルを書き換えてもよい。この方式により、差分CSS適用プログラム（２０４）が書き換えたコンテンツ・ファイルのヘッダー部分の例を図７−ｂ−２に示す。上記の併合処理は単純であり、CSSファイルを最初から動的に生成する従来方法と比較して、実現が容易であり、サーバ・ハードウェアの処理負荷も小さいという利点がある。
【００５１】
第二の方法は、差分CSS適用プログラム（２０４）がCSS標準のstyle要素をHTMLファイルのヘッダー部分に挿入する方法である。この方式を用いて差分CSS適用プログラム（２０４）が書き換えたHTMLファイルのヘッダー部分の例を図７−ｃに示す。CSS標準では、style要素によるスタイル指定はリンクした外部ファイルによるスタイル指定よりも優先的に適用されるため、本発明の目的である端末タイプに適したスタイルのコンテンツ表示の実現が可能になる。
【００５２】
この第二の方法を用いる場合には、差分CSS適用プログラム（２０４）において、プロパティ自体を変更したり、プロパティ自体を削除する設計とすることも可能である。図８に、このような処理を行なわせるための指定方法の例を示した。８０１はプロパティと値の両方を指定することで、プロパティ自体を変更するよう指示する記載の例である。８０２は、予約語であるDELETEを記載することでプロパティ自体を削除するよう指示する記載の例である。この以外にも設計上の選択として他の予約語を使用することもできる。このような設計とすることで、CSSにおけるカスケードの上書き効果だけでは実現できない、表示形式の変更にも対応可能である。
【００５３】
第三の方法は、差分CSS適用プログラム（２０４）がHTMLファイルの中から差分CSSファイル中のセレクタに相当する部分を探索し、それぞれのタグにstyle属性を指定する方法である。
【００５４】
上記三方法のいずれを用いても、差分CSSファイルのスタイル設定効果が既定CSSファイルの効果を上書きする形で適用され、本発明の目的である端末機器タイプの特性に応じたコンテンツの表示を標準的なWebサーバ・プログラム（２０１）が行なうことが可能になる。ここで、Webサーバ・プログラム（２０１）が実行するCSSファイルの解釈処理については、今日において一般的なあらゆるWebサーバ・プログラムが提供している公知技術であるため、特に説明はしない。
【００５５】
（用語の定義）
以下に、本明細書に特有の用語の定義を再度まとめる。
【００５６】
「既定CSSファイル」とは、コンテンツ製作者が作成する最も汎用的なCSS形式のファイルである。「差分CSSファイル」とは、コンテンツ表示対象となる端末機器タイプにおける表示に適したCSSファイルと既定CSSファイルとの差分（相違点）に相当するCSSファイルである。「差分CSS生成プログラム」（あるいは「差分生成プログラム」）とは、コンテンツ製作者がCSS変換表と変換データベースに登録した情報にしたがって、既定CSSファイルから差分CSSファイルを生成するプログラムである。「差分CSS適用プログラム」とは、差分CSS生成プログラムが生成した差分CSSファイルを既定CSSファイルに併合するなどの方法により、差分CSSファイルのスタイル設定効果をコンテンツ表示に反映し、本発明の目的である各端末機器タイプに適したコンテンツの提供をWebサーバ・プログラムが行なえるようにするためのプログラムである。「機器グループ設定保存手段」とは、共通の特性を有する複数の端末機器タイプをグループ化して管理する機能を提供するデータベースあるいはファイルなどのデータ保存手段であり、コンテンツ制作者またはコンテンツ管理者が作成する。「CSS変換表」とは、コンテンツ作成者またはコンテンツ管理者が作成する表であり、データベースあるいはファイルとして保存する。既定CSSファイルに対する差分CSSファイルの抽出と変換ルール（キー項目とそれに対応する端末グループごとの置き換えプロパティ値）を記述するために使用する。
【００５７】
なお、機器グループ設定保存手段とCSS変換表は物理的にはひとつのファイルあるいはデータベースであってよい。特許請求の範囲においては、CSS変換表と変換データベースを併せてスタイルシート変換ルールと呼んでいる。ここで、キー項目とは、上記説明におけるセレクタ、プロパティ、プロパティ値のいずれか、または、それの組み合わせであり、属性値はプロパティ値と同義である。
【００５８】
（本発明の技術的に顕著な効果）
本発明の、従来の技術と比較した優位性を以下にまとめる。第一に、変換処理がサーバ・ハードウェア上のプログラムで行なわれるため、端末側での処理に依存することがなく、すべての端末タイプに対して適用できる（端末では最小限のブラウザ機能だけが提供されていればよい）。第二に、変換に必要な記述だけをCSS変換表に記述すればよいため、管理者の管理負荷が小さい（多数のCSSファイルを管理する負担がない）。第三に、端末側では、CSSによる多段階のカスケード処理を行なう必要がなく、最高でもひとつの差分CSSファイルだけのレンダリング（描画処理）を行なえばよいため、表示パフォーマンスの劣化が小さい（携帯型端末機器には十分な処理能力を備えておらず多段階のカスケード処理が負担になる物も存在するが、本発明によればこの点は問題とならない）。第四に、コンテンツ・ファイル（HTMLやXHTMLで記述されたファイル）の複雑な解析処理が必要ないので、サーバにおけるスタイルシート変換の性能が高く、コンテンツ・ファイルの変更時におけるシステム処理負荷および管理負荷を最小化できる。第五に、既定CSSファイルとCSS変換表を１セットとして管理可能であり、XHTMLとXSLの組み合わせで使用する場合とは異なり、記述されたコンテンツの増加・変更に比例して管理対象が急増することがない。第六に、対象端末機器が増加した場合も、当該端末機器の項目を機器設定データベースに登録するだけ対応可能であり、管理対象が増加せず、コンテンツの変更が必要ない。第七に、本発明に係るシステムが存在しない環境（たとえば、インターネットに接続されていないパーソナルコンピュータで開発作業を行なっている場合など）でも既定CSSに基づいた表示が可能であるためコンテンツ・ファイルの作成が容易である。最後の優位点として、管理者が記述する変換表がCSS標準の文法に沿っているため、管理者にとって理解が容易であり、開発者にとって本発明に係る変換プログラムの開発が容易である点が挙げられる。
【図１】
2012141183.tif 000003
【図２】
2012141183.tif 000004
【図３】
2012141183.tif 000005
【図４】
2012141183.tif 000006
【図５】
2012141183.tif 000007
【図６】
2012141183.tif 000008
【図７】
2012141183.tif 000009
【図８】
2012141183.tif 000010
【国際調査報告】
2012141183.tif 000011
2012141183.tif 000012