(57)【要約】【課題】ユーザが享受できるサービスの快適性を損なうことなく転送するデータ量を低減することが可能なＸＭＬ文書配信システムおよびＸＭＬ文書配信方法を提供する。【解決手段】ＸＭＬ文書配信システム１は、ネットワーク３００を介してＸＭＬ書を配信可能なＸＭＬ文書配信サーバ１００と、ＸＭＬ文書を受信可能な受信端末２００とを備える。ＸＭＬ文書配信サーバ１００は、ＸＭＬ文書１０に含まれるタグなどの特定の文字列を制御コードなどの特定のコードに変換してコンパイル済ＸＭＬ文書１１を作成するコンパイラ１１０を含む。受信端末２００は、ネットワーク３００を介して受信したコンパイル済ＸＭＬ文書１１を解釈してコンパイル済ＸＭＬ文書１１に含まれるデータを取得するコンパイル済ＸＭＬパーサ２１０を含む。【選択図】        図１
2010152650.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してＸＭＬ文書を配信可能なサーバと前記ＸＭＬ文書を受信可能な受信端末とを備えたＸＭＬ文書配信システムであって、
前記サーバは、ＸＭＬ文書に含まれる特定の文字列を特定のコードに変換してコンパイル済ＸＭＬ文書を作成するコンパイラを含み、
前記受信端末は、前記ネットワークを介して受信した前記コンパイル済ＸＭＬ文書を解釈して該コンパイル済ＸＭＬ文書内に含まれるデータを取得するパーサを含むことを特徴とするＸＭＬ文書配信システム。
【請求項２】
前記特定のコードは、制御コードまたは複数の文字コードよりなる文字コード列であることを特徴とする請求項１記載のＸＭＬ文書配信システム。
【請求項３】
前記特定の文字列は、タグ、スペースおよび改行のうち少なくとも１つを含むことを特徴とする請求項１または２記載のＸＭＬ文書配信システム。
【請求項４】
前記受信端末は、前記ＸＭＬ文書についてのスキーマを保持し、
前記パーサは、前記スキーマを用いて前記コンパイル済ＸＭＬ文書を解釈することを特徴とする請求項１〜３のいずれか一つに記載のＸＭＬ文書配信システム。
【請求項５】
前記コンパイラは、予め定められた文法に則って前記ＸＭＬ文書に含まれる前記特定の文字列を前記特定のコードに変換し、
前記パーサは、前記文法に則って前記コンパイル済ＸＭＬ文書を解釈することを特徴とする請求項１〜４のいずれか一つに記載のＸＭＬ文書配信システム。
【請求項６】
前記文法は、前記ＸＭＬ文書中における重複する記述を引用するルールを含むことを特徴とする請求項５記載のＸＭＬ文書配信システム。
【請求項７】
ネットワークを介してＸＭＬ文書を配信可能なサーバであって、
前記ＸＭＬ文書に含まれる特定の文字列を特定のコードに変換してコンパイル済ＸＭＬ文書を作成するコンパイラを含み、
前記コンパイル済ＸＭＬ文書を前記ネットワークを介して配信することを特徴とするサーバ。
【請求項８】
前記特定のコードは、制御コードまたは複数の文字コードよりなる文字コード列であることを特徴とする請求項７記載のサーバ。
【請求項９】
前記特定の文字列は、タグ、スペースおよび改行のうち少なくとも１つを含むことを特徴とする請求項７または８記載のサーバ。
【請求項１０】
前記コンパイラは、予め定められた文法に則って前記ＸＭＬ文書に含まれる前記特定の文字列を前記特定のコードに変換することを特徴とする請求項７〜９のいずれか一つに記載のサーバ。
【請求項１１】
前記文法は、前記ＸＭＬ文書中における重複する記述を引用するルールを含むことを特徴とする請求項１０記載のサーバ。
【請求項１２】
ＸＭＬ文書に含まれる特定の文字列を特定のコードに変換して作成したコンパイル済ＸＭＬ文書をネットワークを介して配信するサーバから該コンパイル済ＸＭＬ文書を受信可能な受信端末であって、
前記ネットワークを介して受信した前記コンパイル済ＸＭＬ文書を解釈して該コンパイル済ＸＭＬ文書に含まれるデータを取得するパーサを含むことを特徴とする受信端末。
【請求項１３】
前記特定のコードは、制御コードまたは複数の文字コードよりなる文字コード列であることを特徴とする請求項１２記載の受信端末。
【請求項１４】
前記特定の文字列は、タグ、スペースおよび改行のうち少なくとも１つを含むことを特徴とする請求項１２または１３記載の受信端末。
【請求項１５】
前記ＸＭＬ文書についてのスキーマを保持するスキーマ保持部を備え、
前記パーサは、前記スキーマを用いて前記コンパイル済ＸＭＬ文書を解釈することを特徴とする請求項１２〜１４のいずれか一つに記載の受信端末。
【請求項１６】
前記コンパイル済ＸＭＬ文書は、予め定められた文法に則って前記特定の文字列が前記特定のコードに変換されて記述されており、
前記パーサは、前記文法に則って前記コンパイル済ＸＭＬ文書を解釈することを特徴とする請求項１２〜１５のいずれか一つに記載の受信端末。
【請求項１７】
前記文法は、前記ＸＭＬ文書中における重複する記述を引用するルールを含むことを特徴とする請求項１６記載の受信端末。
【請求項１８】
ネットワークを介してＸＭＬ文書を配信するＸＭＬ文書配信方法であって、
配信側においてＸＭＬ文書に含まれる特定の文字列を特定のコードに変換してコンパイル済ＸＭＬ文書を作成するコンパイルステップと、
受信側において前記コンパイル済ＸＭＬ文書を解釈して該コンパイル済ＸＭＬ文書に含まれるデータを取得する解釈ステップと、
を含むことを特徴とするＸＭＬ文書配信方法。
【請求項１９】
前記特定のコードは、制御コードまたは複数の文字コードよりなる文字コード列であることを特徴とする請求項１８記載のＸＭＬ文書配信方法。
【請求項２０】
前記特定の文字列は、タグ、スペースおよび改行のうち少なくとも１つを含むことを特徴とする請求項１８または１９記載のＸＭＬ文書配信方法。
【請求項２１】
前記受信側は、前記ＸＭＬ文書についてのスキーマを保持しており、
前記解釈ステップは、前記スキーマを用いてコンパイル済ＸＭＬ文書を解釈することを特徴とする請求項１８〜２０のいずれか一つに記載のＸＭＬ文書配信方法。
【請求項２２】
前記コンパイルステップは、予め定められた文法に則って前記ＸＭＬ文書に含まれる前記特定の文字列を前記特定のコードに変換し、
前記解釈ステップは、前記文法に則って前記コンパイル済ＸＭＬ文書を解釈することを特徴とする請求項１８〜２１のいずれか一つに記載のＸＭＬ文書配信方法。
【請求項２３】
前記文法は、前記ＸＭＬ文書中における重複する記述を引用するルールを含むことを特徴とする請求項２２記載のＸＭＬ文書配信方法。
【請求項２４】
前記受信側が前記配信側へ前記コンパイル済ＸＭＬ文書の配信を要求する配信要求ステップを含み、
前記コンパイルステップは、前記コンパイル済ＸＭＬ文書の配信が要求された場合、前記ＸＭＬ文書に含まれる前記特定の文字列を前記特定のコードに変換して前記コンパイル済ＸＭＬ文書を作成することを特徴とする請求項１８〜２３のいずれか一つに記載のＸＭＬ文書配信方法。
【請求項２５】
ネットワークを介してＸＭＬ文書を配信可能なサーバを機能させるためのプログラムであって、
ＸＭＬ文書に含まれる特定の文字列を特定のコードに変換してコンパイル済ＸＭＬ文書を作成するコンパイル処理を前記サーバに実行させるためのプログラム。
【請求項２６】
ＸＭＬ文書に含まれる特定の文字列を特定のコードに変換して作成したコンパイル済ＸＭＬ文書をネットワークを介して配信するサーバから該コンパイル済ＸＭＬ文書を受信可能な受信端末を機能させるためのプログラムであって、
前記ネットワークを介して前記サーバから受信した前記コンパイル済ＸＭＬ文書を解釈して該コンパイル済ＸＭＬ文書に含まれるデータを取得する解釈処理を前記受信端末に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＸＭＬ文書配信システム、そのサーバ、その受信端末、ＸＭＬ文書配信方法およびそのプログラムに関し、特に移動体通信などの比較的狭い帯域の通信方式を利用するＸＭＬ文書配信システム、そのサーバ、その受信端末、ＸＭＬ文書配信方法およびそのプログラムに関する。
【背景技術】
【０００２】
近年、文書やその他のデータの意味や構造を記述するためのマークアップ言語として、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）が存在する。ＸＭＬは、ＳＧＭＬ（Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）のサブセットとして開発された言語であり、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などと比べて利用者が自由にタグを定義できるなどの特徴を備えていることから、近年では、特にデジタルコンテンツ配信分野で注目を集めている（例えば以下に示す特許文献１参照）。
【０００３】
ただし、ＸＭＬはその仕様が膨大で複雑である。このため、ＸＭＬで記述された文書が冗長になってしまい、結果、ＸＭＬで記述された文書のデータ量が大きくなってしまう。このようなことから、ＸＭＬは、例えば移動体通信などのスループットが比較的小さい狭帯域通信には適さないという問題が存在した。
【０００４】
そこで従来では、冗長に記述されたＸＭＬ文書を符号化することで、転送するＸＭＬ文書のデータ量を低減する技術が提案されている（例えば特許文献２参照）。
【０００５】
【特許文献１】特表２００７−５２３４１７号公報
【特許文献２】特表２００４−５１８２３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＸＭＬ文書を符号化して転送する技術では、受信側の情報処理端末に符号化されたＸＭＬ文書を復号化するための機能が必要になる。このため、例えば携帯電話やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）などのような比較的情報処理能力が小さい情報処理装置を受信端末に用いる場合、受信端末に与える負荷が大きくなり、結果として、ユーザへ提供するデジタルコンテンツ配信サービスの快適性が損なわれるという問題が存在した。
【０００７】
そこで本発明は、上記の問題に鑑みてなされたものであり、ユーザが享受できるサービスの快適性を損なうことなく転送するデータ量を低減することが可能なＸＭＬ文書配信システム、そのサーバ、その受信端末、ＸＭＬ文書配信方法およびそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
かかる目的を達成するために、本発明によるＸＭＬ文書配信システムは、ネットワークを介してＸＭＬ文書を配信可能なサーバと前記ＸＭＬ文書を受信可能な受信端末とを備えたＸＭＬ文書配信システムであって、前記サーバが、ＸＭＬ文書に含まれる特定の文字列を特定のコードに変換してコンパイル済ＸＭＬ文書を作成するコンパイラを含み、前記受信端末が、前記ネットワークを介して受信した前記コンパイル済ＸＭＬ文書を解釈して該コンパイル済ＸＭＬ文書内に含まれるデータを取得するパーサを含むことを特徴としている。
【０００９】
上記した本発明によるＸＭＬ文書配信システムは、前記特定のコードが、制御コードまたは複数の文字コードよりなる文字コード列であることを特徴としている。
【００１０】
上記した本発明によるＸＭＬ文書配信システムは、前記特定の文字列が、タグ、スペースおよび改行のうち少なくとも１つを含むことを特徴としている。
【００１１】
上記した本発明によるＸＭＬ文書配信システムは、前記受信端末が、前記ＸＭＬ文書についてのスキーマを保持し、前記パーサが、前記スキーマを用いて前記コンパイル済ＸＭＬ文書を解釈することを特徴としている。
【００１２】
上記した本発明によるＸＭＬ文書配信システムは、前記コンパイラが、予め定められた文法に則って前記ＸＭＬ文書に含まれる前記特定の文字列を前記特定のコードに変換し、前記パーサが、前記文法に則って前記コンパイル済ＸＭＬ文書を解釈することを特徴としている。
【００１３】
上記した本発明によるＸＭＬ文書配信システムは、前記文法が、前記ＸＭＬ文書中における重複する記述を引用するルールを含むことを特徴としている。
【００１４】
また、本発明によるサーバは、ネットワークを介してＸＭＬ文書を配信可能なサーバであって、前記ＸＭＬ文書に含まれる特定の文字列を特定のコードに変換してコンパイル済ＸＭＬ文書を作成するコンパイラを含み、前記コンパイル済ＸＭＬ文書を前記ネットワークを介して配信することを特徴としている。
【００１５】
上記した本発明によるサーバは、前記特定のコードが、制御コードまたは複数の文字コードよりなる文字コード列であることを特徴としている。
【００１６】
上記した本発明によるサーバは、前記特定の文字列が、タグ、スペースおよび改行のうち少なくとも１つを含むことを特徴としている。
【００１７】
上記した本発明によるサーバは、前記コンパイラが、予め定められた文法に則って前記ＸＭＬ文書に含まれる前記特定の文字列を前記特定のコードに変換することを特徴としている。
【００１８】
上記した本発明によるサーバは、前記文法が、前記ＸＭＬ文書中における重複する記述を引用するルールを含むことを特徴としている。
【００１９】
また、本発明による受信端末は、ＸＭＬ文書に含まれる特定の文字列を特定のコードに変換して作成したコンパイル済ＸＭＬ文書をネットワークを介して配信するサーバから該コンパイル済ＸＭＬ文書を受信可能な受信端末であって、前記ネットワークを介して受信した前記コンパイル済ＸＭＬ文書を解釈して該コンパイル済ＸＭＬ文書に含まれるデータを取得するパーサを含むことを特徴としている。
【００２０】
上記した本発明による受信端末は、前記特定のコードが、制御コードまたは複数の文字コードよりなる文字コード列であることを特徴としている。
【００２１】
上記した本発明による受信端末は、前記特定の文字列が、タグ、スペースおよび改行のうち少なくとも１つを含むことを特徴としている。
【００２２】
上記した本発明による受信端末は、前記ＸＭＬ文書についてのスキーマを保持するスキーマ保持部を備え、前記パーサが、前記スキーマを用いて前記コンパイル済ＸＭＬ文書を解釈することを特徴としている。
【００２３】
上記した本発明による受信端末は、前記コンパイル済ＸＭＬ文書が、予め定められた文法に則って前記特定の文字列が前記特定のコードに変換されて記述されており、前記パーサが、前記文法に則って前記コンパイル済ＸＭＬ文書を解釈することを特徴としている。
【００２４】
上記した本発明による受信端末は、前記文法が、前記ＸＭＬ文書中における重複する記述を引用するルールを含むことを特徴としている。
【００２５】
また、本発明によるＸＭＬ文書配信方法は、ＸＭＬ文書をネットワークを介して配信するＸＭＬ文書配信方法であって、配信側においてＸＭＬ文書に含まれる特定の文字列を特定のコードに変換してコンパイル済ＸＭＬ文書を作成するコンパイルステップと、受信側において前記コンパイル済ＸＭＬ文書を解釈して該コンパイル済ＸＭＬ文書に含まれるデータを取得する解釈ステップと、を含むことを特徴としている。
【００２６】
上記した本発明によるＸＭＬ文書配信方法は、前記特定のコードが、制御コードまたは複数の文字コードよりなる文字コード列であることを特徴としている。
【００２７】
上記した本発明によるＸＭＬ文書配信方法は、前記特定の文字列が、タグ、スペースおよび改行のうち少なくとも１つを含むことを特徴としている。
【００２８】
上記した本発明によるＸＭＬ文書配信方法は、前記受信側が、前記ＸＭＬ文書についてのスキーマを保持しており、前記解釈ステップが、前記スキーマを用いてコンパイル済ＸＭＬ文書を解釈することを特徴としている。
【００２９】
上記した本発明によるＸＭＬ文書配信方法は、前記コンパイルステップが、予め定められた文法に則って前記ＸＭＬ文書に含まれる前記特定の文字列を前記特定のコードに変換し、前記解釈ステップが、前記文法に則って前記コンパイル済ＸＭＬ文書を解釈することを特徴としている。
【００３０】
上記した本発明によるＸＭＬ文書配信方法は、前記文法が、前記ＸＭＬ文書中における重複する記述を引用するルールを含むことを特徴としている。
【００３１】
上記した本発明によるＸＭＬ文書配信方法は、前記受信側が前記配信側へ前記コンパイル済ＸＭＬ文書の配信を要求する配信要求ステップを含み、前記コンパイルステップが、前記コンパイル済ＸＭＬ文書の配信が要求された場合、前記ＸＭＬ文書に含まれる前記特定の文字列を前記特定のコードに変換して前記コンパイル済ＸＭＬ文書を作成することを特徴としている。
【００３２】
また、本発明によるプログラムは、ネットワークを介してＸＭＬ文書を配信可能なサーバを機能させるためのプログラムであって、ＸＭＬ文書に含まれる特定の文字列を特定のコードに変換してコンパイル済ＸＭＬ文書を作成するコンパイル処理を前記サーバに実行させる。
【００３３】
また、本発明によるプログラムは、ＸＭＬ文書に含まれる特定の文字列を特定のコードに変換して作成したコンパイル済ＸＭＬ文書をネットワークを介して配信するサーバから該コンパイル済ＸＭＬ文書を受信可能な受信端末を機能させるためのプログラムであって、前記ネットワークを介して前記サーバから受信した前記コンパイル済ＸＭＬ文書を解釈して該コンパイル済ＸＭＬ文書に含まれるデータを取得する解釈処理を前記受信端末に実行させる。
【発明の効果】
【００３４】
本発明によれば、ＸＭＬ文書における特定の文字列を特定のコードに変換するため、例えば特定のコードに変換対象の文字列と比べて短いコードを用いることで、配信するＸＭＬ文書のデータ量を低減することが可能となる。また、受信側の端末は特定の文字列が特定のコードに変換されたコンパイル済ＸＭＬ文書をそのまま解釈することが可能なため、受信側でのスループットが低減することを回避することが可能となる。この結果、ユーザが享受できるサービスの快適性を損なうことなく転送するデータ量を低減することが可能なＸＭＬ文書配信システム、そのサーバ、その受信端末、ＸＭＬ文書配信方法およびそのプログラムを実現することができる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明を実施するための最良の形態を図面と共に詳細に説明する。なお、以下の説明において、各図は本発明の内容を理解でき得る程度に位置関係等を概略的に示してあるに過ぎず、従って、本発明は各図で例示された内容のみに限定されるものではない。また、後述において例示する数値は、本発明の好適な例に過ぎず、従って、本発明は例示された数値に限定されるものではない。また、以下に示すＸＭＬ文書配信システムが配信可能なデジタルコンテンツは、ＸＭＬ文書に限ったものではなく、種々のデジタルコンテンツを配信可能なように構成することができる。
【００３６】
（構成）
図１は、本実施の形態によるＸＭＬ文書配信システム１の概略構成を示すブロック図である。図１に示すように、本実施の形態によるＸＭＬ文書配信システム１は、ｉアプリ（登録商標）などのデジタルコンテンツおよびデジタルコンテンツを実行中に必要となる各種データやプログラム（以下、全てをまとめてデジタルコンテンツという）を配信するＸＭＬ文書配信サーバ１００と、ＸＭＬ文書配信サーバ１００から配信されたデジタルコンテンツをそれぞれ受信する１台以上の受信端末２００と、を含む。ＸＭＬ文書配信サーバ１００と受信端末２００とは、例えば移動体通信網またはＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍ）通信網などの狭帯域通信網を含むネットワーク３００を介して接続される。なお、ネットワーク３００には、適宜、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、専用回線または公衆回線などの通信回線網を含んでもよい。また、本実施の形態によるネットワーク３００には、上記のように狭帯域通信網を含むと含まないとに限らず、種々のネットワークを適用すること可能であることは言うまでも無い。
【００３７】
ＸＭＬ文書配信サーバ１００は、例えばサーバやワークステーションなどの１台以上の情報処理装置と各種データやプログラムを格納する不図示の外付けまたは内蔵のストレージとを含んで構成されており、例えば受信端末２００からの配信要求に応答する方式、すなわちプル型の通信方式によって、受信端末２００へ要求対象のデジタルコンテンツを配信する。ただし、これに限定されず、例えばプッシュ型の通信方式によって受信端末２００へ目的のデジタルコンテンツを配信してもよい。
【００３８】
受信端末２００は、例えば携帯電話機（ＰＨＳ端末を含む）やＰＤＡやパーソナルコンピュータ（以下、ＰＣと略す）などの情報処理端末であり、ＸＭＬ文書配信サーバ１００から提供される各種デジタルコンテンツを受信して所定の処理を実行することで、ＸＭＬ文書配信システム１が提供する各種サービスをユーザに享受させる。
【００３９】
ここで、ＸＭＬ文書配信サーバ１００が受信端末２００へ配信するデジタルコンテンツには、例えばＸＭＬで記述されたデータ（以下、ＸＭＬ文書という）１０が含まれる。ＸＭＬ文書１０は、例えばデジタルコンテンツの作成者によってＰＣ等を用いて作成または更新される。作成または更新されたＸＭＬ文書１０は、例えば所定の回線または媒体を介してＸＭＬ文書配信サーバ１００に入力される。なお、入力されたＸＭＬ文書１０は、ＸＭＬ文書配信サーバ１００における所定の記憶領域に格納されてもよい。
【００４０】
また、デジタルコンテンツの作成者は、ＸＭＬ文書１０の作成または更新と同時あるいはそれに前後して、ＸＭＬ文書１０のデータ構造や各データの意味等を記述するスキーマ２０も作成または更新する。作成または更新されたスキーマ２０は、ＸＭＬ文書１０と対応付けされつつ、例えば所定の回線または媒体を介してＸＭＬ文書配信サーバ１００に入力される。なお、入力されたスキーマ２０は、ＸＭＬ文書配信サーバ１００における所定の記憶領域に格納されてもよい。
【００４１】
ここで、本実施の形態によるスキーマ２０の一例と、このスキーマ２０によって定義された要素とを、それぞれ図２Ａおよび図２Ｂに示す。図２Ａおよび図２Ｂの（ａ）〜（ｉ）に示すように、本例では、スキーマ２０において、１つ目の要素Ｅ１〜９つ目の要素Ｅ９までの、合計９つの要素が定義されている。
【００４２】
また、本実施の形態によるＸＭＬ文書１０の一例と、このＸＭＬ文書１０に記述された内容Ｃとを、それぞれ図３Ａおよび図３Ｂに示す。図３Ａおよび図３Ｂに示すように、ＸＭＬ文書１０には、例として、“水”と“二酸化炭素”との分子をそれぞれ構成する構成原子を示す内容（ＸＭＬ文書に記述された内容Ｃ）のデータが記述されている。具体的には、ＸＭＬ文書１０には、そのＸＭＬ文書に記述された内容Ｃとして、“ａｔｏｍ：原子”と“ｍｏｌｅｃｕｌｅ：分子”と“ｍａｔｅｒｉａｌ：素材”との３つの要素定義１〜３が記述されており、また、要素定義１に対する属性値として属性値１（＝“ｎｕｍｂｅｒ”：原子番号）および属性値２（＝“ｎａｍｅ”：名称）が記述されており、さらに、要素定義２の属性値として属性値１（＝“ｎａｍｅ”：名称）が記述されている。
【００４３】
ここで、図３Ａから明らかなように、ＸＭＬ文書１０には、通常、作成者や編集者や確認者等に対する見易さや編集のし易さなどを目的として、冗長に名前付けされたタグや、データ上意味をなさないスペースや改行などの特定の文字列が含まれている。例えば図３Ａに示す例では、タグとして、“＜”、“？ｘｍｌ”、“ｖｅｒｓｉｏｎ”、“ｅｎｃｏｄｉｎｇ”、“？”、“＞”、“＜”、“ｍａｔｅｒｉａｌ”、“＞”、“＜”、“ｍｏｌｅｃｕｌｅ”、“ｎａｍｅ”、“＞”、“＜”、“ａｔｏｍ”、“ｎｕｍｂｅｒ”、“ｎａｍｅ”、“／”、“＞”、“＜”、“ａｔｏｍ”、“ｎｕｍｂｅｒ”、“ｎａｍｅ”、“／”、“＞”、“＜”、“ａｔｏｍ”、“ｎｕｍｂｅｒ”、“ｎａｍｅ”、“／”、“＞”、“＜”、“／”、“ｍｏｌｅｃｕｌｅ”、“＞”、“＜”、“ｍｏｌｅｃｕｌｅ”、“ｎａｍｅ”、“＞”、“＜”、“ａｔｏｍ”、“ｎｕｍｂｅｒ”、“ｎａｍｅ”、“／”、“＞”、“＜”、“ａｔｏｍ”、“ｎｕｍｂｅｒ”、“ｎａｍｅ”、“／”、“＞”、“＜”、“ａｔｏｍ”、“ｎｕｍｂｅｒ”、“ｎａｍｅ”、“／”、“＞”、“＜”、“／”、“ｍｏｌｅｃｕｌｅ”、“＞”、“＜”、“／”、“ｍａｔｅｒｉａｌ”、および、“＞”などが記述されている。また、このほかにも、ＸＭＬ文書１０には、データ構造を見やすくするためのインデントとしてのスペースや行の区切りを示す改行などが含まれている。
【００４４】
そこで、本実施の形態では、上記のような冗長な記述部分（特定の文字列）を１つ又は比較的少ないコード数の特定のコードに変換する。これにより、ＸＭＬ文書１０が短いＸＭＬ文書（後述するコンパイル済ＸＭＬ文書１１）に変換されるため、配信するデジタルコンテンツ（コンパイル済ＸＭＬ文書１１）のデータ量を低減することが可能となる。この結果、移動体通信やＰＨＳ通信などのような狭帯域通信においても良好な応答時間でデジタルコンテンツを配信することが可能となる。
【００４５】
本実施の形態による特定のコードには、例えば１バイトコードのうちのＸＭＬ文書を記述する上で使用しないコード、すなわち文字コード以外の制御コードを使用することが可能である。ただし、これに限定されず、ＸＭＬ文書内に記述する可能性のない、もしくは記述する可能性が非常に低い、特定の文字コード列を使用することも可能である。以下では、制御コードを用いた場合を例に挙げて説明する。また、本実施の形態では、例として、変換対象の文字列（タグなど）と制御コードとの対応関係を以下のように設定する。なお、制御コードは文字化することができないため、本説明においては、以下の対応関係における“｛”および“｝”で括られたコードが記述上ある特定の制御コードであるとする。
【００４６】
｛ｖ｝：ＸＭＬのバージョンを示す制御コード
｛ｄ｝：ＸＭＬ宣言の終わりを示す制御コード
｛ｓ｝：空白を示す制御コード
｛ｏ｝：開始タグの始まりを示す制御コード
｛ｃ｝：開始タグの終わりを示す制御コード
｛ａ｝：属性値の区切りを示す制御コード
｛ｅ｝：終了タグを示す制御コード
｛ｒ｝：参照を示す制御コード
｛数字｝：番号を示すバイナリコード
【００４７】
また、本実施の形態では、図１のＸＭＬ文書配信サーバ１００におけるコンパイラ１１０が図４に示すような文法（すなわち、データを記述するルール）Ｇに則ってＸＭＬ文書１０を変換することで、コンパイル済ＸＭＬ文書１１を作成する。なお、図４は、本実施の形態による文法Ｇの一例を示す図である。
【００４８】
なお、図４に示すコンパイル済ＸＭＬの文法Ｇにおいて、“，”で区切られたコードは、それらのコードがその順番ですべて出現することを意味する。また、“｜”で区切られたコードは、それらのうち何れかのコードが出現することを意味する。また、“（”および“）”は、これらで括られたコードがグルーピングされることを意味する。また、“＊”は、直前のコードを０回以上繰り返すことを意味する。さらに、“？”は、直前のコードを省略可とすることを意味する。すなわち、直前のコードが、０回以上１回以下、出現することを意味する。
【００４９】
図４に示す文法Ｇをより詳細に説明すると、文法Ｇでは、図４に示すように、コンパイル済ＸＭＬ文書１１が、ヘッダ（ＨＥＡＤＥＲ）と１つ以上の要素（ＥＬＥＭＥＮＴ）とから構成される。ヘッダ（ＨＥＡＤＥＲ）は、本ＸＭＬ文書１０のバイトオーダや符号化形式などを定義する記述（｛ＢＯＭ｝｜ＣＨＡＲＳＥＴ）と、ＸＭＬのバージョンを示す制御コード｛ｖ｝と、このバージョンナンバーを記述するバージョン文字列と、ＸＭＬ宣言の終わりを示す制御コード｛ｄ｝と、を順に記述する。また、各要素（ＥＬＥＭＥＮＴ）は、スタートタグ（ＳＴＡＲＴＴＡＧ）と空白を示す制御コード｛ｓ｝とテキスト文字列または要素（ＥＬＥＭＥＮＴ）と空白を示す制御コード｛ｓ｝と終了タグを示す制御コード｛ｅ｝とを、もしくは、リファレンス（ＲＥＦＥＲＥＮＣＥ）を記述する。
【００５０】
なお、スタートタグ（ＳＴＡＲＴＴＡＧ）とは、開始タグの始まりを示す制御コード｛ｏ｝と属性値（ＡＴＴＲＩＢＵＴＥＳ）と開始タグの終わりを示す制御コード｛ｃ｝とを含む記述であり、このなかの属性値（ＡＴＴＲＩＢＵＴＥＳ）とは、属性番号と属性値文字列と属性値の区切りを示す制御コード｛ａ｝と属性番号と属性値文字列とを含む記述である。
【００５１】
また、リファレンス（ＲＥＦＥＲＥＮＣＥ）とは、参照を示す制御コード｛ｒ｝とＸＭＬ文書中の記載位置から何個前に登場した要素（ＥＬＥＭＥＮＴ）を参照するかを示す番号とを含む記述である。すなわち、本実施の形態では、ＸＭＬ文書中に先に登場した要素を引用するリファレンス（ＲＥＦＥＲＥＮＣＥ）文を文法として用いることで、重複する要素の記述を排除することを可能にしている。これにより、本実施の形態では、よりコンパイル済ＸＭＬ文書１１のデータ量を削減することが可能となる。
【００５２】
また、以上のように、予め決めておいた文法Ｇに則ってＸＭＬ文書１０を変換してコンパイル済ＸＭＬ文書１１を作成することで、受信端末２００側で同じ文法Ｇに則って容易にコンパイル済ＸＭＬ文書１１を解釈するように構成することが可能となる。
【００５３】
また、図４は、文字コードがＵｎｉｃｏｄｅ（ＵＴＦ）である場合を例示しているが、例えば文字コードがＵＴＦ以外である場合、すなわち｛ｂｏｍ｝（：Ｂｙｔｅ  Ｏｒｄｅｒ  Ｍａｒｋ）がない場合、コンパイル前のＸＭＬ宣言文“（＜？ｘｍｌ  ｖｅｒｓｉｏｎ＝”１．０”  ｅｎｃｏｄｉｎｇ＝”Ｓｈｉｆｔ＿ＪＩＳ”？＞”は、“Ｓｈｉｆｔ＿ＪＩＳ｛ｖ｝１．０｛ｄ｝”のような記述のコンパイル済ＸＭＬ宣言文となる。
【００５４】
以上の文法Ｇに従ってＸＭＬ文書１０をコンパイルする場合、例えば図３Ａに示したＸＭＬ文書１０は、図５に示すようなコンパイル済ＸＭＬ文書１１に変換される。なお、図５は、本実施の形態によるコンパイル済ＸＭＬ文書１１の一例を示す図である。ここで、図３Ａと図５とを比較すると明らかなように、コンパイル後のＸＭＬ文書（コンパイル済ＸＭＬ文書１１）は、コンパイル前のＸＭＬ文書１０と比較して、非常に短いデータに変換されている。
【００５５】
また、上記のようにコンパイルされたＸＭＬ文書（コンパイル済ＸＭＬ文書１１）は、受信端末２００におけるコンパイル済ＸＭＬパーサ２１０によってアプリケーションソフトウエア２２０が利用可能なデータ形式に変換される。コンパイル済ＸＭＬパーサ２１０は、通常のＸＭＬパーサと異なり、コンパイラ１１０でコンパイルされたＸＭＬ文書（コンパイル済ＸＭＬ文書１１）をそのまま解釈することができるように開発されたパーサである。すなわち、コンパイル済ＸＭＬパーサ２１０は、図４で示すような文法Ｇで記述されたＸＭＬ文書を、デコーダを別途必要とすることなく解釈できるように構成されている。コンパイル済ＸＭＬパーサ２１０は、ＸＭＬ文書配信サーバ１００からネットワーク３００を介して受信したコンパイル済ＸＭＬ文書１１を解釈すると、この解釈により得られたデータをアプリケーションソフトウエア２２０に入力する。アプリケーションソフトウエア２２０は、コンパイル済ＸＭＬパーサ２１０から入力されたデータを用いて各種機能を実行することで、ＸＭＬ文書配信システム１が実現する各種サービスを受信端末２００のユーザへ提供する。
【００５６】
（動作）
次に、本実施の形態によるＸＭＬ文書配信方法を、図面を用いて詳細に説明する。図６および図７は、本実施の形態によるＸＭＬ文書配信方法の概略動作を示すフローチャートである。なお、図６は、ＸＭＬ文書配信サーバ１００が実行するＸＭＬ文書配信動作の概略を示すフローチャートであり、図７は、受信端末２００が実行するコンテンツ処理動作の概略を示すフローチャートである。すなわち、本実施の形態によるＸＭＬ文書配信方法は、ＸＭＬ文書配信サーバ１００が実行するＸＭＬ文書配信動作と受信端末２００が実行するコンテンツ処理動作とを含む。また、図６に示すＸＭＬ文書配信動作に先だって、ＸＭＬ文書配信サーバ１００には、不図示のＰＣ等において作成されたＸＭＬ文書１０およびこれのスキーマ２０が入力されているものとする。
【００５７】
図６に示すように、ＸＭＬ文書配信動作では、ＸＭＬ文書配信サーバ１００は、起動後、受信端末２００よりデジタルコンテンツの配信要求を受信したか否かを判定し（ステップＳ１０１）、この配信要求を受信するまで待機する（ステップＳ１０１のＮｏ）。また、ステップＳ１０１の判定の結果、デジタルコンテンツの配信要求を受信している場合（ステップＳ１０１のＹｅｓ）、ＸＭＬ文書配信サーバ１００は、要求されたデジタルコンテンツに対応するＸＭＬ文書１０およびこれのスキーマ２０を特定し（ステップＳ１０２）、続いて、特定したＸＭＬ文書１０およびスキーマ２０をコンパイラ１１０に入力して、コンパイル済ＸＭＬ文書１１を作成する（ステップＳ１０３：コンパイルステップ）。なお、ＸＭＬ文書１０およびスキーマ２０が入力されたコンパイラ１１０は、上述した文法Ｇに則ってＸＭＬ文書１０をコンパイルすることで、コンパイル済ＸＭＬ文書１１を生成する。
【００５８】
次にＸＭＬ文書配信サーバ１００は、ステップＳ１０３で作成したコンパイル済ＸＭＬ文書１１およびステップＳ１０２で特定したスキーマ２０をネットワーク３００を介して受信端末２００へ送信する（ステップＳ１０４）。その後、ＸＭＬ文書配信サーバ１００は、管理者等から終了指示が入力されたか否かを判定し（ステップＳ１０５）、入力されていない場合（ステップＳ１０５のＮｏ）、ステップＳ１０１へ帰還して、次の配信要求を待つ。一方、終了指示が入力されていた場合（ステップＳ１０５のＹｅｓ）、ＸＭＬ文書配信サーバ１００は、ＸＭＬ文書配信動作を終了する。
【００５９】
また、図７に示すように、受信端末２００は、以前に送信したデジタルコンテンツの配信要求に応じてＸＭＬ文書配信サーバ１００からコンパイル済ＸＭＬ文書１１を受信したか否かを判定し（ステップＳ２０１）、コンパイル済ＸＭＬ文書１１を受信するまで待機する（ステップＳ２０１のＮｏ）。また、ステップＳ２０１の判定の結果、コンパイル済ＸＭＬ文書１１を受信した場合（ステップＳ２０１のＹｅｓ）、受信端末２００は、受信したコンパイル済ＸＭＬ文書１１をこれのスキーマ２０と共にコンパイル済ＸＭＬパーサ２１０に入力して、コンパイル済ＸＭＬ文書１１を解釈する（ステップＳ２０２：解釈ステップ／解釈処理）。コンパイル済ＸＭＬ文書１１が入力されたコンパイル済ＸＭＬパーサ２１０は、上述した文法Ｇに則り、そしてスキーマ２０に基づいてコンパイル済ＸＭＬ文書１１を解釈することで、これに含まれるデータを抽出して所望のデータを取得する。なお、スキーマ２０は、予めＸＭＬ文書配信サーバ１００と受信端末２００との間で共有化されていてもよい。すなわち、スキーマ２０は、ＸＭＬ文書２０に先だって受信端末２００へ送られ、受信端末２００における所定の記憶領域（スキーマ保持部）に蓄積されていてもよい。ただし、この場合、図６に示すステップ１０４では、ＸＭＬ文書１０のみが送信される受信端末２００へ送信される。また、受信端末２００側のスキーマ２０は、例えば、コンテンツ配信側での更新（すなわちＸＭＬ文書配信サーバ１００に対する再登録）に応じて、随時、受信端末２００へ配信される。
【００６０】
次に受信端末２００は、ステップＳ２０２の解釈により得られたデータをアプリケーションソフトウエア２２０に入力する（ステップＳ２０３）。なお、解釈により得られたデータが入力されたアプリケーションソフトウエア２２０は、この入力されたデータを用いて各種機能を実行することで、ＸＭＬ文書配信システム１が実現する各種サービスを受信端末２００のユーザへ提供する。
【００６１】
その後、受信端末２００は、ユーザから終了指示が入力されたか否かを判定し（ステップＳ２０４）、入力されていない場合（ステップＳ２０４のＮｏ）、ステップＳ２０１へ帰還して、次の配信要求に対するコンパイル済ＸＭＬ文書１１の入力を待つ。一方、終了指示が入力されていた場合（ステップＳ２０４のＹｅｓ）、受信端末２００は、コンテンツ処理動作を終了する。
【００６２】
以上のように、本実施の形態によるＸＭＬ文書配信システム１およびＸＭＬ文書配信方法によれば、ＸＭＬ文書１０における特定の文字列（タグやスペースや改行等）を特定のコード（制御コードやＸＭＬ文書において記述する可能性が非常に低い特定の文字コード列）に変換するため、例えば特定のコードに変換対象の文字列と比べて短いコードを用いることで、配信するコンパイル済ＸＭＬ文書のデータ量を低減することが可能となる。また、受信側の受信端末２００は特定の文字列が特定のコードに変換されたコンパイル済ＸＭＬ文書１１をそのまま解釈することが可能なため、受信側でのスループットが低減することを回避することが可能となる。この結果、ユーザが享受できるサービスの快適性を損なうことなく転送するデータ量を低減することが可能なＸＭＬ文書配信システム１、そのＸＭＬ文書配信サーバ１００、その受信端末２００およびＸＭＬ文書配信方法を実現することができる。
【００６３】
なお、本実施の形態によるＸＭＬ文書配信システム１、そのＸＭＬ文書配信サーバ１００、その受信端末２００およびＸＭＬ文書配信方法は、例えば上記した各機能または処理を実行するプログラムをＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの情報処理装置が読み出して実行することによって実現される。すなわち、図１に示すコンパイラ１１０およびコンパイル済ＸＭＬパーサ２１０、ならびに、図６に示すＸＭＬ文書配信動作および図７に示すコンテンツ処理動作は、所定の言語で記述されたプログラムをＸＭＬ文書配信サーバ１００におけるＣＰＵ等および受信端末２００におけるＣＰＵ等が適宜読み出して実行することで実現される。
【００６４】
また、上述のような機能または動作を実現するプログラムは、例えば、ハードディスクドライブやＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭなどの所定の記録媒体に記憶され得る。また、インターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などを介して配信され得る。ただし、これに限定されず、種々の方法を用いて実現することが可能であることは言うまでもない。
【００６５】
また、上記実施の形態は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、仕様等に応じて種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施の形態が可能であることは上記記載から自明である。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態によるＸＭＬ文書配信システムの概略構成を示すブロック図である。
【図２Ａ】本発明の実施の形態によるスキーマの一例を示す図である。
【図２Ｂ】本発明の実施の形態によるスキーマによって定義された要素を示す図である。
【図３Ａ】本発明の実施の形態によるＸＭＬ文書の一例を示す図である。
【図３Ｂ】本発明の実施の形態によるＸＭＬ文書に含まれる要素の一例を示す図である。
【図４】本発明の実施の形態による文法の一例を示す図である。
【図５】本発明の実施の形態によるコンパイル済ＸＭＬ文書の一例を示す図である。
【図６】本発明の実施の形態によるＸＭＬ文書配信サーバが実行するＸＭＬ文書配信動作の概略を示すフローチャートである。
【図７】本発明の実施の形態による受信端末が実行するコンテンツ処理動作の概略を示すフローチャートである。
【符号の説明】
【００６７】
１  コンテンツ配信システム
１０  ＸＭＬ文書
１１  コンパイル済ＸＭＬ文書
２０  スキーマ
１００  ＸＭＬ文書配信サーバ
１１０  コンパイラ
２００  受信端末
２１０  コンパイル済ＸＭＬパーサ
２２０  アプリケーションソフトウエア
３００  ネットワーク
Ｃ  ＸＭＬ文書に記述された内容
Ｅ１〜Ｅ９  要素
Ｇ  文法
【図１】
2010152650.tif 000003
【図２Ａ】
2010152650.tif 000004
【図２Ｂ】
2010152650.tif 000005
【図３Ａ】
2010152650.tif 000006
【図３Ｂ】
2010152650.tif 000007
【図４】
2010152650.tif 000008
【図５】
2010152650.tif 000009
【図６】
2010152650.tif 000010
【図７】
2010152650.tif 000011