IP Library Granted Patent US 8,266,188
Granted Patent B2
US 8,266,188 · App. 11/074,502 · Granted Sep 11, 2012

Method and system for extracting structural information from a data file

Assignee: CA, Inc.
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 8,266,188
App. No.
11/074,502
Granted
Sep 11, 2012
Kind
B2
Abstract

A system and method for generating metadata from a data file are provided. The method includes the steps of parsing a data file having data nodes arranged in a hierarchal structure by sequentially processing the data nodes to generate parsing events and calling back at least one parsing event to a scanner, the scanner processing the at least one parsing event by calling at least one corresponding function. The method also includes the step of generating metadata from the processed at least one parsing event preserving the hierarchal structure of the data nodes.

Claims (42)

1. A method for generating metadata from a data file, the method comprising the steps of:

parsing a data file including data nodes arranged in a hierarchal structure by sequentially processing the data nodes to generate parsing events, a parsing event comprising a data node extracted from the data file;

calling back at least one parsing event to a scanner;

processing by the scanner the at least one parsing event by calling at least one corresponding function;

flagging, by the scanner, repeating data nodes and adding a reference to each of the repeating data nodes into a repeat list;

generating a linear list of metadata from the processed at least one parsing event, the linear list of metadata indicating the hierarchal structure of the data nodes and including only a single instance of each flagged repeating data node, the linear list being separate from the repeat list; and

preserving the hierarchal structure of the data nodes.

2. The method according to claim 1 , wherein the processing step comprises the steps of:

defining a component corresponding to each data node, the component having data pertaining to the each data node and being stored in a component list; and

generating and inserting a reference to the each data node into a stack, the stack adapted to preserve the hierarchal structure of the data nodes by being a last in first out stack.

3. The method according to claim 2 , further comprising the steps of:

defining a component corresponding to a single instance of the repeating data nodes, the component having data pertaining to the single instance of the repeating data nodes and being stored in a component list; and

generating and inserting a reference to the single instance of the repeating data nodes into a stack, the stack adapted to preserve the hierarchal structure.

4. The method according to claim 2 , wherein the generating metadata step further comprises extracting the reference to the each data node from the stack and the corresponding component from the component list to generate a linear component list.

5. The method according to claim 1 , wherein the scanner includes a parse handler for receiving the at least one parsing event.

6. The method according to claim 1 , wherein the data file includes at least one lexical component.

7. The method according to claim 6 , wherein the scanner includes a lexical handler to process the at least one lexical component.

8. The method according to claim 1 , wherein the data file is an XML file.

9. The method according to claim 1 , wherein a type of data node is chosen from the group consisting of element, attribute, namespace and comment.

10. The method according to claim 1 , wherein the process of flagging the repeating data nodes comprises:

determining whether one of the repeating data nodes is a top level data node; and

in response to a determination that the one of the repeating data nodes is a top level data node, preventing the one of the repeating data nodes from being flagged.

11. A system for generating metadata from a data file, the system comprising one or more processors coupled to a memory, the one or more processors when executing instructions encoded in the memory providing:

a parser for parsing a data file including data nodes arranged in a hierarchal structure by sequentially processing the data nodes to generate parsing events, a parsing event comprising a data node extracted from the data file; and

a scanner for receiving the at least one parsing event, the scanner configured to process the at least one parsing event by calling at least one corresponding function, flag repeating data nodes, add a reference to each of the repeating data nodes into a repeat list, and to generate a linear list of metadata from the processed at least one parsing event preserving the hierarchal structure of the data nodes, the linear list of metadata indicating the hierarchal structure of the data nodes and including only a single instance of each flagged repeating data node, the linear list being separate from the repeat list.

12. The system according to claim 11 , wherein the scanner extracts the reference to the each data node from the stack and the corresponding component from the component list to generate a linear component list.

13. The system according to claim 11 , wherein the scanner includes a parse handler for receiving the at least one parsing event.

14. The system according to claim 11 , wherein the data file includes at least one lexical component.

15. The system according to claim 14 , wherein the scanner includes a lexical handler to process the at least one lexical component.

16. The system according to claim 11 , wherein the data file is an XML file.

17. The system according to claim 11 , wherein type of data nodes is chosen from the group consisting of element, attribute, namespace and comment.

18. The system according to claim 11 , wherein the scanner is further adapted to:

define a component corresponding to a single instance of the repeating data nodes, the component having data pertaining to the single instance of the repeating data nodes and being stored in a component list; and

generate and insert a reference to the single instance of the repeating data nodes into a stack, the stack adapted to preserve the hierarchal structure.

19. A set of computer-executable instructions for generating metadata from a data file, the computer-executable instructions recorded on a tangible computer-readable media and comprising the steps of:

parsing a data file including data nodes arranged in a hierarchal structure by sequentially processing the data nodes to generate parsing events, a parsing event comprising a data node extracted from the data file;

calling back at least one parsing event to a scanner;

processing by the scanner the at least one parsing event by calling at least one corresponding function;

flagging, by the scanner, repeating data nodes and adding a reference to each of the repeating data nodes into a repeat list; and

generating a linear list of metadata from the processed at least one parsing event preserving the hierarchal structure of the data nodes, the linear list of metadata indicating the hierarchal structure of the data nodes and including only a single instance of each flagged repeating data node, the linear list being separate from the repeat list.

20. The computer-executable instructions according to claim 19 , wherein the instructions are stored on a computer-readable media, said media selected from a group consisting of magnetic media, optical media, read-only memory (ROM).

21. The computer-readable media of claim 19 , wherein the instructions are executable by a computer system comprising a processor, a random access memory (RAM), at least one user input device, a data storage device and a graphical display device.

Assignments (2)
MERGER Recorded Jun 25, 2012
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 028434/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2005
From: BHATIA, RISHI
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 016367/0692 →
Continuity (1)
Related Publication 20060206518A1 · Sep 14, 2006