IP Library Granted Patent US 7,885,965
Granted Patent B2
US 7,885,965 · App. 11/282,436 · Granted Feb 8, 2011

Application-responsive markup language parser

Assignee: Oracle America, Inc.
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,885,965
App. No.
11/282,436
Granted
Feb 8, 2011
Kind
B2
Abstract

A markup language parser processes markup language data and provides processed data to an application. A reader is configured to tokenize the markup language data and store resulting tokens in a buffer associated with the reader. A scanner is configured to create string objects based on the tokens and to provide the created string objects to an application. The scanner is further configured to determine a need by the application for the string objects. For each at least some of the string objects created by the scanner, the scanner is configured to selectively create those string objects based on a determination of the need by the application for the string objects.

Claims (30)

1. A method of operating a markup language parser to process markup language data and to provide processed data to an application, comprising:

in a reader implemented by utilizing a processing unit to execute a first set of instructions stored in a machine-readable storage media, integrally including a reader buffer, tokenizing the markup language data and storing resulting tokens in the reader buffer, wherein the markup language parser includes at least the reader;

in a scanner implemented by utilizing the processing unit to execute a second set of instructions stored in the machine-readable storage media, selectively creating string objects based on the tokens by accessing data directly from the reader buffer when the scanner determines a need by an application for the string objects, and providing the created string objects to the application, wherein the markup language parser includes at least the scanner;

in the scanner, when the scanner receives a notification that tokens are to be overwritten in the reader buffer, determining whether a state of the scanner indicates that the tokens are unneeded;

in the scanner, copying the tokens from the reader buffer to a scanner buffer, integrally included in the scanner, when the scanner receives the notification that the tokens are to be overwritten in the reader buffer unless the scanner determined that the state of the scanner indicates that the tokens are unneeded; and

in the scanner, selectively creating at least one additional string object based on the tokens by accessing data from the scanner buffer when the scanner determines a need by the application for the at least one additional string object.

2. The method of claim 1 , wherein said copying tokens from the reader buffer to a scanner buffer when the scanner receives a notification that the tokens are to be overwritten in the reader buffer comprises:

processing a signal received by the scanner, the signal associated specifically with a token, for each of a selected plurality of tokens stored in the reader buffer, and

receiving the token into the scanner from the reader, based on the signal.

3. The method of claim 2 , further comprising:

for each of the selected plurality of tokens, holding a pointer pointing to the respective token of the selected plurality of tokens, wherein the scanner is configured to hold the pointer; and

receiving each token into the scanner from the reader based on processing the pointer to that token.

4. The method of claim 3 , further comprising:

providing the signal associated specifically with a token stored in the reader buffer, based on a condition that the token is to be overwritten in the reader buffer, wherein the reader is configured to provide the signal.

5. The method of claim 4 , further comprising:

registering the pointers to the tokens in the reader, wherein the scanner is configured to register the pointers; and

providing a signal for a particular token stored in the reader buffer, wherein the reader is configured to provide the signal, based on a condition that the token is to be overwritten in the reader buffer, only for tokens whose pointer is registered with the reader by the scanner.

6. The method of claim 5 , further comprising:

registering pointers to the tokens in the reader buffer including, for each pointer, registering with the reader a listener object for that pointer, wherein the scanner is configured to register the pointers to the tokens in the reader buffer; and

further wherein the signal the reader is configured to provide is a callback to the scanner from the reader.

7. The method of claim 3 , further comprising:

receiving a token into the scanner from the reader including the scanner being configured to receive the token in the scanner from the reader and the scanner being configured to receive the token into the scanner buffer; and

the scanner is configured to receive a token into the scanner from the reader buffer based on an indication of a need by the application for a string object, based on the token.

8. The method of claim 4 , further comprising:

receiving a token into the scanner from the reader buffer based on an indication that the token is to be overwritten in the reader buffer, wherein the scanner is configured to receive the token into the scanner.

9. The method of claim 8 , further comprising:

maintaining pointers from the scanner to the tokens in the reader buffer.

10. The method of claim 9 , further comprising:

registering the maintained pointers with the reader, using the scanner to register the maintained pointers; and

notifying the scanner when a token in the reader buffer is to be overwritten in the reader buffer, the token corresponding to a registered maintained pointer, wherein the reader notifies the scanner.

Assignments (2)
MERGER Recorded May 18, 2011
From: SUN MICROSYSTEMS, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 026303/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2005
From: BAJAJ, NEERAJ; RAO, K. VENUGOPAL
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017258/0165 →
Priority Claims (1)
IN 756/KOL/2005 · Aug 17, 2005 · national
Continuity (1)
Related Publication 20070044081A1 · Feb 22, 2007