JP2014520342A - 実行ページの動的更新 - Google Patents

実行ページの動的更新 Download PDF

Info

Publication number
JP2014520342A
JP2014520342A JP2014516993A JP2014516993A JP2014520342A JP 2014520342 A JP2014520342 A JP 2014520342A JP 2014516993 A JP2014516993 A JP 2014516993A JP 2014516993 A JP2014516993 A JP 2014516993A JP 2014520342 A JP2014520342 A JP 2014520342A
Authority
JP
Japan
Prior art keywords
document
dom
node tree
text
markup
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.)
Granted
Application number
JP2014516993A
Other languages
English (en)
Other versions
JP5941540B2 (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 JP2014520342A publication Critical patent/JP2014520342A/ja
Application granted granted Critical
Publication of JP5941540B2 publication Critical patent/JP5941540B2/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

方法は、文書ノード・ツリーが、当該文書ノード・ツリーの各ノードに対応するテキスト・ソース文書内にあるテキストの位置を示すテキスト・オフセットを含むように、文書ノード・ツリーを構築するためにテキスト・ソース文書を解析するステップを含む。本方法は、文書ノード・ツリーから、文書オブジェクト・モデル(DOM)と、このDOMを表すビュー・ノード・ツリーとを構築するステップを含む。ビュー・ノード・ツリーの構築は、ビュー・ノード・ツリーを文書ノード・ツリーにマッピングすることを含む。本方法は、DOMの実行表現を供給するステップと、第1変更情報を提供するためにDOMに対する修正を追跡するステップ、または第2変更情報を提供するためにテキスト・ソース文書に対する修正を追跡するステップの内1つとを含む。
【選択図】図3

Description

[0001] ウェブ開発ツールは、開発者がハイパーテキスト・マークアップ言語(HTML)およびカスケーディング・スタイル・シート(CSS:Cascading Style Sheets)問題を診断することを可能にする。開発者は、SCCセレクタを含む文書オブジェクト・モデル(DOM)エレメントを動的に修正し(modify)、ブラウザーにおいて実行中のページにおいて直ちに反映される変化(change)を見ることができる。しかしながら、そのページが発生した元になるマークアップ・テキスト・ソース文書に修正を永続的に適用するためには、開発者は、マークアップ・テキストを突き止めてしかるべく修正するか、所望の変更に関連付けられた元のJavaScriptを突き止めてしかるべく修正する必要がある。とは言え、所望の修正に関連付けられたソース・コード・テキストを突き止めるのは難しい場合がある。これは、関連付けられたソース・コード・テキストが直ちに明確にならないこともあるからであり、または開発者に馴染みのないコードにおいてソース・コード・テキストが発生することもあるからである。加えて、一旦所望の修正に関連するソース・コード・テキストを突き止めても、修正を適用しブラウザーにおいてこの修正の結果を実際に見るためには、様々な段階を踏まなければならない場合がある。
[0002] この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴または必須な特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために使用されることを意図するのでもない。
[0003] 一実施形態では、文書ノード・ツリーを構築するためにテキスト・ソース文書を解析するステップを含む方法を提供する。文書ノード・ツリーは、その文書ノート・ツリーの各ノードに対応する、テキスト・ソース文書内におけるテキストの位置を示すテキスト・オフセットを含むように構築される。本方法は、この文書ノード・ツリーから、文書オブジェクト・モデル(DOM)、およびこのDOMを表すビュー・ノード・ツリーを構築するステップを含む。ビュー・ノード・ツリーを構築するステップは、ビュー・ノード・ツリーを文書ノード・ツリーにマッピングするステップを含む。本方法は、DOMの実行表現(running representation)を示すステップと、DOMに対する修正を追跡して第1変化情報を提供するステップおよびテキスト・ソース文書に対する修正を追跡して第2変化情報を提供するステップの内1つとを含む。
[0004] 添付図面は、実施形態の一層深い理解が得られるようにするために含まれているのであり、本明細書に組み込まれその一部を構成する。図面は、実施形態を図示し、本明細書の記載と共に、実施形態の原理を説明する役割を果たす。他の実施形態および実施形態の意図する利点の多くは容易に認められよう。何故なら、これらは、以下の詳細な説明を参照することによって一層深く理解されるからである。図面の要素は、必ずしも互いに対して同じ倍率で描かれている訳ではない。同様の参照番号は、対応する同様の部分を示す。
図1は、ウェブ開発ツールの一実施形態を示すブロック図である。 図2は、図1に示すウェブ開発ツールの態様を実現するのに適した計算デバイス/環境の一実施形態を示すブロック図である。 図3は、ウェブ開発ツールの一実施形態を示す機能ブロック図である。 図4は、文書ノード・ツリーにマッピングされたHTMLテキストの一例を示すブロック図である。 図5は、ビュー・ノード・ツリーにマッピングされた文書ノード・ツリーの一例を示すブロック図である。 図6は、ブラウザー・インスタンスによって表されるDOMに対するビュー・ノード・ツリーの一例を示すブロック図である。 図7は、修正前後における文書ノード・ツリーの一例を示すブロック図である。 図8は、修正についての変化記録の一例を示すブロック図である。 図9は、マークアップ・テキスト・ソース文書に対する修正に基づいて実行中のウェブ・ページを動的に更新し、この実行中のウェブ・ページに対する修正に基づいてマークアップ・ソース文書を動的に更新する方法の一実施形態を示す流れ図である。
[0014] 以下の詳細な説明では、添付図面を参照する。添付図面は、本発明を実施することができる具体的な実施形態の一部をなし、図面において例示として実施形態が示されている。尚、本発明の範囲から逸脱することなく、他の実施形態を利用すること、および構造的変更または論理的変更を行うこともできることは言うまでもない。したがって、以下の詳細な説明は、限定的な意味で捕らえてはならず、本発明の範囲は、添付した特許請求の範囲によって定められるものとする。
[0015] 尚、本明細書において記載する種々の実施形態例の特徴は、具体的に別段明記されていなければ、互いに組み合わせてもよいことは言うまでもない。
[0016] 図1は、ウェブ開発ツール100の一実施形態を示すブロック図である。ウェブ開発ツール100は、テキスト・ソース文書102、およびこのテキスト・ソース文書の実行表現104を含む。一実施形態では、テキスト・ソース文書102は、ウェブ・ページ・ソース・コード・エディターにおいて開かれる。他の実施形態では、テキスト・ソース文書102またはテキスト・ソース文書102の一部は、ウェブ・ページ・ソース・コード・ビューアにおいて表示される。一実施形態では、テキスト・ソース文書102の実行表現104は、ブラウザーによって供給される。他の実施形態では、テキスト・ソース文書102の実行表現104は、設計者、プロパティ・ペイン、またはテキスト・ソース文書の実行表現の他の適した可視化によって供給される。
[0017] ウェブ・ページ・ソース・コードに対する修正は、実行表現104によって表されるように、実行ページ・インスタンスを動的に更新してウェブ・ページ・ソース・コードに対する修正を含むために、ウェブ・ページの実行ページ・インスタンスに適用される。同様に、ウェブ・ページの実行ページ・インスタンスにおけるDOMエレメントに対する修正も、ウェブ・ページ・ソース・コードを動的に変更してDOMエレメントに対する修正を含むために、ウェブ・ページ・ソース・コードに適用される。このように、ウェブ・ページ開発者は、ブラウザーにおけるウェブ・ページの実行インスタンス内にあるDOMエレメントを修正すること、および/またはウェブ・ページ・ソース・コードを修正することができ、修正は、ウェブ・ページ・ソース・コードおよび/またはウェブ・ページの実行インスタンスにそれぞれ動的に適用される。
[0018] テキスト・ソース文書102のウェブ・ページ・ソース・コードが、リンク112によって、実行表現104によって表されるウェブ・ページの実行ページ・インスタンスにおいて関連する文書オブジェクト・モデル(DOM)110にリンクされる。したがって、実行表現104内においてDOMエレメントを選択または強調することによって、この選択または強調されたDOMエレメントに関連するウェブ・ページ・テキストが、テキスト・ソース文書102内において選択または強調される。同様に、テキスト・ソース文書102内においてウェブ・ページ・テキストの一部を選択または強調することによって、このウェブ・ページ・テキストの選択または強調された一部に関連する1つまたは複数のエレメントが実行表現104内において選択または強調される。このように、ウェブ・ページ開発者は、ウェブ・ページの実行インスタンスにおいて表現されるDOMエレメントを、DOMエレメントを定めるウェブ・ページ・テキスト・ソース・コードと、瞬時に照合することができる。
[0019] 一実施形態では、テキスト・ソース文書102はソース・コード・エディターにおいて開かれる。ソース・コード・エディターは、ウェブ・ページ・テキスト・ソース文書を開く、作成する、編集する、および保存するのに適したいずれかのテキスト・エディターを含む。一実施形態では、ソース・コード・エディターによって編集することができるウェブ・ページ・テキスト・ソース文書は、ハイパーテキスト・マークアップ言語(HTML)、カスケーディング・スタイル・シート(CSS)、拡張可能マークアップ言語(XML)、および/または拡張可能ハイパーテキスト・マークアップ言語(XHTML)というような、マークアップ・テキストを含む。また、ウェブ・ページ・テキスト・ソース文書は、JavaScript(登録商標)またはJScriptも含むことができる。本明細書において用いる場合、「JS」は、JavaScriptおよびJScript双方を指すこととする。他の実施形態では、ソース・コード・エディターは、他の適したウェブ・ページ・マークアップ・テキストおよびスクリプティング言語を含むウェブ・ページ・テキスト・ソース文書を開く、作成する、編集する、および保存するのに適している。一実施形態では、ソース・コード・エディターは、関係があるウェブ・ページ・テキスト・ソース文書またはリンクされているウェブ・ページ・テキスト・ソース文書をソース・コード・エディター内において同時に開くことができるように、ウェブ・ページ・テキスト・ソース文書の多数のインスタンスをサポートする。
[0020] 一実施形態では、実行表現104は、DOM、ワールド・ワイド・ウェブ・コンソーシアム(W3C)に準拠したウェブ・ブラウザーである。一実施形態では、このブラウザーは、DOM110の表現が、Internet Explorer、FireFox、Chrome、Safari、またはOperaというようないずれの特定のブラウザーにも依存しないように、DOM110のブラウザー非依存的表現(agnostic representation)を供給する。他の実施形態では、DOMの表現が、選択されたブラウザーに基づくように、ブラウザーが選択される。ブラウザーは、DOM110の表現の基になるInternet Explorer、FireFox、Chrome、Safari、またはOperaというような特定のブラウザーをユーザーが選択するための選択肢を含むことができる。一実施形態では、ブラウザーは、関係するウェブ・ページまたはリンクされたウェブ・ページをブラウザー内部で同時に実行(running)することができるように、DOMの多数のインスタンスをサポートする。また、実行表現104は、実行スクリプト108およびアプリケーション・プログラミング・インターフェース(API)も含むことができる。スクリプト108およびAPI106は、実行表現104内部においてDOM110の中にあるDOMエレメントを修正、削除、および/または挿入することができる。
[0021] 図2は、図1を参照して以上で説明および例示したウェブ開発ツール100の態様を実現するのに適した計算デバイス/環境200の一実施形態を示すブロック図である。計算デバイス/環境200は、1つ以上の処理ユニット212およびシステム・メモリー214を含む。計算デバイス/環境200の正確な構成および形式に依存して、メモリー214は、揮発性(RAMのような)、不揮発性(ROM、フラッシュ・メモリー等のような)、またはこれら2つの何らかの組み合わせであることができる。
[0022] また、計算デバイス/環境200は、追加の特徴/機能も有することができる。例えば、計算デバイス/環境200は、追加のストレージ(リムーバブルおよび/または非リムーバブル)も含むことができる。追加のストレージには、磁気または光ディスクあるいはテープが含まれるが、これらに限定されるのではない。このような追加のストレージは、図2において、リムーバブル・ストレージ216および非リムーバブル・ストレージ218によって図示されている。コンピューター記憶媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターというような情報の格納に適したいずれかの方法または技術によって実現される。メモリー214、リムーバブル・ストレージ216、および非リムーバブル・ストレージ218は全て、コンピューター記憶媒体の例である(例えば、コンピューター実行可能命令を格納するコンピューター読み取り可能記憶媒体であり、少なくとも1つのプロセッサーによって命令を実行すると、この少なくとも1つのプロセッサーに方法を実行させる)。コンピューター記憶媒体には、RAM、ROM、EEPROM、フラッシュ・メモリーまたは他のメモリー技術、CD−ROM、ディジタル・バーサタイル・ディスク(DVD)または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができ、計算デバイス/環境200によってアクセスすることができる他のあらゆる媒体を含むが、これらに限定されるのではない。
[0023] 計算デバイス/環境200の種々のエレメントは、1つ以上の通信リンク215を介して互いに通信可能に結合される。また、計算デバイス/環境200は、1つ以上の通信接続224も含む。通信接続224は、計算デバイス/環境200が他のコンピューター/アプリケーション226と通信することを可能にする。また、計算デバイス/環境200は、キーボード、ポインティング・デバイス(例えば、マウス)、ペン、音声入力デバイス、タッチ入力デバイス等というような、入力デバイス(1つまたは複数)222も含むことができる。また、計算デバイス/環境200は、ディスプレイ、スピーカー、プリンター等のような、出力デバイス(1つまたは複数)220も含むことができる。
[0024] 図2および以上の論述は、1つ以上の実施形態を実現することができる適した計算環境の全般的な説明を端的に提示することを意図しており、実施形態の使用範囲や機能に関して限定を示唆することは全く意図していない。
[0025] 図3は、ウェブ開発ツール300の一実施形態を示す機能ブロック図である。一実施形態では、ウェブ開発ツール300は、図1を参照して以上で説明および図示したウェブ開発ツール100を設ける。ウェブ開発ツール300は、マークアップ・テキスト302、マークアップ・パーサー(parser)306、文書ノード・ツリー310、DOMビルダー314、ブラウザー318、DOM修正リスナー(DOM modification listener)322、およびマークアップ・シリアライザー(markup serializer)328を含む。304において示すように、マークアップ・テキスト302はマークアップ・パーサー306に入力される。マークアップ・パーサー306は、308において示すように、文書ノード・ツリー310を出力する。文書ノード・ツリー310は、312において示すように、DOMビルダー314に入力される。DOMビルダー314は、316において示すように、DOMをブラウザー318に出力する。DOM修正リスナー322は、320において示すように、ブラウザー318内におけるDOMエレメントに対する変更を追跡する。324において示すように、DOM修正リスナー322は、変更情報を文書ノード・ツリー310に出力する。マークアップ・シリアライザー328は、326において示すように、変更情報を文書ノード・ツリー310から受け取る。マークアップ・シリアライザー328は、330において示すように、シリアル化変更情報(serialized change information)でマークアップ・テキスト302を更新する。
[0026] マークアップ・テキスト302は、HTML、CSS、XML、XHTML、および/または他の適したマークアップ・テキストを含む。一実施形態では、マークアップ・テキスト302を含むソース文書は、ソース・コード・エディターにおいて開かれる。他の実施形態では、ウェブ開発ツール300は、ソース・コード・エディターにおいてソース・文書を開くことなく、マークアップ・テキスト302を含むソース文書にアクセスする。マークアップ・テキスト302は、ウェブ・ページを供給するために適した数のオブジェクトであればいくつでも定める。図3に示す例では、マークアップ・テキスト302はHTMLを含む。このHTMLの例は、「Hello」というテキストを含むDOMエレメントを供給する1つのオブジェクトを定める。
[0027] マークアップ・テキスト302のテキスト的性質(textual nature)のために、マークアップ・テキスト302の各キャラクターは、332において示すような、対応するライン番号と、334において示すような、そのラインに対する対応する相対的キャラクター番号とを有する。例えば、マークアップ・テキスト302におけるキャラクター「H」は、ライン2、キャラクター8に位置する。また、マークアップ・テキスト302の各キャラクターは、キャラクター番号も有する。キャラクター番号は、マークアップ・テキスト302の先頭に対するキャラクターの相対的な位置を示す。例えば、マークアップ・テキスト302におけるキャラクター「H」は、26のキャラクター番号を有する。何故なら、これはマークアップ・テキスト302における26番目のキャラクターであるからである。このように、マークアップ・テキスト302内における各キャラクターは、ライン番号およびライン内における位置に基づいて、またはマークアップ・テキスト302の先頭に対する相対的なキャラクターの位置を示すキャラクター番号に基づいて、突き止めることができる。同様に、マークアップ・テキスト302内にある一連のキャラクターも、ラインの範囲およびこれらのライン内における位置に基づいて、またはキャラクター番号の範囲に基づいて突き止めることができる。本明細書において用いる場合、これらのライン番号の範囲およびライン内における位置、またはキャラクター番号の範囲を「テキスト・オフセット」と呼ぶ。
[0028] マークアップ・テキスト302は、文書ノード・ツリー310を構築するために、マークアップ・パーサー306によって解析される。一実施形態では、マークアップ・パーサー306は、ソース・コード・エディターと同じ計算デバイス/環境上に配置される。他の実施形態では、マークアップ・パーサー306は、ソース・コード・エディターとは異なる計算デバイス/環境上に配置される。マークアップ・パーサー306は、HTMLパーサー、CSSパーサー、XMLパーサー、XHTMLパーサー、および/または他の適したマークアップ・テキスト・パーサーを含む。一実施形態では、マークアップ・パーサー306はW3Cに準拠する。他の実施形態では、マークアップ・パーサー306は、Internet Explorer、FireFox、Chrome、Safari、またはOperaというような特定のブラウザーに関連付けられたパーサーに基づく。他の実施形態では、マークアップ・パーサー306は混成パーサーであり、特定のブラウザーに関連付けられたパーサーの基本的な実施態様と、特定のブラウザーのランタイム実行(runtime execution)および/または解析挙動の知識に基づく解析実施における改変(alteration)とを含む。
[0029] マークアップ・パーサー306は、文書ノード・ツリー310におけるマークアップ・テキスト302からのソース文書詳細を含む。このソース文書詳細は、ウェブ・ページに関連がある。HTMLオブジェクトおよびCSSオブジェクトに加えて、マークアップ・パーサー306は、ブラウザーによって解釈することもできる文書タイプ(doctype)およびソース内コメント(in-source comments)というような、マークアップ・テキスト302からの他の詳細も含む。また、マークアップ・パーサー306は、マークアップ・テキスト302におけるソース文書詳細の位置を示す、文書ノード・ツリー310におけるテキスト・オフセットも含む。テキスト・オフセットは、文書ノード・ツリー310の各ノードを、そのノードに関連付けられたマークアップ・テキストにマッピングする。このように、文書ノード・ツリー310とマークアップ・テキスト302との間のリンクは、解析プロセスの間維持される。これは、マークアップ・パーサー306を、ブラウザー内に統合される従来のパーサーから差別化する。従来のパーサーは、性能上の理由からレンダリングの間にソース文書詳細を破棄するまたは変形させてしまい、ソース文書とレンダリングされる文書との間のリンクを全く維持しないことが多い。
[0030] 図3に示す例では、文書ノード・ツリー310はキャラクター番号の範囲をテキスト・オフセットとして用いる。例えば、文書ノード・ツリー310は、親ノード「DIV」に対してテキスト・オフセット「テキスト・スパン:1−42」を含む。これは、マークアップ・テキスト302におけるオブジェクト「DIV」の位置を示す。同様に、文書ノード・ツリー310は、属性「id」に対してテキスト・オフセット「テキスト・スパン:6−15」、子ノード「P」に対してテキスト・オフセット「テキスト・スパン:23−34」、および子ノード「Hello」に対してテキスト・オフセット「テキスト・スパン:26−30」を含む。このように、文書ノード・ツリー310内にあるオブジェクト毎にテキスト・オフセットを含むことによって、文書ノード・ツリー310内にある各オブジェクトを、このオブジェクトに関連付けられたソース文書マークアップ・テキストにマッピングする。
[0031] DOMビルダー314は、DOMと、このDOMを表すビュー・ノード・ツリーとを文書ノード・ツリー310から構築する。DOMの各エレメントが文書ノード・ツリー310において関連付けられたオブジェクトにリンクされ、これによって、そのオブジェクトに関連付けられたソース文書マークアップ・テキストにリンクされるように、DOMビルダー314は、ビュー・ノード・ツリーの各ノードを文書ノード・ツリーの対応するノードにマッピングする。一実施形態では、DOMビルダー314は、DOMに対する修正を追跡するために、イベント・リスナーをDOMに注入する。
[0032] 一実施形態では、DOMビルダー314は、JSエレメントを構築する。一旦実行すると、JSエレメントはDOMエレメントおよびビュー・ノード・ツリー内における対応するノードを構築および/または修正することができる。これらのDOMエレメントは、文書ノード・ツリー310内部に対応するノードを有さない場合もある。
[0033] 一実施形態では、DOMビルダー314はブラウザー非依存(browser agnostic)DOMを構築する。このDOMは、Internet Explorer、FireFox、Chrome、Safari、またはOperaというようないずれの特定のブラウザーにも依存しない。他の実施形態では、選択されたブラウザーに基づいてDOMが構築されるように、DOMビルダー314が選択される。DOMビルダー314は、DOM構築の基になる、Internet Explorer、FireFox、Chrome、Safari、またはOperaというような特定のブラウザーをユーザーが選択する選択肢を含むこともできる。構築されたDOMは、ブラウザー318によって表される。一実施形態では、ブラウザー318はW3C準拠ブラウザーである。図3に示す例では、ブラウザー318は、マークアップ・テキスト302によって定められるテキスト「Hello」を含むDOMエレメントを表示する。
[0034] ビュー・ノード・ツリーおよび文書ノード・ツリー310は、ブラウザー318内にあるDOMエレメントをマークアップ・テキスト302にリンクする。例えば、ブラウザー318内において「Hello」を選択または強調することによって、マークアップ・テキスト302内において関連付けられたマークアップ・テキストが選択または強調される。逆に、マークアップ・テキスト302内において「<p>Hello</p>」を選択または強調することによって、ブラウザー318において関連付けられたDOMエレメント「Hello」が選択または強調される。
[0035] DOM修正リスナー322は、ブラウザー318内における、DOM転換(mutation)のような、DOMエレメントに対する変更を追跡する。一実施形態では、DOM修正リスナー332は、API106および/またはスクリプト108(図1)によるDOMエレメントに対する変更を追跡する。一実施形態では、DOM変更リスナー322は、DOMエレメントに対する変更毎に、変更記録を生成する。各変更記録は、ビュー・ノード・ツリーのノードによって、修正されたDOMエレメント、およびこのノードに加えられた変更を特定する。また、変更記録は、削除または挿入されたDOMエレメントを特定することもできる。DOM修正リスナー322は、次に、変更記録に基づいて、文書ノード・ツリー310において対応するノードを更新する。
[0036] 一実施形態では、ユーザーがプロパティ・パネルまたは他の適したメカニズムによってエレメント属性および/またはスタイル・プロパティを修正することによって、 文書ノード・ツリー310を通じて、DOMエレメントに対して変更を行うことができる。この実施形態では、プロパティ・パネルは、エレメントに対する変更毎に変更記録を生成する。各変更記録は、文書ノード・ツリーのノードによって修正すべきエレメントを特定し、更にノードに加えられる変更を特定する。変更記録は、変更記録に基づいて文書ノード・ツリー310内のノードを更新する。DOMビルダー314は、次に、ブラウザー318におけるDOMの表現が修正を含むように、更新された文書ノード・ツリー310に基づいて、DOM、およびこのDOMを表すビュー・ノード・ツリーを更新する。
[0037] マークアップ・シリアライザー328は、マークアップ・テキスト302を更新するために、文書ノード・ツリー310内の変更情報をシリアル化する。マークアップ・シリアライザー328は、更新された文書ノード・ツリー310と一致させるために、マークアップ・テキスト302を修正するのに必要な情報を含むように、文書ノード・ツリー310に対する変更をフォーマットする(例えば、DOM修正リスナー322またはプロパティ・パネルからの変更記録による)。一実施形態では、マークアップ・シリアライザー328によって提供される情報は、マークアップ・テキスト302において行われようとする変更の位置を示すテキスト・オフセット、および指示された位置に入れる新たな値を含む。一実施形態では、マークアップ・シリアライザー328は、ユーザー行為に応答してバッチ・プロセスでマークアップ・テキスト302を変更するために、文書ノード・ツリー310に対する複数の変更についての変更情報を組み合わせて1つのシリアル化データー・ファイルにする。他の実施形態では、マークアップ・シリアライザー328は、多数のデーター・ファイルを含むバッチ・プロセスにおいてマークアップ・テキスト302を更新することができる。
[0038] また、変更は、ソース・コード・エディター内においてマークアップ・テキスト302に対して行うこともできる。一実施形態では、マークアップ・テキスト302に対する変更の後、マークアップ・パーサー306は、文書ノード・ツリー310を更新するために、マークアップ・テキスト302の部分的解析を実行する。他の実施形態では、マークアップ・テキスト302に対する変更の後、マークアップ・パーサー306は、文書ノード・ツリー310を更新するために、マークアップ・テキスト302の完全な解析を実行する。次いで、DOMビルダー314は、マークアップ・テキスト302に対する変更がブラウザー318において反映されるように、DOM、およびこのDOMを表すビュー・ノード・ツリーを更新する。
[0039] 図4は、文書ノード・ツリー404にマッピングされたHTMLテキスト402の一例400を示すブロック図である。HTMLテキスト402から文書ノード・ツリー404を構築するために、図3を参照して以上で説明および図示したマークアップ・パーサー306のような、マークアップ・テキスト・パーサーによって、HTMLテキスト402を解析する。図4に示す例では、文書ノード・ツリー404が親ノード「DIV」ならびに子ノード「SPAN」および「P」を含むように、HTMLテキスト402を解析する。子コード「SPAN」は更に他の子ノード「TEXT(Hello)」を含む。子ノード「P」は、更に他の子ノード「Text(World)」、および値が「foo」である「class」のプロパティを含む。
[0040] このように、文書ノード・ツリー404は、HTMLテキスト402のソース文書詳細を、構造化されたツリー・フォーマットで維持する。図3を参照して先に説明および図示したように、文書ノード・ツリー404は、各親ノードおよび子ノードに関連付けられたHTMLテキスト402内におけるHTMLテキストの具体的な位置を示すために、それぞれ、親ノードおよび子ノード毎にテキスト・オフセットを含む。
[0041] 図5は、ビュー・ノード・ツリー508にマッピングされた文書ノード・ツリー506の一例500を示すブロック図である。文書ノード・ツリー506は、マークアップ文書502についてのソース文書詳細を、構造化されたツリー・フォーマットで供給する。ビュー・ノード・ツリー508は、HTMLインスタンス・マネージャー504におけるDOMの一インスタンスを表す。一実施形態では、HTMLインスタンス・マネージャー504はビュー・ノード・ツリーの多数のインスタンスを管理することができる。一実施形態では、HTMLインスタンス・マネージャー504内においてDOMを表すビュー・ノード・ツリー508は、選択されたブラウザーに基づく。HTMLインスタンス・マネージャー504は、ビュー・ノード・ツリー508の基になるInternet Explorer、FireFox、Chrome、Safari、またはOperaというような特定のブラウザーをユーザーが選択する選択肢を含むことができる。
[0042] ビュー・ノード・ツリー508の各ノードは、各ノードを文書ノード・ツリー506における関連するノードにマッピングする識別子を含む。一実施形態では、図3を参照して以上で説明および図示したDOMビルダー314によって、ビュー・ノード・ツリーの各ノードに識別子が割り当てられる。一実施形態では、識別子は番号である。図5に示す例では、ビュー・ノード・ツリー508の識別子「105」が、文書ノード・ツリー506の親ノード「DIV」にマッピングされている。同様に、識別子「106」が子ノード「SPAN」にマッピングされ、識別子「107」が子ノード「TEXT(Hello)」にマッピングされている。このように、ビュー・ノード・ツリーの各識別子は、ビュー・ノード・ツリーのノードを、文書ノード・ツリーにおいて関連するノードにリンクする。
[0043] 図6は、ブラウザー・インスタンス614によって表されるDOMに対するビュー・ノード・ツリー610の一例600を示すブロック図である。アプリケーション602は、ビュー・ノード・ツリー610を管理する、HTMLインスタンス・マネージャー608を含む。一実施形態では、HTMLインスタンス・マネージャー608は、ビュー・ノード・ツリーの多数のインスタンスを管理する。アプリケーション606は、ブラウザー・インスタンス614を管理するインスタンス・マネージャー612を含む。一実施形態では、インスタンス・マネージャー612は多数のブラウザー・インスタンスを管理する。ブラウザー・インスタンス614は、DOMのインスタンスを表す。アプリケーション602は、通信リンク(COM)604を介してアプリケーション606に通信可能に結合される。
[0044] ビュー・ノード・ツリー610の各ノードの識別子は、ビュー・ノード・ツリー610において各「DOM Proxy」によって示されるように、ブラウザー・インスタンス614によって表される関連DOMエレメントにリンクされる。つまり、ブラウザー・インスタンス614によって表される各DOMエレメントは、ビュー・ノード・ツリー610のノードにリンクまたはマッピングされる。したがって、ブラウザー・インスタンス614内に表される各DOMエレメントは、ビュー・ノード・ツリーおよび文書ノード・ツリーによって、マークアップ・テキスト・ソース文書におけるマークアップ・テキストにリンクされる。
[0045] 図6に示す例では、ビュー・ノード・ツリー610の識別子「105」が、ブラウザー・インスタンス614によって表されるDOMエレメントの識別子「105」に対するDOMプロキシーにリンクされている。同様に、識別子「106」は識別子「106」に対するDOMプロキシーにリンクされ、識別子「107」は、識別子「107」に対するDOMプロキシーにリンクされている。この例では、ビュー・ノード・ツリー610は、子ノード「TEXT(Hello)」(図5)をブラウザー・インスタンス614内にあるDOMエレメント「Hello」にリンクする識別子「107」を含む。
[0046] 図7は、修正前後における文書ノード・ツリーの一例を示すブロック図である。文書ノード・ツリー702は修正前であり、文書ノード・ツリー704は修正後である。この例では、フォント・サイズを706において示す10ポイントから708に示す25ポイントに変更するために、オブジェクト<p style="font-size":10pt">Hello</p>に対して変更を行う。修正前において、マークアップ・テキストを解析して文書ノード・ツリー702を構築し、文書ノード・ツリー702を用いて、ブラウザーにおいて表されるDOMを構築した。
[0047] 一実施形態では、この修正はマークアップ・テキストに対して行われる。修正されたマークアップ・テキストは、次に、部分的に解析されるかまたは完全に解析される。一実施形態では、解析の間にツリー・ディフィング・アルゴリズム(tree diffing algorithm)を用いて、文書ノード・ツリーに対する変更を判定する。図7に示す例では、解析の後、文書ノード・ツリー704が供給され、オブジェクト<p style="font-size":10pt">Hello</p>が<p style="font-size":25pt">Hello</p>に変更されている。この文書ノード・ツリーに対する変更から、図8に示すような変更記録800が生成される。
[0048] 図8は、修正に対する変更記録800の一例を示すブロック図である。変更記録の一例800は、図7を参照して以上で説明および図示したフォント・サイズに対する修正についてである。他の例では、変更記録800は、他の適した値、プロパティ、および/またはスタイルを修正するため、あるいはDOMエレメントを挿入および/または削除するために用いることもできる。変更記録800は、修正が行われるノード「STYLE」、修正されている値またはプロパティ「font-size」、示されたプロパティに対する古い値「10pt」、および示されたプロパティに対する新しい値「25pt」を含む。変更記録800を用いて、文書ノード・ツリーが変更され、この変更は、ビュー・ノード・ツリーおよびブラウザーによって表されるDOMを更新するために、インスタンス・マネージャー(図5)に転送される。したがって、マークアップ・テキスト、文書ノード・ツリー、およびブラウザーによって表されるDOMは、マークアップ・テキストに対する修正後、同期されることになる。
[0049] 他の実施形態では、DOMエレメントに対する変更は、エレメント属性および/またはスタイル・プロパティによって行われる。一実施形態では、エレメント属性および/またはスタイル・プロパティは、プロパティ・ペインまたはウェブ開発ツールの他の適したメカニズムによって修正される。プロパティ・ペインは、以前に説明したようにマークアップ・テキストにおいてではなく、文書ノード・ツリーにおいてエレメント属性および/またはスタイル・プロパティを変更するために用いることができる。この実施形態では、エレメント属性および/またはスタイル・プロパティに対する修正に応答して、プロパティ・ペインによって、図8に示すような変更記録800が生成される。変更記録800を用いて、文書ノード・ツリーが更新され、ビュー・ノード・ツリーおよびブラウザーによって表されるDOMを更新するために、変更はインスタンス・マネージャー(図5)に転送される。加えて、文書ノード・ツリーにおけるテキスト・オフセットによって文書ノード・ツリーとマークアップ・テキストとの間に規定されるマッピングに基づいて、修正に関連付けられたマークアップ・テキストも更新される。この例では、テキスト「10pt」の位置におけるマークアップ・テキストは、テキスト「25pt」と置き換えられる。したがって、エレメント属性および/またはスタイル・プロパティに対する修正の後、マークアップ・テキスト、文書ノード・ツリー、およびブラウザーによって表されるDOMは同期されることになる。
[0050] 他の例では、DOMエレメントに対する変更は、DOM転換イベントによって検出される。DOM転換イベントによって検出されるDOMエレメントに対する変更は、例えば、JSの実行のためであることがある。一実施形態では、ユーザー行為またはタイマーに基づいてDOMを表すビュー・ノード・ツリーを分析して変更を見つけることによっても、DOMエレメントに対する変更が判定される。DOM転換イベントによって検出される各変更、またはビュー・ノード・ツリーの分析によって判定される各変更は、図8に示すような変更記録800を生成するために用いられる。変更記録800を用いて、文書ノード・ツリーおよびマークアップ・テキストが更新される。したがって、DOMに対する修正の後、マークアップ・テキスト、文書ノード・ツリー、およびブラウザーによって表されるDOMは同期されることになる。
[0051] 図9は、マークアップ・テキスト・ソース文書に対する修正に基づいて実行中のウェブ・ページを動的に更新し、この実行中のウェブ・ページに対する修正に基づいてマークアップ・テキスト・ソース文書を動的に更新する方法の一実施形態を示す流れ図である。902において、マークアップ・テキスト・ソース文書(例えば、図3を参照して先に説明および図示したマークアップ・テキスト302)を、ソース・コード・エディターにおいて開く。904において、このマークアップ・テキスト・ソース文書にマッピングされる文書ノード・ツリー(例えば、図3を参照して先に説明および図示した文書ノード・ツリー310)を構築する。906において、DOM、および文書ノード・ツリーにマッピングされたDOMを表すビュー・ノード・ツリー(例えば、図5を参照して説明および図示したビュー・ノード・ツリー508)を構築する。908において、ブラウザーにおいてDOMを表現する(例えば、図1を参照して先に説明および図示した実行表現104)。
[0052] 910において、DOMエレメントに対する修正を追跡して、第1変更情報を提供する(例えば、図8を参照して説明および図示した変更記録800)。第1変更情報は、DOM修正リスナー322(図3)によって提供することができ、あるいはユーザーによるエレメント属性および/またはスタイル・プロパティの修正によって提供することもできる。912において、マークアップ・テキスト・ソース文書を更新するために、第1変更情報をマークアップ・テキスト・ソース文書に適用する(apply)。最初に第1変更情報に基づいて文書ノード・ツリーを更新し、次いで第1変更情報および文書ノード・ツリーにおけるテキスト・オフセットに基づいてマークアップ・テキスト・ソース文書を更新することによって、第1変更情報をマークアップ・テキスト・ソース文書に適用する。
[0053] 914において、マークアップ・テキスト・ソース文書を追跡して、第2変更情報(例えば、図8を参照して先に説明および図示した変更記録800)を提供する。916において、ブラウザーにおいて表現されるDOMエレメントを更新するために、第2変更情報をDOMエレメントに適用する。最初に第2変更情報に基づいて文書ノード・ツリーを更新し、次いで文書ノード・ツリーに基づいてDOMおよびこのDOMを表すビュー・ノード・ツリーを更新することによって、第2変更情報をDOMエレメントに適用する。
[0054] 実施形態は、ブラウザーにおいて表現されるDOMを、DOMエレメントを構築するために用いられるマークアップ・テキスト・ソース文書におけるマークアップ・テキストとリンクするウェブ開発ツールを提供する。基のソース・コードと構築されるDOMエレメントとの間に正確なマッピングが維持されるように、マークアップ・テキスト・ソース文書を解析してDOMを1つずつ組み立てていく。開示したウェブ開発ツールを用いると、実行ページにおけるDOMエレメントに対する修正に基づいて、対応するソース・コードを動的に更新することができ、ソース・コードに対する修正に基づいて、実行ページにおける対応するDOMエレメントを動的に更新することができる。
[0055] 以上、本明細書では具体的な実施形態について例示し説明したが、本発明の範囲から逸脱することなく、種々の代替実施態様および/または等価な実施態様を、図示および説明した具体的な実施形態の代わりに用いてもよいことは、当業者には認められよう。本願は、本明細書において論じた具体的な実施形態のあらゆる改変または変形も包含することを意図している。したがって、本発明は特許請求の範囲およびその均等物によってのみ限定されることを意図することとする。

Claims (10)

  1. 文書ノード・ツリーが、当該文書ノード・ツリーの各ノードに対応するテキスト・ソース文書内にあるテキストの位置を示すテキスト・オフセットを含むように、文書ノード・ツリーを構築するためにテキスト・ソース文書を解析するステップと、
    前記文書ノード・ツリーから、文書オブジェクト・モデル(DOM)と、前記DOMを表すビュー・ノード・ツリーとを構築するステップであって、前記ビュー・ノード・ツリーの構築が、前記ビュー・ノード・ツリーを前記文書ノード・ツリーにマッピングすることを含む、ステップと、
    前記DOMの実行表現を供給するステップと、
    第1変更情報を提供するために前記DOMに対する修正を追跡するステップ、または第2変更情報を提供するために前記テキスト・ソース文書に対する修正を追跡するステップの内1つと、
    を含む、方法。
  2. 請求項1記載の方法において、更に、
    前記テキスト・ソース文書を更新するために前記第1変更情報を前記テキスト・ソース文書に適用するステップ、または前記DOMの実行表現を更新するために、前記第2変更情報を前記DOMに適用するステップの内1つを含む、方法。
  3. 請求項1記載の方法において、前記DOMに対する修正を追跡するステップが、DOM転換を追跡するステップを含む、方法。
  4. 請求項1記載の方法において、前記第1変更情報が、前記文書ノード・ツリーにおいて編集、削除、または挿入するノードと、前記DOMに対する修正に対応するデーターとを特定する、方法。
  5. 請求項1記載の方法において、前記第2変更情報が、前記文書ノード・ツリーにおいて編集、削除、または挿入するノードと、前記テキスト・ソース文書に対する修正に対応するデーターとを特定する、方法。
  6. 請求項1記載の方法において、前記DOMに対する修正を追跡するステップが、プロパティ・パネルまたは前記DOMの実行表現の直接操作の内一方によって適用されるユーザーの編集を追跡するステップを含む、方法。
  7. 請求項1記載の方法において、前記ビュー・ノード・ツリーを前記文書ノード・ツリーにマッピングするステップが、前記ビュー・ノード・ツリーの各ノードに識別子を割り当てるステップを含み、前記ビュー・ノード・ツリーの各識別子が、前記文書ノード・ツリーの対応するノードにマッピングされ、
    前記第1変更情報が、前記DOMの修正に対応する、前記ビュー・ノード・ツリーにおけるノードの識別子を含む、方法。
  8. 請求項1記載の方法であって、更に、
    複数のDOM修正についての第1変更情報をシリアル化するステップを含む、方法。
  9. 請求項8記載の方法であって、更に、
    前記テキスト・ソース文書を更新するために、前記シリアル化された第1変更情報を前記テキスト・ソース文書に適用するステップを含む、方法。
  10. 方法を実行するように計算デバイスを制御するためのコンピューター実行可能命令を格納するコンピューター読み取り可能記憶媒体であって、前記方法が、
    文書ノード・ツリーの各ノードがテキスト・オフセットとマークアップ・テキスト・ソース文書詳細とを含むように、文書ノード・ツリーを構築するためにマークアップ・テキスト・ソース文書を解析するステップであって、前記文書ノード・ツリーの各ノードにおけるテキスト・オフセットが、前記文書ノード・ツリーの各ノードに対応する、前記マークアップ・テキスト・ソース文書内における前記マークアップ・テキストの位置を示す、ステップと、
    前記文書ノード・ツリーから、文書オブジェクト・モデル(DOM)と、前記DOMを表すビュー・ノード・ツリーとを構築するステップであって、前記ビュー・ノード・ツリーの構築が、前記ビュー・ノード・ツリーを前記文書ノード・ツリーにマッピングすることを含む、ステップと、
    各DOMエレメントが、前記ビュー・ノード・ツリーおよび前記文書ノード・ツリーによって、前記DOMエレメントに関連付けられたマークアップ・テキストにリンクされるように、前記DOMの実行表現を供給するステップと、
    第1変更情報を提供するためにDOMエレメントに対する修正を追跡するステップと、
    第2変更情報を提供するために前記マークアップ・テキスト・ソース文書に対する修正を追跡するステップと、
    を含む、コンピューター読み取り可能記憶媒体。
JP2014516993A 2011-06-23 2012-06-06 実行ページの動的更新 Expired - Fee Related JP5941540B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/167,325 US10534830B2 (en) 2011-06-23 2011-06-23 Dynamically updating a running page
US13/167,325 2011-06-23
PCT/US2012/041037 WO2012177394A2 (en) 2011-06-23 2012-06-06 Dynamically updating a running page

Publications (2)

Publication Number Publication Date
JP2014520342A true JP2014520342A (ja) 2014-08-21
JP5941540B2 JP5941540B2 (ja) 2016-06-29

Family

ID=47363027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014516993A Expired - Fee Related JP5941540B2 (ja) 2011-06-23 2012-06-06 実行ページの動的更新

Country Status (6)

Country Link
US (1) US10534830B2 (ja)
EP (1) EP2724258A4 (ja)
JP (1) JP5941540B2 (ja)
KR (1) KR101961970B1 (ja)
CN (1) CN103635897B (ja)
WO (1) WO2012177394A2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10534830B2 (en) 2011-06-23 2020-01-14 Microsoft Technology Licensing, Llc Dynamically updating a running page
US10540416B2 (en) 2011-06-23 2020-01-21 Microsoft Technology Licensing, Llc Linking source code to running element
US20130332813A1 (en) * 2012-06-06 2013-12-12 Sap Ag Generic Workspace Awareness Support for Collaborative Web Applications
US9106690B1 (en) * 2012-06-14 2015-08-11 Bromium, Inc. Securing an endpoint by proxying document object models and windows
US9342616B2 (en) * 2013-03-04 2016-05-17 International Business Machines Corporation User influenced asynchronous module definition loader
CN103150497B (zh) * 2013-04-07 2016-09-28 网宿科技股份有限公司 Web应用开发的可视化权限配置方法、校验方法和系统
CN104239352B (zh) * 2013-06-20 2018-05-29 国际商业机器公司 一种用于加载网页的方法和系统
JP5991695B2 (ja) * 2013-12-06 2016-09-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 文書オブジェクトモデルツリーとカスケーディング・スタイル・シートとが取り出されることが可能なアプリケーションのソースコードを変更することによって生じる影響を検知するための方法、並びに、当該影響を検知するためのコンピュータ及びそのコンピュータ・プログラム
US10372685B2 (en) 2014-03-31 2019-08-06 Amazon Technologies, Inc. Scalable file storage service
US9519510B2 (en) * 2014-03-31 2016-12-13 Amazon Technologies, Inc. Atomic writes for multiple-extent operations
CN104036026B (zh) * 2014-06-27 2018-02-23 吴涛军 存储和定位结构化文档选取内容的方法与系统
US10565293B2 (en) * 2014-08-26 2020-02-18 Adobe Inc. Synchronizing DOM element references
US10614249B2 (en) * 2015-07-01 2020-04-07 Allscripts Software, Llc Sanitization of content displayed by web-based applications
US11194885B1 (en) * 2015-07-07 2021-12-07 Google Llc Incremental document object model updating
CN106469137A (zh) * 2015-08-19 2017-03-01 互联网域名系统北京市工程研究中心有限公司 Xml文档解析方法及装置
CN105630902B (zh) * 2015-12-21 2019-03-26 明博教育科技股份有限公司 一种渲染和增量更新网页的方法
CN106936871B (zh) * 2015-12-30 2020-05-29 阿里巴巴集团控股有限公司 界面展示数据的方法及装置
CN107807927B (zh) * 2016-09-08 2022-04-29 阿里巴巴(中国)有限公司 基于下发规则的页面解析方法、装置、客户端设备及系统
CN107291465A (zh) * 2017-06-14 2017-10-24 北京小米移动软件有限公司 页面显示方法、装置及存储介质
KR102000542B1 (ko) * 2017-11-09 2019-07-16 주식회사 한글과컴퓨터 페이지 변경 편집 명령에 기초하여 돔 객체들을 편집하는 웹 문서 편집 장치 및 이의 동작 방법
US10956508B2 (en) 2017-11-10 2021-03-23 Palantir Technologies Inc. Systems and methods for creating and managing a data integration workspace containing automatically updated data models
US10726091B2 (en) * 2018-05-04 2020-07-28 Siteimprove A/S Dynamic content modifications
KR102091786B1 (ko) * 2018-08-30 2020-03-20 쉬프트정보통신 주식회사 인식표를 사용하여 html 실행 화면과 편집화면의 동기화를 수행하는 방법 및 이를 구현하는 프로그램
CN111475679B (zh) * 2019-01-24 2023-06-23 腾讯科技(深圳)有限公司 Html文档处理方法、页面显示方法和设备
US11003837B2 (en) 2019-05-03 2021-05-11 Microsoft Technology Licensing, Llc Controlling mark positions in documents
CN110309461B (zh) * 2019-07-04 2023-10-27 郑州悉知信息科技股份有限公司 页面展现方法和装置
CN110633465B (zh) * 2019-07-19 2021-04-13 广州视源电子科技股份有限公司 文本序列的修改定位方法及装置、电子设备
CN110807298B (zh) * 2019-09-27 2023-08-08 北京思维造物信息科技股份有限公司 一种对标记信息进行处理的方法及系统
CN111221513B (zh) * 2020-01-03 2023-04-18 北京字节跳动网络技术有限公司 一种调整层叠样式表的方法、装置、介质和电子设备
US11119896B1 (en) 2020-04-30 2021-09-14 Microsoft Technology Licensing, Llc Browser based visual debugging
CN111913705B (zh) * 2020-05-28 2023-07-25 中南大学 一种基于差异更新算法的JavaScript模板实现方法
CN111930616B (zh) * 2020-07-27 2024-03-19 北京大米未来科技有限公司 数据处理方法、装置、电子设备和可读存储介质
CN111857737A (zh) * 2020-07-28 2020-10-30 苏州华望信息科技有限公司 基于SysML模型语义web系统的动静态资源分离方法
CN113094287B (zh) * 2021-05-12 2024-03-15 深圳市腾讯信息技术有限公司 页面兼容性检测方法、装置、设备及存储介质
US20230045426A1 (en) * 2021-08-05 2023-02-09 Yaar Inc. Instruction interpretation for web task automation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08511116A (ja) * 1993-06-04 1996-11-19 タリジェント インコーポレイテッド ドキュメント・フレームワーク・システム
JP2006163536A (ja) * 2004-12-02 2006-06-22 Internatl Business Mach Corp <Ibm> Webページ・オーサリング装置、Webページ・オーサリング方法及びプログラム

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981211B1 (en) 1999-09-30 2005-12-27 International Business Machines Corporation Method for processing a document object model (DOM) tree using a tagbean
US7207000B1 (en) * 2000-02-24 2007-04-17 International Business Machines Corporation Providing dynamic web pages by separating scripts and HTML code
US6961750B1 (en) 2000-05-18 2005-11-01 Microsoft Corp. Server-side control objects for processing client-side user interface elements
US7047318B1 (en) 2001-04-20 2006-05-16 Softface, Inc. Method and apparatus for creating and deploying web sites with dynamic content
US7111234B2 (en) 2001-05-02 2006-09-19 Microsoft Corporation System and method for in-line editing of web-based documents
US6745208B2 (en) 2001-05-31 2004-06-01 International Business Machines Corporation Method and apparatus for synchronizing an XML document with its object model
US8555261B1 (en) 2001-06-28 2013-10-08 Microsoft Corporation Object-oriented pull model XML parser
AU2002359821A1 (en) 2001-12-21 2003-07-15 Xmlcities, Inc. Extensible stylesheet designs using meta-tag and/or associated meta-tag information
US7316003B1 (en) 2002-12-18 2008-01-01 Oracle International Corp. System and method for developing a dynamic web page
US7096422B2 (en) 2003-02-28 2006-08-22 Microsoft Corporation Markup language visual mapping
US7877399B2 (en) 2003-08-15 2011-01-25 International Business Machines Corporation Method, system, and computer program product for comparing two computer files
CN1871600B (zh) 2003-10-31 2012-11-21 株式会社爱可信 用于提交网页的方法和终端设备
NL1025125C2 (nl) 2003-11-07 2005-05-10 Backbase B V Werkwijze, inrichting en systeem voor het uitbreiden van een mark-up taal.
US7456840B2 (en) 2004-08-31 2008-11-25 Oracle International Corporation Displaying information using nodes in a graph
CN101770363B (zh) 2005-06-27 2014-03-12 Csc科技(新加坡)私人有限公司 将可执行代码转换为不同编程语言的方法及设备
US7975020B1 (en) 2005-07-15 2011-07-05 Amazon Technologies, Inc. Dynamic updating of rendered web pages with supplemental content
US7930630B2 (en) 2006-05-31 2011-04-19 Microsoft Corporation Event-based parser for markup language file
CN100444174C (zh) 2006-09-25 2008-12-17 北京中搜在线软件有限公司 网页微内容提取、聚合和自动更新系统的方法
US20080082911A1 (en) 2006-10-03 2008-04-03 Adobe Systems Incorporated Environment-Constrained Dynamic Page Layout
CN101165685A (zh) 2006-10-19 2008-04-23 国际商业机器公司 用于生成动态网页的方法及装置
US7895514B1 (en) 2006-10-23 2011-02-22 Adobe Systems Incorporated Systems and methods for solving rendering compatibility problems across electronic document viewers
US8020094B2 (en) 2006-12-06 2011-09-13 Microsoft Corporation Editing web pages via a web browser
US8260790B2 (en) 2007-04-27 2012-09-04 Hewlett-Packard Development Company, L.P. System and method for using indexes to parse static XML documents
KR100958786B1 (ko) 2007-10-08 2010-05-18 엔에이치엔(주) 웹문서 편집 방법 및 장치
US20090228838A1 (en) 2008-03-04 2009-09-10 Ryan Christopher N Content design tool
US8234564B2 (en) 2008-03-04 2012-07-31 Apple Inc. Transforms and animations of web-based content
CN101685447A (zh) 2008-09-28 2010-03-31 国际商业机器公司 在Web页面片段剪切和混搭中处理CSS的方法和系统
CN101587488B (zh) 2009-05-25 2011-04-06 深圳市腾讯计算机系统有限公司 一种搜索引擎中页面重定向的检测方法及装置
US8332763B2 (en) 2009-06-09 2012-12-11 Microsoft Corporation Aggregating dynamic visual content
US11102325B2 (en) 2009-10-23 2021-08-24 Moov Corporation Configurable and dynamic transformation of web content
CN101763432A (zh) 2010-01-05 2010-06-30 北京大学 一种轻量级网页动态视图快速构建方法
US20110197124A1 (en) 2010-02-05 2011-08-11 Bryan Eli Garaventa Automatic Creation And Management Of Dynamic Content
CN101819596B (zh) 2010-04-28 2011-11-02 烽火通信科技股份有限公司 一种基于内存的xml脚本缓存容器
CN101996252B (zh) 2010-11-17 2013-01-16 浙江省电力公司电力科学研究院 一种解析xml文件时对节点元素的处理方法
CN102033954B (zh) 2010-12-24 2012-10-17 东北大学 关系数据库中可扩展标记语言文档全文检索查询索引方法
US10534830B2 (en) 2011-06-23 2020-01-14 Microsoft Technology Licensing, Llc Dynamically updating a running page
US10540416B2 (en) 2011-06-23 2020-01-21 Microsoft Technology Licensing, Llc Linking source code to running element
US20130227397A1 (en) 2012-02-24 2013-08-29 Microsoft Corporation Forming an instrumented text source document for generating a live web page

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08511116A (ja) * 1993-06-04 1996-11-19 タリジェント インコーポレイテッド ドキュメント・フレームワーク・システム
JP2006163536A (ja) * 2004-12-02 2006-06-22 Internatl Business Mach Corp <Ibm> Webページ・オーサリング装置、Webページ・オーサリング方法及びプログラム
US20060161841A1 (en) * 2004-12-02 2006-07-20 Yoshio Horiuchi Web page authoring apparatus, web page authoring method, and program

Also Published As

Publication number Publication date
KR20140048139A (ko) 2014-04-23
US20120331375A1 (en) 2012-12-27
JP5941540B2 (ja) 2016-06-29
US10534830B2 (en) 2020-01-14
WO2012177394A3 (en) 2013-05-16
WO2012177394A2 (en) 2012-12-27
CN103635897A (zh) 2014-03-12
EP2724258A2 (en) 2014-04-30
CN103635897B (zh) 2019-04-26
EP2724258A4 (en) 2015-02-25
KR101961970B1 (ko) 2019-07-17

Similar Documents

Publication Publication Date Title
JP5941540B2 (ja) 実行ページの動的更新
JP5941539B2 (ja) ソース・コードの実行エレメントへのリンク
US20130227397A1 (en) Forming an instrumented text source document for generating a live web page
US20130227396A1 (en) Editing content of a primary document and related files
JP2006525609A (ja) コンテンツを複数のフォーマットで出力するための仕様を規定するシステムおよび方法
JPWO2006137563A1 (ja) データ処理装置及びデータ処理方法
WO2011069903A1 (en) Method and system for on-line editing electronic documents
JPWO2006137562A1 (ja) 文書処理装置及び文書処理方法
US20080005662A1 (en) Server Device and Name Space Issuing Method
JP4566196B2 (ja) 文書処理方法および装置
JPWO2005098662A1 (ja) 文書処理装置及び文書処理方法
JPWO2006051974A1 (ja) 文書処理装置および文書処理方法
JPWO2006001393A1 (ja) 文書処理方法および装置
US10482165B2 (en) Declarative cascade reordering for styles
JP2004038334A (ja) 操作位置記憶方法、構造化文書表示方法、構造化文書表示装置、プログラム、および操作位置記憶データ
JP2007183849A (ja) 文書処理装置
JP4417384B2 (ja) 文書処理装置および文書処理方法
US20080005154A1 (en) Document Processing Device and Document Processing Method
US9965453B2 (en) Document transformation
JP2002259362A (ja) 文書変換定義生成プログラム
KR20230172354A (ko) 업스트림과 다운스트림을 이용한 문서 제어 방법 및 시스템
JP2008257277A (ja) 文書処理装置、方法、及びプログラム
JPWO2006118287A1 (ja) 文書処理装置及び文書処理方法
JP2006139623A (ja) 文書処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150508

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151002

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160115

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: 20160421

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160520

R150 Certificate of patent or registration of utility model

Ref document number: 5941540

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees