JP2014523576A - ソース・コードの実行エレメントへのリンク - Google Patents

ソース・コードの実行エレメントへのリンク Download PDF

Info

Publication number
JP2014523576A
JP2014523576A JP2014516982A JP2014516982A JP2014523576A JP 2014523576 A JP2014523576 A JP 2014523576A JP 2014516982 A JP2014516982 A JP 2014516982A JP 2014516982 A JP2014516982 A JP 2014516982A JP 2014523576 A JP2014523576 A JP 2014523576A
Authority
JP
Japan
Prior art keywords
dom
document
text
node tree
node
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
JP2014516982A
Other languages
English (en)
Other versions
JP2014523576A5 (ja
JP5941539B2 (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 JP2014523576A publication Critical patent/JP2014523576A/ja
Publication of JP2014523576A5 publication Critical patent/JP2014523576A5/ja
Application granted granted Critical
Publication of JP5941539B2 publication Critical patent/JP5941539B2/ja
Active 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/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/88Mark-up to mark-up conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本方法は、文書ノード・ツリーが、当該文書ノード・ツリーの各ノードに対応するテキスト・ソース文書内にあるテキストの位置を示すテキスト・オフセットを含むように、文書ノード・ツリーを構築するためにテキスト・ソース文書を解析するステップを含む。本方法は、文書ノード・ツリーから、文書オブジェクト・モデル(DOM)と、このDOMを表すビュー・ノード・ツリーとを構築するステップを含む。ビュー・ノード・ツリーの構築は、ビュー・ノード・ツリーを文書ノード・ツリーにマッピングすることを含む。本方法は、ビュー・ノード・ツリーおよび文書ノード・ツリーによって、DOMのDOMエレメントが、DOMエレメントに対応するテキスト・ソース文書内におけるテキストにリンクされるように、DOMの実行表現を供給するステップを含む。
【選択図】図3

Description

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

Claims (10)

  1. 文書ノード・ツリーが、当該文書ノード・ツリーの各ノードに対応するテキスト・ソース文書内にあるテキストの位置を示すテキスト・オフセットを含むように、文書ノード・ツリーを構築するためにテキスト・ソース文書を解析するステップと、
    前記文書ノード・ツリーから、文書オブジェクト・モデル(DOM)と、前記DOMを表すビュー・ノード・ツリーとを構築するステップであって、前記ビュー・ノード・ツリーの構築が、前記ビュー・ノード・ツリーを前記文書ノード・ツリーにマッピングすることを含む、ステップと、
    前記ビュー・ノード・ツリーおよび前記文書ノード・ツリーによって、前記DOMのDOMエレメントが、前記DOMエレメントに対応する前記テキスト・ソース文書内のテキストにリンクされるように、前記DOMの実行表現を供給するステップと、
    を含む、方法。
  2. 請求項1記載の方法において、更に、
    DOM文書の前記実行表現に対する修正を追跡するステップと、
    前記修正に基づいて、前記修正されたDOMエレメントに対応する前記ビュー・ノード・ツリーのノードに対する前記テキスト・オフセットに無効の印を付けるステップ、または前記修正されたDOMエレメントに対応するビュー・ノード・ツリーの前記ノードに対するテキスト・オフセットを、前記修正に基づいて更新されたテキスト・オフセットで置き換えるステップの内一方と、
    を含む、方法。
  3. 請求項2記載の方法において、修正を追跡するステップが、DOM転換イベントを追跡するステップを含む、方法。
  4. 請求項2記載の方法において、修正を追跡するステップが、前記DOMの実行表現のアプリケーション・プログラミング・インターフェース(API)による修正を追跡するステップを含む、方法。
  5. 請求項1記載の方法であって、
    前記DOMの実行表現におけるスクリプトの実行による、DOMエレメントの前記実行表現に対する修正を追跡するステップと、
    前記DOMエレメントに対する修正に関与する前記スクリプトのラインを示すために、前記修正されたDOMエレメントに関連付けられた前記文書ノード・ツリーのノードを更新するステップおよび挿入するステップの内一方と、
    を含む、方法。
  6. 請求項1記載の方法において、前記DOMの実行表現を供給するステップが、ブラウザー・インスタンスにおいて前記DOMの実行表現を供給するステップを含む、方法。
  7. 請求項1記載の方法において、前記テキスト・ソース文書を解析するステップが、ハイパーテキスト・マークアップ言語(HTML)パーサーまたはカスケーディング・スタイル・シート(CSS)パーサーの内一方によって前記テキスト・ソース文書を解析するステップを含む、方法。
  8. 請求項1記載の方法において、前記テキスト・ソース文書を解析するステップが、指定されたブラウザーのパーサーに基づいて、前記テキスト・ソース文書を解析するステップを含む、方法。
  9. 請求項1記載の方法であって、更に、
    前記テキスト・ソース文書を解析する前に、ソース・コード・エディターにおいて前記テキスト・ソース文書を開くステップを含む、方法。
  10. 方法を実行するように計算デバイスを制御するためのコンピューター実行可能命令を格納するコンピューター読み取り可能記憶媒体であって、前記方法が、
    文書ノード・ツリーの各ノードがテキスト・オフセットとマークアップ・テキスト・ソース文書詳細とを含むように、文書ノード・ツリーを構築するステップであって、前記文書ノード・ツリーの各ノードにおけるテキスト・オフセットが、前記マークアップ・テキスト・ソース文書内において、前記文書ノード・ツリーの各ノードに対応する前記マークアップ・テキストの位置を示す、ステップと、
    前記文書ノード・ツリーから、文書オブジェクト・モデル(DOM)と、前記DOMを表すビュー・ノード・ツリーとを構築するステップであって、前記ビュー・ノード・ツリーの構築が、前記ビュー・ノード・ツリーを前記文書ノード・ツリーにマッピングすることを含む、ステップと、
    前記ビュー・ノード・ツリーおよび前記文書ノード・ツリーによって、各DOMエレメントが、前記DOMエレメントに関連付けられたマークアップ・テキストにリンクされるように、ブラウザーにおいて前記DOMを表現するステップと、
    を含む、コンピューター読み取り可能記憶媒体。
JP2014516982A 2011-06-23 2012-05-30 ソース・コードの実行エレメントへのリンク Active JP5941539B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/167,229 2011-06-23
US13/167,229 US10540416B2 (en) 2011-06-23 2011-06-23 Linking source code to running element
PCT/US2012/039958 WO2013103374A2 (en) 2011-06-23 2012-05-30 Linking source code to running element

Publications (3)

Publication Number Publication Date
JP2014523576A true JP2014523576A (ja) 2014-09-11
JP2014523576A5 JP2014523576A5 (ja) 2015-07-16
JP5941539B2 JP5941539B2 (ja) 2016-06-29

Family

ID=47363026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014516982A Active JP5941539B2 (ja) 2011-06-23 2012-05-30 ソース・コードの実行エレメントへのリンク

Country Status (6)

Country Link
US (1) US10540416B2 (ja)
EP (1) EP2724254A4 (ja)
JP (1) JP5941539B2 (ja)
KR (1) KR101975616B1 (ja)
CN (1) CN103620586B (ja)
WO (1) WO2013103374A2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10540416B2 (en) 2011-06-23 2020-01-21 Microsoft Technology Licensing, Llc Linking source code to running element
US10534830B2 (en) 2011-06-23 2020-01-14 Microsoft Technology Licensing, Llc Dynamically updating a running page
US9106690B1 (en) * 2012-06-14 2015-08-11 Bromium, Inc. Securing an endpoint by proxying document object models and windows
US20150310125A1 (en) * 2014-04-29 2015-10-29 Barak KINARTI Dynamic Custom Style Sheet Isolation
US11194885B1 (en) * 2015-07-07 2021-12-07 Google Llc Incremental document object model updating
CN106484759B (zh) * 2016-08-09 2020-01-10 广州视睿电子科技有限公司 交互式电子白板存储文件的解析方法和装置
US10997362B2 (en) * 2016-09-01 2021-05-04 Wacom Co., Ltd. Method and system for input areas in documents for handwriting devices
CN107632831B (zh) * 2017-09-22 2020-07-31 厦门集微科技有限公司 快速规范前端代码的方法及装置
KR102000542B1 (ko) * 2017-11-09 2019-07-16 주식회사 한글과컴퓨터 페이지 변경 편집 명령에 기초하여 돔 객체들을 편집하는 웹 문서 편집 장치 및 이의 동작 방법
KR102091420B1 (ko) * 2018-05-11 2020-03-20 니덱모빌리티코리아 주식회사 비언어 요구사항 정보에 대한 소스코드 추적이 가능한 시스템 및 방법
CN110347416B (zh) * 2019-07-19 2023-09-26 网易(杭州)网络有限公司 脚本的更新方法和装置
US20220414316A1 (en) * 2021-06-23 2022-12-29 International Business Machines Corporation Automated language assessment for web applications using natural language processing
CN114329265A (zh) * 2021-12-29 2022-04-12 中国人民解放军国防科技大学 一种自动采集网络资源的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006163536A (ja) * 2004-12-02 2006-06-22 Internatl Business Mach Corp <Ibm> Webページ・オーサリング装置、Webページ・オーサリング方法及びプログラム

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524190A (en) 1993-06-04 1996-06-04 Taligent, Inc. Command object logging system for restoring documents
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO2013103374A3 (en) 2013-10-24
EP2724254A2 (en) 2014-04-30
CN103620586A (zh) 2014-03-05
US10540416B2 (en) 2020-01-21
JP5941539B2 (ja) 2016-06-29
KR101975616B1 (ko) 2019-05-07
US20120331374A1 (en) 2012-12-27
CN103620586B (zh) 2017-03-08
WO2013103374A2 (en) 2013-07-11
KR20140038469A (ko) 2014-03-28
EP2724254A4 (en) 2015-02-25

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
Lin et al. DSMDiff: a differentiation tool for domain-specific models
US11194884B2 (en) Method for facilitating identification of navigation regions in a web page based on document object model analysis
US7543286B2 (en) Method and system for mapping tags to classes using namespaces
JP2023513886A (ja) 非構造化文書から構造化文書を生成する方法、システム、プログラム
JPWO2006137563A1 (ja) データ処理装置及びデータ処理方法
JPWO2006137562A1 (ja) 文書処理装置及び文書処理方法
US20080005662A1 (en) Server Device and Name Space Issuing Method
WO2006046665A1 (ja) 文書処理装置及び文書処理方法
US20080005085A1 (en) Server Device and Search Method
JPWO2006051974A1 (ja) 文書処理装置および文書処理方法
US10482165B2 (en) Declarative cascade reordering for styles
CN106033348A (zh) 一种制作网页的方法、装置及电子设备
JP4417384B2 (ja) 文書処理装置および文書処理方法
US20090083620A1 (en) Document processing device and document processing method
Jaafar et al. TCML-an XML-based test case format
JP2008257277A (ja) 文書処理装置、方法、及びプログラム
Gardner CSS, JavaScript, and Ajax

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160129

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

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250