Supporting variable data structures and constant data structures in a hardware-based extensible markup language (XML) post processing engine (PPE)
a post processing engine and data structure technology, applied in the field of hardware-based xml ppe, can solve the problems of ppe not having the capability of processing variables in any of its programs, ppe cannot perform the necessary transformations to fully process an xslt stylesheet, and ppe cannot assist in processing xml transformations (xslt) stylesheets
- Summary
- Abstract
- Description
- Claims
- Application Information
AI Technical Summary
Problems solved by technology
Method used
Image
Examples
example code 1
[0035]This stylesheet instructs an XML appliance 106 to scan an XML base document 104 to find all occurrences of and reformat the data associated with the tags and so that the list of the CD collection always has the CD title listed before the artist.
[0036]The XML base document 104 may include an XML document with variables and elements as is known by one of ordinary skill in the art. Furthermore, the XML base document 104 may be compatible with the XSLT stylesheet 102 with corresponding variable and element names. The following is an example of an XML base document 104 listing artists “” and album titles “” under the “” tag:
[0037]
Sargent Pepper's Lonely Hearts Club Band The Beatles Hey Jude The Beatles Surfin’ USA The Beach Boys
example code 2
[0038]The XML appliance 106 may comprise a Service Oriented Architecture (SOA) appliance such as an IBM WebSphere® DataPower® appliance or other middleware appliance capable of sending, receiving, routing and accelerating Extensible Markup Language (XML) messages and other message formats. The XML appliance 106 may have one or more conventional processors.
[0039]Furthermore, the XML appliance 106 may include an XSLT stylesheet compiler 108 to process the XSLT stylesheet 102 and feed the output into the XML accelerator 110. The XSLT stylesheet compiler 108 compiles the XSLT stylesheet 102 into a stream of constant Type Length Attributes (TLAs). A TLA is a data structure created and used by the XML appliance 106 to represent a portion of an input XML document. For example, consider the XML document segment:[0040] example
This segment may be represented by four TLAs as follows:[0041]start-element, 4, QNAME for root close-start-element, 0,0[0042]text, 21, pointer to the text (“example \0...
example code 3
[0048]FIG. 2 illustrates another embodiment of a system for supporting variable data structures and constant data structures in a hardware-based XML PPE. The system may include an XML appliance 106 with an XSLT stylesheet compiler 108 and an XML accelerator 110 with a PPE 202, an XML parser 204, a buffer 208, and a multiplexer 206. Furthermore, the buffer 208 may include a table 210 and multiple node-sets 212 stored in memory. The XML appliance 106 and XSLT stylesheet compiler 108 may include substantially the same features as described above in relation to FIG. 1.
[0049]Furthermore, the PPE 202 may be a micro-controller with a specialized instruction set optimized for XML processing. The PPE 202 receives input TLAs which the PPE 202 processes individually. The PPE 202 then sends the processed TLAs downstream for output generation. A standard PPE 202 which cannot support stored data structures is limited in the XML base documents 104 which the PPE 202 can process. For example, if the...
PUM
Login to View More Abstract
Description
Claims
Application Information
Login to View More 


