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;
storing at least a portion of the plurality of constant TLAs as constant node-sets in a buffer in communication with a PPE, each constant node-set comprising one or more constant TLAs, each constant TLA comprising a static XML text element;
inserting one or more constant TLAs specified by the PPE machine code into an output stream from the one or more constant node-sets stored in the buffer;
storing at least a portion of the plurality of variable TLAs as variable node-sets in the buffer, each variable node-set comprising one or more variable TLAs, each variable TLA comprising an XML variable value; and
inserting one or more variable TLAs specified by the PPE machine code into the output stream from the one or more variable node-sets stored in the buffer.
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.
8 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; storing at least a portion of the plurality of constant TLAs as constant node-sets in a buffer in communication with a PPE, each constant node-set comprising one or more constant TLAs, each constant TLA comprising a static XML text element; inserting one or more constant TLAs specified by the PPE machine code into an output stream from the one or more constant node-sets stored in the buffer; storing at least a portion of the plurality of variable TLAs as variable node-sets in the buffer, each variable node-set comprising one or more variable TLAs, each variable TLA comprising an XML variable value; and inserting one or more variable TLAs specified by the PPE machine code into the output stream from the one or more variable node-sets stored in the buffer. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus for supporting variable data structures and constant data structures in a hardware-based Extensible Markup Language (XML) Post Processing Engine (PPE), the apparatus 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 store at least a portion of the plurality of constant TLAs as constant node-sets in a buffer in communication with a PPE, each constant node-set comprising one or more constant TLAs, each constant TLA comprising a static XML text element; a constant insertion module configured to insert one or more constant TLAs specified by the PPE machine code into an output stream from a constant node-set stored in the buffer; a variable creation module configured to store at least a portion of the plurality of variable TLAs as variable node-sets in the buffer, each variable node-set comprising one or more variable TLAs, each variable TLA comprising an XML variable value; and a variable insertion module configured to insert one or more variable TLAs specified by the PPE machine code into the output stream from the one or more variable node-sets stored in the buffer, wherein all or a portion of the compilation module, the constant insertion module, the variable creation module, and the variable insertion module comprise one or more of hardware circuits and executable code stored on one or more non-transitory computer readable storage media. - 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:
-
a buffer; an XML Transformations (XSLT) stylesheet compiler in communication with the buffer, the XSLT stylesheet compiler configured to; compile an XSLT stylesheet into a plurality of constant Type-Length-Attributes (TLAs) and PPE machine code; store at least a portion of the plurality of constant TLAs as constant node-sets in the buffer, each constant node-set comprising one or more constant TLAs, each constant TLA comprising a static XML text element; an XML accelerator card comprising; a Post Processing Engine (PPE) in communication with the buffer, the PPE configured to; insert one or more constant TLAs specified by the PPE machine code into an output stream from a constant node-set stored in the buffer; store at least a portion of the plurality of variable TLAs as variable node-sets in the buffer, each variable node-set comprising one or more variable TLAs, each variable TLA comprising an XML variable value; and insert one or more variable TLAs specified by the PPE machine code into the output stream from the one or more variable node-sets stored in the buffer. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A computer program product stored on a non-transitory computer readable storage medium, the 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 store at least a portion of the plurality of constant TLAs as constant node-sets in a buffer in communication with a PPE, each constant node-set comprising one or more constant TLAs, each constant TLA comprising a static XML text element; a constant insertion module configured to insert one or more constant TLAs specified by the PPE machine code into an output stream from a constant node-set stored in the buffer; a variable creation module configured to store at least a portion of the plurality of variable TLAs as variable node-sets in the buffer, each variable node-set comprising one or more of the variable TLAs from the base XML document, each variable TLA comprising an XML variable value; and a variable insertion module configured to insert one or more variable TLAs specified by the PPE machine code into the output stream from the one or more variable node-sets stored in the buffer.
-
Specification