CN107408104B - 样式的声明级联重新排序 - Google Patents

样式的声明级联重新排序 Download PDF

Info

Publication number
CN107408104B
CN107408104B CN201680016464.9A CN201680016464A CN107408104B CN 107408104 B CN107408104 B CN 107408104B CN 201680016464 A CN201680016464 A CN 201680016464A CN 107408104 B CN107408104 B CN 107408104B
Authority
CN
China
Prior art keywords
cascade level
style
group
style sheet
document
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.)
Active
Application number
CN201680016464.9A
Other languages
English (en)
Other versions
CN107408104A (zh
Inventor
A.J.埃乔尔斯
T.莱特黑德
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 Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107408104A publication Critical patent/CN107408104A/zh
Application granted granted Critical
Publication of CN107408104B publication Critical patent/CN107408104B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Document Processing Apparatus (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

在一个示例中,文档渲染设备可以重新排序样式表的样式属性的级联级别,以维持文档的多个文档组件之间的衔接。文档渲染设备可以存储描述对具有名义级联级别的结构化文档进行渲染的样式表,所述名义级联级别指示样式表的表层次结构以解决与其他样式表中的样式属性的冲突。文档渲染设备可以设置描述样式表中的多个样式属性的集合的属性组的组级联级别,使得组级联级别与名义级联级别不同。文档渲染设备可以基于处于组级联级别的属性组,渲染结构化文档的文档组件以供显示。

Description

样式的声明级联重新排序
优先权信息
本申请要求2015年3月18日提交的美国临时专利申请序列号No.62/135,159和2016年3月11日提交的美国非临时专利申请序列号No.15/068,536的优先权,通过引用将其内容整体并入本文。
背景技术
计算设备可以渲染以标记语言描述的数据内容集合,以作为文档呈现给用户。标记语言是促进对将批注与要呈现给用户的文本分离的文本文档进行批注的语言(诸如超文本标记语言)。数据内容集合可以将文档描述为具有多个节点的文档树。每个节点可以描述文档的文档组件。不同作者可以创建文档的不同文档组件。
发明内容
提供本发明内容来以简化形式介绍以下在具体实施方式中进一步描述的概念的选择。本发明内容不意图标识所要求保护的主题的关键特征或必要特征,也不意图用于限制所要求保护的主题的范围。
以下讨论的示例涉及样式表的样式属性的级联级别的重新排序,以维持文档的多个文档组件之间的衔接。文档渲染设备可以存储描述对具有名义级联级别的结构化文档进行渲染的样式表,所述名义级联级别指示样式表的表层次结构以解决与其他样式表中的样式属性的冲突。文档渲染设备可以设置描述样式表中的多个样式属性的集合的属性组的组级联级别,使得组级联级别与名义级联级别不同。文档渲染设备可以基于处于级联级别的属性组来渲染结构化文档的文档组件以供显示。
附图说明
为描述可以获得上述和其他优点和特征的方式,阐述并将参考随附附图中图示出的其具体示例来渲染更具体的描述。应当理解这些附图仅描绘了典型示例,并因此不被认为限制其范围,通过使用附图将使用附加特征和细节对实现方式进行描述和解释。
图1以框图图示出了计算设备的一个示例。
图2以框图图示出了文档渲染过程的一个示例。
图3以框图图示出了级联级别层次结构的一个示例。
图4以框图图示出了级联样式表架构的一个示例。
图5以流程图图示出了创建文档的方法的一个示例。
图6以流程图图示出了用于设置与名义级联级别不同的属性组的组级联级别的方法的一个示例。
图7在流程图中图示出了用于设置与名义级联级别不同的样式属性的属性级联级别的方法的一个示例。
具体实施方式
下面详细讨论示例。虽然讨论了具体实现方式,应当理解,这仅仅是为了说明的目的而进行的。相关领域的技术人员将认识到,可使用其他组件和配置而不脱离本公开主题的精神和范围。实现方式可以是文档渲染设备、计算设备或机器实现的方法。
在一个示例中,文档渲染设备可以对样式表的样式属性的级联级别重新排序,以维持文档的多个文档组件之间的衔接。文档渲染设备可以存储描述对具有名义级联级别的结构化文档进行渲染的样式表,所述名义级联级别指示所述样式表的表层次结构以解决与其他样式表中的样式属性的冲突。文档渲染设备可以设置描述样式表中的多个样式属性的集合的属性组的组级联级别,使得组级联级别与名义级联级别不同。文档渲染设备可以基于处于组级联级别的属性组来渲染结构化文档的文档组件以供显示。
现有级联级别层次结构约束样式表的作者输入处于特定级联级别的样式表。因此,样式表的作者可能会意外覆盖作者想要保留的属性值。这种覆盖在协作项目(其中,文档组件由多位作者提供)中问题可能特别突出。通过提供降低样式表的级联级别的规则,文档渲染设备可以为作者提供用于设置不太可能覆盖现有属性值的属性值的工具,现有属性值更可能被输入到具有更高的不同级联级别的样式表中。例如,即使样式表源在名义上指示不同的级联级别,样式表可以定义处于特别创建的默认级联级别的样式表。此外,样式表的作者可以指定将样式表内的独立属性或一组属性设置处于特定级联级别。因此,主文档的作者可以提供可以被文档组件的作者覆盖的默认属性值。此外,主文档的作者可以将样式表内的一组属性提升到更高的级联级别,使得该组属性在文档组件之间可以是一致的。
文档渲染设备可以使用级联样式表来整理渲染结构化文档方面的样式规则。通过级联和继承的方式,样式表可以在多个元素之间传播属性值。级联样式表是用于在各种输出设备(诸如显示屏、纸张、语音输出或其他介质)之间描述结构化文档的渲染(如用超文本标记语言或可扩展标记语言所描述的)的语言结构。
级联可以允许多个样式表通过解决设置相同样式属性的值的不同声明之间的冲突来影响文档的呈现。样式表可以具有指示样式表的表层次结构的级联级别以解决与其他样式表中的样式属性的冲突。文档渲染设备可以基于样式表的源确定级联级别。相反,当样式表无法设置样式属性的值时,文档渲染设备可使用继承和样式属性的初始值来查找值。
文档渲染设备可以接收声明的集合作为输入,并针对每个元素上的每个样式属性输出指定的值。文档渲染设备可使用“@import”规则从其他样式表导入样式规则。“@import”规则可以先于样式表中的其他@-规则和样式规则,以防止“@import”规则的无效性。然而,样式表可以以“@charset”规则开始(如果存在)。“@import”的语法可以被格式化为:
@import [ <url> | <string> ] <media-query-list>
Figure DEST_PATH_IMAGE002
如果提供了<string>,文档渲染设备可以将该字符串解释为具有相同值的统一资源定位符。例如,以下行可以在意义上等同:
@import "mystyle.css";
@import url(" mystyle.css");
如果“@import”规则引用有效的样式表,用户代理应用可以将样式表的内容视为如同是代替“@import”规则而写入。
在替代示例中,来自导入样式表的样式规则中的声明与级联样式表进行交互,如同在“@import”处字面上写入样式表一样。类似地,导入到作用域样式表(scoped sheet)中的样式表中的样式规则可以以相同方式确定范围。
当相同样式表在多个地方导入或链接到文档时,文档渲染设备可以如同链接是单独的样式表那样地处理每个链接。采取适当的缓存,用户代理即使多次链接或导入,可以获取样式表一次。被导入的样式表的来源可以与导入的样式表的来源相同。类似地,被导入样式表的环境编码可以是导入样式表的编码。
“@default”规则可以允许样式表即使样式表源在名义上指示不同的级联级别也定义处于附近的用户代理级联级别的样式表。除“@charset”和“@import”外的任何“@default”规则都可以先于样式表中的其他项,否则“@default”规则可能无效。默认级联级别可以被描述为:
default
: DEFAULT_SYM S* group_rule_body
@{D} {E} {F} {A} {U} {L} {T} {return DEFAULT_SYM;}
例如:
@default {
 * { all: initial;}
 div { display: block;}
 span { display: inline;}
 input { display: inline-block;}
 …
}
一些属性可以是简写属性,意味着它们允许作者用独立样式属性指定若干属性的值。简写样式属性可以设置每个普通写法(longhand)子属性,就如同适当扩展一样。例如,字体属性可以是用于全部同时设置字体样式、字体变体、字体粗细、字号、行高和字体家族(font-family)的简写样式属性。该示例的多个声明:
h1 {
 font-weight: bold;
 font-size: 12pt;
 line-height: 14pt;
 font- family: Helvetica;
 font-variant: normal;
 font-style: normal;
}
可以因此被重写为
h1{ font: bold 12pt/14pt Helvetica }
当从简写形式省略值时,除非另有定义,否则每个“丢失的”子属性可以被指派样式属性的初始值。这意味着简写样式属性声明可以设置每个子属性,即使没有明确设置那些子属性。声明简写样式属性为“!important”可以等价于将其所有子属性声明为“!important”。
通过建立默认级联级别,作者可以建立不会意外地覆盖来自先前存在的较低级联级别的样式属性的样式表。默认级联级别可以插入到用户代理级联级别附近。默认级联级别的语法可以允许样式表将属性的集合组合在一起,以用允许文档的文档组件之间更大的衔接的级联级别顺序布置。属性层次结构指示符可以与独立属性一起使用,以将那些属性更好地置于级联级别的层次结构内。
图1图示出了可以充当数据渲染设备的示例性计算设备100的框图。计算设备100可以组合硬件、软件、固件和芯片上系统技术中的一个或多个以实现数据渲染设备。计算设备100可以包括总线110、处理单元120、存储器130、数据存储装置140、输入设备150、输出设备160和通信接口170。总线110或其他组件互连可以准许计算设备100的组件之间的通信。
处理单元120可以包括解释和执行指令集合的至少一个常规处理器或微处理器。至少一个处理器可以处理具有名义级联级别的样式表。至少一个处理器可以被配置为标识样式表中的属性组。至少一个处理器可以被配置为在样式表中标识定义属性组的组级联级别的组规则。至少一个处理器还可以被配置为:根据组规则设置描述样式表中的多个样式属性的集合的属性组的组级联级别,使得组级联级别与样式表的名义级联级别不同。组级联级别可以低于样式表的名义级联级别,诸如在正常用户级联级别和正常用户代理级联级别之间。
至少一个处理器可以被配置为在样式表中标识可能包含在属性组中的样式属性。至少一个处理器可以被配置为用属性层次结构指示符标识样式属性的属性级联级别。至少一个处理器可以被配置为基于属性层次结构指示符设置低于名义级联级别的样式属性的属性级联级别。
至少一个处理器可以基于处于组级联级别的属性组渲染结构化文档的文档组件以供显示。可替换地,至少一个处理器可以基于处于级联级别的样式属性渲染结构化文档的文档组件以供显示。至少一个处理器可以被配置为将文档组件插入结构化文档中。至少一个处理器可以被配置为将属性组应用于处于组级联级别的结构化文档。可替换地,至少一个处理器可以被配置为将样式属性应用于处于属性级联级别的文档。
存储器130可以是存储信息和由处理器120执行的指令的随机存取存储器(RAM)或另一类型的动态数据存储装置。存储器130还可以存储由处理器120执行指令期间使用的临时变量或其他中间信息。存储器可以存储一系列指令以执行文档渲染应用。存储器可以被配置为存储描述结构化文档的渲染的样式表,结构化文档具有指示样式表的表层次结构以解决与其他样式表中的样式属性冲突的名义级联级别。样式表可以是处于作者级联级别的作者样式表或处于用户级联级别的用户样式表。存储器130可以被配置为将定义组级联级别的组规则与属性组相关联。存储器130可以被配置为将属性层次结构指示符与属性组的样式属性相关联。
数据存储装置140可以包括常规ROM设备或存储用于处理器120的静态信息和指令的另一类型的静态数据存储装置。数据存储装置140可以包括任何类型的有形机器可读介质,诸如例如磁性或光学记录介质(例如数字视频盘)及其对应的驱动器。有形机器可读介质是存储机器可读代码或指令的物理介质(这与信号相对)。使指令存储在如本文所描述的计算机可读介质上可以与使指令随传播传送指令而传播或发送区分开来,这是相对于存储指令的,诸如与其上存储有指令的计算机可读介质一起发生的指令。因此,除非另有说明,否则对具有以该形式或类似形式在其上存储的指令的一个或者多个计算机可读介质的参考是指可在其上存储或保留数据的有形介质。数据存储装置140可以存储指令的集合,其对当由一个或多个处理器执行时使一个或多个处理器执行该方法的方法进行详细说明。数据存储装置140还可以是用于存储数据内容集合和样式表的数据库或数据库接口。
输入设备150可以包括准许用户将信息输入到计算设备100的一个或多个常规机制,诸如键盘、鼠标、语音识别设备、麦克风、耳机、触摸屏152、触摸板154、手势识别设备156等。输出设备160可以包括一个或多个向用户输出信息的常规机制,包括显示屏162、打印机、一个或多个扬声器164、耳机、振动器或诸如存储器、或磁盘或光盘之类的介质以及对应的磁盘驱动器。显示屏162可以被配置为向用户显示文档组件。
通信接口170可以包括使计算设备100能够与其他设备或网络进行通信的任何类收发机机制。通信接口170可以包括网络接口或收发机接口。通信接口170可以是无线、有线或光学接口。通信接口可以被配置为从插件导入样式表作为处于用户级联级别的用户样式表。通信接口可以被配置为从数据内容集合导入样式表作为处于作者级联级别的作者样式表。
计算设备100可以响应于处理器120执行包含在计算机可读介质(诸如例如存储器130、磁盘、光盘或固态介质)中的指令序列来执行这样的功能。这样的指令可以从另一计算机可读介质(诸如数据存储装置140)或经由通信接口160从单独的设备读入存储器130中。
图2以框图图示出了文档渲染过程200的一个示例。文档渲染设备可以处理以将数据内容集合组织为文档树210的标记语言编写的数据内容集合。文档树210可以具有一个或多个节点的集合。文档树210的节点可以是源节点212或目标节点214。源节点212可以在目标节点214的文档树内提供上下文或结构。节点可以是针对文档树210中较低节点的源节点212和针对文档树210中较高节点的目标节点214。文档渲染设备可以将文档树210渲染220成文档230。文档树210的每个节点可以被渲染220成构成文档230的文档组件232。例如,文档组件232可以是图形、文本片段、音频剪辑、视频、小应用、菜单或框架。
文档渲染设备可以基于描述集合样式属性的一个或多个样式表的集合对每个文档组件232进行格式化。文档渲染设备可以经由一些源中的任何一个引入样式表。文档渲染设备可以使用级联样式表的集合在来自多个样式表的冲突属性之间选择。来自更高级联级别的样式表的样式属性可以覆盖来自较低级联级别的样式表的冲突样式属性。例如,如果具有高级联级别的样式表将文本描述为具有红色,而具有低级联级别的样式表将文本描述为具有绿色,则渲染的文档的文本具有红色。文档渲染设备可以基于样式表的源指派级联级别。
图3以框图图示出了级联级别层次结构300的一个示例。级联级别层次结构300可以具有处于未改变状态的正常进展。在最低级联级别,文档渲染设备可以从处于正常用户代理级联级别302的用户代理应用(例如浏览器)接收用户代理样式表。在较高级联级别,文档渲染设备可以从处于正常用户级联级别304的用户应用(诸如用户接口插件)接收用户样式表。文档渲染设备可以从处于正常作者级联级别306的数据内容集合(诸如网页)接收作者样式表。文档渲染设备可以从处于正常覆写级联级别308的应用脚本(诸如应用)接收覆写样式表。文档渲染设备可以从处于正常动画级联级别310的动画接收动画样式表。
样式表可使用重要的属性层次结构指示符标签来创建在正常级联级别之上的重新进行优先级排序的级联级别的顺序。例如,可使用文本字符串“!important”来描述重要的属性层次结构指示符标签。在正常级联级别以上,文档渲染设备可以从处于重要作者级联级别312的数据内容集合接收重要作者样式表。文档渲染设备可以从处于重要覆写级联级别314的应用脚本接收重要覆写样式表。文档渲染设备可以从处于重要用户级联级别316的用户应用接收重要用户样式表。文档渲染设备可以从处于重要用户代理级联级别318的用户代理应用接收重要用户代理样式表。在最高级联级别,文档渲染设备可以接收过渡样式表,以将来自处于过渡动画级联级别320的用户代理应用的属性值进行过渡。
样式表可使用@default规则将样式表的级联级别设置在正常用户级联级别304和正常用户代理级联级别302之间的正常默认级联级别322处。因此,作者可以创建建立了一个或多个默认样式属性的样式表,其将由具有正常用户级联级别304或更高的级联级别的样式表覆盖。类似地,样式表可使用具有!important指示符的@default规则来将样式属性的级联级别设置在重要用户级联级别316和重要用户代理级联级别318之间的重要默认级联级别324处。因此,作者可以通过覆盖具有重要用户级联级别316或更低的级联级别的任何样式表,创建对于文档建立样式一致性的样式表。
样式表可以对级联级别重新分级,以创建文档组件之间的一致性。文档渲染设备可以从网页接收样式表作为作者样式表,创建作者级联级别306的名义级联级别,或从浏览器插件接收用户样式表,创建用户级联级别304的名义级联级别。样式表可以标识描述多个属性的集合的属性组。样式表可以改变属性组的组级联级别。例如,样式表可以将属性组的组级联级别设置为正常默认级联级别322。因此,属性组的样式属性可以被具有正常用户级联级别304或更高的级联级别的样式表中的冲突样式属性所覆盖。
类似地,样式表可使用属性层次结构指示符对独立样式属性的级联级别进行重新分级。例如,样式属性可以在具有正常默认级联级别322的组级联级别的属性组中。如果样式表将那个属性组的样式属性与“!important”属性层次结构指示符相关联,样式属性可以具有重要默认级联级别324的属性级联级别。因此,样式属性可能被具有重要用户代理级联级别318或更高的级联级别的冲突样式属性覆盖,并可以覆盖具有重要用户级联级别316的级联级别的冲突样式属性。可替换地,样式表可以将样式属性与将样式属性降级到较低级联级别的属性层次结构指示符相关联。例如,“!unimportant”的属性层次结构指示符可以将属性级联级别降低所设置的数量的级联级别,诸如将样式属性从处于正常覆写级联级别308的样式表向下移动两个级联级别至正常用户级联级别304。此外,属性层次结构指示符可以标识特定级联级别。例如,“!normaluseragent”的属性层次结构指示符可以将属性级联级别移动到正常用户代理级联级别302。
图4以框图图示出了级联样式表架构400的一个示例。级联样式表402可以列出描述文档组件或文档的样式属性的一个或多个属性404。级联样式表402可以将两个或更多个属性404的子集分组成属性组406。级联样式表402可以标识描述属性组406的组级联级别的组规则408。组规则408可使用“@”符号来标识组级联级别。级联样式表402可使用属性层次结构指示符410来改变独立样式属性404的级联级别。属性层次结构指示符410可使用“!”符号标识属性层次结构指示符410。
图5以流程图图示出了创建文档的方法500的一个示例。文档渲染设备可以接收样式表,该样式表具有描述要应用于数据内容集合的格式化的样式属性(框502)。如果文档渲染设备作为表示整个文档的数据内容集合的一部分接收到样式表(框504),则文档渲染设备可以读取该样式表作为处于作者级联级别的作者样式表(框506)。文档渲染设备可以将处于正常作者级别的作者样式表存储在文档渲染设备的存储器中(框508)。如果文档渲染设备作为渲染应用的插件的一部分接收到样式表(框504),则文档渲染设备可以导入该样式表作为处于用户级联级别的用户样式表(框510)。文档渲染设备可以将处于正常用户级别的用户样式表存储在文档渲染设备的存储器中(框508)。文档渲染设备可以处理表示数据内容集合的文档树(框512)。文档渲染设备可以处理描述对具有名义级联级别的结构化文档进行渲染的样式表,所述名义级联级别指示样式表的表层次结构以解决与其他样式表中的样式属性的冲突(框514)。文档渲染设备可以基于处于属性级联级别的样式表的样式属性或处于组级联级别的属性组来渲染结构化文档的文档组件,以创建文档组件(框516)。文档渲染设备可以将文档组件插入到文档中(框518)。文档渲染设备可以根据文档组件创建文档(框520)。
图6以流程图图示出了用于设置与名义级联级别不同的属性组的组级联级别的方法600的一个示例。文档渲染设备可以在样式表中标识属性组,该属性组描述多个样式属性的集合、并包含样式属性(框602)。文档渲染设备可以在样式表中标识组规则,该组规则定义包含样式属性的属性组的组级联级别(框604)。文档渲染设备可以为包含与样式表的名义级联级别不同的样式属性的属性组的组级联级别(框606)。如果样式表指示属性组的组级联级别要高于样式表的名义级联级别(框608),则文档渲染设备可以设置高于样式表的名义值级联级别的属性组的组级联级别(框610)。如果样式表指示属性组的组级联级别要低于样式表的名义级联级别(框608),则文档渲染设备可以设置低于样式表的名义值级联级别的属性组的组级联级别(框612)。如果样式表指示属性组的组级联级别要被设置为名义默认级联级别(框614),则文档渲染设备可以将属性组的组级联级别置于用户级联级别和用户代理级联级别之间(框616)。文档渲染设备可以将属性组应用于处于组级联级别的文档(框618)。
图7在流程图图中示出了用于设置与名义级联级别不同的样式属性的属性级联级别的方法700的一个示例。文档渲染设备可以在样式表中标识可以是属性组的样式属性(框702)。文档渲染设备可以基于样式表将属性层次结构指示符与样式属性相关联(框704)。文档渲染设备可以基于属性层次结构指示符设置样式属性的属性级联级别(框706)。如果样式表指示样式属性的属性级联级别将被设置为低于样式表的名义级联级别(框708),则文档渲染设备可以设置低于样式表的名义值级联级别的样式属性的属性级联级别(框710)。如果样式表指示样式属性的属性级联级别将被设置为高于样式表的名义级联级别(框708),则文档渲染设备可以设置高于样式表的名义值级联级别的样式属性的属性级联级别(框712)。如果样式表指示类型属性的属性级联级别要被设置为重要默认级联级别,作为具有“!important”属性指示符的默认组级联级别的一部分(框714),则文档渲染设备可以将样式属性的属性级联级别置于重要用户级联级别和重要用户代理之间(框716)。文档渲染设备可以将样式属性应用于处于属性级联级别的文档(框718)。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但应当理解,在随附权利要求中的主题未必限于以上描述的具体特征或动作。相反,以上描述的具体特征和动作是作为实现权利要求的示例形式而公开的。
在本发明的范围内的示例还可以包括用于携带或具有存储在其上的计算机可执行指令或数据结构的计算机可读存储介质。这样的计算机可读存储介质可以是可由通用或专用计算机访问的任何可用介质。通过示例的方式而非限制,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储装置、磁盘存储装置或其他磁数据存储装置,或可以用于以计算机可执行指令或数据结构的形式携带或存储期望的程序代码设备的任何其他介质。上述的组合也应包括在计算机可读存储介质的范围内。
示例也可以在分布式计算环境中实施,其中任务由通过通信网络链接(通过硬连线链路、无线链路或其组合)的本地和远程处理设备来执行。
计算机可执行指令包括例如使通用计算机、专用计算机或专用处理设备执行某些功能或功能组的指令和数据。计算机可执行指令还包括由单机或网络环境中的计算机执行的程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。计算机可执行指令、相关联的数据结构和程序模块表示用于执行本文公开方法的步骤的程序代码器件的示例。这样的可执行指令或相关联的数据结构的特定顺序表示用于实现这样的步骤中描述的功能的相应动作的示例。
尽管上述描述可以包含具体细节,但是它们不应被解释为以任何方式限制权利要求。所描述的示例的其他配置是本公开内容的范围的一部分。例如,本公开内容的原理可以应用于每个独立用户,其中每个用户可以独立地部署这样的系统。这使得每个用户即使大量可能应用中的任何一个不使用本文所描述的功能性,也可以利用本公开的优点。电子设备的多个实例各自可以以各种可能的方式处理内容。实现方式不一定在所有终端用户使用的一个系统中。因此,所附权利要求及其法定等价物只应限定发明,而不是给出任何具体示例。

Claims (14)

1.一种文档渲染设备,包括:
存储器,其被配置为存储描述对结构化文档进行渲染的样式表,所述样式表具有级联级别,所述级联级别基于所述样式表的源,指示所述样式表的表层次结构以解决与其他样式表中的样式属性的冲突;
处理单元,其具有至少一个处理器,所述至少一个处理器被配置为:
设置针对属性组的组级联级别,所述属性组描述所述样式表中的多个样式属性的集合,所述组级联级别与所述样式表的所述级联级别不同,并且所述组级联级别被配置为针对所述多个样式属性的集合,根据所述组级联级别而不是根据所述样式表的所述级联级别来解决所述级联级别的冲突,所述冲突是与所述其他样式中的冲突样式属性的冲突;
在所述样式表中标识组规则并且根据所述组规则来设置所述组级联级别,所述组规则定义针对所述属性组的所述组级联级别,其中所述组级联级别低于针对所述样式表的所述级联级别,并且所述组级联级别在正常用户级联级别和正常用户代理级联级别之间;以及
基于处于所述组级联级别的所述属性组,渲染所述结构化文档的文档组件;以及
显示屏,其被配置为向用户显示所述文档组件。
2.根据权利要求1所述的文档渲染设备,其中所述至少一个处理器还被配置为:将所述文档组件插入所述结构化文档。
3.根据权利要求1所述的文档渲染设备,其中所述至少一个处理器还被配置为将所述属性组应用于处于所述组级联级别的所述结构化文档。
4.根据权利要求1所述的文档渲染设备,还包括:
通信接口,其被配置为从插件和数据内容集合中的至少一项导入样式表。
5.根据权利要求1所述的文档渲染设备,其中所述样式表是以下至少一个:处于作者级联级别的作者样式表和处于用户级联级别的用户样式表。
6.根据权利要求1所述的文档渲染设备,其中所述存储器还被配置为将属性层次结构指示符与所述属性组的样式属性相关联。
7.根据权利要求1所述的文档渲染设备,其中所述至少一个处理器还被配置为基于属性层次结构指示符,设置所述属性组的样式属性的属性级联级别。
8.根据权利要求1所述的文档渲染设备,其中所述属性组的样式属性被配置为基于所述组级联级别与具有所述冲突样式属性的所述其他样式表的级联级别的相对级别,来覆盖所述冲突样式属性或者由所述冲突样式属性中的一个冲突样式属性覆盖。
9.一种计算设备,其具有存储器,以存储用于执行文档渲染应用的一系列指令,所述计算设备被配置为:
处理描述对具有结构化文档进行渲染的样式表,所述样式表具有级联级别,所述级联级别基于所述样式表的源,指示样式表的表层次结构以解决与其他样式表中的样式属性的冲突;
标识样式表中的样式属性;
设置针对属性组的组级联级别,所述属性组描述所述样式表中的多个样式属性的集合,所述组级联级别与所述样式表的所述级联级别不同,并且所述组级联级别被配置为根据所述组级联级别而不是根据所述样式表的所述级联级别来解决所述级联级别的冲突;
在所述样式表中标识组规则并且根据所述组规则来设置所述组级联级别,所述组规则定义针对所述属性组的所述组级联级别,其中所述组级联级别低于针对所述样式表的所述级联级别,并且所述组级联级别在正常用户级联级别和正常用户代理级联级别之间;以及
基于处于所述属性级联级别的所述样式属性,渲染所述结构化文档的文档组件。
10.根据权利要求9所述的计算设备,其中所述计算设备还被配置为:
将属性层次结构指示符与样式属性相关联。
11.根据权利要求9所述的计算设备,其中所述计算设备还被配置为:
读取所述样式表,以作为处于作者级联级别的作者样式表。
12.根据权利要求9所述的计算设备,其中所述计算设备还被配置为:
导入所述样式表,以作为处于用户级联级别的用户样式表。
13.一种机器实现的方法,包括:
处理描述对结构化文档进行渲染的样式表,所述样式表具有级联级别,所述级联级别基于所述样式表的源,指示样式表的表层次结构以解决与其他样式表中的样式属性的冲突;
在所述样式表中标识描述多个样式属性的集合的属性组;
设置针对所述属性组的组级联级别,所述属性组描述所述样式表中的所述多个样式属性的集合,所述组级联级别与所述样式表的所述级联级别不同,并且所述组级联级别被配置为针对所述多个样式属性的集合,根据所述组级联级别而不是根据所述样式表的所述级联级别来解决所述级联级别的冲突,所述冲突是与所述其他样式中的冲突样式属性的冲突;
在所述样式表中标识组规则并且根据所述组规则来设置所述组级联级别,所述组规则定义针对所述属性组的所述组级联级别,其中所述组级联级别低于针对所述样式表的所述级联级别,并且所述组级联级别在正常用户级联级别和正常用户代理级联级别之间;以及
基于处于所述组级联级别的所述属性组,渲染所述结构化文档的文档组件。
14.根据权利要求13所述的方法,还包括:
基于属性层次结构指示符,设置所述属性组的样式属性的属性级联级别。
CN201680016464.9A 2015-03-18 2016-03-17 样式的声明级联重新排序 Active CN107408104B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562135159P 2015-03-18 2015-03-18
US62/135159 2015-03-18
US15/068,536 US10482165B2 (en) 2015-03-18 2016-03-11 Declarative cascade reordering for styles
US15/068536 2016-03-11
PCT/US2016/022991 WO2016149565A1 (en) 2015-03-18 2016-03-17 Declarative cascade reordering for styles

Publications (2)

Publication Number Publication Date
CN107408104A CN107408104A (zh) 2017-11-28
CN107408104B true CN107408104B (zh) 2020-11-27

Family

ID=56919403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680016464.9A Active CN107408104B (zh) 2015-03-18 2016-03-17 样式的声明级联重新排序

Country Status (16)

Country Link
US (1) US10482165B2 (zh)
EP (1) EP3271830A4 (zh)
JP (1) JP2018514843A (zh)
KR (1) KR102601387B1 (zh)
CN (1) CN107408104B (zh)
AU (1) AU2016232869A1 (zh)
BR (1) BR112017018014A2 (zh)
CA (1) CA2977577A1 (zh)
CL (1) CL2017002305A1 (zh)
CO (1) CO2017009118A2 (zh)
IL (1) IL253861A0 (zh)
MX (1) MX2017011804A (zh)
PH (1) PH12017550080A1 (zh)
RU (1) RU2017132284A (zh)
SG (1) SG11201707181VA (zh)
WO (1) WO2016149565A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089285B2 (en) * 2016-12-14 2018-10-02 Rfpio, Inc. Method to automatically convert proposal documents
US11023653B2 (en) * 2018-10-17 2021-06-01 Kyocera Document Solutions Inc. Simplified formatting for variable data production with vertical resolution of dependencies

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832505A (en) 1997-04-02 1998-11-03 Sun Microsystems, Inc. Computer system for managing and configuring application properties and enabling system administrator to override certain user-set or host properties
JP3692054B2 (ja) 2001-05-21 2005-09-07 株式会社東芝 文書構造変換方法および文書構造変換装置およびプログラム
US7437666B2 (en) * 2003-10-22 2008-10-14 Intel Corporation Expression grouping and evaluation
US7802182B2 (en) * 2004-05-21 2010-09-21 Bea Systems Inc. System and method for performing visual property updates
US7398472B2 (en) 2004-07-09 2008-07-08 Microsoft Corporation Defining the visual appearance of user-interface controls
US20060218490A1 (en) 2005-03-24 2006-09-28 Richard Fink Method and apparatus for creating a web page
US7562070B2 (en) 2005-04-01 2009-07-14 Microsoft Corporation Method and system for aggregating rules that define values for the same property associated with the same document element
US8176416B1 (en) 2006-03-17 2012-05-08 Wells Fargo Bank, N.A. System and method for delivering a device-independent web page
US8004535B2 (en) * 2006-06-01 2011-08-23 Qualcomm Incorporated Apparatus and method for selectively double buffering portions of displayable content
US8775926B2 (en) * 2008-05-30 2014-07-08 Red Hat, Inc. Stylesheet conversion engine
US7774442B2 (en) * 2008-06-26 2010-08-10 Microsoft Corporation Distributed configuration management using loosely-coupled action-style documents
CN101777048B (zh) * 2009-01-14 2013-04-03 国际商业机器公司 解决web应用复合中UI样式冲突的方法和装置
US8375296B2 (en) * 2010-06-30 2013-02-12 Samsung Electronics Co., Ltd. Reusing style sheet assets
CA2772963C (en) 2011-03-31 2016-02-16 Accenture Global Services Limited Multilayer style sheet approach and system
US9424236B2 (en) * 2011-04-26 2016-08-23 Oracle International Corporation Filtered Stylesheets
US20120278701A1 (en) * 2011-04-28 2012-11-01 International Business Machines Corporation Automatically Generating And Porting A Cascading Style Sheets ('CSS') Style Sheet
WO2012177662A1 (en) 2011-06-19 2012-12-27 Mmodal Ip Llc Document extension in dictation-based document generation workflow
US9104527B2 (en) 2011-09-08 2015-08-11 Microsoft Technology Licensing, Llc Automatically generated style rules for page design
US8468449B1 (en) 2011-12-08 2013-06-18 Microsoft Corporation Generating CSS shorthand properties
US20130159839A1 (en) 2011-12-14 2013-06-20 Microsoft Corporation Semantic compression of cascading style sheets
CN104025068B (zh) * 2012-01-02 2017-06-13 国际商业机器公司 来自多个来源的css定义的冲突解决
US9026904B2 (en) * 2012-03-14 2015-05-05 International Business Machines Corporation Automatic modification of cascading style sheets for isolation and coexistence
US9753926B2 (en) 2012-04-30 2017-09-05 Salesforce.Com, Inc. Extracting a portion of a document, such as a web page
US20130339843A1 (en) 2012-06-13 2013-12-19 Motorola Mobility, Inc. Methods and Systems for Styling Web Elements
US9600458B2 (en) * 2012-06-14 2017-03-21 Google Technology Holdings LLC Overriding style rules for styling web elements
CN104252412B (zh) * 2013-06-28 2017-12-29 国际商业机器公司 用于css冲突的自动检测的方法和系统
US20150106753A1 (en) * 2013-10-14 2015-04-16 Invensys Systems, Inc. Human-machine interface (hmi) system having elements styles with centrally managed and distributed graphic styles
US9747556B2 (en) * 2014-08-20 2017-08-29 Vertafore, Inc. Automated customized web portal template generation systems and methods

Also Published As

Publication number Publication date
AU2016232869A1 (en) 2017-09-07
EP3271830A1 (en) 2018-01-24
US20160275052A1 (en) 2016-09-22
RU2017132284A (ru) 2019-03-20
US10482165B2 (en) 2019-11-19
KR102601387B1 (ko) 2023-11-10
CN107408104A (zh) 2017-11-28
BR112017018014A2 (pt) 2018-04-10
KR20170129225A (ko) 2017-11-24
SG11201707181VA (en) 2017-10-30
CL2017002305A1 (es) 2018-03-09
EP3271830A4 (en) 2018-12-12
PH12017550080A1 (en) 2018-02-12
WO2016149565A1 (en) 2016-09-22
JP2018514843A (ja) 2018-06-07
MX2017011804A (es) 2017-12-07
IL253861A0 (en) 2017-09-28
CO2017009118A2 (es) 2017-11-21
CA2977577A1 (en) 2016-09-22

Similar Documents

Publication Publication Date Title
KR101961970B1 (ko) 실행 페이지의 동적 갱신 기법
US10318628B2 (en) System and method for creation of templates
US8756489B2 (en) Method and system for dynamic assembly of form fragments
US7143344B2 (en) Transformation stylesheet editor
US9460062B2 (en) Local rendering of an object as an image
US9104740B2 (en) Enhanced attribute synchronization in a content management system
US20160371238A1 (en) Computing device and method for converting unstructured data to structured data
US20080028302A1 (en) Method and apparatus for incrementally updating a web page
US20130226994A1 (en) Combining server-side and client-side user interface elements
CN107408105B (zh) 有条件受控加样式
US10318126B2 (en) Data-driven schema for describing and executing management tasks in a graphical user interface
US20130227396A1 (en) Editing content of a primary document and related files
KR20090013243A (ko) 워드 프로세서 문서의 원시 xml에서 비원시 xml을 지원하는 시스템 및 방법
US20170154019A1 (en) Template-driven transformation systems and methods
US20060036943A1 (en) Method and system for selectively enforcing presentation themes
US20190057074A1 (en) Patent automation system
US20150178258A1 (en) System and Method for Processing Markup Language Templates from Partial Input Data
JP4303079B2 (ja) テキストフォーマッティングまたはマークアップ言語フォーマッティングとアウトライン構造との間の変換のためのシステムおよび方法
CN107408104B (zh) 样式的声明级联重新排序
US7675527B2 (en) Multisource composable projection of text
US7505987B2 (en) Method and system for providing interface defaults
Whitaker et al. Optimizing XML for Comparison and Change

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant