IP Library Patent Application 12253466
Patent Application
App. No. 12/253,466

Method of Hybrid Searching for Extensible Markup Language (XML) Documents

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 None
App. No.
12/253,466
Abstract

A method of generating a searchable database system for storing and querying Extensible Markup Language (XML) documents is disclosed. A Document Type Description (DTD) associated with one or more XML documents is analyzed to determine a scope of XML documents defined by the DTD. A first set of elements associated with the DTD is identified. The first set of elements is mapped to a relational database. A second set of elements associated with the DTD to be stored in an XML database is identified. A collection of classes is created such that each class defines an object schema. The classes are mapped to a set of corresponding tables, and foreign and primary keys associated with the corresponding tables are identified.

Claims (56)

1 . A method of generating a searchable database system for storing Extensible Markup Language (XML) documents, the method comprising the steps of:

analyzing a Document Type Description (DTD) associated with one or more XML documents to determine a scope of XML documents defined by the DTD;

identifying a first set of elements associated with the DTD;

mapping the first set of elements to a relational database;

identifying a second set of elements associated with the DTD to be stored in an XML database;

creating a collection of classes, each class defining an object schema;

mapping the classes to a set of corresponding tables; and

identifying foreign and primary keys of the corresponding tables.

2 . The method of claim 1 , wherein the step of analyzing a DTD associated with one or more XML documents further comprises the steps of:

identifying a root element of the DTD;

for each node of the DTD, identifying child elements for each node;

for each child element, determining if the data is Parsable Character Data (PCDATA);

for each child element, determining if the data is Character Data (CDATA); and

for each child element, identifying attributes.

3 . The method of claim 1 , wherein the first set of elements are tabular.

4 . The method of claim 1 , wherein the second set of elements are non-tabular.

5 . The method of claim 3 , wherein the step of identifying a first set of elements associated with the DTD further comprises the steps of:

selecting a node of the DTD segment;

expanding the DTD segment into its entity definitions;

determining if children associated with the DTD segment contain Character Data (CDATA) or Parseable Character Data (PCDATA); and

if the children associated with the DTD segment contain CDATA or PCDATA, determining that the DTD segment is tabular.

6 . The method of claim 1 further comprising the steps of:

for each XML document, creating a document object model;

identifying the root element;

for each node associated with the root element, determining whether the node in the DTD is to be mapped to a relational database table;

if the node is mapped to a relational database, disconnecting the node and creating a reference to an appropriate database table; and

if the node is not mapped to a relational database, examining the child elements of the node.

7 . A method of generating a searchable database system for storing Extensible Markup Language (XML) documents, the method comprising the steps of:

analyzing a document type definition (DTD) associated with at least one XML document to identify a tree;

determining nodes in the tree that contain child elements;

identifying whether data of the child elements is tabular or non-tabular;

assigning a class to each of the nodes that contain child elements having tabular data;

mapping the data that is tabular to a relational database by associating a table in a relational database with each class and mapping the data that is non-tabular to a native XML database.

8 . The method of claim 7 , wherein the data is determined to be tabular when the data includes only character data.

9 . The method of claim 7 , wherein the data is determined to be tabular when the data includes only table data.

10 . The method of claim 7 , wherein the data is determined to be non-tabular when the data includes recursive data.

11 . The method of claim 7 , further comprising:

determining whether a node in an input XML document is mapped to a table in the relational database; and

if the node is determined to be mapped, disconnecting the node from the tree and populating data from the severed node into the table.

12 . The method of claim 11 , further comprising:

if the node is determined not to be mapped, determining children of the node;

determining whether each child is mapped to a table in the relational database; and

disconnecting each mapped child from the tree and populating data from the severed children into the table.

13 . The method of claim 11 , wherein when the node is determined to be mapped, creating a reference from the node to the table.

14 . The method of claim 12 , wherein when a child is determined to be mapped, creating a reference from the child to the table.

15 . The method of claim 7 , further comprising defining a primary key in a table of the relational database when a class is a child of another class.

16 . A method of generating a searchable database system for storing Extensible Markup Language (XML) documents, the method comprising the steps of:

analyzing a Document Type Description (DTD) associated with one or more XML documents to determine a hierarchy of the XML documents;

identifying tabular elements in an input XML document based on the determined hierarchy; and

mapping the tabular elements to tables in a relational database.

17 . The method of claim 16 , further comprising:

identifying non-tabular elements in the XML document based on the determined hierarchy; and

storing the non-tabular elements in a native XML database.

18 . The method of claim 16 , wherein the elements are determined to be tabular when the elements include only character data.

19 . The method of claim 17 , wherein the elements are determined to be tabular when the elements include only table data.

20 . The method of claim 17 , wherein the elements are determined to be non-tabular when the elements include recursive data.

Assignments (3)
MERGER Recorded Apr 12, 2010
From: SIEMENS CORPORATE RESEARCH, INC.
To: SIEMENS CORPORATION
Reel/Frame 024216/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2009
From: SAMPATH, SUDARSHAN
To: SIEMENS CORPORATE RESEARCH, INC.
Reel/Frame 022054/0804 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2009
From: CHAKRABORTY, AMIT
To: SIEMENS CORPORATE RESEARCH, INC.
Reel/Frame 022054/0872 →