取回的文件和源文件之间的选择映射的制作方法

文档序号:6495597阅读:128来源:国知局
取回的文件和源文件之间的选择映射的制作方法
【专利摘要】取回的文件中(响应于HTTP请求从Web服务器接收到的文件)的元素可被映射到生成它的源代码,并且反之亦然。当代码在服务器处被编译时,发出包括元数据的HTML的调用可被执行,该元数据代码片段映射回特定源文件并且映射回该源文件中的特定位置。HTML可包括注入符号,这些注入符号指明HTML中从特定开始位置到特定结束位置的信息来自源文件中的特定开始位置到特定结束位置。
【专利说明】取回的文件和源文件之间的选择映射
[0001]背景
[0002]万维网已成为普遍存在的现代生活部分。因此,web开发是极速增长的产业。Web开发不同于用若干深奥方式的传统软件开发。
[0003]复杂的网站可以由若干不同的页面组成,其内容可以从许多不同的文件生成。将代码写入文件的web开发商可以用有限数量的方式在这些文件中分割内容,该代码在由web服务器处理并被显示在浏览器中时导致观察者看见的页面。在web服务器处理这些文件时,它经常会沿着这条路生成附加内容。由web服务器处理的很少几行的代码可负责将成百上千行的代码生成在最终web页面中。当客户机作出对web服务器的请求时,web服务器确定什么文件组成了该响应,将这些文件汇编成单个文件,并随后将该响应发回客户机。在浏览器已将从web服务器处接收到的文档加载到该浏览器中后,将交互式特征添加到网页的脚本编制语言可添加、删除或修改文档中的内容。
[0004]web处理工作的方式反映web开发。当web开发商想要改变网站的一部分时,web开发商必须知道在web服务器处与该网站相关联的哪些文件是必须要改变的文件。
[0005]概述
[0006]web服务器所生成的HTML文件可与元数据相关联,该元数据使该HTML文件中的内容被映射回创建该HTML内容的源。浏览器可向web服务器发送HTTP请求。web服务器上的软件可对为HTML中的位置范围进行定界的请求的HTML响应进行注释。元数据可被添加到由客户机计算机从web服务器接收到的HTML文件中,或可由客户机计算机在分开的文件中接收。该元数据可提供使得由开发计算机从web服务器接收到的该HTML文件(S卩,取回的文件)中的定界内容能够被映射回其所源自的源的信息。服务器侧模块可与web框架集成或被插入web框架,使得映射信息可响应于来自客户机上的浏览器模块的HTTP请求而被生成。
[0007]提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
【专利附图】

【附图说明】
[0008]在附图中:
[0009]图1示出根据本文所公开的主题的各方面的在取回的文件和源文件之间进行映射的系统100的示例;
[0010]图2示出根据本文所公开的主题的各方面的在取回的文件和源文件之间进行映射的方法的示例;
[0011]图3是根据本文所公开主题的各方面的计算环境的示例的框图;以及
[0012]图4是根据本文所公开的主题的各方面的集成开发环境的示例的框图。
[0013]详细描述
[0014]概览[0015]在web开发中(特别是在诸如但不限于微软的ASP.NET之类的框架中),许多不同的源文件可被组合以将用户可以浏览的页面形成在web上。例如,网站可具有在网站上的菜单栏中列出的多个页面,诸如“Home”、“关于”、和“联系我们”等。菜单栏的代码可存在于一个源文件中,“关于”页面可存在于另一源文件中,并以此类推。在用户浏览网站时,所有源文件可以作为单个文件(诸如,例如被称为“关于.htm”的文件或被称为“联系.htm”的文件)回到用户的浏览器。
[0016]想要改变网站上的某些事物的开发者必须知道他想要改变的元素位于什么文件中。通常,查找要改变的文件变成了不同寻常的任务,因为例如存在web开发者可选择来分割网站的内容的许多不同的方式,并因为信息可以从数据库中被提取出,而非被编码在源中。因此,开发者可能被迫手动地执行“在文件中查找”命令、浏览代码或依赖于想起该元素在哪里可被找到。
[0017]根据本文所公开的主题的各方面,包括字符、字符位置、位置范围或取回的文件(响应于HTTP请求从web服务接收到的文件)中的元素等的任何代码片段可被映射到它所源自的源代码,并且反之亦然。当开发者代码(例如在服务器处)被编译时,发出包括元数据的HTML的调用可被执行,该元数据将HTML中的代码片段映射回特定源文件并映射回该源文件中的特定位置。被操纵的调用可被插入已解释的源代码文件中,该源代码文件在被解释时发出包括元数据的HTML,该元数据将HTML中代码片段映射回特定源文件并映射回该源文件中的特定位置。或者,元数据可被分开发送(例如,在与HTML文件分开的文件中)。HTML可包括包含诸如令牌之类的注入符号的注释,这些注入符号指示HTML中从特定开始位置到特定结束位置的信息来自源文件中的特定开始位置到特定结束位置,或提供这一信息的附加元数据可被提供。
[0018]浏览器所取回的文件因此可包括该浏览器不需要向用户显示的注释和/或元数据。因此,在浏览器获得HTML文件之前,可以将注释和/或元数据从浏览器用来显示网站内容的文件中移除。浏览器用来从中导出网页的文件被称为动态浏览器文件。元数据可被持久存储到存储器中的数据结构中。为了实现取回的文件和源文件之间的选择映射,可以基于web服务器计算机上生成的元数据创建映射表。该映射表可以将响应于来自浏览器的HTTP请求而被来自web服务器的客户机接收的文件的部分(取回的文件)映射到源文件。该文件的每一部分可以通过向该文件的每一部分分配标识符来标识。
[0019]例如,假设开发者想要改变网站上的联系页面中的电话号码。开发者可以打开IDE,使用客户机计算机上的客户机侧映射模块中的查看命令来带出浏览器,打开该浏览器,导航到联系页面,并选择该联系页面中的电话号码。联系页面的源文件可被显示在浏览器显示的附近,使得生成该浏览器页面的源代码可以与该浏览器中的网页一起被同时查看。浏览器可将源代码的视图滚动到源文件中与浏览器中的选择相对应的位置。例如,所操纵的客户机侧浏览器模块可以将用户带到联系页面,并带到联系文件中硬编码该电话号码或找到在文件或数据库中访问该电话号码的命令的提取位置。
[0020]取回的文件和源文件之间的映射
[0021]图1示出根据文本所公开的主题的各方面的在取回的文件和源文件之间进行映射的系统100的示例。系统100的全部或某些部分可以驻留在诸如下面参考图3所描述的计算机之类的一个或多个计算机上。系统100可在诸如参考图4所描述的软件开发计算机之类的软件开发计算机上整体地或部分地执行。系统100可在诸如IDE1120之类的IDE内执行。IDEllO可以是诸如参考图4所描述的IDE之类的IDE,或者可以是任何其它IDE。系统100的全部或部分可被实现为插件或扩展。
[0022]系统100可包括诸如计算机102之类的一个或多个计算机或计算设备,其包括:诸如处理器142等之类的一个或多个处理器、诸如存储器144之类的存储器、以及诸如服务器模块108之类的一个或多个服务器侧模块。服务器模块108可提供在取回的文件和源文件之间进行映射所需的服务器侧处理。系统100还可包括诸如计算机103之类的一个或多个计算机或计算设备,其包括:诸如处理器143等之类的一个或多个处理器、诸如存储器145之类的存储器、以及诸如客户机模块116之类的一个或多个客户机侧映射模块。如这里更全面地描述的,更客户机模块116可在取回的文件和源文件之间进行映射。也可以包括本领域已知的其他组件,但此处未示出。将明白,一个或多个服务器侧映射模块(诸如,服务器模块108)可被加载到存储器144以使得诸如处理器142等一个或多个处理器执行归于服务器模块108的动作。可以理解,一个或多个客户机侧映射模块(诸如客户机模块116)可被加载到存储器145中以使得诸如处理器143等一个或多个处理器执行归于一个或多个客户机模块116的动作。
[0023]计算机102可表示使用HTTP协议向浏览器递送网页和其他文档的web服务器计算机。计算机102可包括诸如web框架104等web框架中的一个或多个。web框架104可以是诸如但不限于ASP.NET、PHP、PERL、Ruby之类的web框架。根据本文所公开的主题的各方面,系统中在取回的文件和源文件之间进行映射的服务器侧部分在图1中由服务器模块108来表示。服务器模块108可以是web框架104的插件或附件。源代码132和/或经编译的代码134可由服务器模块108接收,并且可用于响应于来自浏览器(诸如浏览器118)的HTTP请求来生成从服务器计算机102发送到客户机计算机103的HTML文件。
[0024]服务器模块108可生成要发送到客户机计算机(诸如客户机计算机103)的HTML文件(“取回的文件”)。服务器模块108可发出与从其中生成HTML文件的各部分的源文件有关的信息。可将与源文件有关的信息返回到客户机计算机。例如,可通过将信息嵌入发送到客户机的HTML文件来返回该信息,或可在分开的文件中发送信息。可通过网站配置设置、HTTP标题信息、查询串信息、形式数据等来控制是否将元数据包括在发送到客户机计算机的HTML文件中,是否分开地发送元数据,或是否根本不发送元数据。
[0025]服务器模块108可生成将经注释的HTML文件中的位置与源代码文件中源代码的各部分进行关联的元数据。例如,XML表可用于存储源位置和目的地位置两者。或者,令牌可用于将HTML文件中的位置范围与源代码文件中的各部分相关联等等。根据本文所公开的主题的某些方面,服务器模块108可生成开始令牌和结束令牌,它们一起限定了在服务器计算机102所生成的HTML文中来自特定源文件中特定位置的位置范围。将理解,令牌的格式可以是任何合适的格式。例如,一种格式可以是$开始令牌$和$结束令牌$。对于所考虑的HTML代码的该部分,$开始令牌$可用于为HTML文件中的开始位置定界,并且$结束令牌$可用于为HTML文件中的结束位置定界。可向每个开始/结束令牌对分配序列号或其他标识符,以便将一对开始和结束令牌与另一对开始和结束令牌相区分。
[0026]在web服务器完成生成所请求的文件之后,上下文数据可被生成。任何数据结构可用于展示上下文信息。展示上下文数据的一种方式是XML格式的数据结构,该XML格式的数据结构可用作映射表并且包括将HTML文件中的各部分与源的各部分相关联所需的数据。例如,源文件中与HTML文件中由开始和结束令牌所定界的位置范围相对应的范围的表可被包括。根据本文所公开的主题的某些方面,可将上下文信息包括在发送到客户机计算机的HTML文件结束处。每一对开始和结束令牌可通过标识特定对开始和结束令牌的标识符(例如,该对开始和结束令牌唯一的标识符)来标识,以允许通过匹配标识符来在HTML文件中的位置和从其中生成HTML片段的特定源文件中的位置之间进行映射。
[0027]例如,对于取回的文件中在位置50处开始的10字符范围(该10字符范围被映射到源文件中在位置0处开始的10字符范围),在取回的文件中落入该10字符范围内的所选位置58可被如下映射到源文件:从所选位置中减去取回范围的开始位置,并且可将该结果添加到源文件中该范围的开始位置。在该情况下,58-50+0=8,其中8是源文件中的所选位置。对于取回文件内的所选范围的开始和结束位置可执行相同的操作,以在源文件中找出对应范围的开始和结束。一个源位置范围可映射到web服务器计算机102所生成的HTML文件中的多个位置范围。一个源文件中的一个范围可包括另一源文件中的各范围,使得取回的文件中的单个位置可映射到多个源文件。例如,源文件可包括在当前位置处包括另一源文件的命令。
[0028]HTML中由web服务器生成的内容与源文件中的内容可以是逐字符地相同的。这种类型的内容被称为文字内容。文字内容可以是例如HTML。HTML中由web服务器生成的内容可以与源文件中的内容不同。这种类型的内容被称为非文字内容。非文字内容可以是源文件中的被运行用来在web服务器所生成的HTML文件中产生HTML的代码。由web服务器所产生的元数据可包括以下上下文信息:用于将源映射到取回的文件的标识符、源文件中的开始位置、源文件中的结束位置,或另选地,源文件中的长度、源文件的名称或路径(输出源自何处)、指示内容是文字还是非文字内容的指示符、取回的文件中的开始位置、取回的文件中的结束位置,或另选地,取回的文件中的长度。这一信息使得从取回的文件转换到源文件变得可能。
[0029]计算机103可表示主存web浏览器(例如,浏览器118)的客户机计算机。浏览器118可以是任何浏览器,包括但不限于Mosaic、微软公司的Internet Explorer?、Mozilla、Netscape、Firefox等。web浏览器是用于在万维网上检索、呈现、以及遍历信息资源的软件应用。信息资源通过统一资源标识符(URL)来标识,并且可以是网页、图像、视频或其他内容片段。计算机103可表示软件开发计算机。根据本文所公开的主题的各方面,计算机103可主存包括在取回的文件和源文件之间进行映射的一个或多个客户机侧模块(诸如一个或多个客户机模块116)的IDE110。一个或多个客户机模块116可包括以下各项中的一个或多个:浏览器118,和/或映射模块136。系统100可以包括以下各项中的任一个或全部:映射表138、一个或多个源文件(在图1中由源文件126来表示)、取回的文件128和/或动态浏览器文件(诸如D0M130)。文档对象模型(DOM)是用于表示并与HTML、XHTML和XML文档中的对象进行交互的跨平台、语言无关的约定。DOM元素可通过包括脚本语言的编程语言(诸如但不限于JScript)来定址和操纵。DOM支持在任何方向上的导航。即,DOM支持从孩子到其父母、从父母到其孩子以及从孩子到先前的兄弟的导航。如上面参考计算机102所描述的,计算机103还可包括web服务器组件(例如,web框架,包括服务器侧映射模块)(未示出)。计算机102和计算机103可经由网络114来连接。[0030]浏览器118可向web服务器计算机(诸如web服务器计算机102)发送HTTP请求。HTTP请求可以是对网站的网页的请求。如这里所描述的,所请求的HTML文件可以是经注释的HTML文件。元数据可被分开地发送或可被嵌入经注释的HTML文件内。可提供消除在HTML文件内进行注释的需求的附加元数据。响应于接收到HTTP请求,web服务器计算机102上的服务器模块108可生成经注释的HTML文件,其中将取回的文件中每一输出元素映射到源文件中对应位置的元数据被注入。可将经注释的HTML文件发送到客户机计算机103。一个或多个客户机模块116可接收经注释的HTML文件(例如,取回的文件128)、可剥离任何被包括的元数据和/或注释、可从该元数据构建映射表138,并且可生成针对浏览器的文件而没有该元数据在其中。从取回的文件所生成的、浏览器用于导出并显示网页的文件被称为动态浏览器文件130。或者,可分开地发送元数据。响应于接收到HTTP请求,web服务器计算机102上的服务器模块108可生成HTML文件和其中提供了将取回的文件中每一输出元素映射到源文件中对应位置的元数据的元数据文件。可将HTML文件和元数据文件发送到客户机计算机103。一个或多个客户机模块116可接收HTML文件(例如,取回的文件128)和元数据文件。映射模块136可从元数据构建映射表138,并且可向浏览器提供HTML文件。映射模块136可通过匹配标识符(如上面更全面地描述的),使用映射表138来在动态浏览器文件130和源文件126之间进行映射。浏览器118可基于映射表138中的信息来同时与浏览器显示器相邻地显示浏览器118中正被显示的网页的源代码文件(例如,源代码编辑器(例如,源代码编辑器119)中的源文件126)。
[0031]图2示出根据此处所公开的主题的各方面的用于在浏览器和源代码文件之间进行映射的方法200的示例。图2中所述的方法可由诸如但不限于参考图1中所述的系统来实践。以下描述的一些动作可以是可任选的。以下描述的一些动作可按不同于以下所述的序列来执行。
[0032]在201,浏览器可向web服务器(诸如web服务器计算机102)发送请求特定网页的HTTP请求。在202,运行服务器侧浏览器模块的web服务器可接收HTTP请求,并且作为响应可在204生成包括HTML文件和映射元数据的响应。根据此处所公开的主题的某些方面,所生成的HTML文件可包括为HTML文件中每一输出元素的位置范围定界的注释。web服务器计算机可生成包括映射表的元数据,映射表包括针对HTML文件中每一经注释的元素的上下文数据。web服务器可向客户机发送经注释的HTML文件和元数据。在206,客户机文件可接收经注释的HTML文件和元数据。源数据可被嵌入HTML文件中或可被分开地发送。在208,元数据可用于生成数据结构,该数据结构可用于在取回的代码文件和源代码文件之间以及源文件和取回的文件之间进行映射。在210,注释可从HTML文件中被剥离,并且所得动态浏览器文件可被传递到浏览器以供在212显示。
[0033]合适的计算环境的示例
[0034]为了提供有关本文所公开主题的各方面的上下文,图3以及以下讨论旨在提供其中可以实现本文所公开主题的各实施例的合适计算环境510的简要概括描述。尽管本文所公开的主题是在诸如程序模块等由一个或多个计算机或其他计算设备执行的计算机可执行指令的通用上下文中描述的,但本领域技术人员将认识到,本文所公开的主题的各部分还能够结合其他程序模块和/或硬件和软件的组合来实现。通常,程序模块包括执行特定任务或实现特定数据类型的例程、程序、对象、物理人为产物、数据结构等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。计算环境510只是合适的操作环境的一个示例,并且不旨在对此处所公开的主题的使用范围或功能提出任何限制。
[0035]参考图3,描述了计算机512形式的计算设备。计算机512可包括处理单元514、系统存储器516和系统总线518。处理单元514可以是各种可用处理器中的任何一种。也可以使用双微处理器及其他多处理器体系结构作为处理单元514。系统存储器516可包括易失性存储器520和非易失性存储器522。非易失性存储器522可包括只读存储器(ROM)、可编程ROM (PROM)、电可编程ROM (EPROM)或闪存。易失性存储器520可包括可充当外高速缓冲存储器的随机存取存储器(RAM)。系统总线518将包括系统存储器516的系统物理人为产物耦合到处理单元514。系统总线518可以是几种类型的总线结构中的任何一种,包括存储器总线、存储控制器、外围总线、外总线或局部总线,并且可以使用各种可用总线体系结构中的任一种。
[0036]计算机512通常包括各种计算机可读介质,诸如易失性和非易失性介质、可移动和不可移动介质。计算机存储介质可以通过用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现。计算机存储介质包括但不限于,RAM、ROM、EEPR0M、闪存或其它存储器技术、⑶ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机512访问的任何其他瞬态或非瞬态介质。
[0037]将理解,图3描述了可充当用户与计算机资源之间的媒介的软件。该软件可以包括可存储在盘存储524上的操作系统528,该操作系统可分配计算机512的资源。盘存储524可以是通过诸如接口 526等不可移动存储器接口连接到系统总线518的硬盘驱动器。系统应用程序530利用由操作系统528通过存储在系统存储器516或者存储在盘存储524上的程序模块532和程序数据534对资源的管理。可以理解,计算机可用各种操作系统或操作系统的组合来实现。
[0038]用户可通过输入设备536向计算机512输入命令或信息。输入设备536包括但不限于定点设备,诸如鼠标、跟踪球、指示笔、触摸垫、键盘、话筒等。这些及其他输入设备通过系统总线518经由接口端口 538连接到处理单元514。接口端口 538可表示串行端口、并行端口、通用串行总线(USB)等。输出设备540可与输入设备使用相同类型的端口。提供输出适配器542以举例说明存在像监视器、扬声器、以及打印机的需要特定适配器的一些输出设备540。输出适配器542包括但不限于,在输出设备540和系统总线518之间提供连接的视频卡和声卡。其他设备和/或系统和/或设备,诸如远程计算机544,可提供输入和输出两种能力。
[0039]计算机512可以使用到诸如远程计算机544之类的一个或多个远程计算机的逻辑连接来在联网环境中操作。远程计算机544可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见的网络节点,并且通常包括许多或所有以上相对于计算机512所描述的元件,但在图3中仅示出了存储器存储设备546。远程计算机544可经由通信连接550逻辑地连接。网络接口 548涵盖诸如局域网(LAN)和广域网(WAN)这样的通信网络,但也可包括其他网络。通信连接550是指用来将网络接口 548连接到总线518的硬件/软件。通信连接550可以在计算机512内或外并且包括诸如调制解调器(电话、电缆、DSL和无线)和ISDN适配器、以太网卡等内和外技术。[0040]可以理解,所示网络连接仅是示例,并且可以使用在计算机之间建立通信链路的其他手段。本领域的普通技术人员可以理解,计算机512或其他客户机设备可作为计算机网络的一部分来部署。在这一点上,本文所公开的主题涉及具有任意数量的存储器或存储单元以及在任意数量的存储单元或卷上发生的任意数量的应用和进程的任何计算机系统。本文所公开的主题的各方面可应用于具有部署在网络环境中的具有远程或本地存储的服务器计算机和客户计算机的环境。本文所公开的主题的各方面也可应用于具有编程语言功能、解释和执行能力的独立计算设备。
[0041]图4示出集成开发环境(IDE)600和通用语言运行时环境602。IDE600可允许用户(例如,开发者、程序员、设计者、编码者等)在计算机系统中设计、编码、编译、测试、运行、编辑、调试或构建程序、程序集、网站、web应用和web服务。软件程序可包括以一种或多种源代码语言(例如,Visual Basic> Visual J#、C++、C#、J#、Java Script、APL、COBOL、Pascal、Eiffel、Haskell、ML、Oberon> Perl、Python、Scheme、Smalltalk 等)创建的源代码(组件610)。IDE600可提供本机代码开发环境,或者可提供在虚拟机上运行的托管代码开发,或者可提供其组合。IDE600可提供使用.NET框架的托管代码开发环境。可使用语言专用源编译器620从源代码组件610和本机代码组件611创建中间语言组件650,并且在执行应用时使用中间语言编译器660 (例如,即时(JIT)编译器)从中间语言组件650创建本机代码组件611 (例如,机器可执行指令)。即,当IL应用被执行时,其在被执行的同时被编译成适合正在其上执行它的平台的合适机器语言,藉此使代码能跨若干平台便携。替代地,在其他实施例中,程序可被编译成适合其目标平台的本机代码机器语言(未示出)。
[0042]用户可根据已知软件编程技术以及与特定源语言相关联的特定逻辑和句法规则经由IDE600中的用户接口 640和源代码编辑器651来创建和/或编辑源代码组件。此后,源代码组件610可经由源编译器620被编译,藉此可创建该程序的中间语言表示,诸如汇编630。汇编630可包括中间语言组件650和元数据642。
[0043]应用设计可以能够在部署前被确认。
[0044]本文所述的各种技术可结合硬件或软件,或在适当时以其组合来实现。由此,本文所公开的方法和装置或其特定方面或部分可采取包含在诸如软盘、CD-ROM、硬盘驱动器或任何其他机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中当程序代码被加载到诸如计算机等机器内并由其执行时,该机器成为用于实现本文所公开的主题的各方面的装置。如此出所用的,术语“机器可读介质”应被用来排除提供(即存储和/或传输)任何形式的传播信号的任何机制。在程序代码在可编程计算机上执行的情况下,计算设备通常将包括处理器、该处理器可读的存储介质(包括易失性和非易失性的存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。可例如通过使用数据处理API等来利用域专用编程模型各方面的创建和/或实现的一个或多个程序可用高级过程语言或面向对象的编程语言来实现以与计算机系统通信。然而,如果需要,该程序可以用汇编语言或机器语言来实现。在任何情形中,语言可以是编译语言或解释语言,且与硬件实现相结合。
[0045]尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
【权利要求】
1.一种系统,包括: 包括web服务器的计算设备的至少一个处理器; 所述计算设备的存储器;以及 加载到所述存储器中的至少一个模块,所述至少一个模块使所述至少一个处理器: 响应于接收对HTML文件的HTTP请求,生成将HTML文件中多个输出元素中的每一输出元素映射到特定源文件中的特定位置的元数据,所述特定源文件负责生成所述多个输出元素中的一个输出元素,每一输出元素的所述元数据包括到所述特定源文件的路径以及所述特定源文件中生成所述输出元素的代码被找到的开始位置。
2.如权利要求1所述的系统,其特征在于,所述至少一个模块生成经注释的HTML文件,其中经注释的HTML文件中的注释为经注释的HTML文件中HTML的各部分定界。
3.如权利要求1所述的系统,其特征在于,附加元数据提供与每一输出元素的开始位置和结束位置相关联的信息。
4.一种方法,包括: 由在包括客户机的软件开发计算机的处理器上执行的多个模块中的一个模块从web服务器接收元数据,所述元数据包括将经注释的HTML文件中多个输出元素中的每一输出元素的数据映射到源文件中对应位置,所述源文件生成所述多个输出元素中的每一输出元素;以及 生成映射表,所述映射表将经注释的HTML中的每一输出元素映射到所述源文件中的对应位置,经注释的HTML中的所述输出元素从所述源文件中被生成。
5.如权利要求4所述的方法,还包括: 将源文件中的绝对字符位置映射到经注释的HTML文件中的绝对字符位置。
6.如权利要求4所述的方法,其特征在于, 其中包括浏览器和源代码编辑器的IDE同时显示从经注释的文件导出的网页以及所述浏览器中的选择的对应源代码。
7.如权利要求4所述的方法,其特征在于,通过映射由唯一标识符所标识的匹配开始和结束令牌来创建所述映射表 ,以允许通过匹配唯一标识符来在所述HTML文件中的位置与HTML输出元素被从中生成的特定源文件中的位置之间进行映射。
8.如权利要求1所述的方法,其特征在于,所述源文件中的一个位置映射到经注释的HTML文件中的多个位置范围。
9.如权利要求4所述的方法,其特征在于,经注释的HTML文件中的单个位置被映射到多个源文件。
10.一种包括当执行时使计算设备的至少一个处理器执行下列操作的计算机可执行指令的计算机可读存储介质: 接收包括元数据的经注释的HTML文件,所述元数据将所述HTML文件中的多个元素中的每一元素映射到生成所述多个元素中的一个元素的源文件中的对应位置,其中所述元数据包括到所述源文件的路径以及生成所述源文件中的所述元素的代码的开始位置; 生成映射表,所述映射表将经注释的HTML文件中的所述元素映射到所述源文件中的对应位置,经注释的HTML文件中的所述元素从所述源文件中被生成; 将源文件中的绝对字符位置映射到动态浏览器文件中的绝对字符位置,所述动态浏览器文件通过将注释从经注释的HTML文件中移除来生成;以及 在浏览器中显示选择,并且同时在源代码编辑器中显示源文件中的对应位置,所述源文件生成了显示在所述浏览 器中的所述选择。
【文档编号】G06F17/00GK103608802SQ201280029539
【公开日】2014年2月26日 申请日期:2012年6月5日 优先权日:2011年6月16日
【发明者】J·M·戴维斯, D·P·查迪亚, J·E·伽宝迪贡扎乐兹, V·R·乔希, M·J·哈德, M·巴切, A·T-P·潘, R·曼伽洛, J·E·容格 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1