# US 9,519,630 B2 · Fast CSS parser engineered for runtime use

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,519,630 B2
- Document ID: US9519630B2
- Status: Granted
- Kind: B2
- Application number: 14/320,198
- Filed: 2014-06-30
- Published: 2015-12-31
- Granted: 2016-12-13
- Earliest claimed: 2014-06-30
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Nathan David McWilliams
- Web page: https://patentgrep.com/patent/US9519630B2

## CPC

- G06F 40/154: Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
- G06F 16/9577: {Optimising the visualization of content, e.g. distillation of HTML documents}
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F 40/14: Tree-structured documents (parsing G06F40/205; validation G06F40/226)
- G06F 40/221: Parsing markup language streams (streaming G06F40/149)
- G06F 8/20: Software design
- G06F 8/30: Creation or generation of source code
- G06F 8/38: for implementing user interfaces
- G06F 9/451: Execution arrangements for user interfaces
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/972: {Access to data in other repository systems, e.g. legacy data or dynamic Web page generation}
- G06F 40/174: Form filling; Merging
- G06F 40/183: Tabulation, i.e. one-dimensional [1D] positioning
- G06F 40/186: Templates
- G06Q 10/10: Office automation; Time management
- G06Q 30/02: Marketing; Price estimation or determination; Fundraising
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

The technology disclosed relates to systems and methods for providing a CSS parser engineered for runtime usage to improve the maintainability of code that displays data to users. The technology disclosed also improves the performance and consistency of the code that delivers a user's experience.

## Claims

### Claim 1

A computer-implemented method of transforming a cascading style sheet (“CSS”) codebase for a website, including:
using a processor, accessing in memory a CSS codebase that includes target tokens in customizable segments to be customized, responsive to an input invoking a module that uses the CSS codebase;
selecting at least one set of customization functions among multiple alternative sets of customization functions that transform the target tokens within the customizable segments of the CSS codebase;
scanning the CSS codebase and locating the customizable segments of the CSS codebase that include the target tokens and at least a block of related key-value pairs, customization of the customizable segments of the CSS codebase being located based at least in part on an attribute of a user;
parsing, at runtime, only the located customizable segments of the CSS codebase to produce segment parse trees based on the parsed customizable segments; and
transforming the target tokens from the segment parse trees according to the selected set of customization functions and outputting a customized codebase to be used with the module invoked by the input.

### Claim 2 (depends on 1)

The method of claim 1, wherein a target token of the target tokens is combined with application display type identification information provided by a requesting application and used to select customized data for display according to an application display interface used with the module.

### Claim 3 (depends on 1)

The method of claim 1, wherein the located customizable segments parsed to produce the segment parse trees include the target token and at least the block of related key-value pairs, the related key-value pairs being delimited within curly brackets { . . . }.

### Claim 4 (depends on 1)

The method of claim 1, wherein the located customizable segments parsed to produce the segment parse trees include the target token and at least the block of related key-value pairs, the related key-value pairs being delimited between a pair of delimiter characters.

### Claim 5 (depends on 1)

The method of claim 1, wherein a customization function of the selected set of customization functions specifies a logo used in a display.

### Claim 6 (depends on 1)

The method of claim 1, wherein a customization function of the selected set of customization functions specifies an appearance of a typeface in a display.

### Claim 7 (depends on 1)

The method of claim 1, wherein a customization function of the selected set of customization functions specifies a background appearance in a display.

### Claim 8

A computer-implemented system that transforms a cascading style sheet (“CSS”) codebase for a website, including:
a processor and first memory, the first memory holding code that, when executed, causes the processor to:
access in a second memory a CSS codebase that includes target tokens in customizable segments to be customized, responsive to an input invoking a module that uses the CSS codebase;
select at least one set of customization functions among multiple alternative sets of customization functions that transform the target tokens within the customizable segments of the CSS codebase;
scan the CSS codebase and locate the customizable segments of the CSS codebase that include the target tokens and at least a block of related key-value pairs, customization of the customizable segments of the CSS codebase being located based at least in part on an attribute of a user;
parse, at runtime, only the located customizable segments of the CSS codebase to produce segment parse trees based on the parsed customizable segments; and
transform the target tokens from the segment parse trees according to the selected set of customization functions and output a customized codebase to be used with the module invoked by the input.

### Claim 9 (depends on 8)

The system of claim 8,
wherein a target token of the target tokens includes an identifier accompanied by parameters that identify an invoked customization function, and
wherein the target token provides a default value if the identified customization function is not defined for the selected set of customization functions.

### Claim 10 (depends on 8)

The system of claim 8, wherein a target token of the target tokens is used to select a customized logo used in a display.

### Claim 11 (depends on 8)

The system of claim 8, wherein a customization function of the selected set of customization functions specifies a background appearance in a display.

### Claim 12 (depends on 8)

The system of claim 8, wherein the selecting of the at least one set of customization functions is responsive, at least in part, to a target token of the target tokens and at least a key-value pair of the block of related key-value pairs.

### Claim 13 (depends on 8)

The system of claim 8, wherein the selecting of the at least one set of customization functions is responsive, at least in part, to a target token of the target tokens and at least the block of related key-value pairs, the related key-value pairs being delimited within curly brackets { . . . }.

### Claim 14

A non-transitory computer readable storage medium impressed with computer program instructions to transform a cascading style sheet (“CSS”) codebase for a website, the instructions, when executed on a processor, implement a method comprising:
accessing in a memory a CSS codebase that includes target tokens in customizable segments to be customized, responsive to an input invoking a module that uses the CSS codebase;
selecting at least one set of customization functions among multiple alternative sets of customization functions that transform the target tokens within the customizable segments of the CSS codebase;
scanning the CSS codebase and locating the customizable segments of the CSS codebase that include the target tokens and at least a block of related key-value pairs, customization of the customizable segments of the CSS codebase being located based at least in part on an attribute of a user;
parsing, at runtime, only the located customizable segments of the CSS codebase to produce segment parse trees based on the parsed customizable segments; and
transforming the target tokens from the segment parse trees according to the selected set of customization functions and outputting a customized codebase to be used with the module invoked by the input.

### Claim 15 (depends on 14)

The non-transitory computer readable storage medium of claim 14, wherein the customizable segments parsed to produce the segment parse trees include the target tokens and at least a key-value pair of the block of related key-value pairs.

### Claim 16 (depends on 14)

The non-transitory computer readable storage medium of claim 14, wherein the customizable segments parsed to produce the segment parse trees include the target tokens and at least the block of related key-value pairs, the key-value pairs being delimited within curly brackets { . . . }.

### Claim 17 (depends on 14)

The non-transitory computer readable storage medium of claim 14, wherein the at least one customization function specifies a background appearance in a display.

### Claim 18 (depends on 14)

The non-transitory computer readable storage medium of claim 14, wherein the selecting of the at least one set of customization functions is responsive, at least in part, to a target token of the target tokens and at least a key-value pair of the block of related key-value pairs.

### Claim 19 (depends on 14)

The non-transitory computer readable storage medium of claim 14, wherein the selecting of the at least one set of customization functions is responsive, at least in part, to a target token of the target tokens and at least the block of related key-value pairs, the related key-value pairs being delimited within curly brackets { . . . }.
