SUPPORTING VARIABLE DATA STRUCTURES AND CONSTANT DATA STRUCTURES IN A HARDWARE-BASED EXTENSIBLE MARKUP LANGUAGE (XML) POST PROCESSING ENGINE (PPE)
First Claim
1. A method for supporting variable data structures and constant data structures in a hardware-based Extensible Markup Language (XML) Post Processing Engine (PPE), the method comprising:
- compiling an XML Transformations (XSLT) stylesheet into a plurality of constant Type-Length-Attributes (TLAs) and PPE machine code;
creating one or more constant node-sets, each constant node-set comprising one or more constant TLAs and mapped to a constant table;
inserting one or more constant TLAs into an output stream, the one or more constant TLAs inserted from one or more constant node-sets referenced from the constant table;
creating one or more variable node-sets, each variable node-set comprising one or more variable TLAs and mapped to a variable table; and
inserting one or more variable TLAs into the output stream, the one or more variable TLAs inserted from one or more variable node-sets referenced from the variable table.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, computer program product, and system are disclosed for supporting variable data structures and constant data structures in a hardware-based XML PPE. The method may include inserting one or more constant Type-Length-Attributes (TLAs) into an output stream. The constant TLAs are inserted from one or more constant node-sets referenced from a constant table. The method may also include creating one or more variable node-sets. Each variable node-set includes one or more variable TLAs (TLAs saved from a base XML document) and is mapped to a variable table. The method may also include inserting one or more variable TLAs into the output stream inserted from one or more variable node-sets referenced from the variable table.
-
Citations
21 Claims
-
1. A method for supporting variable data structures and constant data structures in a hardware-based Extensible Markup Language (XML) Post Processing Engine (PPE), the method comprising:
-
compiling an XML Transformations (XSLT) stylesheet into a plurality of constant Type-Length-Attributes (TLAs) and PPE machine code; creating one or more constant node-sets, each constant node-set comprising one or more constant TLAs and mapped to a constant table; inserting one or more constant TLAs into an output stream, the one or more constant TLAs inserted from one or more constant node-sets referenced from the constant table; creating one or more variable node-sets, each variable node-set comprising one or more variable TLAs and mapped to a variable table; and inserting one or more variable TLAs into the output stream, the one or more variable TLAs inserted from one or more variable node-sets referenced from the variable table. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product for supporting variable data structures and constant data structures in a hardware-based Extensible Markup Language (XML) Post Processing Engine (PPE), the computer program product comprising:
-
a compilation module configured to compile an XML Transformations (XSLT) stylesheet into a plurality of constant Type-Length-Attributes (TLAs) and PPE machine code and configured to create one or more constant node-sets, each constant node-set comprising one or more constant TLAs and mapped to a constant table; a constant insertion module configured to insert one or more constant TLAs into an output stream, each constant TLA inserted from a constant node-set referenced from the constant table; a variable creation module configured to create one or more variable node-sets, each variable node-set comprising one or more variable TLAs and mapped to a variable table; and a variable insertion module configured to insert one or more variable TLAs into the output stream, the one or more variable TLAs inserted from one or more variable node-sets referenced from the variable table. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A system for supporting variable data structures and constant data structures in a hardware-based Extensible Markup Language (XML) Post Processing Engine (PPE), the system comprising:
-
an XML Transformations (XSLT) stylesheet compiler configured to; compile an XSLT stylesheet into a plurality of constant Type-Length-Attributes (TLAs) and PPE machine code; create one or more constant node-sets, each constant node-set comprising one or more constant TLAs and mapped to a constant table; an XML accelerator comprising; a Post Processing Engine configured to; insert one or more constant TLAs into an output stream, each constant TLA inserted from a constant node-set referenced from the constant table; create one or more variable node-sets, each variable node-set comprising one or more variable TLAs and mapped to a variable table; and insert one or more variable TLAs into the output stream, the one or more variable TLAs inserted from one or more variable node-sets referenced from the variable table. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A computer program product for supporting variable data structures and constant data structures in a hardware-based Extensible Markup Language (XML) Post Processing Engine (PPE), the computer program product comprising:
-
a parsing module configured to parse a base XML document into a plurality of variable Type-Length-Attributes (TLAs); a compilation module configured to compile an XML Transformations (XSLT) stylesheet into a plurality of constant TLAs and PPE machine code and configured to create one or more constant node-sets, each constant node-set comprising one or more constant TLAs and mapped to a constant table, the one or more constant TLAs stored in a buffer; a constant insertion module configured to insert one or more constant TLAs into an output stream, each constant TLA inserted from a constant node-set referenced from the constant table; a variable creation module configured to create one or more variable node-sets, each variable node-set comprising one or more of the variable TLAs from the base XML document, each variable node-set mapped to a variable table, the one or more variable TLAs stored in a buffer; and a variable insertion module configured to insert one or more variable TLAs into the output stream, the one or more variable TLAs inserted from one or more variable node-sets referenced from the variable table.
-
Specification