IP Library Granted Patent US 7,673,231
Granted Patent B2
US 7,673,231 · App. 11/220,812 · Granted Mar 2, 2010

Optimized markup language processing using repeated structures in markup language source

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,673,231
App. No.
11/220,812
Granted
Mar 2, 2010
Kind
B2
Abstract

A computer-implemented method of parsing markup-language source data is described. The markup-language source data comprises a plurality of elements. A first portion of the elements is processed by interoperating with a symbol table to determine unique string objects associated with the elements of the first portion of the elements. A structure is recorded associated with the first portion of the elements collectively, including the determined unique string objects in association with the corresponding elements of the first portion. A second portion of the elements is processed, using the structure determined associated with the first portion of the elements, to determine the unique string objects associated with the elements of the second portion, without interoperating with the symbol table.

Claims (34)

1. A computer-implemented method of parsing markup-language source data in a markup-language source file, comprising a plurality of elements, the method comprising:

processing, utilizing at least one processing unit, a first portion of a plurality of elements in a markup-language source file, including interoperating with a symbol table to determine unique string objects associated with the elements of the first portion of the elements;

recording a structure associated with at least a subset of the first portion of the elements collectively in a computer-readable media, including the determined unique string objects in association with the corresponding elements of the at least a subset of the first portion wherein;

recording the structure includes populating a data structure to be indicative of the structure, including associating, with each element of the first portion, the unique string object for that element as determined from interoperating with the symbol table; and

processing, utilizing the at least one processing unit, a second portion of the elements in the markup-language source file, using the determined structure, to determine the unique string objects associated with the elements of the second portion, without interoperating with the symbol table.

2. The method of claim 1 , wherein:

processing the second portion of the elements in the markup-language source file includes, for each element, determining a predicted element from the populated data structure; and comparing that element to the predicted element; if the result of the comparison is true, for that element, using the unique string object, from the populated data structure, associated with the predicted element.

3. The method of claim 1 , wherein

populating the data structure to be indicate of the structure includes associating, with each element of the first portion, a depth indication for that element.

4. The method of claim 1 , wherein:

processing the first portion of the elements in the markup-language source file further includes determining whether the recorded structure associated with the first portion of elements collectively meets a particular condition.

5. The method of claim 1 , wherein:

processing the first portion of the elements in the markup-language source file further includes when it is determined that the recorded structure associated with the first portion of elements collectively meets a particular condition, indicating that a next portion of the elements is to be treated as the second portion of the elements, such that the second portion of the elements is processed using the structure determined associated with the first portion of the elements.

6. The method of claim 5 , wherein:

populating the data structure to be indicate of the structure includes associating, with each element of the first portion, a depth indication for that element; and determining whether the recorded structure associated with the first portion of elements collectively meets a particular condition includes processing the depth indications for the elements of the first portion.

7. The method of claim 6 , wherein:

processing the depth indications for the elements of the first portion includes determining whether the depth indications for the elements of the first portion indicate the depth has decreased with a particular number of sequential closing elements.

8. The method of claim 7 , wherein:

the particular number of sequential elements is two.

9. The method of claim 7 , wherein:

processing the depth indications for the elements of the first portion includes determining whether the depth indication of the last encountered closing element is greater than the depth indication of the last encountered starting element.

10. The method of claim 1 , wherein:

processing the first portion of the elements in the markup-language source file includes validating that each character of the elements of the first portion of elements meets a particular specification; and processing a second portion of the elements in the markup-language source file does not include validating the each character of the second portion of elements meets the particular specification.

11. The method of claim 10 , wherein:

the particular specification is a markup language specification.

12. The method of claim 11 , wherein:

the markup language specification is an XML 1.0 specification.

13. The method of claim 1 , further comprising:

during processing the second portion of the elements in the markup-language source file, determining that the second portion of the elements does not have the determined structure; and

treating subsequent elements as a new first portion of the elements.

14. The method of claim 1 , wherein:

the data structure is an array data structure.

15. The method of claim 1 , wherein:

the data structure is a linked list data structure.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037305/0238 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2005
From: BAJAJ, NEERAJ; RAO, K. VENUGOPAL
To: SUN MICROSYSTEMS, INC.
Reel/Frame 016971/0439 →