IP Library Granted Patent US 7,191,186
Granted Patent B1
US 7,191,186 · App. 10/306,022 · Granted Mar 13, 2007

Method and computer-readable medium for importing and exporting hierarchically structured data

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,191,186
App. No.
10/306,022
Granted
Mar 13, 2007
Kind
B1
Abstract

A method and computer-readable medium are provided for selectively importing and exporting data in an electronic document. An import application program interface (API) may be implemented to import content from a hierarchically structured document, such an XML file. The import API works in conjunction with a parser to scan the document and extract content from selected elements, nodes, attributes, and text. The import API also utilizes a callback component for processing the extracted content. An export API may also be implemented to export data to create a hierarchically structured document, such as an XML file. The export API works in conjunction with a writer to receive data and export the data as elements, nodes, attributes, and text in the hierarchically structured document.

Claims (47)

1. A method of exporting and selectively importing content to and from an electronic document, comprising:

receiving from a data source content comprising data;

specifying via an export application program interface (API) the data to be exported to create an electronic document;

exporting the data via a writer in communication with the export API to create the electronic document;

receiving the electronic document having the data and items of the content associated with the data, wherein the data defines a hierarchical file structure;

specifying via an import API at least one piece of the data within the electronic document to be imported from the electronic document, wherein the at least one piece of the data is associated with at least one item of the content in the electronic document;

selectively parsing the electronic document for the at least one piece of the data via a parser in communication with the import API;

extracting a first item from the content associated with the at least one piece of the data from the electronic document therein allowing specification of specific data to import from the electronic document for display via a display device;

after extracting the first item of the content associated with the at least one piece of the data from the electronic document, determining via a callback component in communication with the import API when there are any additional items of the content associated with the at least one piece of the data;

when there are additional items of the content associated with the at least one piece of the data, extracting a next item of the content associated with the at least one piece of the data from the electronic document; and

displaying each item of the content extracted via the display device for viewing by a user.

2. The method of claim 1 , wherein the hierarchical file structure is XML.

3. The method of claim 1 , wherein the at least one piece of the data is an XML element.

4. The method of claim 1 , wherein the at least one piece of the data is an XML attribute.

5. The method of claim 1 , wherein the at least one piece of the data is an XML node.

6. The method of claim 1 , wherein the at least one piece of the data is text.

7. The method of claim 1 , wherein extracting a first item from the content comprises importing the first item from a data stream.

8. The method of claim 1 , wherein extracting a first item from the content comprises importing the first item from a memory buffer.

9. The method of claim 1 , wherein extracting a first item from the content comprises importing the first item from a file.

10. A computer-storage medium readable by a computer system and having computer-executable components for exporting and importing content to and from an electronic document in a computer system, comprising:

an export component for,

receiving at the export component data from a source computer; and

specifying the data to be exported to create an electronic document wherein the data includes text strings or a fixed list of variables;

a writer component for,

receiving at the writer component the data specified from the export component and exporting the data to create the electronic document wherein exporting the data comprises writing multiple pieces of the data in a single application program interface (API) call;

an import component for,

receiving the electronic document having data and items of content associated with the data, wherein the data defines a hierarchical file structure;

specifying to be imported from the electronic document at least one piece of the data, within the electronic document, associated with at least one item of the content in the electronic document;

extracting a first item of the content associated with the at least one piece of the data from the electronic document;

after extracting the first item of the content, determining whether there are any additional items of the content associated with the at least one piece of the data;

when there are additional items of the content, allowing a user to change how the additional items are processed; and

communicating with a parser component; and

the parser component for,

selectively parsing the electronic document for the at least one piece of the data; and

sending the at least one piece of the data to the import component for display via a display device.

11. The computer-storage medium of claim 10 , wherein the parser component is event-based.

12. The computer-storage medium of claim 10 , having further computer-executable components comprising a callback component for processing the extracted items of content associated with the at least one piece of the data from the electronic document.

13. The computer-storage medium of claim 10 , wherein the at least one item of content comprises a text string.

14. The computer-storage medium of claim 10 , wherein the hierarchical file structure is XML.

15. The computer-storage medium of claim 10 , wherein the at least one piece of the data is an XML element.

16. The computer-storage medium of claim 10 , wherein the at least one piece of the data is an XML attribute.

17. The computer-storage medium of claim 10 , wherein the at least one piece of the data is an XML node.

18. The computer-storage medium of claim 10 , wherein the at least one piece of the data is text.

19. The computer-storage medium of claim 10 , wherein the source is a client in the computer system.

20. The computer-storage medium of claim 10 , wherein the source computer is a server in the computer system.

21. The method of claim 1 , further comprising using the callback component to communicate back to an API during an import process, to change how the additional items are processed therein allowing content from a hierarchical structured document to be imported with a single line of code via a callback statement.

22. The method of claim 1 wherein specifying via an export API the data to be exported to create an electronic document further comprises specifying how the data is to be represented in the electronic document created.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE RECORDAL TO REMOVE INADVERTENTLY RECOREDED PROPERTIES SHOWN IN ATTACHED SHEET PREVIOUSLY RECORDED AT REEL: 047681 FRAME: 0916. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 18, 2019
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: SERVICENOW, INC.
Reel/Frame 049797/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2018
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: SERVICENOW, INC.
Reel/Frame 047681/0916 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2002
From: PULLEN, WALTER DAVID
To: MICROSOFT CORPORATION
Reel/Frame 013554/0243 →