CN103620586A - 将源代码链接到运行元素 - Google Patents

将源代码链接到运行元素 Download PDF

Info

Publication number
CN103620586A
CN103620586A CN201280030491.3A CN201280030491A CN103620586A CN 103620586 A CN103620586 A CN 103620586A CN 201280030491 A CN201280030491 A CN 201280030491A CN 103620586 A CN103620586 A CN 103620586A
Authority
CN
China
Prior art keywords
dom
document
node tree
text
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
CN201280030491.3A
Other languages
English (en)
Other versions
CN103620586B (zh
Inventor
M·C·范宁
M·豪尔
G·林斯各特
F·G·安德鲁
K·A·肖曼
E·特沃伦
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 Technology Licensing LLC
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 CN103620586A publication Critical patent/CN103620586A/zh
Application granted granted Critical
Publication of CN103620586B publication Critical patent/CN103620586B/zh
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)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)
  • Stored Programmes (AREA)

Abstract

一种方法包括解析文本源文档来构造文档节点树,使得文档节点树包括指示文本源文档中与文档节点树的每一节点相对应的文本位置的文本偏移。该方法包括从文档节点树构造文档对象模型(DOM)和表示该DOM的查看节点树。查看节点树的构造包括将查看节点树映射到文档节点树。该方法包括提供DOM的运行表示,使得DOM的DOM元素经由查看节点树和文档节点树被链接到文本源文档中与该DOM元素相对应的文本。

Description

将源代码链接到运行元素
背景
web开发工具使得开发人员能够诊断超文本标记语言(HTML)和层叠样式表(CSS)问题。开发人员可动态地修改文档对象模型(DOM)元素(包括CSS选择器)并在浏览器中查看在运行页面中立即反映出的改变。然而,为了将修改永久应用到产生该页面的标记文本源文档,开发人员需要定位并适当地修改与所需修改相关联的标记文本或起源JavaScript。然而,定位与所需修改相关联的源代码文本可能是困难的,因为相关联的标记文本可能不是立即明显的或者可能源于开发人员不熟悉的代码。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
一个实施例提供一种方法,该方法包括解析文本源文档来构造文档节点树,使得文档节点树包括指示文本源文档中与文档节点树的每一节点相对应的文本的位置的文本偏移。该方法包括从文档节点树构造文档对象模型(DOM)和表示该DOM的查看节点树。查看节点树的构造包括将查看节点树映射到文档节点树。该方法包括提供DOM的运行表示,使得DOM的DOM元素经由查看节点树和文档节点树被链接到文本源文档中与该DOM元素相对应的文本。
附图简述
包括附图来提供了对各实施例的进一步理解,且这些附图被合并在本发明书内并构成其一部分。附图示出各实施例,并且与说明书一起用于解释本发明的原理。其他实施例和各实施例的许多预期优点将随着参考下面的详细描述进行更好的理解而得到认识。附图的元素不一定相对于彼此而缩放。相同的附图标记指代对应的类似部分。
图1是示出web开发工具的一个实施例的框图。
图2是示出适于实现图1中示出的web开发工具的各方面的计算设备/环境的框图。
图3是示出web开发工具的一个实施例的功能框图。
图4是示出映射到文档节点树的HTML文本的一个示例的框图。
图5是示出映射到查看节点树的文档节点树的一个示例的框图。
图6是示出浏览器实例所表示的DOM的查看节点树的一个示例的框图。
图7是示出用于将源代码编辑器中的标记文本与浏览器中所表示的相关联的DOM元素相链接的方法的一个实施例的流程图。
图8是示出用于更新或无效文档节点树的节点的文本偏移的方法的一个实施例的流程图。
详细描述
在以下详细描述中,对附图进行了参考,附图构成了实施例的一部分且在其中作为示例示出了可在其中实践本发明的各特定实施例。可以理解,可以使用其它实施例并且可以做出结构上或逻辑上的改变而不背离本发明的范围。因此,以下详细描述并不旨在限制,并且本发明的范围由所附权利要求来限定。
应理解,此处描述的各示例性实施例的特征可相互组合,除非另外具体注明。
图1是示出web开发工具100的一个实施例的框图。web开发工具100包括文本源文档102和该文本源文档的运行表示104。在一个实施例中,文本源文档102在网页源代码编辑器中被打开。在其他实施例中,文本源文档102或文本源文档102的各部分被显示在网页源代码查看器中。在一个实施例中,文本源文档102的运行表示104由浏览器提供。在其他实施例中,文本源文档102的运行表示104由设计器、属性窗格或文本源文档的运行表示的其他合适的可视化来提供。
文本源文档102的网页源代码经由链接112被链接到由运行表示104所表示的网页的运行页面实例中的相关联的文档对象模型(DOM)110元素。因此,通过选择或突出显示运行表示104中的DOM元素,与所选择的或所突出显示的DOM元素相关联的网页文本被选择或突出显示在文本源文档102内。同样,通过选择或突出显示文本源文档102内的网页文本的一部分,与网页文本的所选择的或突出显示的部分相关联的一个或多个DOM元素被选择或突出显示在运行表示104内。以此方式,网页开发人员可即时匹配DOM元素,因为它们与定义这些DOM元素的网页文本源代码一起被表示在网页的运行实例中。
在一个实施例中,文本源文档102被在源代码编辑器中打开,这可包括适于打开、创建、编辑以及保存网页文本源文档的任何合适的文本编辑器在一个实施例中,可被源代码编辑器编辑的网页文本源文档包括标记文本,如超文本标记语言(HTML)、层叠样式表(CSS)、可扩展标记语言(XML)和/或可扩展超文本标记语言(XHTML)。网页文本源文档也可包括JavaScript或Jscript。如本文所使用的,“JS”被用于指示JavaScript和Jscript两者。在其他实施例中,源代码编辑器适于打开、创建、编辑以及保存包括其他合适的网页标记文本和脚本语言的网页文本源文档。在一个实施例中,源代码编辑器支持网页文本源文档的多个实例,使得相关或链接的网页文本源文档可在源代码编辑器中被同时打开。
在一个实施例中,运行表示104是适于表示DOM110的web浏览器。在一个实施例中,浏览器是遵循万维网联盟(W3C)的web浏览器。在一个实施例中,浏览器提供DOM110的浏览器不可知的表示,使得DOM110的表示不依赖于任何特定浏览器,如Internet Explorer、FireFox、Chrome、Safari或者Opera。在另一实施例中,选择浏览器使得DOM110的表示基于所选浏览器。浏览器可包括供用户选择DOM110的表示所基于的特定浏览器(如InternetExplorer、FireFox、Chrome、Safari或者Opera)的选项。在一个实施例中,浏览器支持DOM的多个实例,使得相关或链接的各网页可同时运行在浏览器内。
运行表示1104还可包括运行脚本108和应用程序编程接口(API)。脚本108和API106可以修改运行表示104中DOM110的DOM元素。在一个实施例中,由于对DOM110的运行表示104的修改而不再以DOM110的运行表示104来表示的文本源文档102的各部分经由可视指示符被如此指示。在一个实施例中,响应于选择运行表示104中的DOM元素,文本源文档102中与DOM元素相关联的源代码的位置被报告给用户。
图2是示出适于实现先前参考图1描述并示出的web开发工具100的各方面的计算设备/环境200的一个实施例的框图。计算设备/环境200包括一个或多个处理单元212和系统存储器214。取决于计算设备/环境200的确切配置和类型,存储器214可以是易失性(如RAM)、非易失性(诸如ROM、闪存等)或两者的结合。
计算设备/环境200还可具有附加的特征/功能。例如,计算设备/环境200还可包含附加存储(可移动和/或不可移动),包括但不限于磁盘、光盘或磁带。这样的附加存储在图2中由可移动存储216和不可移动存储218示出。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等的任何合适的方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储器214、可移动存储216以及不可移动存储218都是计算机存储介质(例如,储存在被至少一个处理器执行时使得该至少一个处理器执行一种方法的计算机可执行指令的计算机可读存储介质)的示例。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算设备/环境200访问的任何其它介质。任何这样的计算机存储介质都可以是计算设备/环境200的一部分。
计算设备/环境200的各元件经由一个或多个通信链接215通信耦合在一起。计算设备/环境200还包括允许计算设备/环境200与其它计算机/应用226进行通信的一个或多个通信连接224。计算设备/环境200还可以包括诸如键盘、定点设备(例如,鼠标)、笔、语音输入设备、触摸输入设备等的输入设备222。计算设备/环境200还可以包括诸如显示器、扬声器、打印机等输出设备220。
图2和以上讨论旨在提供其中可实现一个或多个实施例的合适的计算环境的简要概括描述,并且不旨在对各实施例的使用范围或功能提出任何限制。
图3是示出web开发工具300的一个实施例的功能框图。在一个实施例中,web开发工具300提供先前参考图1描述并示出的web开发工具100。web开发工具300包括标记文本302、标记解析器306、文档节点树310、DOM构建器314、浏览器318和DOM修改监听器322。标记文本302被输入到标记解析器306,如在304处所示。标记解析器306输出文档节点树310,如在308处所示。文档节点树310被输入到DOM构建器314,如在312处所示。DOM构建器314将DOM输出给浏览器318,如在316处所示。DOM修改监听器322跟踪浏览器318内对DOM元素的改变,如在320处所示。DOM修改监听器322将改变信息输出给文档节点树310,如在324处所示。
标记文本302包括HTML、CSS、XML、XHTML和/或其他合适的标记文本。在一个实施例中,包括标记文本302的源文档在源代码编辑器中被打开。在其他实施例中,web开发工具300访问包括标记文本302的源文档而不在源代码编辑器中打开该源文档。标记文本302定义用于提供网页的任何合适数量的对象。在图3所示的示例中,标记文本302包括HTML。该示例HTML定义用于提供包括文本“Hello”的DOM元素的一个对象。
由于标记文本302的文本特性,标记文本302的每一字符具有相对应的行号(如在326处所示)以及该行的相对应的相对字符号(如在328处所示)。例如,标记文本302中的字符“H”在行2、字符8处。标记文本302的每一字符还具有指示该字符相对于标记文本302的开头的位置的字符号。例如,标记文本302中的字符“H”具有字符号26,因为它是标记文本302中的第26个字符。因而,标记文本302中的每一字符可基于行号和该行内的位置或基于指示该字符相对于标记文本302的开头的位置的字符号来定位。同样,标记文本302内的一系列字符可基于行号范围和在这些行内的位置或基于字符号范围来定位。如本文所使用的,这些行号范围和这些行内的位置或者字符号范围被称为“文本偏移”。
标记文本302被标记解析器306解析以构造文档节点树310。在一个实施例中,标记解析器306与源代码编辑器位于相同的计算设备/环境上。在另一实施例中,标记解析器306与源代码编辑器位于不同的计算设备/环境上。标记解析器306包括HTML解析器、CSS解析器、XML解析器、XHTML解析器、和/或其他合适的标记文本解析器。在一个实施例中,标记解析器306是遵循W3C的。在另一实施例中,标记解析器306基于与特定浏览器(如InternetExplorer、FireFox、Chrome、Safari或者Opera)相关联的解析器。在其他实施例中,标记解析器306是包括该解析器的与特定浏览器相关联的基本实现以及基于对该特定浏览器运行时执行和/或解析行为的知识对该解析实现的更改的混合解析器。
标记解析器306将来自标记文本302的与网页相关的源文档细节包括在文档节点树310中。除了HTML对象和CSS对象外,标记解析器306还包括来自标记文本302的其他细节,如可能被浏览器解释的文档类型以及源内评论。标记解析器306还将指示这些源文档细节在标记文本302中的位置的文本偏移包括在文档节点树310中。这些文本偏移将文档节点树310的每一节点映射到与该节点相关联的标记文本。以此方式,在解析过程期间,维持文档节点树310和标记文本302之间的链接。这将标记解析器306与集成在浏览器内的常规解析器区分开,常规解析器在呈现期间通常出于性能原因而丢弃或变换源文档细节并且不维护源文档和所呈现的文档之间的任何链接。
在图3所示的示例中,文档节点树310使用字符号范围作为文本偏移。例如,文档节点树310包括父节点“DIV”的文本偏移“文本跨度:1-42”,这指示对象“DIV”在标记文本302中的位置。同样,文档节点树310包括属性“id”的文本偏移“文本跨度:6-15”、子节点“P”的文本偏移“文本跨度:23-34”以及子节点“Hello”的文本偏移“文本跨度:26-30。”因而,通过将每一对象的文本偏移包括在文档节点树310内,文档节点树310内的每一对象被映射到与该对象相关联的源文档标记文本。
DOM构建器314从文档节点树310构造DOM和表示DOM的查看节点树。DOM构建器314将查看节点树的每一节点映射到文档节点树的相应节点,使得DOM的每一元素被链接到文档节点树310中的相关联的对象并从而链接到与该对象相关联的源文档标记文本。
在一个实施例中,DOM构建器314构造JS元素。一旦执行,JS元素可构造和/或修改DOM元素和查看节点树内的相应节点,这可不具有文档节点树310内的相应节点。
在一个实施例中,DOM构建器314构造不依赖于任何特定浏览器(如Internet Explorer、FireFox、Chrome、Safari或者Opera)的浏览器不可知的DOM。在另一实施例中,DOM构建器314被选择使得DOM是基于所选浏览器来改造的。DOM构建器314可包括供用户选择DOM的构造所基于的特定浏览器(如Internet Explorer、FireFox、Chrome、Safari或者Opera)的选项。所构造的DOM由浏览器318表示。在一个实施例中,浏览器318是遵循W3C的浏览器。在图3所示的示例中,浏览器318显示包括文本“Hello”的DOM元素,如标记文本302所定义的。
查看节点树和文档节点树310将浏览器318内的DOM元素链接到标记文本302。例如,通过选择或突出显示浏览器318内的“Hello”,标记文本302内的相关联的标记文本被选择或突出显示。反过来,通过选择或突出显示标记文本302内的“<p>Hello</p>”,浏览器318中相关联的DOM元素“Hello”被选择或突出显示。
DOM修改监听器322跟踪对浏览器318内DOM元素的改变,如DOM变化。在一个实施例中,DOM修改监听器322跟踪对DOM元素的运行时修改,以将文档节点树310中的文档偏移标记为无效或者用负责创建和/或重写DOM元素和/或属性的JS的执行位置来替换文档节点树310中的文本偏移。在一个实施例中,DOM修改监听器322跟踪由于API106和/或脚本108(图1)而引起的对DOM元素的改变。在一个实施例中,DOM修改监听器322更新或插入与经修改的DOM元素相关联的文档节点树的节点,以指示负责修改DOM元素的脚本的行。
图4是示出映射到文档节点树404的HTML文本402的一个示例400的框图。为了从HTML文本402构造文档节点树404,HTML文本402被标记文本解析器(如先前参考图3描述并示出的标记解析器306)解析。在图4所示的示例中,HTML文本402被解析,使得文档节点树404包括父节点“DIV”和子节点“SPAN”及“P”。子节点“SPAN”包括进一步的子节点“TEXT(Hello)”。子节点“P”包括进一步的子节点“TEXT(World)”和具有值“foo”的属性“class”。
因而,文档节点树404按结构化树格式来维护HTML文本402源文档细节。如先前参考图3描述并示出的,文档节点树404还包括每一父节点和子节点的文本偏移,以分别指示与每一父节点和子节点相关联的HTML文本在HTML文本402内的特定位置。
图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)的选项。
查看节点树508的每一节点包括将每一节点映射到文档节点树506中的相关联的节点的标识符。在一个实施例中,该标识符被先前参考图3描述并示出的DOM构建器314分配给查看节点树的每一节点。在一个实施例中,该标识符是数字。在图5所示的示例中,查看节点树508的标识符“105”被映射到文档节点树506的父节点“DIV”。同样,标识符“106”被映射到子节点“SPAN”且标识符“107”被映射到子节点“TEXT(Hello)”。因而,查看节点树的每一标识符将查看节点树的一节点链接到文档节点树中的相关联的节点。
图6是示出浏览器实例614所表示的DOM的查看节点树610的一个示例600的框图。应用602包括HTML实例管理器608,它管理查看节点树610。在一个实施例中,HTML实例管理器608管理查看节点树的多个实例。应用606包括实例管理器612,它管理浏览器实例614。在一个实施例中,实例管理器612管理多个浏览器实例。浏览器实例614表示DOM的实例。应用602通过通信链路(COM)604通信耦合到应用606。
查看节点树610的每一节点的标识符被链接到浏览器实例614所表示的相关联的DOM元素,如查看节点树610中每一“DOM代理”所指示的。因而,浏览器实例614所表示的每一DOM元素被链接或映射到查看节点树610的一节点。因此,浏览器实例614中表示的每一DOM元素被通过查看节点树和文档节点树链接到标记文本源文档中的标记文本。
在图6所示的示例中,查看节点树610的标识符“105”被链接到浏览器实例614所表示的DOM元素的标识符“105”的DOM代理。同样,标识符“106”被链接到标识符“106”的DOM代理且标识符“107”被链接到标识符“107”的DOM代理。在该示例中,查看节点树610包括将子节点“TEXT(Hello)”(图5)链接到浏览器实例614内的DOM元素“Hello”的标识符“107”。
图7是示出用于将源代码编辑器中的标记文本与浏览器中相关联的DOM元素相链接的方法702的一个实施例的流程图。在704,标记文本源文档(例如,先前参考图3描述并示出的标记文本302)在源代码编辑器中被打开。在706,构造映射到标记文本源文档的文档节点树(例如,先前参考图3描述并示出的文档节点树310)。在708,构造DOM和表示映射到文档节点树的DOM的查看节点树(例如,先前参考图5描述并示出的查看节点树508)
在710,在浏览器中表示DOM(例如,先前参考图1描述并示出的运行表示104)。在712,对浏览器中DOM元素的选择被链接到源代码编辑器中相关联的标记文本,或者对源代码编辑器中标记文本的选择被链接到浏览器中相关联的DOM元素。经由查看节点树和文档节点树来提供DOM元素和相关联的标记文本之间的链接。
图8是示出用于更新或无效文档节点树的节点的文本偏移的方法800的一个实施例的流程图。在802,跟踪对DOM的运行表示的修改。对DOM的运行表示的修改可以是由API106、脚本108(图1)或其他合适的过程而引起的。在804,基于对DOM的运行表示的修改来更新或无效文档节点树中节点的文本偏移。在一个实施例中,更新与对DOM的运行表示的修改相关联的文档节点树中对应节点的文本偏移,以指示负责该修改的JS的位置。
各实施例提供了用于将浏览器中表示的DOM元素与标记文本源文档中用来构造该DOM元素的标记文本相链接的web开发工具。标记文本源文档被逐段解析以构造DOM,使得初始源代码与所构造的DOM元素子节点精确映射得到维护。使用所公开的web开发工具,网页开发人员可立即在运行页面中定位与所选择的DOM元素相关联的源代码,并立即在与所选择的源代码相关联的运行页面中定位DOM元素。
尽管此处说明并描述了具体实施例,但本领域技术人员可以理解,可用各种替换和/或等价实现来替换所示出并描述的具体实施例而不背离本发明的范围。本申请旨在覆盖此处讨论的具体实施例的任何改编或变型。因此,本发明旨在仅由权利要求书及其等效方案来限制。

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元素相关联的标记文本。
CN201280030491.3A 2011-06-23 2012-05-30 将源代码链接到运行元素 Active CN103620586B (zh)

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 (2)

Publication Number Publication Date
CN103620586A true CN103620586A (zh) 2014-03-05
CN103620586B CN103620586B (zh) 2017-03-08

Family

ID=47363026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280030491.3A Active CN103620586B (zh) 2011-06-23 2012-05-30 将源代码链接到运行元素

Country Status (6)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107632831A (zh) * 2017-09-22 2018-01-26 厦门集微科技有限公司 快速规范前端代码的方法及装置
CN110347416A (zh) * 2019-07-19 2019-10-18 网易(杭州)网络有限公司 脚本的更新方法和装置
CN114329265A (zh) * 2021-12-29 2022-04-12 中国人民解放军国防科技大学 一种自动采集网络资源的方法

Families Citing this family (10)

* 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
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
KR102000542B1 (ko) * 2017-11-09 2019-07-16 주식회사 한글과컴퓨터 페이지 변경 편집 명령에 기초하여 돔 객체들을 편집하는 웹 문서 편집 장치 및 이의 동작 방법
KR102091420B1 (ko) * 2018-05-11 2020-03-20 니덱모빌리티코리아 주식회사 비언어 요구사항 정보에 대한 소스코드 추적이 가능한 시스템 및 방법
US20220414316A1 (en) * 2021-06-23 2022-12-29 International Business Machines Corporation Automated language assessment for web applications using natural language processing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184264A1 (en) * 2001-05-31 2002-12-05 Daniel Berg Method and apparatus for synchronizing an XML document with its object model
US7207000B1 (en) * 2000-02-24 2007-04-17 International Business Machines Corporation Providing dynamic web pages by separating scripts and HTML code
US20070266050A1 (en) * 2003-11-07 2007-11-15 Backbase B.V. Method, Device and System for Extending a Mark-Up Language
US20080270345A1 (en) * 2007-04-27 2008-10-30 Jeff Barlow System and method for using indexes to parse static XML documents
CN101587488A (zh) * 2009-05-25 2009-11-25 深圳市腾讯计算机系统有限公司 一种搜索引擎中页面重定向的检测方法及装置
CN101819596A (zh) * 2010-04-28 2010-09-01 烽火通信科技股份有限公司 一种基于内存的xml脚本缓存容器
CN102033954A (zh) * 2010-12-24 2011-04-27 东北大学 关系数据库中可扩展标记语言文档全文检索查询索引方法

Family Cites Families (33)

* 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
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
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 株式会社爱可信 用于提交网页的方法和终端设备
US7456840B2 (en) 2004-08-31 2008-11-25 Oracle International Corporation Displaying information using nodes in a graph
JP4686177B2 (ja) 2004-12-02 2011-05-18 インターナショナル・ビジネス・マシーンズ・コーポレーション Webページ・オーサリング装置、Webページ・オーサリング方法及びプログラム
US8438551B2 (en) 2005-06-27 2013-05-07 Csc Technology Singapore Pte Ltd Code transformation
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
KR100958786B1 (ko) 2007-10-08 2010-05-18 엔에이치엔(주) 웹문서 편집 방법 및 장치
US8234564B2 (en) 2008-03-04 2012-07-31 Apple Inc. Transforms and animations of web-based content
US20090228838A1 (en) 2008-03-04 2009-09-10 Ryan Christopher N Content design tool
CN101685447A (zh) 2008-09-28 2010-03-31 国际商业机器公司 在Web页面片段剪切和混搭中处理CSS的方法和系统
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
CN101996252B (zh) 2010-11-17 2013-01-16 浙江省电力公司电力科学研究院 一种解析xml文件时对节点元素的处理方法
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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7207000B1 (en) * 2000-02-24 2007-04-17 International Business Machines Corporation Providing dynamic web pages by separating scripts and HTML code
US20020184264A1 (en) * 2001-05-31 2002-12-05 Daniel Berg Method and apparatus for synchronizing an XML document with its object model
US20070266050A1 (en) * 2003-11-07 2007-11-15 Backbase B.V. Method, Device and System for Extending a Mark-Up Language
US20080270345A1 (en) * 2007-04-27 2008-10-30 Jeff Barlow System and method for using indexes to parse static XML documents
CN101587488A (zh) * 2009-05-25 2009-11-25 深圳市腾讯计算机系统有限公司 一种搜索引擎中页面重定向的检测方法及装置
CN101819596A (zh) * 2010-04-28 2010-09-01 烽火通信科技股份有限公司 一种基于内存的xml脚本缓存容器
CN102033954A (zh) * 2010-12-24 2011-04-27 东北大学 关系数据库中可扩展标记语言文档全文检索查询索引方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHANDAN LUTHRA等: "《PACKT PUBLISHING》", 30 April 2010 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107632831A (zh) * 2017-09-22 2018-01-26 厦门集微科技有限公司 快速规范前端代码的方法及装置
CN110347416A (zh) * 2019-07-19 2019-10-18 网易(杭州)网络有限公司 脚本的更新方法和装置
CN114329265A (zh) * 2021-12-29 2022-04-12 中国人民解放军国防科技大学 一种自动采集网络资源的方法

Also Published As

Publication number Publication date
JP2014523576A (ja) 2014-09-11
EP2724254A4 (en) 2015-02-25
JP5941539B2 (ja) 2016-06-29
CN103620586B (zh) 2017-03-08
EP2724254A2 (en) 2014-04-30
KR101975616B1 (ko) 2019-05-07
WO2013103374A2 (en) 2013-07-11
US10540416B2 (en) 2020-01-21
WO2013103374A3 (en) 2013-10-24
KR20140038469A (ko) 2014-03-28
US20120331374A1 (en) 2012-12-27

Similar Documents

Publication Publication Date Title
CN103635897A (zh) 对运行页面进行动态更新
CN103620586A (zh) 将源代码链接到运行元素
US7912846B2 (en) Document processing method, recording medium, and document processing system
US11194884B2 (en) Method for facilitating identification of navigation regions in a web page based on document object model analysis
EP1818835A1 (en) Document processing device, and document processing method
US20050132279A1 (en) Method and system for mapping tags to classes using namespaces
US20070258100A1 (en) Document Processing Device and Document Processing Method
US20080010588A1 (en) Document Processing Device and Document Processing Method
US20090077462A1 (en) Document processing device and document processing method
US20080005662A1 (en) Server Device and Name Space Issuing Method
US20080250311A1 (en) Document Processing Device, and Document Processing Method
US20080208790A1 (en) Document Processing Device, and Document Processing Method
Mailund Introducing Markdown and Pandoc
CN103226475B (zh) 转码时实现控件替换的方法及装置
US20070273936A1 (en) Document Processing Device, And Document Processing Method
US20080262832A1 (en) Document Processing Device, and Document Processing Method
Zea Mastering Responsive Web Design
US9588997B2 (en) Modularizing complex XML data for generation and extraction
Ribeiro et al. A mechanized textbook proof of a type unification algorithm
US20090083620A1 (en) Document processing device and document processing method
US20080005154A1 (en) Document Processing Device and Document Processing Method
KR20010084472A (ko) 무선 인터넷용 웹 에디터와 그 작동방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant