IP Library Granted Patent US 7,805,424
Granted Patent B2
US 7,805,424 · App. 11/403,336 · Granted Sep 28, 2010

Querying nested documents embedded in compound XML documents

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,805,424
App. No.
11/403,336
Granted
Sep 28, 2010
Kind
B2
Abstract

Querying a compound XML document having a primary XML document and multiple nested documents may be performed in a single query. The single query comprises an expression of at least one attribute and the encoding type of the nested documents. Execution of the query involves decoding each nested document according to its encoding type and searching for the attribute specified in the query. The results returned from each of the nested documents may be combined with the results returned from the primary document before returning the results to the user.

Claims (34)

1. A method to query a compound XML document, the method comprising:

receiving a compound XML document comprising a primary document, a first nested document, and a second nested document that is nested within the first nested document;

determining a first encoding type associated with the first nested document and a second encoding type associated with the second nested document;

generating a single query against the compound XML document, the query comprising an attribute and a first query element specifying the first encoding type, a first search term, and a first root node of the first nested document, the query further comprising a second query element specifying the second encoding type, a second search term, and a second root node of the second nested document;

executing the query and decoding the first nested document and the second nested document; and

receiving a first rowset from the first nested document and a second rowset from the second nested document,

wherein executing the query comprises decoding the first nested document associated with the first encoding type to reveal contents of the first nested document and decoding the second nested document associated with the second encoding type to reveal contents of the second nested document and querying the contents of both revealed documents.

2. The method of claim 1 , wherein receiving a compound XML document comprises receiving an XML document with multiple levels of nested documents.

3. The method of claim 1 , wherein determining an encoding type associated with the first nested document comprises determining whether the first nested document is encoded as an HTML-encoded document or as a Base64-encoded document.

4. The method of claim 1 , wherein generating a single query against the compound document further comprises generating a single query that requests a value of one or more attributes found in both the primary XML document and the first nested document.

5. The method of claim 4 , further comprising:

collecting rowsets from the primary document and the first nested document and producing a composite rowset.

6. The method of claim 5 , wherein the single query against the compound document further comprises a query against a plurality of nested documents having a peer encoded document at one or more nested levels.

7. A computer system to query a compound XML document, the computer system comprising:

a processing unit to execute a program to query the compound XML document;

a data storage device comprising a program to interpret a single query statement against the compound XML document; and

a user interface to input elements of the single query statement and present return results;

wherein the compound XML document comprises a primary XML document and a first encoded nested document and a second encoded nested document, wherein the elements of the single query statement comprise at least one respective attribute, respective encoding information, a respective search term, and a respective root node for each of the first and second encoded nested documents, wherein the processing unit acts to execute the single query statement and decode the first encoded nested document and the second encoded nested document such that the at least one attribute is returned from both the first encoded nested document and the second encoded nested document, and wherein the elements of the single query statement are concatenated together to form the single query statement

wherein the processing unit acts to execute the single query statement such that the at least one attribute is returned from both the first nested document and second nested document by using the encoding information to decode the first and second nested documents in order to expose contents of each before assessing the at least one attribute.

8. The computer system of claim 7 , further comprising:

a storage device which accumulates results from the first encoded nested document and the second encoded nested document and combines the results into a composite query return from the compound XML document.

9. The computer system of claim 7 , wherein the encoding of the first encoded nested document and the second encoded nested document is at least one of HTML and Base64.

10. The computer system of claim 7 , wherein the single query further comprises at least one attribute from the primary XML document and wherein results from the primary XML document are returned with results from the first and second encoded nested documents.

11. The computer system of claim 7 , wherein the second encoded nested document is contained within the first encoded nested document.

12. A computer-readable storage medium having computer-executable instructions for performing a method of querying against a compound XML document, the method comprising:

receiving a compound XML document comprising a primary document, a first nested document, and a second nested document that is nested within the first nested document;

determining a first encoding type associated with the first nested document and a second encoding type associated with the second nested document;

generating a single query against the compound XML document, the query comprising an attribute and a first query element specifying the first encoding type, a first search term, and a first root node of the first nested document, the query further comprising a second query element specifying the second encoding type, a second search term, and a second root node of the second nested document

executing the query and decoding the first nested document and the second nested document;

receiving a first rowset from the first nested document and a second rowset from the second nested document; and

providing composite results of the first nested document and the second nested document,

wherein the step of executing the query comprises decoding the first nested document associated with the first encoding type to reveal contents of the first nested document and decoding the second nested document associated with the second encoding type to reveal contents of the second nested document and querying the contents of both revealed documents.

13. The computer-readable storage medium of claim 12 , wherein the step of determining an encoding type used in the nested document comprises determining whether each of the first nested document and the second nested document is encoded as an HTML-encoded document or as a Base64-encoded document.

14. The computer-readable storage medium of claim 12 , wherein the step of generating a single query against the compound document further comprises generating a single query that requests a value of the attribute found in both the primary XML document and the first nested document.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2020
From: CARLSON, JASON D.; HAYES, CHRISTOPHER A.; MINEEV, ALEXANDRE
To: MICROSOFT CORPORATION
Reel/Frame 054290/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2006
From: CARLSON, JASON D.; HAYES, CHRISTOPHER A.; MINEEV, ALEXANDRE
To: MICROSOFT CORPORATION
Reel/Frame 017939/0035 →