説明

マークアップ言語文書変換装置、マークアップ言語文書変換方法、マークアップ言語文書変換プログラム、およびマークアップ言語文書変換システム

【課題】PC用webページを比較的忠実にモバイル用webページに変換することを可能とする。
【解決手段】変換サーバ150は、モバイル端末110からPC用マークアップ言語文書のリクエストを受けると、リクエストされたPC用マークアップ言語文書をPC用webサーバ130から取得してレンダリングし、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認する。ついで、確認された各表示要素およびその配置座標に基づいてPC用マークアップ言語文書を、前記モバイル端末の仕様に対応して表示要素の配置替えを行ったモバイル用マークアップ言語文書に変換する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、PC用マークアップ言語文書のような第1マークアップ言語文書を、モバイル端末の仕様に対応して表示要素の配置替えを行った非PC用マークアップ言語文書のような第2マークアップ言語文書に変換するマークアップ言語文書変換装置、マークアップ言語文書変換方法、マークアップ言語文書変換プログラム、およびマークアップ言語文書変換システムに関する。
【背景技術】
【0002】
最近、携帯電話端末や通信機能付きPDAなどの移動通信端末装置では、インターネット上のPC用のwebサイトでのwebページを閲覧することができるようになってきている。移動通信端末装置を本明細書ではモバイル端末ともいう。
【0003】
モバイル端末の表示画面のサイズは一律ではないが、通常、PC用の表示装置の表示画面に比べてその解像度(縦横画素数)は小さい。そのため、PC用webページをそのままモバイル端末の表示画面に表示させようとすると、表示されたwebページが垂直方向のみならず水平方向にも、画面から大きくはみ出し、水平、垂直両方向に頻繁にスクロール操作を行う必要が生じる。
【0004】
また、全体像を把握するためにwebページの表示を縮小することも考えられるが、その場合には細部が見づらくなり、文字が読めなくなる場合も生じうる。
【0005】
このような問題に対して、特許文献1には、大サイズのwebページを解析してより小さいサイズのサブページに分割し、これをモバイル端末で閲覧する技術が開示されている。
【0006】
特許文献2にはPC用のwebページを解析して無線端末での表示に適した情報に変換する技術が開示されている。
【特許文献1】米国特許第7203901号公報
【特許文献2】米国特許第7047033号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
ところで、最近のwebサイトで用いられているHTML文書はCSS(Cascading Style Sheet)を利用するのが通例である。CSSとは、HTML文書の装飾部分(修飾情報)を一括管理する機能であり、CSSファイルを用いて文字や背景の装飾部分を定義するものである。
【0008】
また、webページ中で特定の処理を実行したい場合、HTML文書中にJavaScript(登録商標)のような一種のプログラムが内蔵されることがある。
【0009】
このようなCSSが適用されたHTML文書や、JavaScript等を含むHTML文書では、単にその解析をしただけではモバイル用マークアップ言語(ML)文書への変換が適正に行えない場合があった。
【0010】
例えば、PC用webページを構成するHTML文書の構造から推測されるPC画面上での各表示要素の位置は、CSSが適用された後またはJavaScriptが実行された後の実際の位置と必ずしも一致しない場合がある。このような場合、HTML文書の解析結果のみに基づいてモバイル用ML文書への変換を行うと、特定の表示要素の配置位置が極端に変わったり(例えばPC用の実表示ページでは先頭に来るべき表示要素がモバイル用の実表示ページでは最後に来る等)、特定の表示要素が表示されなかったりする、ということが起こりうる。
【0011】
本発明はこのような背景においてなされたものであり、PC用webページなどに対応する第1マークアップ言語文書を、比較的忠実にモバイル用webページなどに対応する第2マークアップ言語文書に変換することができるマークアップ言語文書変換装置、マークアップ言語文書変換方、マークアップ言語文書変換プログラム、およびマークアップ言語文書変換システムを提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明によるマークアップ言語文書変換装置は、第1のマークアップ言語で記述された第1マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とを取得する手段と、取得された第1マークアップ言語文書と前記データおよびプログラムの少なくとも一方とをレンダリングし、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認する手段と、確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第2のマークアップ言語で記述された第2マークアップ言語文書に変換する手段と、変換された第2マークアップ言語文書を記憶する手段とを備えたことを特徴とする。
【0013】
また、本発明によるマークアップ言語文書変換方法は、 第1のマークアップ言語で記述された第1マークアップ言語文書のリクエストを受けるステップと、
【0014】
リクエストされた第1のマークアップ言語で記述された第1マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とを取得するステップと、取得された第1マークアップ言語文書および前記データおよびプログラムの少なくとも一方をレンダリングするステップと、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認するステップと、確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第2のマークアップ言語で記述された第2マークアップ言語文書に変換するステップとを備えたことを特徴とする。
【0015】
さらに、本発明によるマークアップ言語文書変換プログラムは、第1のマークアップ言語で記述された第1マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とをレンダリングするステップと、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認するステップと、確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第2のマークアップ言語で記述された第2マークアップ言語文書に変換するステップとをコンピュータに実行させることを特徴とする。
【0016】
本発明の構成によれば、第1マークアップ言語文書を単に解析するだけでなく、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認することにより、例えばPC用の表示画面上に表示される各種表示要素が実際にどこにどのように表示されるかを確認することができ、この確認結果に基づいて、比較的忠実に、当該各種表示要素を非PC用の表示画面に再配置することが可能となる。
【0017】
前記表示要素の配置座標は、当該表示要素の矩形占有領域の対角座標である。これにより、各表示要素の位置と大きさが分かる。
【0018】
所定の条件に基づいて横並びの複数の表示要素を縦並びに変換し、かつ、それらの複数の表示要素を折り畳むステップをさらに含んでもよい。これにより、冗長な表示要素の羅列を表示省略することができる。
【0019】
折り畳まれた複数の表示要素を縦並びの状態に復元する記述を前記変換後のモバイル用ML文書に含めるようにすれば、必要に応じて省略前の表示要素を確認することができる。
【発明の効果】
【0020】
本発明によれば、自動的に、PC用webページを比較的忠実にモバイル用webページに変換し、PC用コンテンツをモバイル端末等で閲覧可能とすることができる。しかも、そのためにコンテンツプロバイダ(通常、企業)ではPC用webページ毎にそれに対応するモバイル用のwebページを別途用意しておく必要がなくなる。その結果、PC用コンテンツとモバイル用コンテンツの双方を作成し、かつ双方を同様にメンテナンス(同期)しなければならない、という煩雑な処理負担から当該コンテンツプロバイダを開放することができる。
【発明を実施するための最良の形態】
【0021】
以下、本発明の好適な実施の形態について図面を参照しながら詳細に説明する。
【0022】
図1は、本実施の形態におけるマークアップ言語文書変換システムの全体の概略の構成を示している。
【0023】
このシステムは、携帯電話端末や通信機能付きPDAなどの移動通信端末装置であるモバイル端末110と、webコンテンツを提供するwebサーバ120(PC用、モバイル用を問わない)と、PC用webコンテンツを提供するPC用webサーバ130と、本願発明のマークアップ言語文書変換装置に相当する変換サーバ150と、各サーバが接続されるインターネットのような通信ネットワーク140とにより構成される。
【0024】
変換サーバ150は、PC用webページを構成するPC用マークアップ言語(ML)文書(すなわち第1マークアップ言語文書)を、リアルタイムに、モバイル用webページを構成するモバイル用ML文書(すなわち第2マークアップ言語文書)に変換するためのサーバであり、トランスコーダともいう。通信ネットワーク140には、モバイル用パケット通信網とこれをインターネットに接続するゲートウェイ(図示せず)を含みうる。webサーバ120はインターネットではなくモバイル用パケット通信網に接続されたサーバであってもよい。
【0025】
モバイル端末110のユーザの操作に従い、モバイル端末110のwebブラウザはwebサーバ120に対して特定のwebページをリクエストする(1)。このリクエストにはモバイル端末のwebブラウザからユーザエージェント(UA)と呼ばれる情報が含めて送信される。
【0026】
webサーバ120は、受け取ったユーザエージェント情報に基づいて当該モバイル端末の機種IDを判別でき、これによりその機種の仕様情報を確認することができる。この仕様情報には、例えば、表示画面サイズや利用可能なメモリサイズ、一度に処理できるwebデータ量、サポートフォーマットなどが含まれる。このようなリクエストに対するレスポンスとして、webサーバ120からモバイル端末110に対してリダイレクト(変換サーバ150のURLを含む)が返送される(2)。リダイレクトとは、webページを要求してきた端末がモバイル端末であることをそのユーザエージェント情報に基づいてwebサーバ120が認識したとき、アクセス先を自身から他の特定のサイト(ここでは変換サーバ150)へ移動させるためのレスポンスである。
【0027】
モバイル端末110は、このリダイレクト情報を受けて、変換サーバ150へアクセスし、目的のPC用webページをリクエストする(3)。すなわち、このリクエストにはPC用webサーバ130のURLも含んでいる。
【0028】
なお、リダイレクトによらず、モバイル端末110がモバイル用webページ内に組み込まれた変換サーバ150のURLから、または、URLの手動入力に基づいて、変換サーバ150へ直接アクセスしてもよい。
【0029】
変換サーバ150は、このようなリクエストを受けると、指定されたPC用webサーバ130にアクセスして当該モバイル端末用に変換すべきPC用マークアップ言語文書で記述されたPC用webページをリクエストする(4)。さらに、PC用webサーバ130からそのレスポンスとして当該PC用webページのML文書を取得する(5)。変換サーバ150は、取得したPC用ML文書ならびに必要に応じて取得されるそのPC用ML文書に付随するデータおよびプログラムをレンダリングして、その結果に基づいてモバイル用ML文書を自動的に生成し、レスポンスとしてモバイル端末110へ返送する(6)。モバイル端末110は返送されたモバイル用ML文書を受信し、webブラウザにより処理し、必要な付随するデータおよびプログラムをさらに取得して、レンダリングを行い、その結果をモバイル用表示画面に表示する。「付随するデータおよびプログラム」とは、例えば、CSSなどのML文書から参照される修飾情報、画像(広告画像も含む)、JavaScriptなどのスクリプト、Flashなどのプラグイン用のデータ、等を含む。レンダリングとは、一般に数値データとして与えられた物体や図形に関する情報をデータ処理によって画像化することであり、本明細書では、HTMLなどのマークアップ言語文書をwebブラウザが読み込んで種々のタグを解釈し、各種の表示要素を表示画面上のどこにどのように表示するかを確定し、表示用の描画データを生成することをいう。レンダリングにはCSSの解析、JavaScriptなどの実行等も含む。
【0030】
変換サーバ150は、好ましくは、リクエストを受けた端末の「一度に処理できるwebデータ量」に基づいて、これに対応する単位量毎に、モバイル用ML文書のデータを区切ることにより、ページ分割を行う。ページ分割の方法としては、任意の既存の手法を用いることができる。例えば、モバイル用ML文書内の各ページの最後に、次のページの内容にリンクした「次のページ」等の名称のアンカータグを設定する。なお、モバイル端末から変換サーバ150へのリクエストにもユーザエージェントが含まれており、変換サーバ150は、受け取ったユーザエージェント情報に基づいて当該モバイル端末の機種IDを判別でき、これによりその機種の仕様情報を確認することができる。そのために、変換サーバ150は、図示しないが、機種IDと機種の仕様情報との対応データを保持している。
【0031】
図2は、本発明における変換サーバ150の基本概念を説明するための図である。変換サーバ150は、従来のwebブラウザのブラウザエンジンと同等の機能を有するブラウザエンジン20と、変換処理部161とを含む。ブラウザエンジン20は、HTMLファイルのようなPC用ML文書10を読み込んで、レンダリングを行う。その結果として得られる、予め想定されている標準的な規定のサイズ(例えば縦600画素×横800画素)のPC表示画面上に配置される表示要素としての各パーツおよびその親子関係の情報である描画ドキュメントツリーや、そのパーツの占有領域(ブロック)の配置座標情報を変換処理部161へ伝える。変換処理部161は、パーツの親子関係や配置座標情報に基づいて、パーツの配置をモバイル端末での表示に適したモバイル用ML文書(例えばcHTML文書)を生成する。
【0032】
図3は、図2に示したブラウザエンジン20の内部構成を示す。ブラウザエンジン20は、パーサ21、ページメーカ23、およびフォーマッタ25の各機能を有する。パーサ21は、表示対象のマークアップ言語(ML)文書10の論理的な構造を解釈し、その構造に関するドキュメントツリー22を生成する。ページメーカ23は、ドキュメントツリー22を基に、各タグで決められた表現形式(block, inline, table, list, itemなど)の情報を含むレイアウトツリー24を生成する。このレイアウトツリー24は、block, inline, tableなどがどのような順番に存在しているかを表している。但し、レイアウトツリー24は、まだ、これらの要素が画面のどこにどのような幅と高さで表示されるか、文字列がどこで折り返されるか、等のレイアウトに関する情報までは含んでいない。フォーマッタ25は、レイアウトツリー24を基に、既知の表示画面幅などの実際の表示画面に関する情報を用いてレイアウトを行う。すなわち、レイアウトツリー24を実際の表示画面に配置していき、文字の折り返しや、画面上の位置、幅、高さを決定する。この段階で、描画ドキュメントツリー(レンダリングツリーともいう)26が生成される。本実施の形態では、描画ドキュメントツリー26には各パーツのブロックの対角座標を含めている。
【0033】
図4に、本実施の形態における変換サーバ150の機能構成例を示す。
【0034】
トランスコーダエンジン160は、変換サーバ150の中枢部であり、ブラウザエンジン20と変換処理部161とを含む。ブラウザエンジン20の構成及び機能については上述したとおりである。変換処理部161は、ブラウザエンジン20の処理結果を用いてPC用ML文書をモバイル用ML文書に変換する処理を行う部位である。この具体的な処理手順については後述する。
【0035】
本発明を用いれば、コンテンツプロバイダはPC用webサイトとは別途にモバイル向けのwebサイトをつくりこむ手間を省くことができる。
【0036】
コンテンツデータ内部キャッシュ管理部158は、変換前のwebページのデータ(ML文書、JavaScript、CSS、Cookie、画像等)を一時的に保存するための装置である。
【0037】
コンテンツ取得情報内部キャッシュ管理部157は、キャッシュのメタ情報として、各データの有効期限、対応URLなどの情報を一時的に保存するための装置である。
【0038】
セッション管理部152は、webサイトにアクセスした時にセッションを管理するための装置である。ユーザが継続的にそのサイトを使えるように,そのユーザの状態をページに埋め込むことがwebの世界ではしばしばある。埋め込む場所はURLクエリ内やCookie内である。このような動作はセッションと呼ばれる。
【0039】
トランスコーダフロントエンド162は、HTML埋め込み型のサーバサイド・スクリプト言語を用いてCGI(Common Gateway Interface:コモン・ゲートウェイ・インタフェース)のような機能を実現するサーバサイド・スクリプト処理部である。CGIとは、webサーバ上でユーザプログラムを動作させるための仕組みであり、そのユーザプログラムがサーバサイド・スクリプトである。トランスコーダフロントエンド162は、端末においてユーザが何かをクリックしたり、フォームで何かを送信したときに、それに基づいてプログラムを実行し、新たなMLの記述を生成してブラウザに対して送信する。スクリプト言語としては本実施の形態ではPHP(PHP: Hypertext Preprocessor)を使用しているが、これに限るものではない。
【0040】
変換結果キャッシュ管理部156は、変換処理部161での変換結果であるモバイル用ML文書を一時的に保存する装置である。
【0041】
httpd(Hyper Text Transfer Protocol Daemon)154はhttpデーモンと呼ばれるwebサーバのプログラムであり、ユーザからの要求に応じてサーバ内に蓄積されたコンテンツを送信したり、サーバサイド・スクリプトを起動したりするためのものである。
【0042】
なお、変換サーバ150のハードウェア構成は特に示さないが、CPU、主記憶装置、外部記憶装置、通信装置、各種入出力装置、等、既存のハードウェア構成により実現される。
【0043】
以下、本実施の形態における変換サーバ150の動作を、具体的なwebページ例を示して説明する。
【0044】
図5は出願人のホームページの概略画面を示している。このwebページを構成するHTML文書の概略構成を図6に示す。
【0045】
HTML文書は各種のタグを含むテキストで記述されており、webページを構成する表示要素は主として「ブロック要素」と「インライン要素」に分類される。
【0046】
ブロック要素は、文書の骨組みとなる要素で、例えば見出しや段落などである。このタイプの要素は与えられた領域の横幅一杯の領域を持ち、要素の前後には自動的に改行が入る。ブラウザの画面上で、ブロック要素の占有する領域は、文字列や画像等のある部分だけではなく、それらを含む矩形の(ブロック状の)領域である。具体的には、見出し(h1〜h6)、(意味)段落(p)、章/意味段落(div)、区切り線(hr)、引用(blockquote)、テーブル(table)等がブロック要素である。リスト(ul/ol/dl)及びその項目(li/dt/dd)もブロック要素である。
【0047】
インライン要素は、文章中の一部として扱われる要素(例えばリンクや文字の強調など)である。このタイプの要素は行の一部として扱われるので、要素の前後には改行は入らない。具体的には、リンク/アンカー(a)、語・文節・文単位の強調(em/strong)、プログラムの出力結果(samp)、プログラムのソースコード(code)、引用元の明示(cite)、強制改行(br)等がインライン要素である。画像(img)もインライン要素に含まれる。
【0048】
ブロック要素の中には、別のブロック要素やインライン要素が入り得る。インライン要素の中には、別のインライン要素が入りうる。インライン要素の中には、ブロック要素は入らない。
【0049】
多くのタグは開始タグ<>と終了タグ</>から構成される。開始タグと終了タグの間の他のタグが含まれる、すなわち入れ子状態となりうる。入れ子関係にあるタグのうち外側のタグが「親」、内側がタグが「子」となる。
【0050】
上述したように、ブラウザエンジン20はHTML文書を読み込んで、解釈し、レンダリングを行う。その結果として、図7に示すように、ブロック要素等の表示要素(すなわちパーツ)毎にその表示位置(配置座標)およびサイズ(矩形占有領域の対角座標)が求められる。図8にその様子をツリー形式で模式的に示す。この図における「ブロック」は図7に示した各表示要素のブロックに対応している。各ブロックには、(X1,Y1,X2,Y2)の形式の対角座標が定められている。(X1,Y1)は矩形状のブロックの左上角の座標であり、(X2,Y2)はブロックの右下角の座標である。
【0051】
図8の描画ドキュメントツリーは、CSSを解釈した後の結果に基づくものである。HTML文書中にJavaScriptが含まれ、それにより表示要素が決定される場合には、その実行結果をも反映したものである。例えば、図6の記述200内のJavaScriptにおいて、予め用意された複数の画像のなかからランダムに選択した画像を表示するという処理が行われる場合、図7の「画像A」はその選択された画像がwebページ上に実際に表示された状態に相当する。CSSでは座標を指定してブロックを配置する場合があり、そのような場合にはCSSを適用した結果のブロックの位置が考慮される。また、CSSのコメント行も表示対象から確実に削除される。
【0052】
変換処理部161は、パーツの親子関係や座標情報に基づいて、パーツの配置をモバイル端末での表示に適して組み替える。この組み替えに際して、モバイル端末の表示画面では水平方向のスクロールは行わなくて済むようなwebページ構成が望ましい。そこで、複数のパーツを画面の横方向(水平方向)に羅列すると、モバイル端末の表示画面からはみ出してしまうような場合には、複数のパーツの横並びを縦並びに変更する。例えば、図7の上部のブロック211、ブロック221〜229、ブロック231〜237は、図9の位置300に示すように縦並びに配置を変更する。図9は図7のPC用webページがモバイル用に変換されてモバイル画面上に表示される様子を模式的に示した図である。実際には、図9の内容の全体がモバイル画面内に収まるわけではなく、縦方向にはページ送りおよび/またはスクロール操作により隠れた部分をモバイル画面上に移動させて見ることができる。横方向についてはページの幅全体がモバイル画面に収まることを想定している。
【0053】
一つの画像(イメージ)の横幅がモバイル表示画面サイズより大きいものについては、その横幅がモバイル表示画面サイズに収まるように、全体の画像サイズを縮小するよう最適化する。図7の画像241(画像A)は最適化された画像241’(画像A’)として、図9の位置300の直下の位置340に配置されている。
【0054】
図7のブロック251〜256は元々縦並びで、すべてモバイル表示画面サイズに収まるため、図9の位置340の直下の位置350に配置している。
図7の画像のブロック257は、その横幅がモバイル表示画面サイズに収まるので、図9の位置350の直下の位置355に配置している。
図7のブロック261〜265についても、同様に、図9の位置355の直下の位置360に配置している。
図7のブロック271〜272については、同様に、図9の位置360の直下の位置(図示省略)に配置する。
図7の画像のブロック281についてはその横幅がモバイル表示画面サイズに収まるので、図9のブロック272の直下の位置に配置する。なお、画像の配置位置はその親のブロック要素の座標により決まる。画像を縮小または拡大する場合にはその画像サイズを参照する。
図7のブロック291についてはブロック281の直下の位置に配置する。このブロック291は縦横比が大きいので後述する「折り畳み」を行うことができるが、折り畳んでも情報量が変わらないので、ここでは折り畳まないものとしている。モバイル表示画面の横幅より文字列が長い場合は、ブラウザの機能により折り返して表示される。
図7のブロック292〜295については、全体としてモバイル表示画面サイズに収まるので、ブロック291の直下の位置に配置する。但し、ブロック292〜295を縦並びに配置替えしてもよい。
【0055】
複数のパーツをモバイル表示画面用に上から順に配置していく際に、PC用画面上でのパーツをどのような順でピックアップしていくかについては、予め定めた規則に従う。上述した例では、PC画面上の複数のパーツは、最上部の左から右に順次選択していき、右端に達したらその下に移動して、左から右に順次選択していく。
【0056】
ただし、複数の小パーツが、モバイル画面の横幅に収まる一つの大ブロックに含まれる場合にはそれらの小パーツを一体として扱う。(図7のブロック252〜256等)
【0057】
同じ横幅サイズで、縦並びに並んでいる複数のパーツはそれらの上から下まで選択したあと、右へ移動する。(ブロック251、(252〜256)、257等)
【0058】
なお、このような規則はあくまで例示であり、本発明はこれに限定されるものではない。
【0059】
ところで、PC用webページにおいていわゆるナビゲーションと呼ばれるような横長の記述部(図7のブロック231〜237)は図9から判るように、初期状態でモバイル画面で縦に並べるとモバイル画面の大半を占有して煩わしく感じられる場合がある。
【0060】
そこで、図9の最上部に示すように、モバイル画面上に[Close this section]という指示部を設けて、そのマイナスマーク210aをモバイル端末のユーザが指示すると、縦並びになっている複数の要素の一群をまとめて1つの要素に代表させる仕組みを設ける。この仕組みを「折り畳み」と呼ぶ。一つの要素であっても、大サイズの場合により小さい要素で代替表示することも可能である。このような処理も折り畳みに含まれる。
【0061】
図10は、複数の要素に対応するブロック211〜237を1つの要素であるブロック211に代表させて折り畳んだ状態を示している。この際、モバイル画面上でブロック211の傍にプラスマーク210bの指示部を設けて、モバイル端末のユーザがこれを指示すると、再度図9の表示状態に戻る(すなわち折り畳まれた複数の表示要素を縦並びの状態に復元)ようにする。
【0062】
マイナスマーク210aやプラスマーク210bの指示部の仕組みは通常のwebブラウザの機能でサポートされているものではないので、この機能は上述したCGIで実現することができる。
【0063】
図6に示した例では、HTML埋め込み型のサーバサイド・スクリプト言語であるPHPを用いてCGIを実現する例を示している。PHPスクリプトは、webサーバ上で動作し、webサーバ上の文書が要求されるたびに、この文書に記述されたPHPのプログラムを実行し、その結果をブラウザに対して送信する。
【0064】
折り畳みのための具体的なPHPスクリプトの具体的な記述例としては、特に具体的に示さないが、PHPスクリプトの実行する処理は、モバイル端末からの、折り畳み後の状態からのリクエストに対しては折り畳み前(非折り畳み)の状態に戻し、折り畳み前の状態からのリクエストに対しては折り畳み後の状態に戻す、という処理である。
【0065】
なお、デフォルトとして図9が最初に表示されるものとして説明したが、図10の方が図9より先に表示される形態であってもよい。いずれをデフォルトとするかはモバイル端末からのリクエストにおいてURLのクエリで指定することができる。
【0066】
図11は、変換サーバ150の処理手順を示したフローチャートである。
【0067】
まず、ユーザ端末からのwebページのリクエストを受領する(S11)。この際、リクエストに含まれるユーザエージェント情報に基づいて当該ユーザ端末の仕様を確認する(S12)。
【0068】
ついで、変換サーバ150のブラウザエンジン20が変換対照のPC用ML文書を、指定されたwebサーバに要求して読み込む(S13)。そのPC用ML文書がキャッシュされている場合には、キャッシュ部から読み込みを行う。
【0069】
そこで、PC用ML文書のレンダリングを行う(S14)。このレンダリングに際して、HTMLの解析のみならず、CSSの解析およびJavaScript等の実行も含む。その結果、描画ドキュメントツリーが確定される(S15)。すなわち、PC用表示画面上に表示されるべき各パーツの位置およびサイズが、各ブロックの対角座標によって定まる。
【0070】
変換サーバ150の変換処理部161は、描画ドキュメントツリーの内容を読み込んで、上述したような予め定められた規則にしたがって各パーツの再配置を行う(S16)。この再配置の際には、パーツの移動、カット、折り畳み、追加等を含む。「追加」は任意の新たな要素を追加するものであり、例えば、広告の追加が考えられる。さらに必要に応じて、上述したようなイメージ(画像)を縮小する等の最適化を行う(S17)。さらに、当該端末に応じたページ分割を行う(S18)。S16〜S18の処理に際して変換処理部161は、ユーザ端末の仕様を参照し、その仕様を処理に反映させる。
【0071】
このようにして、モバイル用ML文書を所定の記憶領域に書き出す(S19)。
【0072】
図12に、図11のステップS16内の「折り畳み」処理の処理例を示す。
【0073】
まず、複数のブロックのサイズおよび配置が所定の条件を満足するかどうかをチェックする(S21)。所定の条件とは、例えば高さが所定値以下のブロックが横方向に所定個以上並び、モバイル用に変換した場合に所定個以上の縦並びになるような場合である。あるいは、1個のブロックであっても、その面積が所定値以上となるような場合である。
【0074】
所定の条件が満足されなければ、図12の処理を終了する。所定の条件が満足されれば、それらの複数のブロックの先頭ブロックまたは新たに設けたブロック(新設ブロック)でそれらの全ブロックを代替し、ユーザの指示で全ブロックを表示するためのCGI用メタ情報を生成してモバイル用ML文書に追加する(S22)。この際、包含されたブロックの記述はモバイル用ML文書から削除する。また、対応するサーバ・サイドスクリプトを生成して、変換サーバ側に保持する。この処理は、閉じた状態をデフォルトとした場合を想定している。開いた状態をデフォルトとした場合には、所定のブロックをユーザの指示により閉じるためのCGI用メタ情報を生成してモバイル用ML文書に追加する。同時に対応するサーバ・サイドスクリプトを生成して、変換サーバ側に保持する。
【0075】
そのようなCGI用メタ情報はモバイル用ML文書内で、例えば次のような形式で記述される。
<!−−section=1,summary=”<img src=”...gif”>...”−−>
【0076】
sectionは変換サーバに対する折り畳みの指示を表し、section=1は折り畳みの通し番号を示すセクション番号を表す。summary=の後にモバイル用ML文書の自動生成時にML文書に付加するデータが続く。
【0077】
他方、このようなCGI用メタ情報に対応して、変換サーバ側に用意され、変換サーバで実行されるスクリプトは、例えば上述したようなPHPスクリプトである。PHPスクリプトは、開状態または閉状態に応じて、上述したマイナスマーク210aやプラスマーク210b(例えばイメージデータ)にリンクを設定したモバイル用ML文書を出力する。
【0078】
以上、本発明の好適な実施の形態について説明したが、上記で言及した以外にも種々の変形、変更を行うことが可能である。
【0079】
例えば、変換サーバは1台としたが、複数台設けて、負荷を分散するようにしてもよい。
【0080】
本発明のマークアップ言語文書変換装置は、通信ネットワーク上の変換サーバとして説明したが、通信ネットワークに接続されない単体の装置であってもよい。あるいは、ホームサーバ(ホームゲートウェイ)に搭載され、ホームネットワークでつながれた他の家電機器などに、本発明のマークアップ言語文書変換の機能を適用することも可能である。
【0081】
webブラウザ上で動作するスクリプトとしてJavaScriptのみに言及したが、ECMAScript等の他のスクリプトにも本発明は適用可能である。
【図面の簡単な説明】
【0082】
【図1】本発明の実施の形態におけるシステム全体の概略の構成を示す図である。
【図2】本発明の発明における変換サーバの基本概念を説明するための図である。
【図3】図2に示したブラウザ内の主要機能部としてのブラウザエンジンの内部構成を示す図である。
【図4】本発明の実施の形態における変換サーバの機能構成例を示す図である。
【図5】出願人のホームページの概略画面を示した図である。
【図6】図5のwebページを構成するHTML文書の概略構成を示す図である。
【図7】ブロック要素等の表示要素(すなわちパーツ)毎にその表示位置およびサイズ(矩形占有領域の対角座標)が求めることの説明図である。
【図8】図7の各表示要素の様子をツリー形式で模式的に示した図である。
【図9】図7の各表示要素の配置換え結果の説明図である。
【図10】複数の要素に対応するブロックを1つの要素であるブロックに代表させて折り畳んだ様子を示した図である。
【図11】変換サーバの処理手順を示したフローチャートである。
【図12】図11のステップS16内の「折り畳み」処理の処理例を示すフローチャートである。
【符号の説明】
【0083】
10…文書、20…ブラウザ、21…パーサ、22…ドキュメントツリー、23…ページメーカ、24…レイアウトツリー、25…フォーマッタ、26…描画ドキュメントツリー、110…モバイル端末、120…webサーバ、130…PC用webサーバ、140…通信ネットワーク、150…変換サーバ、152…セッション管理部、156…変換結果キャッシュ管理部、157…コンテンツ取得情報内部キャッシュ管理部、158…コンテンツデータ内部キャッシュ管理部、160…トランスコーダエンジン、161…変換処理部、162…トランスコーダフロントエンド、210a…マイナスマーク、210b…プラスマーク、211…ブロック、241…画像

【特許請求の範囲】
【請求項1】
第1のマークアップ言語で記述された第1マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とを取得する手段と、
取得された第1マークアップ言語文書と前記データおよびプログラムの少なくとも一方とをレンダリングし、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認する手段と、
確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第2のマークアップ言語で記述された第2マークアップ言語文書に変換する手段と、
変換された第2マークアップ言語文書を記憶する手段と
を備えたことを特徴とするマークアップ言語文書変換装置。
【請求項2】
前記第1のマークアップ言語はPC用のマークアップ言語であり、前記第2のマークアップ言語は非PC用のマークアップ言語であり、前記変換は個々の非PC端末の仕様に対応して行われる請求項1に記載のマークアップ言語文書変換装置。
【請求項3】
第1のマークアップ言語で記述された第1マークアップ言語文書のリクエストを受けるステップと、
リクエストされた第1のマークアップ言語で記述された第1マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とを取得するステップと、
取得された第1マークアップ言語文書および前記データおよびプログラムの少なくとも一方をレンダリングするステップと、
規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認するステップと、
確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第2のマークアップ言語で記述された第2マークアップ言語文書に変換するステップと
を備えたことを特徴とするマークアップ言語文書変換方法。
【請求項4】
前記第1のマークアップ言語はPC用のマークアップ言語であり、前記第2のマークアップ言語は非PC用のマークアップ言語であり、前記変換は個々の非PC端末の仕様に対応して行われる請求項3に記載のマークアップ言語文書変換方法。
【請求項5】
第1のマークアップ言語で記述された第1マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とをレンダリングするステップと、
規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認するステップと、
確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第2のマークアップ言語で記述された第2マークアップ言語文書に変換するステップと
をコンピュータに実行させることを特徴とするマークアップ言語文書変換プログラム。
【請求項6】
前記第1のマークアップ言語はPC用のマークアップ言語であり、前記第2のマークアップ言語は非PC用のマークアップ言語であり、前記変換は個々の非PC端末の仕様に対応して行われる請求項3に記載のマークアップ言語文書変換プログラム。
【請求項7】
所定の条件に基づいて横並びの複数の表示要素を縦並びに変換し、かつ、それらの複数の表示要素を折り畳むステップをさらに含む請求項3に記載のマークアップ言語文書変換プログラム。
【請求項8】
折り畳み状態を非折り畳み状態に切り替える、または、非折り畳み状態を折り畳み状態に切り替えるための記述を前記第2マークアップ言語文書内に含める請求項7に記載のマークアップ言語文書変換プログラム。
【請求項9】
前記変換するステップは、前記非PC端末の仕様に応じて前記第2マークアップ言語文書のページ分割を行うステップを含む請求項5に記載のマークアップ言語文書変換プログラム。
【請求項10】
通信ネットワークで互いに接続される端末とマークアップ言語文書変換装置とを含むマークアップ言語文書変換システムであって、
端末は、
マークアップ言語文書変換装置に対して、第1のマークアップ言語で記述された第1マークアップ言語文書を指定して、その文書を自端末に対応した第2のマークアップ言語で記述された第2マークアップ言語文書へ変換して返送することを要求する手段と、
マークアップ言語文書変換装置から第2マークアップ言語文書を受信する手段と、
受信した第2マークアップ言語文書を表示する手段とを備え、
マークアップ言語文書変換装置は、
端末からの要求に応じて当該第1マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とを取得する手段と、
取得された第1マークアップ言語文書と前記データおよびプログラムの少なくとも一方とをレンダリングし、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認する手段と、
確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第2のマークアップ言語で記述された第2マークアップ言語文書に変換する手段と、
変換された第2マークアップ言語文書を端末へ返送する手段とを備えた
ことを特徴とするマークアップ言語文書変換システム。
【請求項11】
第1マークアップ言語文書を蓄積したwebサーバをさらに備え、前記マークアップ言語文書変換装置は、第1マークアップ言語文書を蓄積したwebサーバから当該第1マークアップ言語文書を取得する請求項10に記載のマークアップ言語文書変換システム。
【請求項12】
前記第1のマークアップ言語はPC用のマークアップ言語であり、前記第2のマークアップ言語は非PC用のマークアップ言語であり、前記変換は個々の非PC端末の仕様に対応して行われる請求項11に記載のマークアップ言語文書変換システム。

【図2】
image rotate

【図3】
image rotate

【図6】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図1】
image rotate

【図4】
image rotate

【図5】
image rotate

【図7】
image rotate


【公開番号】特開2009−163326(P2009−163326A)
【公開日】平成21年7月23日(2009.7.23)
【国際特許分類】
【出願番号】特願2007−339878(P2007−339878)
【出願日】平成19年12月28日(2007.12.28)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り (1)掲載年月日:平成19年10月16日 掲載アドレス:http://www.jp.access−company.com/news/press/2007/071016_1.html (2)掲載年月日:平成19年10月16日 掲載アドレス:http://www.jp.access−company.com/products/solutions/transcoder.html (3)掲載年月日:平成19年10月16日 掲載アドレス:http://www.jp.access−company.com/products/solutions/pdf/NFT_2007_11.pdf (4)掲載年月日:平成19年10月16日 掲載アドレス:http://www.access−company.com/news/press/ACCESS/20071016_transcoder.html (5)掲載年月日:平成19年10月22日 掲載アドレス:http://cn.access−company.com/news/press/Current/20071022_transcoder.html
【出願人】(591112522)株式会社ACCESS (91)
【Fターム(参考)】