US 7,555,709 B2
Method and apparatus for stream based markup language post-processing
Eugene Kuznetsov, Cambridge, Mass. (US); Steven R. Willis, Acton, Mass. (US); Heather D. Achilles, Hudson, N.H. (US); Charles R. Morgan, Manchester, Mass. (US); Nicholas D. Matsakis, Cambridge, Mass. (US); and David Z. Maze, Somerville, Mass. (US)
Assigned to International Business Machines Corporation, Armonk, N.Y. (US)
Filed on Sep. 04, 2008, as Appl. No. 12/204,385.
Application 12/204385 is a division of application No. 10/883016, filed on Jul. 01, 2004, granted, now 7,454,696.
Claims priority of provisional application 60/561030, filed on Apr. 09, 2004.
Prior Publication US 2008/0320382 A1, Dec. 25, 2008
Int. Cl. G06F 17/00 (2006.01)
U.S. Cl. 715—234  [707/1] 11 Claims
OG exemplary drawing
 
1. A method for processing markup language data, the method comprising:
receiving a markup processing program containing a set of markup processing instructions that, when executed in an embedded hardware markup post-processing device, carry out application of one or more expressions on streaming data represented by a markup language representation, each markup processing instruction including an operation defining a processing operation to be matched to the markup language representation and a corresponding action to be performed upon matching the operation to the markup language representation;
receiving the markup language representation containing encoded items representative of markup language constructs;
configuring an indexed memory with instruction reference information including instruction reference entries;
executing the markup processing program, in real-time, in hardware to the streaming data in conjunction with the markup language representation to dynamically control generation of an output control signal indicating how the markup language representation is to be processed for generation of output based on the markup language representation;
identifying markup processing instructions of the markup processing program that match encoded items of the markup language representation comprising:
matching a value reference of a current encoded item to index data values of instruction reference entries in the indexed memory to obtain a matching location in the next instruction memory containing instruction pointer information;
referencing the matching location in the next instruction memory to identify the instruction pointer information that identifies the next instruction to be executed upon occurrence of the index data value within the markup language representation; and
accessing a markup processing instruction in the markup processing memory based on the identified instruction pointer information to allow execution of the markup processing instruction.