具体实施方式
以下详细描述参考附图。在可能时,附图和以下描述中都使用相同的参考标号来指相同或相似的部件。尽管在本文中描述了本发明的若干示例性实施例和特征,但在不背离本发明的精神和范围的情况下,更改、修改和其它实现是可能的。例如,可对附图中所示的组件作替换、添加或更改,且本文中所述的示例性方法可通过对所公开方法的步骤的替换、重新排序或添加来更改。因此,以下详细描述不限制本发明。相反,本发明的正确范围由所附权利要求来限定。
符合本发明各实施例的系统和方法提供直接样式表编辑。与本发明各实施例相符合地,使用例如“所见即所得”(WYSIWYG)设计视图环境中的样式应用程序工具栏来提供直接样式表编辑。符合本发明各实施例的直接样式表编辑可使用CSS,尽管本发明并不限于CSS且可使用其它格式化模型。例如,WYSIWYG指以印刷文本和图形的相同方式来在屏幕上显示文本和图形。为了具有WYSIWYG文本,对于每种所使用的印刷机字体可有一种等效的屏幕字体。
常规地,WYSIWYGHTML编辑器被限于例如通过内嵌样式或通过用于创建、重用和消除CSS类的硬编码规则来编辑CSS。使用常规进程来更改复杂CSS的唯一方法是通过手工编码和/或手动条目属性编辑。与本发明各实施例相符合地,使用直接WYSIWYGCSS编辑,用户可在具有设计视图编辑的便利的情况下具有近手工编码的控制,这些设计视图编辑包括例如即时WYSIWYG反馈、格式化工具栏、和对话框、以及设计视图编辑工具。
如图2A和2B所示,与本发明各实施例相符合地,直接WYSIWYGCSS编辑可例如通过样式应用程序工具栏200来实现。样式应用程序工具栏200可使用户能选择例如下一格式化操作应当根据其进行的目标CSS规则。此外,样式应用程序工具栏200还可使用户能允许属性改变在已包含一经更改属性的最特定规则上发生。这可使工具栏能针对大多数级联有效地起作用。此外,如图2C所示,与本发明各实施例相符合地,可使用可使用户能看到页面的哪些区域将受到当前选定的CSS规则的影响(例如,如果所选定规则为选择符“p”则将选择所有段落)的加亮机制260。
符合本发明的一实施例可包括用于提供直接样式表编辑的系统。该系统可包括用于维护数据库的存储器和耦合于该存储器的处理单元。该处理单元可用来选择用于下一格式化操作的第一目标规则,所选定的第一目标规则包括一经更改属性并且是从多个目标规则中选出的。此外,该处理单元可用来允许属性改变在多个目标规则的最特定目标规则中发生,该最特定的目标规则包含经更改属性。另外,该处理单元可用来提供被配置成使用户能看到页面的哪些区域要受所选定的第一目标规则影响的加亮机制。
与本发明一实施例相符合地,前述存储器、处理单元和其它组件可在诸如图1的示例性计算设备100的计算设备中实现。硬件、软件和/或固件的任何适当组合可用来实现储存器、处理单元或其它组件。作为示例,存储器、处理单元和其它组件可用任一计算设备100或任一其它计算设备118连同计算设备100实现。前述系统、设备和处理器是示例性的,且其它系统、设备和处理器可包括符合本发明各实施例的前述存储器、处理单元和其它组件。
一般而言,程序模块可包括执行具体任务或实现具体抽象数据结构的例程、程序、对象、组件、数据结构和其它类型的结构。此外,本发明的各个实施例也可用其它计算系统配置实践,包括手持式设备、多处理器系统、基于微处理器或可编程的消费品电器、小型计算机、大型机等。本发明的各个实施例还可在任务由经通信网络连接的远程处理设备执行的分布式计算环境中实践。在分布式计算环境中,程序模块可置于本地和远程存储器存储设备中。
本发明的各个实施例例如可被实现为计算机进程(方法)、计算系统、或制品,诸如计算机程序产品或计算机可读介质。计算机程序产品可以是计算机系统可读的、并编码用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算系统可读的、并编码用于执行计算机进程的指令的计算机程序的在载波上传播的信号。
参看图1,符合本发明一实施例的一示例性系统可包括诸如计算设备100的计算设备。在基本的配置中,计算设备100可包括至少一个处理单元102和系统存储器104。取决于计算设备的配置和类型,系统存储器104可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等等)、或某种组合。系统存储器104通常包括操作系统105、一个或多个应用程序106,并可包括程序数据107。在一实施例中,应用程序106可包括直接样式表编辑应用程序120。然而,本发明各实施例可结合图形库、操作系统、桌面排版应用程序、或任何应用程序实践,且不限于任何特定应用程序或系统。该基本配置在图1中由虚线108内的那些组件示出。
计算设备100可具有附加特征或功能。例如,计算设备100还可包括诸如磁盘、光盘、或磁带的其它数据存储装置(可移动和/或不可移动)。这种其它存储器在图1用可移动存储器109和不可移动存储器110示出。计算机存储介质可包括以任何方法或技术实现的易失性和非易失性、可移动和不可移动的用来存储诸如计算机可读指令、数据结构、程序模块、或其它数据的信息的介质。系统存储器104、可移动存储109和不可移动存储110都是计算机存储介质的示例。计算机存储介质包括,但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化多功能光盘(DVD)或其它光学存储器、磁带盒、磁带、磁盘存储器或其它磁性存储装置、或可用来存储所需信息并可由计算设备100访问的任何其它介质。任何这种计算机存储介质可以是设备100的一部分。计算设备100还可具有诸如键盘、鼠标、笔、语音输入装置、触摸输入装置等等的输入装置112。还可包括诸如显示器、扬声器、打印机等等的输出装置114。前述设备是示例性的,并且可使用其它设备。
计算设备100还可包含使设备100能与其它计算设备118诸如在例如内联网或因特网的分布式计算环境中的网络上进行通信的通信连接116。通信连接116是通信介质的一个示例。通信介质通常体现为计算机可读指令、数据结构、程序模块、或其它诸如载波或其它传输机制的已调制数据信号的其它数据,并包括任何信息传输介质。术语“已调制数据信号”意指具有以这种在信号中编码信息的方式来设置或改变的一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、RF、红外和其它无线介质的无线介质。在此所用的术语计算机可读介质包括存储介质和通信介质。
多个程序模块和数据文件可被储存在计算设备100的系统存储器104中,包括适于控制网络化个人计算机的操作的操作系统105,诸如来自华盛顿州雷德蒙市的微软公司的WINDOWS操作系统。系统存储器104还可储存诸如直接样式表编辑应用程序120和以下所述的其它应用程序的一个或多个程序模块。当在处理单元102上执行时,直接样式表编辑应用程序120可执行包括例如以下所述方法的一个或多个步骤的进程。前述进程是示例性的,且处理单元102可执行其它进程。可根据本发明各实施例使用的其它应用程序106可包括电子邮件和联系应用程序、文字处理应用程序、电子表应用程序、数据库应用程序、幻灯片演示应用程序、绘画或计算机辅助应用程序、桌面排版应用程序等。
图3是阐述符合本发明的使用图1的计算设备100提供直接样式表编辑的示例性方法300所涉及的一般步骤的流程图。实现示例性方法300的步骤的示例性方法将在下面更详细地描述。示例性方法300可在开始框305开始并前进到步骤310,在步骤310直接样式表编辑应用程序120可使计算设备100选择用于下一格式化操作的第一目标规则。所选定的第一目标规则可包括一经更改属性,并可从多个目标规则中选出。例如,如图2A和2B所示,直接WYSIWYGCSS编辑可通过样式应用程序工具栏200实现。样式应用程序工具栏200可使用户能选择例如下一格式化操作应根据其进行的目标CSS规则(例如第一目标规则)。用户可使用输入设备112之一(例如鼠标)来从在输出设备114之一上显示的样式应用程序工具栏200中选择目标规则按钮205。一旦目标规则按钮205被选中,就显示下拉菜单210。下拉菜单210可显示用户必须从中选择的所有可能的目标CSS规则(例如多个目标规则)。例如,如图2B所示,目标CSS规则可包括一完整的选择符列表加一声明分块(declarationblocking)。此外,与本发明各实施例相符合地,目标CSS规则可包括但不限于,CSS规则、内嵌样式、自动分类、以及语义自动识别。
一些应用程序可包括用现有的样式表来编辑HTML文档(即,对于当前选定的HTML元素,可有应用于该元素的一个或多个CSS选择符)。然而,并不确保有应用于当前选择的任何选择符。然而,编辑可能仍然是需要的。在该情形中,可创建要应用例如CSS的新的CSS规则或内嵌样式。因此,“语义”自动规则(包括语义自动识别)可指基于现有的标记和类以及ID属性值针对当前选择HTML元素生成一新的CSS规则选择符。例如,对于以下HTML,
<pclass=“Copyright”>Copyright2005MicrosoftCorp.</p>且没有CSS选择符应用于该元素,本发明各实施例可基于该元素的语义创建新的CSS规则。给定以上的HTML示例,它可以是“p.Copyright”,因为该HTML包括具有类“Copyright”的<p>元素。
以上是基于类的语义自动规则示例。语义自动标识也可用ID来完成。给定以下HTML,
<h3id=“title”>DailyMicrosoftNews</h3>
本发明的各个实施例可使用选择符“h3#Title”创建新的CSS规则。因此,语义自动规则创建(包括语义自动标识)可简化尚未例如用CSS样式化的HTML文档样式化过程。
如上所述,样式应用程序工具栏200可使用户能选择下一格式化操作应根据其进行的目标CSS规则。例如,当运行应用程序106之一(例如桌面排版应用程序)时,用户可从菜单210中选择一目标CSS规则按钮215以将例如默认颜色改成蓝色。与本发明各实施例相符合地,直接样式表应用程序120可以以选定目标规则作此颜色改变(即,经更改属性)。例如,如图2B所示,在文件“comment.CSS”220中,直接样式表应用程序120可编辑通过选定目标CSS规则按钮215所定义的规则。因此,任何后续操作都可影响该规则。例如,如果用户执行一调整大小操作,则选定规则可相应地改变。类似地,如果用户改变页边距,则选定规则可相应地改变。换言之,通过如上所述地使用工具栏200作出选择,在此时起的任何后续格式化操作中,编辑器可得到用户想在何处进行该特定格式化操作以供CSS编辑的通知。
从步骤310,其中计算设备100选择用于下一格式化操作的第一目标规则,示例性方法300可前进到步骤320,其中直接样式表编辑应用程序120可使计算设备100允许属性改变在多个目标规则的最特定目标规则中发生。该最特定目标规则可包含经更改属性。例如,样式应用程序工具栏200还可使用户能允许属性改变在已包含该经更改属性的最特定规则上发生。这可使工具栏针对大多数级联有效地起作用。例如,如图2B所示,菜单210列出了若干目标CSS规则215、225、230和235(例如多个目标规则)。全部四个CSS规则215、225、230和235可应用于当前应用程序(例如桌面排版应用程序),且全部四个应用程序可定义不同的CSS。例如,目标CSS规则215可给予应用程序一绿色背景图。另三个目标规则225、230和235可应用于其它属性(例如页边距)。现在,在目标CSS规则215中,用户可将颜色从绿色改成红色。然而,颜色当前可不用目标CSS规则215设置,而用另三个目标CSS规则225、230和235之一设置。
与本发明各实施例相符合地,当例如重用属性按钮240被选中时,直接样式表应用程序120可分析另三个目标CSS规则225、230和235。该分析可按目标CSS规则225、230和235的特定顺序进行,来看那些目标CSS规则的任一个是否已设定了颜色。如果是,则该分析可在那里(例如目标CSS规则225、230和235之一)设置颜色,而不是当前选定的目标CSS规则(例如目标CSS规则215)。在不使用直接样式表应用程序120来执行该分析的情况下,用户可能需要记住原来是哪一个目标CSS规则设定了颜色。换言之,直接样式表应用程序120可确定例如何处设定了颜色。
一旦计算设备100在步骤320允许属性改变在最特定目标规则中发生,则示例性方法300可前进到步骤330,其中直接样式表编辑应用程序120可使计算设备100能提供被配置成允许用户看到页面的哪些区域将受到当前选定的第一目标规则的影响的加亮机制。例如,如图2C所示,与本发明的各实施例相符合地,可使用允许用户看到页面的哪些区域将受到当前选定的CSS规则的影响的加亮机制260。例如,如果选定规则是选择符“p”,则将选择所有段落。在计算设备100在步骤330提供了加亮机制之后,示例性方法可在步骤340结束。
此外,本发明各实施例可在包括分立电子元件的电子电路、包含逻辑门的封装或集成电子芯片、使用微处理器的电路、或包含电子元件或微处理器的单个芯片上实践。本发明的各个实施例还可使用其它能执行诸如与、或和非的逻辑运算的、包括但不限于机械、光学、流体和量子技术的技术来实践。此外,本发明各实施例可在通用计算机内或以任何其它电路或系统实践。
本发明可被具体化为系统、方法和/或计算机程序产品。因此,本发明可用硬件和/或软件(包括固件、驻留软件、微代码等)来具体化。此外,本发明各实施例可采取计算机可使用的或计算机可读的存储介质上的计算机程序产品的形式,这些存储介质具有包括在该介质中由指令执行系统使用或与之结合的计算机可使用的或计算机可读的程序代码。计算机可使用的或计算机可读的介质可以是可包含、储存、通信、传播或输送由指令执行系统、装置或设备使用或与之结合的程序的任何介质。
计算机可使用的或计算机可读的介质可以但不限于是电子、磁性、光学、电磁、红外、或半导体系统、装置、设备或传播介质。计算机可读介质的更具体示例(非穷尽性列表)将包括以下:具有一条或多条接线的电子连接、便携式计算机盘片、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、以及便携式压缩盘只读存储器(CD-ROM)。注意,计算机可使用的或计算机可读的介质甚至可以是程序可印在其上的纸张或另一适当介质,因为程序可通过例如纸张或其它介质的光学扫描来电子捕捉,然后编译、解释、或在需要时用适当方式处理,然后储存在计算机存储器中。
本发明的各个实施例在以上参考根据本发明各实施例的方法、系统和计算机程序产品的框图和/或操作示图来描述。可以理解,方框中注明的功能/动作可以不同于在操作示图中注明的顺序进行。例如,连续示出的两个方框实际可基本上并发地执行,或者取决于所涉及的功能/动作,方框有时可以相反顺序进行。
尽管已描述了本发明的某些特征和实施例,但本发明的其它实施例可存在。此外,尽管本发明的各个实施例已被描述为与储存在存储器或其它存储介质中的数据相关联,但各个方面也可储存在诸如像硬盘、软盘、CD-ROM、来自因特网的载波或其它形式RAM或ROM的辅助存储设备的其它类型计算机可读介质上或从其中读取。此外,所公开方法的各个步骤可以任何方式更改,包括通过对各步骤重新排序和/或插入或删除步骤,而不背离本发明的原理。
因此,说明书和示例旨在被视为仅仅是示例性的,且本发明的真实范围和精神由所附权利要求和等效方案的全部范围所指示。