CN101263482B - 脚本标记 - Google Patents

脚本标记 Download PDF

Info

Publication number
CN101263482B
CN101263482B CN2006800332087A CN200680033208A CN101263482B CN 101263482 B CN101263482 B CN 101263482B CN 2006800332087 A CN2006800332087 A CN 2006800332087A CN 200680033208 A CN200680033208 A CN 200680033208A CN 101263482 B CN101263482 B CN 101263482B
Authority
CN
China
Prior art keywords
scripting
document
attribute
script
behavior
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2006800332087A
Other languages
English (en)
Other versions
CN101263482A (zh
Inventor
N·科塔特
B·勒罗伊
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
Priority claimed from US11/318,305 external-priority patent/US7945853B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101263482A publication Critical patent/CN101263482A/zh
Application granted granted Critical
Publication of CN101263482B publication Critical patent/CN101263482B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

脚本标记语言提供了用于定义与文档相关联的基于脚本的交互式行为和应用逻辑的声明性机制。定义交互式行为和应用逻辑的脚本标记被呈现为与涉及文档的内容和呈现的任何标记相分离的文档的标记的独立部分。

Description

脚本标记
背景
历来,标记被用于指示标记原稿副本以在用于格式化的指示诸如对类型字体和大小、间距、缩进等的使用的帮助下进行排版的过程。在当今的数字时代,标记指的是电子标记,即电子文档中描述文档格式化的内部的、有时不可见的代码。一般,用户可通过用显示电子文档的浏览器查看文档的源代码来查看电子文档的标记。文档的电子标记一般提供文本的编码以及关于文本的结构、外观和呈现及文档中的内容的详细情况。
电子文档的标记一般使用标记语言来编程。标记语言提供用于在文档中嵌入在文档由诸如Web浏览器的特殊应用程序查看时控制文本的格式化的标签的句法和过程。通常使用的电子标记语言包括HTML、XML和ASP.NET。传统上,使用标记语言来设计静态文档的内容和外观。
然而,对诸如Web应用程序的交互式应用程序,诸如Web页面的文档的内容和/或呈现可例如基于用户输入而改变。文档的标记因此需要伴有管控文档行为的信息。传统上,文档行为程序上在脚本中实现。为了提供动态文档行为,文档标记可在适当的时间调用脚本中的方法。因而,标记和对脚本方法的调用的混合使得难以为文档独立地设计标记。同时,因为脚本语言传统上是过程性且命令性的,文档的用户通常不能使用脚本语言来为文档设计特定行为。
尽管在该背景章节中示出并描述了现有系统的特定缺点,但本领域的技术人员和其他人将认识到,此处所要求保护的主题不限于用于解决任何或所有所述缺点的任何特定实现。
概述
提供该概述以简化的形式介绍一些概念,它们将在以下详细描述中进一步描述。该概述不旨在标识所要求保护的主题的关键特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明的各方面使得提供用于定义与文档相关联的基于脚本的交互式行为和应用逻辑的声明性机制的脚本标记语言可用。本发明的各方面也使得与文档相关联的交互式行为和应用逻辑能被定义为与涉及该文档的内容和呈现的标记(“一般标记”)相分离的文档的独立层(“脚本标记”)。
本发明的一个方面采用脚本标记语言来为文档对脚本标记编程以定义文档的行为。脚本标记可在包含用于显示文档的标记信息的标记文档中被包括或引用。标记文档还可包括含有定义要显示的文档的内容和/或外观的一个或多个一般标记元素的一般标记部分。一般标记部分和脚本标记部分在标记文档中彼此分离,尽管脚本标记部分可定义一般标记部分中一般标记元素的行为。
根据本发明的另一方面,脚本标记部分包括一个或多个脚本标记元素。例如,脚本标记元素可包括包含引用元素和组件元素的脚本元素。引用元素可包括对由脚本标记部分使用的脚本文件的一个或多个引用。组件元素可定义用于控制要显示的文档的行为的一个或多个脚本对象。
根据本发明的另一方面,脚本对象可包含一个或多个属性,诸如特性属性、方法属性、事件属性或对标记文档中另一元素的引用。例如,脚本对象可引用一般标记部分中的一般标记元素,使得脚本对象可控制一般标记元素的行为。脚本对象也可引用由脚本标记部分定义或引用的另一脚本对象。脚本对象也可包含一个或多个子脚本对象,诸如事件对象、绑定对象和动作对象。可为事件对象提供事件句柄。事件句柄可将脚本标记与开发员定义的代码连接。
根据本发明的又一方面,脚本对象可与另一脚本对象通信。例如,与脚本对象相关联的绑定对象可以将脚本对象的特性与另一脚本对象的特性绑定。此外,与脚本对象相关联的动作对象可在特定事件发生时执行特定动作。该特定动作可以是执行与另一脚本对象相关联的方法或配置与另一脚本对象相关联的特性。
附图描述
当结合附图参考以下详细描述,前述方面和本发明众多伴随的优点将变得更容易理解且能更好地领会,附图中:
图1是示出用于实现本发明的各方面的示例性计算系统的框图;
图2是示出根据本发明的一方面的标记文档的示例性划分的框图;以及
图3是示出实现本发明的各方面的示例性标记文档的文本图。
详细描述
以下文字示出并描述了本发明的示例性实施例。然而,本领域的普通技术人员可以理解,可在其中进行各种改变而不背离本发明的精神和范围。
图1示出了用于实现本发明各方面的示例性计算系统100。计算系统100包括服务器组件102和客户机组件104。一般,浏览器106与客户机104相关联以便显示诸如Web页面的文档。在典型的场景中,当浏览器106请求显示例如Web页面的文档时,客户机104向服务器102发送文档请求。服务器102然后向客户机104发送包含用于显示所请求的文档的标记信息的标记文档108。标记文档108可存在于与服务器102相关联的数据库110中。通常,服务器102和客户机104存在于同一计算机系统上。或者,它们可存在于不同的计算机系统上,并通过网络(未示出)通信。
在本发明的实施例中,一旦接收到标记文档108,浏览器106就解析并解释标记文档108以根据标记文档108中提供的定义显示所请求的文档。
在本发明的示例性实施例中,诸如Web页面的文档的标记文档108提供定义该文档的内容和/或呈现的一般标记。标记文档108还包括或引用定义该文档行为的脚本标记。图2示出了在标记文档108中呈现的示例性信息块。如图2中所示,标记文档108包括一般标记部分202和脚本标记部分204。
一般标记部分202定义要显示的文档的内容格式和/或总体外观。一般标记部分202可定义一个或多个一般标记元素。例如,图2示出了一般标记部分202包括诸如一般标记元素A(206)、一般标记元素B(208)和一般标记元素Z(210)的多个一般标记元素。
另一方面,脚本标记部分204的内容定义了与要显示的文档相关联的交互式行为和应用逻辑。在本发明的实施例中,脚本标记部分204的内容定义或引用一个或多个脚本对象,并伴随定义脚本对象的状态、特性值的属性实例化脚本对象。如图2中所示,在本发明的实施例中,脚本标记部分204与一般标记部分202分离,并且是标记文档108中的独立部分。或者,在本发明的某些实施例中,脚本标记部分204可被包括在之后被标记文档108引用的单独的文件中。如图2中所示,脚本标记部分204的内容包括诸如脚本元素210、引用元素212和组件元素214的多个脚本标记元素。一般标记元素和脚本标记元素都被称为标记元素。
在本发明的示例性实施例中,脚本元素210定义脚本标记部分204的总体范围。脚本标记部分204中的所有其它元素,诸如引用元素212和组件元素214均被包含在脚本元素210内。回到图1,当解释脚本标记部分204时,浏览器106导航通过脚本元素210来解释所包括的定义,以便决定要显示的文档的行为。
在本发明的实施例中,引用元素212引用标记文档108之外由标记文档108中的标记元素使用的脚本文件。外部脚本文件可详细说明标记元素可使用的依存性信息。优选地,外部脚本文件还可提供在脚本标记部分204中定义或引用的脚本标记元素的实现细节。
组件元素214包含实际上定义要显示的文档的行为的一个或多个脚本对象定义。在本发明的示例性实施例中,在组件元素214中定义的一个或多个脚本对象可引用从而定义包括在一般标记部分202中的一般标记元素中的一个或多个的行为。
图3示出了实现图2所示的示例性标记元素的示例性标记文档108。如图3中所示,示例性标记文档108包含分层结构,其中一个标记元素可为另一标记元素所包含。每一标记元素包括如由<>符号表示的标签,在标签之间详细说明实际的元素。每一标记元素包括开始标签和结束标签,其中开始标签开始标记元素,结束标签结束相应的标记元素。例如,如图3中所示,脚本元素210在行3以开始标签<>开始,并在行34以结束标签</>结束。如将在以下详细描述地,标记文档108中的标记元素还包含带有赋值的一个或多个属性。
图3中所示的示例性标记文档108示出了两个计数器的脚本定义的行为。如图3中所示,行1-2示出了示例性一般标记部分202。此处,定义了两个一般标记元素——Counter(计数器)#1和Counter#2,其中Counter#1具有带有值“counterLabell(计数器标贴1)”的“id”属性,Counter#2具有带有值“counterLabel2(计数器标贴2)”的“id”属性。
行3-34示出了指定在行1-2中定义的两个计数器的行为的示例性脚本标记部分204。具体地,行3信令示例性脚本元素210的定义的开始,行34信令该定义的结束。示例性脚本元素210包括链接到两个JavaScript文件——AtlasUI.js和AtlasControls.js的示例性引用元素212(行5-8)。行9-32示出了定义多个脚本对象的示例性组件元素214。例如,行10定义了被标识为“counter1(计数器1)”的脚本对象Counter 302,而行11定义了被标识为“counter2(计数器2)”且具有值“10000”的脚本对象Counter 304。行12-16和行17-21之间的代码各自定义了周期性(例如,每500秒)启动事件对象Tick(计时)(308、318)的脚本对象Timer(定时器)(306、316)。在本发明的实施例中,脚本对象可包括一个或多个子脚本对象。例如,脚本对象Timer 306包括事件对象Tick 308,后者进一步包括动作对象invokeMethod(调用方法)310。作为另一示例,在行22-26中定义的脚本对象Label(标贴)312包括绑定对象314。
在本发明的示例性实施例中,脚本对象可与其值用来定义脚本对象的行为的一个或多个属性相关联。属性可以是例如与脚本对象相关联的特性、方法、或事件。属性也可以是对另一标记元素的引用。例如,在行11中定义的脚本对象Counter 304具有特性属性“id”和特性属性“value(值)”。在行14中定义的动作对象invokeMethod 310具有被设置为示例性“increment(递增)”方法的方法属性“Method(方法)”。例如,代替使用事件对象Tick 308,脚本对象Timer 306可具有事件属性“Tick”。行22中定义的脚本对象Label 312具有引用行1中被标识为“counterLabel1”的一般标记元素Counter#1的属性“targetElement(目标元素)”。
在本发明的示例性实施例中,脚本对象可引用在标记文档108的一般标记部分202中定义的一般标记元素,并定义与所引用的一般标记元素相关联的文档行为。例如,行22-26之间的代码定义了引用行1中定义的一般标记元素Counter#1的脚本对象Label 312。行27-31之间的代码定义了引用行2中定义的一般标记元素Counter#2的脚本对象Label 320。因此,脚本对象Label 312和Label 320可指定一般标记部分202中的一般标记元素Counter#1和Counter#2的行为。
在本发明的实施例中,脚本对象可通过在特定事件发生时执行特定动作来与另一脚本对象通信。例如,在本发明的实施例中,脚本对象可与一事件相关联,该事件的发生启动了相应的事件句柄,后者可链接至用于标记文档108中的标记元素的开发员定义的代码。在本发明的示例性实施例中,事件句柄包括将要对组件元素214中的脚本对象之一执行的一个或多个特定动作。示例性动作可以是调用与另一脚本对象相关联的方法。另一示例性动作可以是配置与另一脚本对象相关联的方法。在本发明的典型实施例中,事件和动作两者都可以是包括一个或多个属性的脚本对象。例如,脚本对象Timer 306包含事件对象Tick 308,后者的启用启动了动作对象invokeMethod 310。动作对象invokeMethod 310具有指定目标脚本对象例如“counter1”的属性“target(目标)”和指定要对目标脚本对象执行的函数的属性“method”。
用于一个脚本对象与另一脚本对象通信的另一示例性机制是将一个脚本对象的特性与另一脚本对象的特性连接的绑定机制;因此一个特性的改变被反映在另一特性上。例如,如图3中所示,脚本对象Label 312包括绑定对象314。绑定对象314具有指定脚本对象的属性“dataContext(数据上下文)”和指定脚本对象Label312将与之绑定其特性“text(文本)”的该脚本对象的特性之一的属性“dataPath(数据路径)”。作为绑定的结果,行10中定义的脚本对象Counter 302的值被反映在与脚本对象Label 312相关联的“text”特性中,从而显示在行11中定义的一般标记元素Counter#1中。在本发明的示例性实施例中,绑定对象提供将提供数据的特性的类型变换为接收数据的特性的类型的变化功能。例如,绑定对象314的变换功能可将由“dataPath”指定的特性的类型转换成由“text”指定的特性的类型。
可以理解,图3仅示出用于实现本发明的各方面的脚本标记语言的示例性格式。这些示例性格式应仅用于说明的目的。这些示例性格式不将本发明的实施例提供的脚本标记语言限于所示的特定的格式、句法和功能。例如,使用XML句法和格式示出了示例性标记文档108。然而,本领域的普通技术人言可以理解,本发明的各方面可用诸如HTML、ASP.NET、JavaScript Object Notation等不同的标记语言实现。
在本发明的实施例中,开发员可定制脚本对象模型。脚本对象模型例如指定诸如特性、方法和/或事件属性等属性,以及可与脚本对象模型相关联的任何子脚本对象模型。然后例如通过与浏览器106相关联的类型管理器向浏览器106注册脚本对象模型。浏览器106因此知道如何解释并处理基于脚本对象模型实例化的脚本对象。作为结果,由本发明各方面提供的脚本标记语言就新的脚本对象模型可被定义并向浏览器注册以便于解释包含基于脚本对象模型实例化的脚本对象的脚本标记而言是可扩展的。
尽管用结构特征和/或方法动作专用的语言描述了本发明的各方面,但可以理解所附权利要求书中定义的主题不必限于上述特定特征或动作。相反,上述特定特征和动作作为实现权利要求书的示例性形式而公开。

Claims (15)

1.一种在包括浏览器(106)的计算系统(100)中提供的用于解释标记文档(108)以显示文档的计算机实现的方法,所述方法包括:
接收所述标记文档(108),其中所述标记文档(108)包括包含用于定义所述文档的内容和/或外观的一个或多个一般标记元素的一般标记部分(202),所述标记文档还包括与所述一般标记部分分开且包括用于定义所述文档的行为的一个或多个脚本元素的脚本标记部分(204),所述脚本元素包括组件元素,将所述组件元素内的内容解释为定义要被显示的所述文档的所述行为的一个或多个脚本对象,所述一个或多个脚本对象中的至少一个表示所述一个或多个一般标记元素中的至少一个并定义该一般标记元素的行为;以及
导航通过包含在所述脚本元素(210)内的内容来解释所包括的定义,以便决定要被显示的所述文档的所述行为。
2.如权利要求1所述的方法,其特征在于,所述一个或多个脚本元素之一是包含对现有脚本文件的一个或多个引用的引用元素。
3.如权利要求1所述的方法,其特征在于,所述一个或多个脚本对象之一引用所述一般标记部分中的所述一个或多个一般标记元素之一。
4.如权利要求3所述的方法,其特征在于,所述一个或多个脚本对象之一包括一个或多个属性。
5.如权利要求4所述的方法,其特征在于,所述一个或多个属性之一是特性属性、方法属性和事件属性之一。
6.如权利要求1所述的方法,其特征在于,所述一个或多个脚本对象之一包括一个或多个脚本对象,即子脚本对象。
7.如权利要求6所述的方法,其特征在于,所述子脚本对象之一是将所述脚本对象的属性与另一脚本对象的属性连接的绑定对象,其中这两个属性都是特性属性。
8.如权利要求7所述的方法,其特征在于,所述绑定对象包括用于将所述脚本对象的所述属性的类型转换成所述另一脚本对象的所述属性的类型的功能。
9.如权利要求6所述的方法,其特征在于,所述子脚本对象之一是事件对象。
10.如权利要求9所述的方法,其特征在于,所述事件对象还包括详述当所述事件发生时做什么的事件句柄。
11.如权利要求10所述的方法,其特征在于,所述事件句柄包括当所述事件发生时启动特定动作的动作对象。
12.如权利要求11所述的方法,其特征在于,所述动作涉及执行另一脚本对象的属性,其中所述属性是方法属性。
13.如权利要求11所述的方法,其特征在于,所述动作涉及配置另一脚本对象的属性,其中所述属性是特性属性。
14.如权利要求1所述的方法,其特征在于,所述脚本元素包括引用元素,所述方法还包括:检索所述引用元素内引用的文件的内容。
15.如权利要求1所述的方法,其特征在于,所述浏览器通过使用一个或多个自定义的脚本对象模型来解释所述一个或多个脚本对象。
CN2006800332087A 2005-09-12 2006-08-29 脚本标记 Expired - Fee Related CN101263482B (zh)

Applications Claiming Priority (5)

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

Publications (2)

Publication Number Publication Date
CN101263482A CN101263482A (zh) 2008-09-10
CN101263482B true CN101263482B (zh) 2012-07-18

Family

ID=39963014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800332087A Expired - Fee Related CN101263482B (zh) 2005-09-12 2006-08-29 脚本标记

Country Status (2)

Country Link
CN (1) CN101263482B (zh)
ZA (1) ZA200802227B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899203A (zh) * 2014-03-05 2015-09-09 腾讯科技(深圳)有限公司 一种网页页面的生成方法、装置及终端设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10466989B2 (en) 2011-09-02 2019-11-05 Microsoft Technology Licensing, Llc. Fast presentation of markup content having script code
US10481876B2 (en) 2017-01-11 2019-11-19 Microsoft Technology Licensing, Llc Methods and systems for application rendering

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6966029B1 (en) * 1999-12-08 2005-11-15 Koninklijke Philips Electronics N.V. Script embedded in electronic documents as invisible encoding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6966029B1 (en) * 1999-12-08 2005-11-15 Koninklijke Philips Electronics N.V. Script embedded in electronic documents as invisible encoding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899203A (zh) * 2014-03-05 2015-09-09 腾讯科技(深圳)有限公司 一种网页页面的生成方法、装置及终端设备
CN104899203B (zh) * 2014-03-05 2021-02-26 腾讯科技(深圳)有限公司 一种网页页面的生成方法、装置及终端设备

Also Published As

Publication number Publication date
ZA200802227B (en) 2009-06-24
CN101263482A (zh) 2008-09-10

Similar Documents

Publication Publication Date Title
CN106708480B (zh) 管理平台实现方法和装置
US8244774B2 (en) Automated creation of web GUI for XML servers
KR100459301B1 (ko) 사용자 인터페이스 및 그 구성 방법
US7475333B2 (en) Defining form formats with layout items that present data of business application
CN102460432B (zh) 选择性内容提取
RU2412472C2 (ru) Разметка сценария
CA2438176A1 (en) Xml-based multi-format business services design pattern
US20040034833A1 (en) Dynamic interaction manager for markup language graphical user interface
CN106227553B (zh) 用于描述并执行图形用户界面中的管理任务的数据驱动模式
CN109634579B (zh) 代码生成方法、装置、计算机装置及存储介质
EP1520224A1 (en) Creating an html document from a source document
Rosenberg et al. Multi-media Document Translation: ODA and the EXPRES Project
CN101263482B (zh) 脚本标记
Leporini et al. Criteria for usability of accessible web sites
US8756487B2 (en) System and method for context sensitive content management
US20100299626A1 (en) Systems and Methods of Providing Rich User Interface and Animation to Auxiliary Display Devices
JP2007219774A (ja) 電子フォーム配信システム及び配信方法
US7827504B2 (en) Methods and apparatus for generating an executable file from a use case
Anderson et al. Reuse of software modules
Bradley Introduction to extensible markup language (XML) with operations research examples
Sengupta et al. Automated Translation of behavioral models using OCL and XML
Zender CSSSTYLE: Stylish Output with ODS and SAS® 9.2
CN108733433B (zh) 基于sql细分时间段操作的方法及系统
Manning Designing information for dynamic delivery with XML
Guimaraes et al. Web accessibility using model-driven development

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

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

Effective date of registration: 20150505

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120718

Termination date: 20150829

EXPY Termination of patent right or utility model