Processing structured documents stored in a database
First Claim
Patent Images
1. A non-transitory computer readable medium containing a computer program for processing a structured document, the computer program comprising instructions for:
- identifying a plurality of strings processed by a database;
assigning an identifier to each of the plurality of strings;
storing each of the plurality of strings and its assigned identifier in a table in the database, wherein at least one of the plurality of strings is not derived from one or more structured documents stored in the database and at least another of the plurality of strings is derived from the one or more structured documents stored in the database;
utilizing the table during document processing;
designating a status for each of the plurality of strings, wherein the status is one of a temporary status or a permanent status;
storing the status in the table; and
providing a cache in the database for storing a portion of the table, wherein utilizing the table during document processing comprises;
receiving a query, wherein the query comprises a plurality of element, attribute, and namespace strings;
transforming the query by replacing the plurality of element, attribute, and namespace strings with their respective identifiers; and
processing the transformed query, and wherein transforming the query comprises;
requesting an identifier for one of the plurality of element, attribute, and namespace strings in the query;
checking the cache for the one string;
returning an identifier assigned to the one string when the one string is located in the cache;
performing a lookup on the table for the one string when the one string is not located in the cache;
returning the identifier assigned to the one string when the one string is located in the table; and
assigning a new identifier to the one string, storing the one string and the new identifier in the table, designating a status of the one string as temporary, and returning the new identifier when the one string is not located in the table.
0 Assignments
0 Petitions
Accused Products
Abstract
A method, computer readable medium, and system for processing a structured document are disclosed. The method, computer readable medium, and system include identifying a plurality of strings processed by a database, assigning an identifier to each of the plurality of strings, storing each of the plurality of strings and its assigned identifier in a table in the database, and utilizing the table during document processing.
-
Citations
9 Claims
-
1. A non-transitory computer readable medium containing a computer program for processing a structured document, the computer program comprising instructions for:
-
identifying a plurality of strings processed by a database; assigning an identifier to each of the plurality of strings; storing each of the plurality of strings and its assigned identifier in a table in the database, wherein at least one of the plurality of strings is not derived from one or more structured documents stored in the database and at least another of the plurality of strings is derived from the one or more structured documents stored in the database; utilizing the table during document processing; designating a status for each of the plurality of strings, wherein the status is one of a temporary status or a permanent status; storing the status in the table; and providing a cache in the database for storing a portion of the table, wherein utilizing the table during document processing comprises; receiving a query, wherein the query comprises a plurality of element, attribute, and namespace strings; transforming the query by replacing the plurality of element, attribute, and namespace strings with their respective identifiers; and processing the transformed query, and wherein transforming the query comprises; requesting an identifier for one of the plurality of element, attribute, and namespace strings in the query; checking the cache for the one string; returning an identifier assigned to the one string when the one string is located in the cache; performing a lookup on the table for the one string when the one string is not located in the cache; returning the identifier assigned to the one string when the one string is located in the table; and assigning a new identifier to the one string, storing the one string and the new identifier in the table, designating a status of the one string as temporary, and returning the new identifier when the one string is not located in the table. - View Dependent Claims (2, 3)
-
-
4. A non-transitory computer readable medium containing a computer program for processing a structured document, the computer program comprising instructions for:
-
identifying a plurality of string processed by a database; assigning an identifier to each of the plurality of strings; storing each of the plurality of strings and its assigned identifier in a table in the database, wherein at least one of the plurality of strings is not derived from structured documents stored in the database and at least another of the plurality of strings is derived from the one or more structured documents stored in the database; utilizing the table during document processing; designating a status for each of the plurality of strings, wherein the status is one of a temporary status or a permanent status; storing the status in the table; and providing a cache in the database for storing a portion of the table, wherein utilizing the table during document processing comprises; receiving a request to store a structured document in the database, wherein the structured document comprises a plurality of element, attribute, and namespace strings; transforming the structured document by replacing the plurality of element, attribute, and namespace strings with their respective identifiers; and storing the transformed structured document in the database, and wherein transforming the structure document comprises; requesting an identifier for one of the plurality of element, attribute, and namespace strings in the structured document; checking the cache for the one string; returning an identifier assigned to the one string when the one string is located in the cache; performing a lookup on the table for the one string when the one string is not located in the cache; returning the identifier assigned to the one string when the one string is located in the table; and assigning a new identifier to the one string, storing the one string and the new identifier in the table, designating a status of the one string as permanent, and returning the new identifier when the one string is not located in the table. - View Dependent Claims (5)
-
-
6. A system for processing a structured document, the system comprising:
-
a string identifier generator operable to identify a plurality of strings processed by the database and assign an identifier to each of the plurality of strings; a database in communication with the string identifier generator, the database including a table operable to store each of the plurality of strings and its assigned identifier, wherein at least one of the plurality of strings is not derived from one or more structured documents stored in the database and at least another of the plurality of strings is derived from the one or more structured documents stored in the database; a cache in communication with the string identifier generator and the database, the cache being operable to store a portion of the table, wherein the table and the cache are utilized during document process; and a storage mechanism in communication with the string identifier generator, the database, and the cache, the storage mechanism being operable to receive and store a structured document in the database, wherein; the string identifier generator is further operable to designate a status for each of the plurality of strings, the status is one of a temporary status or a permanent status, and store the status in the table, the string identifier generator is further operable to; receive a request for an identifier for a string from the storage mechanism, check the cache for the string, return an identifier assigned to the string when the string is located in the cache, perform a lookup on the table for the string when the string is not located in the cache, return the identifier assigned to the string when the string is located in the table, and assign a new identifier to the string, store the string and the new identifier in the table, designate a status of the string as permanent, and return the new identifier when the string is not located in the table. - View Dependent Claims (7, 8)
-
-
9. A system for processing a structured document, the system comprising:
-
a string identifier generator operable to identify a plurality of strings processed by the database and assign an identifier to each of the plurality of strings; a database in communication with the string identifier generator, the database including a table operable to store each of the plurality of strings and its assigned identifier, wherein at least one of the plurality of strings is not derived from one or more structured documents stored in the database and at least another of the plurality of strings is derived from the one or more structured documents stored in the database; a cache in communication with the string identifier generator and the database the cache being operable to store a portion of the table, wherein the table and the cache are utilized during document processing; a compiler in communication with the string identifier generator, the database, and the cache, the compiler being operable to receive and process a query to the database, wherein the string identifier generator is further operable to; receive a request for an identifier for a string from the compiler, check the cache for the string, return an identifier assigned to the string when the string is located in the cache, perform a lookup on the table for the string when the string is not located in the cache, return the identifier assigned to the string when the string is located in the table, and assign a new identifier to the string, store the string and the new identifier in the table, designate a status of the string as temporary, and return the new identifier when the string is not located in the table.
-
Specification