Transcoding plugins
IBM provides several transcoding plugins with Transcoding Technology that can be used for a number of common Web-oriented transformations:
- The image transcoding plugin modifies images to better support the display capability of a device.
- The text transcoding plugin converts textual data, such as HTML or XML, from one format to another and can perform a number of transformations to simplify the output.
- The fragmentation transcoding plugin fragments XML documents into pieces small enough to be managed by the target device.
- The HTML DOM generator creates a Document Object Model (DOM) version of incoming HTML documents.
- The annotation transcoding plugin interprets the contents of files written with Transcoding Technology's annotation language to perform document clipping.
- The HTML to WML transcoding plugin converts HTML documents to WML for devices with WAP browsers.
- The HTML to Compact HTML transcoding plugin converts HTML documents to Compact HTML documents for devices with CHTML browsers.
These transcoding plugins are installed with the product and enabled by default (with the exception of the HTML DOM generator). To verify whether the transcoding plugins are enabled or to change their status, use the XML Configuration tool.
Image transcoding plugin
This transcoding plugin is used to modify images so that they are more closely tailored to the capabilities of the target device. The transcoding plugin accepts both GIF and JPEG images, and, based on the preference settings for the associated device, performs several functions, including:
- Converting the image format to GIF, JPEG, PNG, bitmap (BMP), or Wireless bitmap (WBMP), depending on the format of the original image.
- Reducing the image's color depth. For example, a 24-bit image can be reduced to an 8, 4, 2, or 1-bit image.
- Converting color images to grayscale images.
- Specifying the quality level of a JPEG image.
- Adjusting the size of an image by scaling according to a percentage value.
Text transcoding plugins
The text transcoding plugins include a set of editors and a generator that specialize in transforming textual data, particularly HTML and XML documents. These transforms include:
- Simplification of HTML documents. For example, based on instructions derived from device profiles, the text transcoding plugin can replace images embedded in pages with links to images and remove objects or features, such as animation files or JavaScript, that are not supported by the target device.
- Stylesheet application to XML documents. The text engine uses the Xalan-Java stylesheet processor, with enhancements for selecting an XSL stylesheets based on the device associated with the specific request. For more information about Transcoding Technology's support for stylesheets, see Use Stylesheets.
- Format translation from HTML another markup language. This can be the first step in modifying a browser-based application for display on a wireless device. Either annotation or a custom transcoding plugin called a text clipper can be used to select the right subset of the application content for effective markup language transcoding.
Fragmentation transcoding plugin
The fragmentation transcoding plugin receives requests for WML or Compact HTML and, based on the maximum fragment size that the requesting device can store, subdivides the data into fragments that the device can handle. As the device needs additional data, Transcoding Technology sends the fragmented pieces in sequence until the request has been satisfied. In this way, Transcoding Technology can help prevent the device from being overwhelmed and potentially losing data.
The fragmentation transcoding plugin maintains a repository of fragmented components specific to a particular request. Transcoding Technology uses specialized URLs for each fragment to ensure that the fragments are sent to the requesting device in proper order.
One clear benefit of the fragmentation transcoding plugin's function is that developers who are creating custom transcoding plugins for use with various devices, such as Smartphones, do not have to worry as much about the capabilities of the device. They can focus on the content that they want to generate and let Transcoding Technology handle the process of chunking and sending the data.
HTML DOM Generator
The HTML DOM generator is a transcoding plugin that converts an incoming HTML document into a Document Object Model (DOM) form so that it can be available for other transcoding plugins that need to manipulate the document, such as text clippers. Typically, Transcoding Technology automatically creates an internal HTML DOM as part of its built-in data transformations when a different output format, like WML, is required.
The HTML DOM generator provides text clippers with a means of accessing the HTML DOM before any transcoding occurs. In this way, for example, a single text clipper could modify an HTML document, which could then in turn be transcoded into multiple formats and delivered to a variety of downstream devices.
Annotation transcoding plugin
The annotation transcoding plugin, sometimes called the annotation engine, provides document clipping support for use with Transcoding Technology's annotation language. Annotators are composed of a special set of XML tags that, when combined with an HTML source document, dictate which parts of the HTML document should be clipped. By using these annotators, you can perform document clipping without requiring a programmatic solution.
The annotation engine can process either external annotations, which reside in their own, separate file called an annotator, or it can process internal annotations, which are located directly in the HTML source document. Starting with a DOM form of the HTML document, the annotation engine examines the DOM and responds to the annotation tags by omitting or modifying elements in the DOM, including such functions as replacing images with text, extracting specific cells from a table, or reordering and modifying fields in a form. The resulting document can then be transformed to another format, like WML or HDML, and can take advantage of other transcoding plugins, such as the fragmentation transcoding plugin.
See also