JP5162459B2 - スクリプトマークアップ - Google Patents

スクリプトマークアップ Download PDF

Info

Publication number
JP5162459B2
JP5162459B2 JP2008531155A JP2008531155A JP5162459B2 JP 5162459 B2 JP5162459 B2 JP 5162459B2 JP 2008531155 A JP2008531155 A JP 2008531155A JP 2008531155 A JP2008531155 A JP 2008531155A JP 5162459 B2 JP5162459 B2 JP 5162459B2
Authority
JP
Japan
Prior art keywords
script
markup
document
generic
browser
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008531155A
Other languages
English (en)
Other versions
JP2009508253A (ja
JP2009508253A5 (ja
Inventor
コザリ ニキル
リロイ バートランド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009508253A publication Critical patent/JP2009508253A/ja
Publication of JP2009508253A5 publication Critical patent/JP2009508253A5/ja
Application granted granted Critical
Publication of JP5162459B2 publication Critical patent/JP5162459B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、電子ドキュメントにマークアップに関する。
歴史的に見ると、マークアップとは、タイプフォントおよびサイズ、間隔、字下げなどの使用などの書式設定のための指示で植字のための原稿に印を付けるプロセスを指すのに用いられていた。今日のデジタル時代においては、マークアップとは、電子マークアップ、すなわちドキュメントの書式設定を記述する電子ドキュメントにおける、内部の、ときとして目に見えないコードを指す。一般にユーザは、電子ドキュメントを表示するブラウザを使用して、ドキュメントのソースコードを見ることにより、電子ドキュメントのマークアップを見ることができる。ドキュメントの電子マークアップは、一般に、テキストの符号化、ならびに、そのドキュメントの中のテキストおよび内容の構造、外観、およびプレゼンテーションについての詳細を提供する。
電子ドキュメントのマークアップは、通常、マークアップ言語を使用してプログラミングされる。マークアップ言語は、ドキュメントの中に、そのドキュメントが、Webブラウザなどの特別なアプリケーションによって見られる際の、テキストの書式設定を制御するタグを埋め込むためのシンタックスおよび手続きを提供する。一般に使用される電子マークアップ言語には、HTML、XML、およびASP.NETが含まれる。従来、マークアップ言語は、静的ドキュメントの内容および外観を設計するのに使用される。
しかし、Webアプリケーションなどの対話型アプリケーションの場合、Webページなどのドキュメントの内容および/またはプレゼンテーションは、例えば、ユーザ入力に基づき、変化することが可能である。このため、ドキュメントのマークアップは、そのドキュメントの振舞い(behavior)を支配する情報によって達せられる必要がある。従来、ドキュメントの振舞いは、スクリプトで手続き(プロシージャ)として実施されてきた。動的なドキュメントの振舞いをもたらすには、ドキュメントのマークアップは、適切な時点でスクリプトの中のメソッドを呼び出すことが可能である。マークアップと、スクリプトメソッドへの呼び出しとを混ぜ合わせることは、ドキュメントに関するマークアップを独立に設計することを困難にする。その一方で、スクリプト言語は従来、手続き的であり命令的であるため、ドキュメントのユーザは通常、スクリプト言語を使用してドキュメントの特定の振舞いを設計することができない。
既存のシステムの特定の欠点を、本セクションで例示し、説明してきたが、本明細書で主張される主題は、説明される欠点のいずれか、またはすべてを解決するための、いずれの特定の実施形態にも限定されないことが、当業者、およびその他の人々に認識されよう。
この概略は、詳細な説明において後段でさらに説明される、選ばれた概念について簡略化した形態で述べるように提供される。この概略は、主張される主題の重要な特徴を特定することを意図しておらず、また、主張される主題の範囲を確定する助けとして使用されることも意図していない。
本発明の態様は、ドキュメントに関連するスクリプトベースの対話型の振舞いおよびアプリケーション論理を定義するための宣言機構を提供する、スクリプトマークアップ言語を提供する。また、本発明の態様は、ドキュメントに関連する対話型の振舞いおよびアプリケーション論理が、そのドキュメントの内容およびプレゼンテーションに関するマークアップ(「汎用マークアップ」)から分離された、そのドキュメントの独立の層(「スクリプトマークアップ」)として定義されることが可能であるようにもする。
本発明の一態様は、スクリプトマークアップ言語を使用して、ドキュメントに関するスクリプトマークアップをプログラミングして、そのドキュメントの振舞いを定義する。スクリプトマークアップは、ドキュメントを表示するためのマークアップ情報を含むマークアップドキュメントの中に含められる、またはそのようなドキュメントの中で参照されることが可能である。マークアップドキュメントは、表示されるべきドキュメントの内容および/または外観を定義する1つまたは複数の汎用マークアップ要素を含む、汎用マークアップ部分をさらに含むことが可能である。汎用マークアップ部分とスクリプトマークアップ部分は、マークアップドキュメントの中で互いに分離され、ただし、スクリプトマークアップ部分は、汎用マークアップ部分の中の汎用マークアップ要素の振舞いを定義することが可能である。
本発明の別の態様によれば、スクリプトマークアップ部分は、1つまたは複数のスクリプトマークアップ要素を含む。例えば、スクリプトマークアップ要素は、参照要素と、コンポーネント要素とを含むスクリプト要素を含むことが可能である。参照要素は、スクリプトマークアップ部分によって使用されるスクリプトファイルへの1つまたは複数の参照を含むことが可能である。コンポーネント要素は、表示されるべきドキュメントの振舞いを制御するための1つまたは複数のスクリプトオブジェクトを定義することが可能である。
本発明のさらに別の態様によれば、スクリプトオブジェクトは、プロパティ属性、メソッド属性、イベント属性などの1つまたは複数の属性、あるいはマークアップドキュメントの中の別の要素への参照を含むことが可能である。例えば、スクリプトオブジェクトは、汎用マークアップ部分の中の汎用マークアップ要素を参照して、スクリプトオブジェクトが、その汎用マークアップ要素の振舞いを制御することができるようにすることが可能である。また、スクリプトオブジェクトは、スクリプトマークアップ部分によって定義される、または参照される別のスクリプトオブジェクトを参照してもよい。また、スクリプトオブジェクトは、イベントオブジェクト、バインドオブジェクト、およびアクションオブジェクトなどの、1つまたは複数の下位スクリプトオブジェクトも含むことが可能である。イベントハンドラが、イベントオブジェクトに関して提供されることが可能である。イベントハンドラは、スクリプトマークアップを、開発者によって定義されたコードに結び付けることができる。
本発明のさらなる態様によれば、スクリプトオブジェクトは、別のスクリプトオブジェクトと通信することができる。例えば、あるスクリプトオブジェクトに関連するバインドオブジェクトが、そのスクリプトオブジェクトのプロパティを、別のスクリプトオブジェクトのプロパティにバインドすることができる。さらに、あるスクリプトオブジェクトに関連するアクションオブジェクトが、ある特定のイベントが生じると、ある特定のアクションを実行することも可能である。その特定のアクションは、別のスクリプトオブジェクトに関連するメソッドを実行すること、または別のスクリプトオブジェクトに関連するプロパティを構成することであってもよい。
本発明の以上の態様、および付随する利点の多くは、本発明が、添付の図面と併せて解釈される、後段の詳細な説明を参照して、よりよく理解されるにつれ、より容易に認識されよう。
以下の文章は、本発明の例示的な実施形態を例示し、説明する。しかし、本発明の趣旨および範囲を逸脱することなく、それらの実施形態に様々な変更が行われることが可能であることが、当業者には認識されよう。
図1は、本発明の態様を実施するための例示的なコンピューティングシステム100を示す。コンピューティングシステム100は、サーバコンポーネント102と、クライアントコンポーネント104とを含む。一般に、ブラウザ106が、Webページなどのドキュメントを表示するために、クライアント104に関連付けられている。通常のシナリオでは、ブラウザ106があるドキュメント、例えば、Webページを表示することを要求すると、クライアント104はドキュメント要求をサーバ102に送信する。するとサーバ102は、要求されたドキュメントを表示するためのマークアップ情報を含むマークアップドキュメント108をクライアント104に送信する。マークアップドキュメント108は、サーバ102に関連するデータベース110の中に存在してもよい。しばしば、サーバ102とクライアント104とは、同一のコンピュータシステム上に存在する。代替として、サーバ102とクライアント104は、異なるコンピュータシステム上に存在して、ネットワーク(図示せず)を介して通信してもよい。
本発明の実施形態では、マークアップドキュメント108を受け取ると、ブラウザ106は、マークアップドキュメント108を解析し、解釈して、マークアップドキュメント108の中で提供される定義に応じて、要求されたドキュメントを表示する。
本発明の例示的な実施形態では、Webページなどのあるドキュメントに関するマークアップドキュメント108は、そのドキュメントの内容および/またはプレゼンテーションを定義する汎用マークアップを提供する。マークアップドキュメント108は、そのドキュメントの振舞いを定義するスクリプトマークアップをさらに含む、または参照する。図2は、マークアップドキュメント108の中で提示される情報の例示的なブロックを示す。図2に示されるとおり、マークアップドキュメント108は、汎用マークアップ部分202と、スクリプトマークアップ部分204とを含む。
汎用マークアップ部分202は、表示されるべきドキュメントの内容および/または全体的な外観の書式設定を定義する。汎用マークアップ部分202は、1つまたは複数の汎用マークアップ要素を定義することが可能である。例えば、図2は、汎用マークアップ部分202が、汎用マークアップ要素A(206)、汎用マークアップ要素B(208)、および汎用マークアップ要素Z(210)などの、複数の汎用マークアップ要素を含むことを示す。
他方、スクリプトマークアップ部分204の内容は、表示されるべきドキュメントに関連する対話型の振舞いおよびアプリケーション論理を定義する。本発明の実施形態において、スクリプトマークアップ部分204の内容は、1つまたは複数のスクリプトオブジェクトを定義し、または参照して、それらのスクリプトオブジェクトを、それらのスクリプトオブジェクトの状態、プロパティ値を定義する属性と一緒にインスタンス化する。図2に示されるとおり、本発明の実施形態において、スクリプトマークアップ部分204は、汎用マークアップ部分202から分離されており、マークアップドキュメント108の独立した部分である。代替として、本発明の一部の実施形態では、スクリプトマークアップ部分204は別個のファイルの中に含められ、そのファイルがマークアップドキュメント108によって参照されるようにすることが可能である。図2に示されるとおり、スクリプトマークアップ部分204の内容は、スクリプト要素210、参照要素212、およびコンポーネント要素214などの、複数のスクリプトマークアップ要素を含む。汎用マークアップ要素とスクリプトマークアップ要素はともに、マークアップ要素と呼ばれる。
本発明の例示的な実施形態において、スクリプト要素210は、スクリプトマークアップ部分204の全体的な範囲を定義する。参照要素212やコンポーネント要素214などの、スクリプトマークアップ部分204の中の他のすべての要素は、スクリプト要素210内に含まれる。図1を再び参照すると、スクリプトマークアップ部分204を解釈している間、ブラウザ106は、スクリプト要素210の中を移動して、含まれる定義を解釈し、表示されるべきドキュメントの振舞いを決定するようにする。
本発明の実施形態において、参照要素212は、マークアップドキュメント108の中のマークアップ要素によって使用される、マークアップドキュメント108の外部のスクリプトファイルを参照する。外部スクリプトファイルは、マークアップ要素が使用することができる依存関係情報を詳細に記述することが可能である。好ましくは、外部スクリプトファイルは、スクリプトマークアップ部分204の中で定義される、または参照されるスクリプトマークアップ要素の実装詳細も提供することが可能である。
コンポーネント要素214は、表示されるべきドキュメントの振舞いを実際に定義する1つまたは複数のスクリプトオブジェクト定義を含む。本発明の例示的な実施形態では、コンポーネント要素214の中で定義されるスクリプトオブジェクトの1つまたは複数は、汎用マークアップ部分202の中に含まれる1つまたは複数の汎用マークアップ要素を参照することができ、したがって、そのような要素の振舞いを定義することができる。
図3は、図2に示される例示的なマークアップ要素を実装する例示的なマークアップドキュメント108を示す。図3に示されるとおり、例示的なマークアップドキュメント108は、1つのマークアップ要素が別のマークアップ要素によって包含されることが可能である、階層構造を含む。各マークアップ要素は、例えば、<>シンボルで表されるとおりタグを含み、実際の要素はそれらのタグの間に詳細に記述される。各マークアップ要素は開始タグと終了タグを含み、開始タグはマークアップ要素を開始し、終了タグ、対応するマークアップ要素を終了する。例えば図3に示されるとおり、スクリプト要素210はライン3における開始タグ<>で始まり、ライン34における終了タグ</>で終わる。後段で詳細に説明されるとおり、マークアップドキュメント108の中のマークアップ要素は、割り当てられた値を有する1つまたは複数の属性をさらに含む。
図3に示される例示的なマークアップドキュメント108は、2つのカウンタのスクリプトによって定義された振舞いを示す。図3に示されるとおり、ライン1〜2は、例示的な汎用マークアップ部分202を示す。この場合、2つの汎用マークアップ要素、すなわち、Counter#1およびCounter#2が定義され、Counter#1は値「counterLabel1」を有する「id」属性を有し、Counter#2は値「counterLabel2」を有する「id」属性を有する。
ライン3〜34は、ライン1〜2において定義される2つのカウンタの振舞いを指定する例示的なスクリプトマークアップ部分204を示す。具体的には、ライン3は例示的なスクリプト要素210に関する定義の開始を知らせ、ライン34はその定義の終了を知らせる。例示的なスクリプト要素210は、2つのJava(登録商標)Scriptマークアップ言語スクリプトファイル、すなわちAtlasUI.jsとAtlasControls.jsの中でリンクする例示的な参照要素212(ライン5〜8)を含む。ライン9〜32は、複数のスクリプトオブジェクトを定義する例示的なコンポーネント要素214を示す。例えばライン10は、「counter1」として識別されるスクリプトオブジェクト、Counter302を定義するのに対して、ライン11は「counter2」として識別され、「10000」という値を有するスクリプトオブジェクト、Counter304を定義する。ライン12〜16間およびライン17〜21間のコードはそれぞれ、周期的に、例えば500秒毎に、イベントオブジェクトTick(308、318)を可能にするスクリプトオブジェクトTimer(306、316)を定義する。本発明の実施形態においてスクリプトオブジェクトは、1つまたは複数の下位スクリプトオブジェクトを含むことが可能である。例えば、スクリプトオブジェクトTimer306は、イベントオブジェクトTick308を含み、イベントオブジェクトTick308は、アクションオブジェクトinvokeMethod310をさらに含む。別の例に関して、ライン22〜26において定義されるスクリプトオブジェクト、Label312が、バインドオブジェクト314を含む。
本発明の例示的な実施形態において、スクリプトオブジェクトは1つまたは複数の属性に関連付けられ、属性の値はスクリプトオブジェクトの振舞いを定義するのに使用される。属性は、例えば、スクリプトオブジェクトに関連付けられたプロパティ、メソッド、またはイベントであることが可能である。また属性は、別のマークアップ要素への参照であることも可能である。例えば、ライン11において定義されるスクリプトオブジェクトCounter304は、プロパティ属性「id」と、プロパティ属性「value」とを有する。ライン14において定義されるアクションオブジェクトinvokeMethod310は、例示的な「increment」メソッドに設定されたメソッド属性「Method」を有する。例えばイベントオブジェクトTick308を使用する代わりに、スクリプトオブジェクトTimer306は、イベント属性「Tick」を有することが可能である。ライン22において定義されるスクリプトオブジェクトLabel312は、ライン1において「counterLabel1」として識別される汎用マークアップ要素counter#1を参照する属性「targetElement」を有する。
本発明の例示的な実施形態において、スクリプトオブジェクトは、マークアップドキュメント108の汎用マークアップ部分202の中で定義される汎用マークアップ要素を参照し、その参照される汎用マークアップ要素に関連する、ドキュメントの振舞いを定義することが可能である。例えば、ライン22〜26間のコードは、ライン1において定義される汎用マークアップ要素Counter#1を参照するスクリプトオブジェクトLabel312を定義する。ライン27〜31間のコードは、ライン2において定義される汎用マークアップ要素Counter#2を参照するスクリプトオブジェクトLabel320を定義する。その結果、スクリプトオブジェクトLabel312およびLabel320は、汎用マークアップ部分202の中の汎用マークアップ要素Counter#1およびCounter#2の振舞いを指定することができる。
本発明の実施形態において、スクリプトオブジェクトは、ある特定のイベントが生じると、ある特定のアクションを実行することにより、別のスクリプトオブジェクトと通信することが可能である。例えば本発明の実施形態において、あるスクリプトオブジェクトが、あるイベントに関連付けられることが可能であり、そのイベントの発生により、対応するイベントハンドラが開始され、このイベントハンドラが、マークアップドキュメント108の中のマークアップ要素に関する、開発者によって定義されたコードにリンクすることが可能である。本発明の例示的な実施形態において、イベントハンドラは、コンポーネント要素214の中のスクリプトオブジェクトの1つに対して実行されるべき1つまたは複数の特定のアクションを含む。例示的なアクションは、別のスクリプトオブジェクトに関連付けられたメソッドを呼び出すことであることが可能である。別の例示的なアクションは、別のスクリプトオブジェクトに関連付けられたプロパティを構成することであることが可能である。本発明の通常の実施形態では、イベントとアクションの両方もやはり、1つまたは複数の属性を含むスクリプトオブジェクトである。例えば、スクリプトオブジェクトTimer306は、イベントオブジェクトTick308を含み、イベントオブジェクトTick308が可動化されることにより、アクションオブジェクトinvokeMethod310が開始される。アクションオブジェクトinvokeMethod310は、あるターゲットスクリプトオブジェクト、例えば「counter1」を指定する属性「target」と、そのターゲットスクリプトオブジェクトに対して実行されるべきファンクションを指定する属性「method」とを有する。
1つのスクリプトオブジェクトが、別のスクリプトオブジェクトと通信する別の例示的な機構は、1つのスクリプトオブジェクトのプロパティを別のスクリプトオブジェクトのプロパティに結び付けるバインド機構であり、これにより、一方のプロパティの変更が他方のプロパティ上で反映される。例えば図3に示されるとおり、スクリプトオブジェクトLabel312は、バインドオブジェクト314を含む。バインドオブジェクト314は、スクリプトオブジェクトを指定する属性「dataContext」と、スクリプトオブジェクトLabel312が、Label312のプロパティ「text」をバインドする相手のスクリプトオブジェクトのプロパティの1つを指定する、属性「dataPath」とを有する。このバインドの結果、ライン10において定義されるスクリプトオブジェクトCounter302の値が、スクリプトオブジェクトLabel312に関連する「text」プロパティにおいて反映され、このため、ライン1において定義される汎用マークアップ要素Counter#1において表示される。本発明の例示的な実施形態において、バインドオブジェクトは、データを供給するプロパティの型を、データを受け取るプロパティの型に変換する変換機能を提供する。例えば、バインドオブジェクト314に関する変換機能は、「dataPath」によって指定されるプロパティの型を、「text」によって指定されるプロパティの型に変換することができる。
図3は、本発明の態様を実施するためのスクリプトマークアップ言語の例示的に過ぎないフォーマットを示すことを理解されたい。これらの例示的なフォーマットは、例示の目的に限って使用されるべきである。これらの例示的なフォーマットは、本発明の実施形態によって提供されるスクリプトマークアップ言語を、例示される特定のフォーマット、シンタックス、および機能に限定しない。例えば、例示的なマークアップドキュメント108は、XMLシンタックスおよびXMLフォーマットを使用して示されている。しかし、本発明の態様は、HTML、ASP.NET、Java(登録商標)Script Object Notationなどの様々なマークアップ言語で実施されることが可能であることが、当業者には認識されよう。
本発明の実施形態において、開発者は、スクリプトオブジェクトモデルをカスタム定義することができる。スクリプトオブジェクトモデルは、例えば、プロパティ属性、メソッド属性、および/またはイベント属性などの属性、ならびにスクリプトオブジェクトモデルに関連付けられることが可能な任意の下位スクリプトオブジェクトモデルを指定する。次に、そのスクリプトオブジェクトモデルが、例えばブラウザ106に関連付けられた型マネージャを介して、ブラウザ106に登録される。このためブラウザ106は、そのスクリプトオブジェクトモデルに基づいてインスタンス化されたスクリプトオブジェクトをどのように解釈し処理すべきかを知っている。その結果、本発明の態様によって提供されるスクリプトマークアップ言語は、新たなスクリプトオブジェクトモデルが定義されて、それらのスクリプトオブジェクトモデルに基づいてインスタンス化されたスクリプトオブジェクトを含むスクリプトマークアップを解釈するために、ブラウザに登録されることが可能であるという点で拡張可能である。
本発明の態様を、構造上の特徴、および/または方法上の動作に特有の言い回しで説明してきたが、添付の特許請求の範囲において定義される主題は、前述した特定の特徴または動作に、必ずしも限定されないことを理解されたい。むしろ、前述した特定の特徴および動作は、特許請求の範囲を実施する例示的な形式として開示される。
本発明の態様を実施するための例示的なコンピューティングシステムを示すブロック図である。 本発明の一態様によるマークアップドキュメントの例示的な分割を示すブロック図である。 本発明の態様を実施する例示的なマークアップドキュメントを示すテキストの図である。

Claims (12)

  1. コンピュータに、サーバコンピューティングシステムに関連するデータベース内にマークアップドキュメントとして格納されるWebページなどの電子ドキュメントを、クライアントコンピューティングシステムのブラウザで表示する方法を実行させるためのコンピュータプログラムであって、前記方法は、
    前記ブラウザに関連付けられた型マネージャを介して、カスタムスクリプトオブジェクトモデルを登録するための入力を受信するステップであって、前記カスタムスクリプトオブジェクトモデルは、前記ブラウザによって実行される電子ドキュメントに含まれる、当該カスタムスクリプトオブジェクトモデルに従うスクリプトオブジェクトを解釈する際に、前記ブラウザが使用するための1つまたは複数のユーザ定義属性を含み、前記ユーザ定義属性は、プロパティ属性、メソッド属性、またはイベント属性を含む、ステップと
    前記ブラウザに前記カスタムスクリプトオブジェクトモデルを登録するステップと、
    前記データベースから、前記ブラウザで表示するためのマークアップドキュメントの形式で格納される電子ドキュメントを取り出すステップであって、前記取り出された電子ドキュメントは、前記取り出された電子ドキュメントの第1の部分に、Webページ上に表示されるときに前記電子ドキュメントの内容および/または外観の書式設定を定義する1つまたは複数の汎用マークアップ要素からなる汎用マークアップ部分を定義するマークアップ言語を有し、前記取り出された電子ドキュメントは、同一の前記取り出された電子ドキュメントの第2の部分に、参照要素およびコンポーネント要素を含むスクリプトマークアップ要素からなるスクリプトマークアップ部分を定義するマークアップ言語を有し、前記参照要素は、既存のスクリプトファイルへの1つまたは複数の参照を含み、前記コンポーネント要素は、Webページとして表示されるときに前記電子ドキュメントに関連する対話型の振舞いおよびアプリケーション論理を定義する1つまたは複数のスクリプトオブジェクトを含み前記スクリプトオブジェクトの少なくとも1つは、前記ブラウザに登録された前記カスタムスクリプトオブジェクトモデルに従うカスタムスクリプトオブジェクトであり、前記スクリプトマークアップ部分の1つまたは複数の前記スクリプトマークアップ要素は、前記汎用マークアップ部分に含まれる少なくとも1つの汎用マークアップ要素を参照するが、前記スクリプトマークアップ部分のスクリプトマークアップ要素は、前記汎用マークアップ部分の前記汎用マークアップ要素のいずれによっても参照されない、ステップと、
    前記コンポーネント要素を処理して1つまたは複数のスクリプトオブジェクトをインスタンス化するステップであって、前記カスタムスクリプトオブジェクトモデルにアクセスして、前記カスタムスクリプトオブジェクトモデルに従う少なくとも1つのスクリプトオブジェクトをインスタンス化する方法を判定することを含む、ステップと、
    前記汎用マークアップ部分および前記スクリプトマークアップ部分を用いて前記ブラウザで表示するために前記取り出されたドキュメントを提示するステップと
    1つまたは複数の汎用マークアップ要素によって表される前記提示されたドキュメントの部分に対するユーザ入力を受信するステップと、
    前記ユーザ入力に応答して、前記1つまたは複数の汎用マークアップ要素を参照するスクリプトオブジェクトに関連付けられた1つまたは複数の属性によって定義されるアクションを実行して、前記1つまたは複数の汎用マークアップ要素によって表される前記提示されたドキュメントの部分の外観を変更するステップと
    を含むことを特徴とするコンピュータプログラム。
  2. 前記1つまたは複数のスクリプトオブジェクトの1つは、前記汎用マークアップ部分の中の1つまたは複数の汎用マークアップ要素の1つを参照することを特徴とする請求項1に記載のコンピュータプログラム。
  3. 前記1つまたは複数のスクリプトオブジェクトの1つは、1つまたは複数の下位スクリプトオブジェクトを含むことを特徴とする請求項に記載のコンピュータプログラム。
  4. 前記下位スクリプトオブジェクトの1つは、前記スクリプトオブジェクトの属性を、別のスクリプトオブジェクトの属性に結び付けるためのバインドオブジェクトであり、両方の属性は、プロパティ属性であることを特徴とする請求項に記載のコンピュータプログラム。
  5. 前記バインドオブジェクトは、前記スクリプトオブジェクトの前記属性の型を前記別のスクリプトオブジェクトの前記属性の型に変換するファンクションを含むことを特徴とする請求項に記載のコンピュータプログラム。
  6. 前記下位スクリプトオブジェクトの1つは、イベントオブジェクトであることを特徴とする請求項に記載のコンピュータプログラム。
  7. 前記イベントオブジェクトは、前記イベントが生じた際に何を行うべきかを詳細に記述するイベントハンドラをさらに含むことを特徴とする請求項に記載のコンピュータプログラム。
  8. 前記イベントハンドラは、前記イベントが生じた際にある特定のアクションを開始するアクションオブジェクトを含むことを特徴とする請求項に記載のコンピュータプログラム。
  9. 前記アクションは、別のスクリプトオブジェクトの属性を実行することを含み、前記属性は、メソッド属性であることを特徴とする請求項に記載のコンピュータプログラム。
  10. 前記アクションは、別のスクリプトオブジェクトの属性を構成することを含み、前記属性は、プロパティ属性であることを特徴とする請求項に記載のコンピュータプログラム。
  11. サーバコンピューティングシステムに関連するデータベース内にマークアップドキュメントとして格納されるWebページなどの電子ドキュメントを、クライアントコンピューティングシステムのブラウザで表示する方法であって、
    前記ブラウザに関連付けられた型マネージャを介して、カスタムスクリプトオブジェクトモデルを登録するための入力を受信するステップであって、前記カスタムスクリプトオブジェクトモデルは、前記ブラウザによって実行される電子ドキュメントに含まれる、当該カスタムスクリプトオブジェクトモデルに従うスクリプトオブジェクトを解釈する際に、前記ブラウザが使用するための1つまたは複数のユーザ定義属性を含み、前記ユーザ定義属性は、プロパティ属性、メソッド属性、またはイベント属性を含む、ステップと
    前記ブラウザに前記カスタムスクリプトオブジェクトモデルを登録するステップと、
    前記データベースから、前記ブラウザで表示するためのマークアップドキュメントの形式で格納される電子ドキュメントを取り出すステップであって、前記取り出された電子ドキュメントは、前記取り出された電子ドキュメントの第1の部分に、Webページ上に表示されるときに前記電子ドキュメントの内容および/または外観の書式設定を定義する1つまたは複数の汎用マークアップ要素からなる汎用マークアップ部分を定義するマークアップ言語を有し、前記取り出された電子ドキュメントは、同一の前記取り出された電子ドキュメントの第2の部分に、参照要素およびコンポーネント要素を含むスクリプトマークアップ要素からなるスクリプトマークアップ部分を定義するマークアップ言語を有し、前記参照要素は、既存のスクリプトファイルへの1つまたは複数の参照を含み、前記コンポーネント要素は、Webページとして表示されるときに前記電子ドキュメントに関連する対話型の振舞いおよびアプリケーション論理を定義する1つまたは複数のスクリプトオブジェクトを含み前記スクリプトオブジェクトの少なくとも1つは、前記ブラウザに登録された前記カスタムスクリプトオブジェクトモデルに従うカスタムスクリプトオブジェクトであり、前記スクリプトマークアップ部分の1つまたは複数の前記スクリプトマークアップ要素は、前記汎用マークアップ部分に含まれる少なくとも1つの汎用マークアップ要素を参照するが、前記スクリプトマークアップ部分のスクリプトマークアップ要素は、前記汎用マークアップ部分の前記汎用マークアップ要素のいずれによっても参照されない、ステップと、
    前記コンポーネント要素を処理して1つまたは複数のスクリプトオブジェクトをインスタンス化するステップであって、前記カスタムスクリプトオブジェクトモデルにアクセスして、前記カスタムスクリプトオブジェクトモデルに従う少なくとも1つのスクリプトオブジェクトをインスタンス化する方法を判定することを含む、ステップと、
    前記汎用マークアップ部分および前記スクリプトマークアップ部分を用いて前記ブラウザで表示するために前記取り出されたドキュメントを提示するステップと
    1つまたは複数の汎用マークアップ要素によって表される前記提示されたドキュメントの部分に対するユーザ入力を受信するステップと、
    前記ユーザ入力に応答して、前記1つまたは複数の汎用マークアップ要素を参照するスクリプトオブジェクトに関連付けられた1つまたは複数の属性によって定義されるアクションを実行して、前記1つまたは複数の汎用マークアップ要素によって表される前記提示されたドキュメントの部分の外観を変更するステップと
    を含むことを特徴とする方法。
  12. 前記方法は、前記参照要素内で参照されるファイルの内容を取り出すステップをさらに含むことを特徴とする請求項11に記載の方法。
JP2008531155A 2005-09-12 2006-08-29 スクリプトマークアップ Expired - Fee Related JP5162459B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US71629305P 2005-09-12 2005-09-12
US60/716,293 2005-09-12
US11/318,305 2005-12-23
US11/318,305 US7945853B2 (en) 2005-09-12 2005-12-23 Script markup
PCT/US2006/034121 WO2007032925A1 (en) 2005-09-12 2006-08-29 Script markup

Publications (3)

Publication Number Publication Date
JP2009508253A JP2009508253A (ja) 2009-02-26
JP2009508253A5 JP2009508253A5 (ja) 2009-12-10
JP5162459B2 true JP5162459B2 (ja) 2013-03-13

Family

ID=37856766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008531155A Expired - Fee Related JP5162459B2 (ja) 2005-09-12 2006-08-29 スクリプトマークアップ

Country Status (14)

Country Link
US (1) US7945853B2 (ja)
EP (1) EP1952263A4 (ja)
JP (1) JP5162459B2 (ja)
KR (1) KR20080045703A (ja)
AU (1) AU2006291331B2 (ja)
BR (1) BRPI0615457A2 (ja)
CA (1) CA2618859C (ja)
IL (1) IL189422A (ja)
MX (1) MX2008003413A (ja)
NO (1) NO20080634L (ja)
NZ (1) NZ566420A (ja)
RU (1) RU2412472C2 (ja)
SG (1) SG165366A1 (ja)
WO (1) WO2007032925A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239749B2 (en) * 2004-06-25 2012-08-07 Apple Inc. Procedurally expressing graphic objects for web pages
US7689903B2 (en) * 2005-03-22 2010-03-30 International Business Machines Corporation Unified markup language processing
JP5539974B2 (ja) * 2008-06-18 2014-07-02 トムソン ライセンシング デジタル文書の表示およびその文書内のナビゲーションのためにその文書を前処理する方法
US8112470B2 (en) * 2008-09-09 2012-02-07 Microsoft Corporation Virtual javascript object notation
US8332815B2 (en) * 2009-03-17 2012-12-11 International Business Machines Corporation Enhanced development tool for utilizing a javascript object notation (JSON) bridge for non-java-based component communication within java-based composite applications
CN102446162A (zh) * 2010-10-15 2012-05-09 元太科技工业股份有限公司 电子系统及其控制方法
US10466989B2 (en) * 2011-09-02 2019-11-05 Microsoft Technology Licensing, Llc. Fast presentation of markup content having script code
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US10481876B2 (en) 2017-01-11 2019-11-19 Microsoft Technology Licensing, Llc Methods and systems for application rendering

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835712A (en) * 1996-05-03 1998-11-10 Webmate Technologies, Inc. Client-server system using embedded hypertext tags for application and database development
US6061698A (en) * 1997-10-22 2000-05-09 International Business Machines Corporation Merging tagged documents and scripts having dynamic content
US6272673B1 (en) * 1997-11-25 2001-08-07 Alphablox Corporation Mechanism for automatically establishing connections between executable components of a hypertext-based application
US6188401B1 (en) * 1998-03-25 2001-02-13 Microsoft Corporation Script-based user interface implementation defining components using a text markup language
US6480865B1 (en) * 1998-10-05 2002-11-12 International Business Machines Corporation Facility for adding dynamism to an extensible markup language
US6981215B1 (en) * 1998-12-31 2005-12-27 Microsoft Corp. System for converting event-driven code into serially executed code
US6470349B1 (en) * 1999-03-11 2002-10-22 Browz, Inc. Server-side scripting language and programming tool
US7594166B1 (en) * 1999-05-20 2009-09-22 Microsoft Corporation Dynamic web page behaviors
US6493719B1 (en) * 1999-07-26 2002-12-10 Microsoft Corporation Method and system for scripting for system management information
US6748569B1 (en) * 1999-09-20 2004-06-08 David M. Brooke XML server pages language
US6981212B1 (en) * 1999-09-30 2005-12-27 International Business Machines Corporation Extensible markup language (XML) server pages having custom document object model (DOM) tags
US6732330B1 (en) * 1999-09-30 2004-05-04 International Business Machines Corporation Scripting language blocks to support multiple scripting languages in a single web page
US6691176B1 (en) * 1999-11-04 2004-02-10 Microsoft Corporation Method for managing client services across browser pages
US6966029B1 (en) 1999-12-08 2005-11-15 Koninklijke Philips Electronics N.V. Script embedded in electronic documents as invisible encoding
US6826725B1 (en) * 1999-12-16 2004-11-30 Microsoft Corporation Techniques for invoking system commands from within a mark-up language document
AU2001231259A1 (en) 2000-02-04 2001-08-14 America Online Incorporated System and process for delivering and rendering scalable web pages
US7207000B1 (en) * 2000-02-24 2007-04-17 International Business Machines Corporation Providing dynamic web pages by separating scripts and HTML code
US6717593B1 (en) * 2000-09-12 2004-04-06 Avaya Technology Corp. Mark-up language implementation of graphical or non-graphical user interfaces
US6594823B1 (en) * 2000-09-13 2003-07-15 Microsoft Corporation Method and system for representing a high-level programming language data structure in a mark-up language
US7089330B1 (en) * 2000-09-28 2006-08-08 I2 Technologies Us, Inc. System and method for transforming custom content generation tags associated with web pages
US20020087630A1 (en) * 2000-10-20 2002-07-04 Jonathan Wu Enhanced information and presence service
EP1204030A1 (en) * 2000-11-02 2002-05-08 Caplin Systems Limited Extending hypermedia documents by adding tagged attributes
US7181684B2 (en) * 2000-12-12 2007-02-20 Oracle International Corporation Dynamic tree control system
US20020147745A1 (en) * 2001-04-09 2002-10-10 Robert Houben Method and apparatus for document markup language driven server
US6944660B2 (en) * 2001-05-04 2005-09-13 Hewlett-Packard Development Company, L.P. System and method for monitoring browser event activities
US7610547B2 (en) * 2001-05-04 2009-10-27 Microsoft Corporation Markup language extensions for web enabled recognition
US20020178182A1 (en) * 2001-05-04 2002-11-28 Kuansan Wang Markup language extensions for web enabled recognition
US7000218B2 (en) * 2001-06-29 2006-02-14 International Business Machines Corporation System and method for developing custom programmable tags
WO2003036460A1 (en) 2001-10-23 2003-05-01 Samsung Electronics Co., Ltd. Information storage medium including markup document and av data, recording method, reproducing method, and reproducing apparatus therefor
US20030188039A1 (en) * 2002-03-26 2003-10-02 Liu James C. Method and apparatus for web service aggregation
GB0211897D0 (en) 2002-05-23 2002-07-03 Koninkl Philips Electronics Nv Dynamic markup language
US7162687B2 (en) * 2002-05-31 2007-01-09 Sun Microsystems, Inc. JSP tag libraries and web services
TWI221563B (en) * 2002-07-05 2004-10-01 Samsung Electronics Co Ltd Method for displaying mark-up document according to parental level, method and apparatus for reproducing mark-up document in interactive mode, and data storage medium
US20060224978A1 (en) * 2005-04-01 2006-10-05 Paul Albrecht System for creating a graphical application interface
CA2414378A1 (en) * 2002-12-09 2004-06-09 Corel Corporation System and method for controlling user interface features of a web application
US7596303B2 (en) 2003-03-31 2009-09-29 Samsung Electronics Co., Ltd. Apparatus for use with information storage medium containing enhanced AV (ENAV) buffer configuration information, reproducing method thereof and method for managing the buffer
US7269792B2 (en) * 2003-04-24 2007-09-11 International Business Machines Corporation System and method for generating high-function browser widgets with full addressability
US20050021756A1 (en) * 2003-07-26 2005-01-27 Grant Bruce K. Method of developing, delivering and rendering network applications
US20050044491A1 (en) * 2003-08-20 2005-02-24 Michael Peterson Dynamic web serving system
US20050102611A1 (en) * 2003-11-06 2005-05-12 Danny Chen Process for creating dynamic web pages driven from the server side
US7458019B2 (en) * 2004-01-20 2008-11-25 International Business Machines Corporation System and method for creating and rendering client-side user interfaces via custom tags
US8438577B2 (en) * 2005-04-18 2013-05-07 Research In Motion Limited Method and system for extending scripting languages
US20060265662A1 (en) * 2005-05-19 2006-11-23 Custom Credit Systems, L.P. System and method for generating and updating user interfaces of web-based applications
US20070050710A1 (en) * 2005-08-31 2007-03-01 Redekop Christopher K Graphical user interface for a web application
US7739589B2 (en) * 2005-11-02 2010-06-15 International Business Machines Corporation Extending markup of a browser using a plug-in framework

Also Published As

Publication number Publication date
JP2009508253A (ja) 2009-02-26
NZ566420A (en) 2010-04-30
BRPI0615457A2 (pt) 2011-05-17
US20070061708A1 (en) 2007-03-15
RU2412472C2 (ru) 2011-02-20
SG165366A1 (en) 2010-10-28
AU2006291331B2 (en) 2011-03-31
WO2007032925A1 (en) 2007-03-22
US7945853B2 (en) 2011-05-17
IL189422A (en) 2013-03-24
NO20080634L (no) 2008-03-12
IL189422A0 (en) 2008-06-05
RU2008109233A (ru) 2009-10-10
CA2618859A1 (en) 2007-03-22
KR20080045703A (ko) 2008-05-23
CA2618859C (en) 2014-03-25
EP1952263A1 (en) 2008-08-06
EP1952263A4 (en) 2010-11-03
AU2006291331A1 (en) 2007-03-22
MX2008003413A (es) 2008-03-27

Similar Documents

Publication Publication Date Title
JP5162459B2 (ja) スクリプトマークアップ
US11755346B2 (en) Method and apparatus for user interface modification
US20220067268A1 (en) Systems and methods for remote dashboard image generation
JP5439190B2 (ja) It向けサーバベースのウェブアプリケーションを作成するための方法およびシステム
US7694271B2 (en) Rendering GUI widgets with generic look and feel
KR101507629B1 (ko) 기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버
US8166396B2 (en) User interface rendering
US20070130205A1 (en) Metadata driven user interface
US20060224948A1 (en) Method, system and software tool for processing an electronic form
US8225217B2 (en) Method and system for displaying information on a user interface
JP5393242B2 (ja) データ提供方法および中間サーバ装置
CN107077484B (zh) 生成应用的网络浏览器视图
JP2006268164A (ja) 画面情報生成方法、画面情報生成装置および画面情報生成プログラム
JP2007304778A (ja) プログラムのテスト方法、プログラム、テスト装置、及びアプリケーション開発システム
Vigo et al. Automatic device-tailored evaluation of mobile web guidelines
Marinos et al. Towards an XML-based user interface for electronic health record
JP2007233923A (ja) 画面情報生成方法、画面情報生成システムおよび画面情報生成プログラム
JP2012043058A (ja) ウェブページへの共通コンテンツ組込方法及び共通コンテンツ組込プログラム
IL199860A (en) Method and System for Creating Server-Based Networking and Information Technology (IT) Applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121217

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees