(57)【要約】  ドキュメントに関連する、スクリプトベースの対話型の振舞いおよびアプリケーション論理を定義するための宣言機構を提供するスクリプトマークアップ言語に関する。対話型の振舞いおよびアプリケーション論理を定義するスクリプトマークアップが、そのドキュメントの内容およびプレゼンテーションに関するマークアップから分離されて、そのドキュメントに関するマークアップの独立した部分として提示される。
2009508253.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ可読媒体上に格納されたマークアップドキュメント（１０８）であって、
１つまたは複数の汎用マークアップ要素を含む汎用マークアップ部分（２０２）と、
前記汎用マークアップ部分（２０２）から分離されており、内容が、１つまたは複数のスクリプトマークアップ要素を含むスクリプトマークアップ部分（２０４）とを含み、
前記スクリプトマークアップ部分（２０４）の内容は、ドキュメントの振舞いを定義し、前記汎用マークアップ部分（２０２）は、前記ドキュメントの内容および／または外観を定義することを特徴とするマークアップドキュメント（１０８）。
【請求項２】
前記１つまたは複数のスクリプトマークアップ要素の１つは、既存のスクリプトファイルへの１つまたは複数の参照を含む参照要素であることを特徴とする請求項１に記載のマークアップドキュメント。
【請求項３】
前記１つまたは複数のスクリプトマークアップ要素の１つは、１つまたは複数のスクリプトオブジェクトを定義するコンポーネント要素であることを特徴とする請求項１に記載のマークアップドキュメント。
【請求項４】
前記１つまたは複数のスクリプトオブジェクトの１つは、前記汎用マークアップ部分の中の１つまたは複数の汎用マークアップ要素の１つを参照することを特徴とする請求項３に記載のマークアップドキュメント。
【請求項５】
前記１つまたは複数のスクリプトオブジェクトの１つは、１つまたは複数の属性を含むことを特徴とする請求項４に記載のマークアップドキュメント。
【請求項６】
前記１つまたは複数の属性の１つは、プロパティ属性、メソッド属性、およびイベント属性のいずれかであることを特徴とする請求項５に記載のマークアップドキュメント。
【請求項７】
前記１つまたは複数のスクリプトオブジェクトの１つは、１つまたは複数のスクリプトオブジェクト（「下位スクリプトオブジェクト」）を含むことを特徴とする請求項３に記載のマークアップドキュメント。
【請求項８】
前記下位スクリプトオブジェクトの１つは、前記スクリプトオブジェクトの属性を、別のスクリプトオブジェクトの属性に結び付けるためのバインドオブジェクトであり、両方の属性は、プロパティ属性であることを特徴とする請求項７に記載のマークアップドキュメント。
【請求項９】
前記バインドオブジェクトは、前記スクリプトオブジェクトの前記属性の型を前記別のスクリプトオブジェクトの前記属性の型に変換するファンクションを含むことを特徴とする請求項８に記載のマークアップドキュメント。
【請求項１０】
前記下位スクリプトオブジェクトの１つは、イベントオブジェクトであることを特徴とする請求項７に記載のマークアップドキュメント。
【請求項１１】
前記イベントオブジェクトは、前記イベントが生じた際に何を行うべきかを詳細に記述するイベントハンドラをさらに含むことを特徴とする請求項１０に記載のマークアップドキュメント。
【請求項１２】
前記イベントハンドラは、前記イベントが生じた際にある特定のアクションを開始するアクションオブジェクトを含むことを特徴とする請求項１１に記載のマークアップドキュメント。
【請求項１３】
前記アクションは、別のスクリプトオブジェクトの属性を実行することを含み、前記属性は、メソッド属性であることを特徴とする請求項１２に記載のマークアップドキュメント。
【請求項１４】
前記アクションは、別のスクリプトオブジェクトの属性を構成することを含み、前記属性は、プロパティ属性であることを特徴とする請求項１２に記載のマークアップドキュメント。
【請求項１５】
前記スクリプトマークアップ部分の前記内容はファイルの中に格納され、前記マークアップドキュメントにおける前記スクリプトマークアップ部分は、前記ファイルへの参照であることを特徴とする請求項１に記載のマークアップドキュメント。
【請求項１６】
ブラウザ（１０６）を含むコンピューティングシステム（１００）における、マークアップドキュメント（１０８）を解釈してドキュメントを表示するためのコンピュータによって実施される方法であって、前記方法は、
スクリプト要素（２１０）を含む前記マークアップドキュメント（１０８）を受け取るステップ、および
前記スクリプト要素（２１０）内に含まれる内容を、表示されるべき前記ドキュメントの振舞いを定義するスクリプトマークアップ（２０４）と見なすことにより、前記マークアップドキュメント（１０８）を解釈するステップを含むことを特徴とする方法。
【請求項１７】
前記スクリプト要素は参照要素を含み、前記方法は、前記参照要素内で参照されるファイルの内容を取り出すステップをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記スクリプト要素はコンポーネント要素を含み、前記方法は、前記コンポーネント要素内の内容を、表示されるべき前記ドキュメントの前記振舞いを定義する１つまたは複数のスクリプトオブジェクトとして解釈することをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
前記マークアップドキュメントは、前記ドキュメントの内容および／または外観を定義する１つまたは複数の汎用マークアップ要素を含む汎用マークアップ部分をさらに含み、前記１つまたは複数のスクリプトオブジェクトの少なくとも１つは、前記１つまたは複数の汎用マークアップ要素の少なくとも１つを表し、前記汎用マークアップ要素の振舞いを定義することを特徴とする請求項１８に記載の方法。
【請求項２０】
前記ブラウザは、１つまたは複数のカスタム定義されたスクリプトオブジェクトモデルを使用することにより、前記１つまたは複数のスクリプトオブジェクトを解釈することを特徴とする請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子ドキュメントにマークアップに関する。
【背景技術】
【０００２】
歴史的に見ると、マークアップとは、タイプフォントおよびサイズ、間隔、字下げなどの使用などの書式設定のための指示で植字のための原稿に印を付けるプロセスを指すのに用いられていた。今日のデジタル時代においては、マークアップとは、電子マークアップ、すなわちドキュメントの書式設定を記述する電子ドキュメントにおける、内部の、ときとして目に見えないコードを指す。一般にユーザは、電子ドキュメントを表示するブラウザを使用して、ドキュメントのソースコードを見ることにより、電子ドキュメントのマークアップを見ることができる。ドキュメントの電子マークアップは、一般に、テキストの符号化、ならびに、そのドキュメントの中のテキストおよび内容の構造、外観、およびプレゼンテーションについての詳細を提供する。
【０００３】
電子ドキュメントのマークアップは、通常、マークアップ言語を使用してプログラミングされる。マークアップ言語は、ドキュメントの中に、そのドキュメントが、Ｗｅｂブラウザなどの特別なアプリケーションによって見られる際の、テキストの書式設定を制御するタグを埋め込むためのシンタックスおよび手続きを提供する。一般に使用される電子マークアップ言語には、ＨＴＭＬ、ＸＭＬ、およびＡＳＰ．ＮＥＴが含まれる。従来、マークアップ言語は、静的ドキュメントの内容および外観を設計するのに使用される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、Ｗｅｂアプリケーションなどの対話型アプリケーションの場合、Ｗｅｂページなどのドキュメントの内容および／またはプレゼンテーションは、例えば、ユーザ入力に基づき、変化することが可能である。このため、ドキュメントのマークアップは、そのドキュメントの振舞い(behavior)を支配する情報によって達せられる必要がある。従来、ドキュメントの振舞いは、スクリプトで手続き（プロシージャ）として実施されてきた。動的なドキュメントの振舞いをもたらすには、ドキュメントのマークアップは、適切な時点でスクリプトの中のメソッドを呼び出すことが可能である。マークアップと、スクリプトメソッドへの呼び出しとを混ぜ合わせることは、ドキュメントに関するマークアップを独立に設計することを困難にする。その一方で、スクリプト言語は従来、手続き的であり命令的であるため、ドキュメントのユーザは通常、スクリプト言語を使用してドキュメントの特定の振舞いを設計することができない。
【０００５】
既存のシステムの特定の欠点を、本セクションで例示し、説明してきたが、本明細書で主張される主題は、説明される欠点のいずれか、またはすべてを解決するための、いずれの特定の実施形態にも限定されないことが、当業者、およびその他の人々に認識されよう。
【課題を解決するための手段】
【０００６】
この概略は、詳細な説明において後段でさらに説明される、選ばれた概念について簡略化した形態で述べるように提供される。この概略は、主張される主題の重要な特徴を特定することを意図しておらず、また、主張される主題の範囲を確定する助けとして使用されることも意図していない。
【０００７】
本発明の態様は、ドキュメントに関連するスクリプトベースの対話型の振舞いおよびアプリケーション論理を定義するための宣言機構を提供する、スクリプトマークアップ言語を提供する。また、本発明の態様は、ドキュメントに関連する対話型の振舞いおよびアプリケーション論理が、そのドキュメントの内容およびプレゼンテーションに関するマークアップ（「汎用マークアップ」）から分離された、そのドキュメントの独立の層（「スクリプトマークアップ」）として定義されることが可能であるようにもする。
【０００８】
本発明の一態様は、スクリプトマークアップ言語を使用して、ドキュメントに関するスクリプトマークアップをプログラミングして、そのドキュメントの振舞いを定義する。スクリプトマークアップは、ドキュメントを表示するためのマークアップ情報を含むマークアップドキュメントの中に含められる、またはそのようなドキュメントの中で参照されることが可能である。マークアップドキュメントは、表示されるべきドキュメントの内容および／または外観を定義する１つまたは複数の汎用マークアップ要素を含む、汎用マークアップ部分をさらに含むことが可能である。汎用マークアップ部分とスクリプトマークアップ部分は、マークアップドキュメントの中で互いに分離され、ただし、スクリプトマークアップ部分は、汎用マークアップ部分の中の汎用マークアップ要素の振舞いを定義することが可能である。
【０００９】
本発明の別の態様によれば、スクリプトマークアップ部分は、１つまたは複数のスクリプトマークアップ要素を含む。例えば、スクリプトマークアップ要素は、参照要素と、コンポーネント要素とを含むスクリプト要素を含むことが可能である。参照要素は、スクリプトマークアップ部分によって使用されるスクリプトファイルへの１つまたは複数の参照を含むことが可能である。コンポーネント要素は、表示されるべきドキュメントの振舞いを制御するための１つまたは複数のスクリプトオブジェクトを定義することが可能である。
【００１０】
本発明のさらに別の態様によれば、スクリプトオブジェクトは、プロパティ属性、メソッド属性、イベント属性などの１つまたは複数の属性、あるいはマークアップドキュメントの中の別の要素への参照を含むことが可能である。例えば、スクリプトオブジェクトは、汎用マークアップ部分の中の汎用マークアップ要素を参照して、スクリプトオブジェクトが、その汎用マークアップ要素の振舞いを制御することができるようにすることが可能である。また、スクリプトオブジェクトは、スクリプトマークアップ部分によって定義される、または参照される別のスクリプトオブジェクトを参照してもよい。また、スクリプトオブジェクトは、イベントオブジェクト、バインドオブジェクト、およびアクションオブジェクトなどの、１つまたは複数の下位スクリプトオブジェクトも含むことが可能である。イベントハンドラが、イベントオブジェクトに関して提供されることが可能である。イベントハンドラは、スクリプトマークアップを、開発者によって定義されたコードに結び付けることができる。
【００１１】
本発明のさらなる態様によれば、スクリプトオブジェクトは、別のスクリプトオブジェクトと通信することができる。例えば、あるスクリプトオブジェクトに関連するバインドオブジェクトが、そのスクリプトオブジェクトのプロパティを、別のスクリプトオブジェクトのプロパティにバインドすることができる。さらに、あるスクリプトオブジェクトに関連するアクションオブジェクトが、ある特定のイベントが生じると、ある特定のアクションを実行することも可能である。その特定のアクションは、別のスクリプトオブジェクトに関連するメソッドを実行すること、または別のスクリプトオブジェクトに関連するプロパティを構成することであってもよい。
【００１２】
本発明の以上の態様、および付随する利点の多くは、本発明が、添付の図面と併せて解釈される、後段の詳細な説明を参照して、よりよく理解されるにつれ、より容易に認識されよう。
【発明を実施するための最良の形態】
【００１３】
以下の文章は、本発明の例示的な実施形態を例示し、説明する。しかし、本発明の趣旨および範囲を逸脱することなく、それらの実施形態に様々な変更が行われることが可能であることが、当業者には認識されよう。
【００１４】
図１は、本発明の態様を実施するための例示的なコンピューティングシステム１００を示す。コンピューティングシステム１００は、サーバコンポーネント１０２と、クライアントコンポーネント１０４とを含む。一般に、ブラウザ１０６が、Ｗｅｂページなどのドキュメントを表示するために、クライアント１０４に関連付けられている。通常のシナリオでは、ブラウザ１０６があるドキュメント、例えば、Ｗｅｂページを表示することを要求すると、クライアント１０４はドキュメント要求をサーバ１０２に送信する。するとサーバ１０２は、要求されたドキュメントを表示するためのマークアップ情報を含むマークアップドキュメント１０８をクライアント１０４に送信する。マークアップドキュメント１０８は、サーバ１０２に関連するデータベース１１０の中に存在してもよい。しばしば、サーバ１０２とクライアント１０４とは、同一のコンピュータシステム上に存在する。代替として、サーバ１０２とクライアント１０４は、異なるコンピュータシステム上に存在して、ネットワーク（図示せず）を介して通信してもよい。
【００１５】
本発明の実施形態では、マークアップドキュメント１０８を受け取ると、ブラウザ１０６は、マークアップドキュメント１０８を解析し、解釈して、マークアップドキュメント１０８の中で提供される定義に応じて、要求されたドキュメントを表示する。
【００１６】
本発明の例示的な実施形態では、Ｗｅｂページなどのあるドキュメントに関するマークアップドキュメント１０８は、そのドキュメントの内容および／またはプレゼンテーションを定義する汎用マークアップを提供する。マークアップドキュメント１０８は、そのドキュメントの振舞いを定義するスクリプトマークアップをさらに含む、または参照する。図２は、マークアップドキュメント１０８の中で提示される情報の例示的なブロックを示す。図２に示されるとおり、マークアップドキュメント１０８は、汎用マークアップ部分２０２と、スクリプトマークアップ部分２０４とを含む。
【００１７】
汎用マークアップ部分２０２は、表示されるべきドキュメントの内容および／または全体的な外観の書式設定を定義する。汎用マークアップ部分２０２は、１つまたは複数の汎用マークアップ要素を定義することが可能である。例えば、図２は、汎用マークアップ部分２０２が、汎用マークアップ要素Ａ（２０６）、汎用マークアップ要素Ｂ（２０８）、および汎用マークアップ要素Ｚ（２１０）などの、複数の汎用マークアップ要素を含むことを示す。
【００１８】
他方、スクリプトマークアップ部分２０４の内容は、表示されるべきドキュメントに関連する対話型の振舞いおよびアプリケーション論理を定義する。本発明の実施形態において、スクリプトマークアップ部分２０４の内容は、１つまたは複数のスクリプトオブジェクトを定義し、または参照して、それらのスクリプトオブジェクトを、それらのスクリプトオブジェクトの状態、プロパティ値を定義する属性と一緒にインスタンス化する。図２に示されるとおり、本発明の実施形態において、スクリプトマークアップ部分２０４は、汎用マークアップ部分２０２から分離されており、マークアップドキュメント１０８の独立した部分である。代替として、本発明の一部の実施形態では、スクリプトマークアップ部分２０４は別個のファイルの中に含められ、そのファイルがマークアップドキュメント１０８によって参照されるようにすることが可能である。図２に示されるとおり、スクリプトマークアップ部分２０４の内容は、スクリプト要素２１０、参照要素２１２、およびコンポーネント要素２１４などの、複数のスクリプトマークアップ要素を含む。汎用マークアップ要素とスクリプトマークアップ要素はともに、マークアップ要素と呼ばれる。
【００１９】
本発明の例示的な実施形態において、スクリプト要素２１０は、スクリプトマークアップ部分２０４の全体的な範囲を定義する。参照要素２１２やコンポーネント要素２１４などの、スクリプトマークアップ部分２０４の中の他のすべての要素は、スクリプト要素２１０内に含まれる。図１を再び参照すると、スクリプトマークアップ部分２０４を解釈している間、ブラウザ１０６は、スクリプト要素２１０の中を移動して、含まれる定義を解釈し、表示されるべきドキュメントの振舞いを決定するようにする。
【００２０】
本発明の実施形態において、参照要素２１２は、マークアップドキュメント１０８の中のマークアップ要素によって使用される、マークアップドキュメント１０８の外部のスクリプトファイルを参照する。外部スクリプトファイルは、マークアップ要素が使用することができる依存関係情報を詳細に記述することが可能である。好ましくは、外部スクリプトファイルは、スクリプトマークアップ部分２０４の中で定義される、または参照されるスクリプトマークアップ要素の実装詳細も提供することが可能である。
【００２１】
コンポーネント要素２１４は、表示されるべきドキュメントの振舞いを実際に定義する１つまたは複数のスクリプトオブジェクト定義を含む。本発明の例示的な実施形態では、コンポーネント要素２１４の中で定義されるスクリプトオブジェクトの１つまたは複数は、汎用マークアップ部分２０２の中に含まれる１つまたは複数の汎用マークアップ要素を参照することができ、したがって、そのような要素の振舞いを定義することができる。
【００２２】
図３は、図２に示される例示的なマークアップ要素を実装する例示的なマークアップドキュメント１０８を示す。図３に示されるとおり、例示的なマークアップドキュメント１０８は、１つのマークアップ要素が別のマークアップ要素によって包含されることが可能である、階層構造を含む。各マークアップ要素は、例えば、＜＞シンボルで表されるとおりタグを含み、実際の要素はそれらのタグの間に詳細に記述される。各マークアップ要素は開始タグと終了タグを含み、開始タグはマークアップ要素を開始し、終了タグ、対応するマークアップ要素を終了する。例えば図３に示されるとおり、スクリプト要素２１０はライン３における開始タグ＜＞で始まり、ライン３４における終了タグ＜／＞で終わる。後段で詳細に説明されるとおり、マークアップドキュメント１０８の中のマークアップ要素は、割り当てられた値を有する１つまたは複数の属性をさらに含む。
【００２３】
図３に示される例示的なマークアップドキュメント１０８は、２つのカウンタのスクリプトによって定義された振舞いを示す。図３に示されるとおり、ライン１〜２は、例示的な汎用マークアップ部分２０２を示す。この場合、２つの汎用マークアップ要素、すなわち、Ｃｏｕｎｔｅｒ＃１およびＣｏｕｎｔｅｒ＃２が定義され、Ｃｏｕｎｔｅｒ＃１は値「ｃｏｕｎｔｅｒＬａｂｅｌ１」を有する「ｉｄ」属性を有し、Ｃｏｕｎｔｅｒ＃２は値「ｃｏｕｎｔｅｒＬａｂｅｌ２」を有する「ｉｄ」属性を有する。
【００２４】
ライン３〜３４は、ライン１〜２において定義される２つのカウンタの振舞いを指定する例示的なスクリプトマークアップ部分２０４を示す。具体的には、ライン３は例示的なスクリプト要素２１０に関する定義の開始を知らせ、ライン３４はその定義の終了を知らせる。例示的なスクリプト要素２１０は、２つのＪａｖａ(登録商標)Ｓｃｒｉｐｔファイル、すなわちＡｔｌａｓＵＩ．ｊｓとＡｔｌａｓＣｏｎｔｒｏｌｓ．ｊｓの中でリンクする例示的な参照要素２１２（ライン５〜８）を含む。ライン９〜３２は、複数のスクリプトオブジェクトを定義する例示的なコンポーネント要素２１４を示す。例えばライン１０は、「ｃｏｕｎｔｅｒ１」として識別されるスクリプトオブジェクト、Ｃｏｕｎｔｅｒ３０２を定義するのに対して、ライン１１は「ｃｏｕｎｔｅｒ２」として識別され、「１００００」という値を有するスクリプトオブジェクト、Ｃｏｕｎｔｅｒ３０４を定義する。ライン１２〜１６間およびライン１７〜２１間のコードはそれぞれ、周期的に、例えば５００秒毎に、イベントオブジェクトＴｉｃｋ（３０８、３１８）を可能にするスクリプトオブジェクトＴｉｍｅｒ（３０６、３１６）を定義する。本発明の実施形態においてスクリプトオブジェクトは、１つまたは複数の下位スクリプトオブジェクトを含むことが可能である。例えば、スクリプトオブジェクトＴｉｍｅｒ３０６は、イベントオブジェクトＴｉｃｋ３０８を含み、イベントオブジェクトＴｉｃｋ３０８は、アクションオブジェクトｉｎｖｏｋｅＭｅｔｈｏｄ３１０をさらに含む。別の例に関して、ライン２２〜２６において定義されるスクリプトオブジェクト、Ｌａｂｅｌ３１２が、バインドオブジェクト３１４を含む。
【００２５】
本発明の例示的な実施形態において、スクリプトオブジェクトは１つまたは複数の属性に関連付けられ、属性の値はスクリプトオブジェクトの振舞いを定義するのに使用される。属性は、例えば、スクリプトオブジェクトに関連付けられたプロパティ、メソッド、またはイベントであることが可能である。また属性は、別のマークアップ要素への参照であることも可能である。例えば、ライン１１において定義されるスクリプトオブジェクトＣｏｕｎｔｅｒ３０４は、プロパティ属性「ｉｄ」と、プロパティ属性「ｖａｌｕｅ」とを有する。ライン１４において定義されるアクションオブジェクトｉｎｖｏｋｅＭｅｔｈｏｄ３１０は、例示的な「ｉｎｃｒｅｍｅｎｔ」メソッドに設定されたメソッド属性「Ｍｅｔｈｏｄ」を有する。例えばイベントオブジェクトＴｉｃｋ３０８を使用する代わりに、スクリプトオブジェクトＴｉｍｅｒ３０６は、イベント属性「Ｔｉｃｋ」を有することが可能である。ライン２２において定義されるスクリプトオブジェクトＬａｂｅｌ３１２は、ライン１において「ｃｏｕｎｔｅｒＬａｂｅｌ１」として識別される汎用マークアップ要素ｃｏｕｎｔｅｒ＃１を参照する属性「ｔａｒｇｅｔＥｌｅｍｅｎｔ」を有する。
【００２６】
本発明の例示的な実施形態において、スクリプトオブジェクトは、マークアップドキュメント１０８の汎用マークアップ部分２０２の中で定義される汎用マークアップ要素を参照し、その参照される汎用マークアップ要素に関連する、ドキュメントの振舞いを定義することが可能である。例えば、ライン２２〜２６間のコードは、ライン１において定義される汎用マークアップ要素Ｃｏｕｎｔｅｒ＃１を参照するスクリプトオブジェクトＬａｂｅｌ３１２を定義する。ライン２７〜３１間のコードは、ライン２において定義される汎用マークアップ要素Ｃｏｕｎｔｅｒ＃２を参照するスクリプトオブジェクトＬａｂｅｌ３２０を定義する。その結果、スクリプトオブジェクトＬａｂｅｌ３１２およびＬａｂｅｌ３２０は、汎用マークアップ部分２０２の中の汎用マークアップ要素Ｃｏｕｎｔｅｒ＃１およびＣｏｕｎｔｅｒ＃２の振舞いを指定することができる。
【００２７】
本発明の実施形態において、スクリプトオブジェクトは、ある特定のイベントが生じると、ある特定のアクションを実行することにより、別のスクリプトオブジェクトと通信することが可能である。例えば本発明の実施形態において、あるスクリプトオブジェクトが、あるイベントに関連付けられることが可能であり、そのイベントの発生により、対応するイベントハンドラが開始され、このイベントハンドラが、マークアップドキュメント１０８の中のマークアップ要素に関する、開発者によって定義されたコードにリンクすることが可能である。本発明の例示的な実施形態において、イベントハンドラは、コンポーネント要素２１４の中のスクリプトオブジェクトの１つに対して実行されるべき１つまたは複数の特定のアクションを含む。例示的なアクションは、別のスクリプトオブジェクトに関連付けられたメソッドを呼び出すことであることが可能である。別の例示的なアクションは、別のスクリプトオブジェクトに関連付けられたプロパティを構成することであることが可能である。本発明の通常の実施形態では、イベントとアクションの両方もやはり、１つまたは複数の属性を含むスクリプトオブジェクトである。例えば、スクリプトオブジェクトＴｉｍｅｒ３０６は、イベントオブジェクトＴｉｃｋ３０８を含み、イベントオブジェクトＴｉｃｋ３０８が可動化されることにより、アクションオブジェクトｉｎｖｏｋｅＭｅｔｈｏｄ３１０が開始される。アクションオブジェクトｉｎｖｏｋｅＭｅｔｈｏｄ３１０は、あるターゲットスクリプトオブジェクト、例えば「ｃｏｕｎｔｅｒ１」を指定する属性「ｔａｒｇｅｔ」と、そのターゲットスクリプトオブジェクトに対して実行されるべきファンクションを指定する属性「ｍｅｔｈｏｄ」とを有する。
【００２８】
１つのスクリプトオブジェクトが、別のスクリプトオブジェクトと通信する別の例示的な機構は、１つのスクリプトオブジェクトのプロパティを別のスクリプトオブジェクトのプロパティに結び付けるバインド機構であり、これにより、一方のプロパティの変更が他方のプロパティ上で反映される。例えば図３に示されるとおり、スクリプトオブジェクトＬａｂｅｌ３１２は、バインドオブジェクト３１４を含む。バインドオブジェクト３１４は、スクリプトオブジェクトを指定する属性「ｄａｔａＣｏｎｔｅｘｔ」と、スクリプトオブジェクトＬａｂｅｌ３１２が、Ｌａｂｅｌ３１２のプロパティ「ｔｅｘｔ」をバインドする相手のスクリプトオブジェクトのプロパティの１つを指定する、属性「ｄａｔａＰａｔｈ」とを有する。このバインドの結果、ライン１０において定義されるスクリプトオブジェクトＣｏｕｎｔｅｒ３０２の値が、スクリプトオブジェクトＬａｂｅｌ３１２に関連する「ｔｅｘｔ」プロパティにおいて反映され、このため、ライン１において定義される汎用マークアップ要素Ｃｏｕｎｔｅｒ＃１において表示される。本発明の例示的な実施形態において、バインドオブジェクトは、データを供給するプロパティの型を、データを受け取るプロパティの型に変換する変換機能を提供する。例えば、バインドオブジェクト３１４に関する変換機能は、「ｄａｔａＰａｔｈ」によって指定されるプロパティの型を、「ｔｅｘｔ」によって指定されるプロパティの型に変換することができる。
【００２９】
図３は、本発明の態様を実施するためのスクリプトマークアップ言語の例示的に過ぎないフォーマットを示すことを理解されたい。これらの例示的なフォーマットは、例示の目的に限って使用されるべきである。これらの例示的なフォーマットは、本発明の実施形態によって提供されるスクリプトマークアップ言語を、例示される特定のフォーマット、シンタックス、および機能に限定しない。例えば、例示的なマークアップドキュメント１０８は、ＸＭＬシンタックスおよびＸＭＬフォーマットを使用して示されている。しかし、本発明の態様は、ＨＴＭＬ、ＡＳＰ．ＮＥＴ、Ｊａｖａ(登録商標)Ｓｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎなどの様々なマークアップ言語で実施されることが可能であることが、当業者には認識されよう。
【００３０】
本発明の実施形態において、開発者は、スクリプトオブジェクトモデルをカスタム定義することができる。スクリプトオブジェクトモデルは、例えば、プロパティ属性、メソッド属性、および／またはイベント属性などの属性、ならびにスクリプトオブジェクトモデルに関連付けられることが可能な任意の下位スクリプトオブジェクトモデルを指定する。次に、そのスクリプトオブジェクトモデルが、例えばブラウザ１０６に関連付けられた型マネージャを介して、ブラウザ１０６に登録される。このためブラウザ１０６は、そのスクリプトオブジェクトモデルに基づいてインスタンス化されたスクリプトオブジェクトをどのように解釈し処理すべきかを知っている。その結果、本発明の態様によって提供されるスクリプトマークアップ言語は、新たなスクリプトオブジェクトモデルが定義されて、それらのスクリプトオブジェクトモデルに基づいてインスタンス化されたスクリプトオブジェクトを含むスクリプトマークアップを解釈するために、ブラウザに登録されることが可能であるという点で拡張可能である。
【００３１】
本発明の態様を、構造上の特徴、および／または方法上の動作に特有の言い回しで説明してきたが、添付の特許請求の範囲において定義される主題は、前述した特定の特徴または動作に、必ずしも限定されないことを理解されたい。むしろ、前述した特定の特徴および動作は、特許請求の範囲を実施する例示的な形式として開示される。
【図面の簡単な説明】
【００３２】
【図１】本発明の態様を実施するための例示的なコンピューティングシステムを示すブロック図である。
【図２】本発明の一態様によるマークアップドキュメントの例示的な分割を示すブロック図である。
【図３】本発明の態様を実施する例示的なマークアップドキュメントを示すテキストの図である。
【図１】
2009508253.tif 000003
【図２】
2009508253.tif 000004
【図３】
2009508253.tif 000005
【国際調査報告】
2009508253.tif 000006
2009508253.tif 000007