morphis logo morphis | wax   
Morphis: open source wireless content transcoder
 Morphis
   home
   features
   use patterns
   downloads
   documentation
   javadoc
   LGPL License
 
 WAX
   features
   documentation
   reference
   examples

Morphis WAX Features

Morphis WAX is a markup language, and a set of associated tools that enable fast and easy creation of wireless applications. WAX stands for Wireless Abstract XML, yet it includes far more than the language itself. Features of WAX include:

  • WAX language: The WAX markup language is aimed at wireless application development. It is based on constructs of both HTML and WML, and includes features of both languages. WAX tags are designed to be at a higher level of abstraction than prior standard wireless markup languages, and may translate to different GUI metaphors when rendered on different devices. For example, the <wax:binarychoice> tag renders as two soft-key choices on most Phone.Com browsers, but will render as a drop-down box on a Palm Pilot. Both Morphis and WAX are extensible, so adding new tags to the language is easy, and the functionality of the tags may be quite complex.

  • Translation Stylesheets: Usually the last WAX processing step is to translate WAX language into a language best suited to the requesting device. This language may be HTML, HDML, WML or any other language understood by the device. WAX includes XSLT stylesheets to convert WAX into these browser-specific languages. Stylesheets may target a generic set of devices (e.g. WML 1.1), or target an individual device. Currently, Morphis includes stylesheets for Nokia browsers, Phone.Com 3.0 and 4.0 browsers, generic WML browsers, HDML browsers, HTML browsers (like AvantGo), cHTML browsers, NeoPoint devices. This list is constantly growing as the Morphis and WAX development community targets more and more devices.

  • Device Registry: Morphis includes an XML database of devices, devices recognition rules, and device attributes and features. Morphis uses the registry to determine how best to deliver content, and may be extended by developers to create device groupings and deliver content best suited to these device groups. For example, if a bug is found in a family of devices, these devices can be grouped and fixed via stylesheets, Morphis filters, or any other device-aware application logic.

  • Dynamic Image and Text Selection: WAX may be marked up with logical image and text identifiers. The Morphis processor looks up the logical identifier in the appropriate image or text registry, and processes rules to determine which is the best physical item to deliver. This way content can be written once, and variations of content such as different languages, may be placed into separate "resource files". Images may even be named in a particular fashion so they will automatically be delivered to an individual device, or group of devices. This way you can have multiple images on disk, and have the right one delivered to the right device.

  • Application Foundation: Morphis WAX includes a WAXServlet as the basis for building WAX applications. This is entirely optional as WAX may be created in any application server as illustrated in the Morphis usage patterns. However, using Morphis and WAX classes as the foundation to your application automatically provides you with features like application logging and database pooling.

  • All the features of Morphis: Including a configurable cache of WAX data before and after translation, cached WAX translation stylesheets, extensibility to add new tags and processing filters, and its Open Source development license.

morphis SourceForge Logo