Patent ID: 7043487

Claim:
A method for storing XML documents in a relational database system while exploiting XML schema, comprising: simplifying complex XML Schema types containing attribute and element specifications; translating said simplified XML Schema types into relational tables by constructing a type graph directly from said simplified XML schema using non-string type information describing distinct element names and element types; building an element graph for each global element in said simplified XML schema from said type graph, including traversing said type graph depth-first to identify to strongly connected components (SCCs) in said type graph, to assign each said SCC a unique ID (SCCID), and to number all nodes in each SCC with said SCCID and for each global element Gt in said type graph, unmarking all nodes in said type graph and calling a function GenSubGraph(nodeNt) to return a new subgraph rooted at node Ne in said element graph corresponding to node Nt in said type graph; generating said relational tables from said element graph; and storing relations corresponding to each XML element in relational table rows.