Claims
- 1. A computer system for manipulating an XML document using a relational database, comprising:
a converter that receives an XML document and generates a pre-determined set of relational database tables based on the XML document; a database for storing the relational database table; and a searcher for querying the generated relational database table in the database to locate content originally in the XML document that is now stored in the relational database table wherein the located content is returned to the user as a portion of an XML document.
- 2. The system of claim 1, wherein the converter further comprises a software module that generates a unique name attribute for each node in the XML document.
- 3. The system of claim 2, wherein the converter further comprises a software module that generates a path attribute for a particular node of the XML document wherein the path attribute comprises a list of the name attributes for the one or more nodes from the particular node to a root node of the XML document.
- 4. The system of claim 3, wherein the converter further comprises a software module that generates an order attribute for the particular node, the order attribute comprising an enumerated order of the particular node from the root node to the particular node.
- 5. The system of claim 4, wherein the converter further comprises a software module that generates a NodeValue attribute containing a value of the particular node.
- 6. The system of claim 5, wherein the searcher further comprises a query generator that generates a query into the database to find a piece of information in the database corresponding to information in a node of the XML document and a converter that converts the results of the query into portions of an XML document that are displayed to the user.
- 7. The system of claim 2, wherein the name attribute for each node in the XML document is stored in a hash table so that the name attributes are retrieved from the hash table instead of the database.
- 8. The system of claim 2, wherein the name attributes of the nodes of the XML document are divided into one or more categories so that related name attributes are grouped together.
- 9. The system of claim 1, wherein the name attributes are encoded using base-64 encoding.
- 10. The system of claim 3, wherein the converter further comprises a software module that generates a reverse path comprising the list of name attributes from the path attribute in reverse order.
- 11. The system of claim 1, wherein the converter further comprises a transform engine that converts Xpath expressions in the XML document into SQL queries.
- 12. A computer system for storing an XML document using a relational database, comprising:
a converter that receives an XML document and generates a relational database table based on the XML document; the converter further comprising a software module that generates a unique name attribute for each node in the XML document, a software module that generates a path attribute for a particular node of the XML document wherein the path attribute comprises a list of the name attributes for the one or more nodes from the particular node to a root node of the XML document, a software module that generates an order attribute for the particular node, the order attribute comprising an enumerated order of the particular node from the root node to the particular node, and a software module that generates a NodeValue attribute containing a value of the particular node.
- 13. A method for manipulating an XML document using a relational database, comprising:
generating a relational database table based on an XML document wherein the information about each node of the XML document is stored in a row of the table; storing the relational database table in a database; and querying the generated relational database table in the database to locate content originally in the XML document that is now stored in the relational database table wherein the located content is returned to the user as a portion of an XML document.
- 14. The method of claim 13, wherein generating the table further comprises generating a unique name attribute for each node in the XML document.
- 15. The method of claim 14, wherein generating the table further comprises generating a path attribute for a particular node of the XML document wherein the path attribute comprises a list of the name attributes for the one or more nodes from the particular node to a root node of the XML document.
- 16. The method of claim 15, wherein generating the table further comprises generating an order attribute for the particular node, the order attribute comprising an enumerated order of the particular node from the root node to the particular node.
- 17. The method of claim 16, wherein generating the table further comprises generating a NodeValue attribute containing a value of the particular node.
- 18. The method of claim 17, wherein querying the database further comprises generating a query into the database to find a piece of information in the database corresponding to information in a node of the XML document and converting the results of the query into portions of an XML document that are displayed to the user.
- 19. The method of claim 14 further comprising retrieving the name attribute for each node in the XML document from a hash table so that the name attributes are retrieved from the hash table instead of the database.
- 20. The method of claim 14, wherein the name attributes of the nodes of the XML document are divided into one or more categories so that related name attributes are grouped together.
- 21. The method of claim 13, wherein the name attributes are encoded using base-64 encoding.
- 22. The method of claim 15, wherein generating the table further comprises generating a reverse path comprising the list of name attributes from the path attribute in reverse order.
- 23. The method of claim 13, wherein generating the table further comprises converting Xpath expressions in the XML document into SQL queries.
- 24. A data structure that stores a node of interest of an XML document in a relational database, the data structure comprising:
an XMLName attribute comprising a unique name for the node of interest; a NamePath attribute comprising a list of the XMLName attributes for the one or more nodes from the node of interest to a root node of the XML document; an OrderPath attribute comprising an enumerated order of the node of interest from the root node to the node of interest; and a NodeValue attribute containing a value of the node of interest.
- 25. The data structure of claim 24, wherein the data structure comprises a table in a relational database and each attribute comprises a column in the table in the relational database.
PRIORITY CLAIM
[0001] This application claims priority under 35 USC §§ 119 and 120 from U.S. Provisional Patent Application No. 60/169,101 filed Dec. 6, 1999.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60169101 |
Dec 1999 |
US |