Browse Prior Art Database

A Process for the Optimized Application of XSL Stylesheets for Use With Partially Static XML Data Streams

IP.com Disclosure Number: IPCOM000013400D
Original Publication Date: 2000-Apr-01
Included in the Prior Art Database: 2003-Jun-18
Document File: 4 page(s) / 74K

Publishing Venue

IBM

Abstract

The use of XSL is emerging as a popular and effective model for the transforming of an XML document into either 1) another XML document or 2) a rendered markup language form of the document such as WML, VoxML, HTML, etc. Unfortunately, XSL is not without its drawbacks. One significant disadvantage of XSL is that substantial overhead is incurred when one utilizes it to transform XML. This overhead results from XSL utilizing interpreted scripting as its primary model of operation and also from its extensive use of DOM traversal and template matching operations in the XSL stylesheets.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 40% of the total text.

Page 1 of 4

  A Process for the Optimized Application of XSL Stylesheets for Use With Partially Static XML Data Streams

The use of XSL is emerging as a popular and effective model for the transforming of an XML document into either 1) another XML document or 2) a rendered markup language form of the document such as WML, VoxML, HTML, etc. Unfortunately, XSL is not without its drawbacks. One significant disadvantage of XSL is that substantial overhead is incurred when one utilizes it to transform XML. This overhead results from XSL utilizing interpreted scripting as its primary model of operation and also from its extensive use of DOM traversal and template matching operations in the XSL stylesheets.

After considerable experience with the use of XSL for our 3270 XML data stream applications, it became readily apparent that our 3270 XML datastreams had innate characteristics which could be exploited to permit XSL stylesheet processing to be optimized. This was due to the fact that 3270 XML datastreams contained both static and dynamic sections. By static we mean that the XML content in these sections need only to have stylesheet processing performed once as these sections of the content were sent multiple times in a repeatable manner. The concrete example of this was the table of function keys which need only be transcoded once yet are added to the 3270 XML data stream in a consistent and predictable fashion each and every time this content was sent. Also embedded in the 3270 XML data stream were dynamic sections. These are sections which were constantly changing, and thus required a stylesheet to be applied each and every time the 3270 XML content was sent.

In this invention, we present a process which permits stylesheet processing of static sections of XML datastreams to occur only once, while at the same time permitting stylesheets to be applied to the dynamic sections whenever necessary. The solution performs this functionality by relying upon highly efficient merging operations. The efficiency of the merge operations is critical because lack of attention to this detail would result in a process which is no more efficient than simply applying an XSL stylesheet to the complete document each and every time Our optimized merging operation takes advantage of inherent characteristics of XML data, namely, the fact that all XML data may be mapped to a Document Object Model structure.

The solution is a process that only applies a complete stylesheet to a complete XML datastream the first instance of encountering this

1

Page 2 of 4

datastream. For every subsequent instance of encountering the datastream, it utilizes only the dynamic stylesheet and applies this to only the dynamic section of the XML datastream. The generated content is then spliced or merged into the static sections of the XML datastream which have not changed and thus did not require a reapplication of a stylesheet. Figure 1 illustrates the process for accomplishing this activity.

As...