The Cover PagesThe OASIS Cover Pages: The Online Resource for Markup Language Technologies
Advanced Search
Site Map
CP RSS Channel
Contact Us
Sponsoring CP
About Our Sponsors

Cover Stories
Articles & Papers
Press Releases

XML Query

XML Applications
General Apps
Government Apps
Academic Apps

Technology and Society
Tech Topics
Related Standards
Last modified: June 02, 2001
Relational Markup Language (RML)

[June 02, 2001] Relational Markup Language (RML) is an XML-based language used by 2Roam and its industry partners. 2Roam is a wireless software and service provider which helps companies "move online business onto any handheld wireless device, such as mobile phones and PDAs." 2Roam partners with AdForce, Hello Asia, Mobilocity, Akamai, Interwoven, Pumatech, Avenue A, iQ.COM, SignalSoft, DoubleClick, Matsushita, Sun Microsystems, Engage Media, Mediaplex, VeriSign [2001-06].

[June 02, 2001] "2Roam can accept both XML documents as well as XML data feeds with a stored XSL style sheet... [Other] Markup Languages: 2Roam currently [2001-06] supports XML, HTML, and Java Script re-purposing to all of the wireless markups including WML, HDML, iMode CHTML, web clippings, tiny HTML, and MML. In addition, we are adding variations to each, as well as support for new markups as they are introduced. The service is set up to recognize and prepare for all devices, so no one particular language is used with the 2Roam technology. Each device has its own protocol, browser and mark up language, thus there are multiple combinations that arise. Catalyst takes the Web page, reads it and renders it appropriately. The HTML is cleaned up and XHTML (XML compliant HTML) is created. The XSL style sheet created gives preferences on how a page is to be translated for the wireless database. The XSL style sheet, together with the XHTML, helps to build our own proprietary language, RML. The server has a database (XSL Database) that contains the information on each device, so the page is converted and optimized according to the device..." [from the FAQ]

RML description from the IEEE article (2001-06, referenced below):

... Relational Markup Language is an XML application just as HTML and XML are SGML applications. RML is tailored to meet the specific needs of wireless Internet technologies. Developers use RML's customized elements to add structural context to a Web site's content for multiple presentation formats. RML retrieves and caches client data from requested URLs, then uses predefined rule sets to convert the data from HTML and XML to RML. [See fig. 2 on creating a modular architecture using Relational Markup Language] A traditional wireless implementation can require different transcoding steps for each possible combination of markup languages. In contrast, an RML-based implementation provides an intermediate format for the automatic markup of all markup languages. The output can then be generated without regard to the original input markup language.

[Background problem:] One challenge [in application integration] is integrating disparate content sources. Although some Web developers are beginning to store information in XML, most existing content was developed for desktop-based, nonmobile HTML browsers. Typically, most Web sites have a layered structure that closely ties a presentation layer to an underlying logic layer. However, wireless devices require a drastically different presentation layer, and rearchitecting the entire site to decouple these layers would be extremely expensive. Another challenge is the proliferation of devices, browsers, and markup languages.5 For example, markup languages include such variants as HDML 3.0, WML 1.x for OpenWave, WML 1.x for Nokia, TinyHTML for PalmPilots, and CHTML for iMode. Different browser features -- support for non-nested tables and images, nested tables but no images, images and nested tables but only one font size, and so on -- compound the problem. Display capabilities range from two-line black-and-white displays to full-color displays with tens of thousands of pixels. Optimal user interface Creating a compelling user interface that is appropriate for different device classes is another challenge. For example, a stock-trading site might want to expose a market research function containing charts and graphs to a PalmPilot but not to a limited-display cell phone. To avoid forcing the cell phone user to scroll down numerous lines or navigate through multiple menus to access desired content, the two devices' information architecture would have to be drastically different.

At first glance, it seems that the easiest way to address these problems is to rewrite existing Web content in a language appropriate for a particular protocol This would involve, for example, creating WML-formatted content to fit various WAP devices, CHTML-formatted content for iMode devices, and so on. However, the wide range of devices, browser functions, gateway interfaces, and markup language nuances make this approach intractable. User-transparent transformation In user-transparent transformation, a middleware application transparently reformats content -- on the fly -- into a user-specific presentation, interface, and protocol. In this context, a middleware application sits between the existing content server and the user agent. Because the middleware application can automatically detect the kind of device being used and format the contents accordingly, it is not necessary to maintain Web content in multiple formats. User-transparent middleware approaches can process transcoding with or without a priori information. They can either strip down the content from an under-described source such as HTML or build up content from discrete pieces. However, end users still must scroll through hundreds of lines to get to the content in which they are interested...

Relational Markup Language: Relational Markup Language incorporates two concepts -- relational hierarchies of content and adding context to content -- to resolve these problems. Because it describes content through relationships, RML provides a write-once-deliver-anywhere solution. An interpreter can use the relational information to create an optimal information architecture. Converting application content to a normalized RML format facilitates creating a modular architecture. When a new device, browser, gateway, or markup language emerges, adding one new module supports both current and future users. Atomics and groups: The RML framework uses atomics -- discrete pieces such as a word, sentence, paragraph, image, link, or any other piece of content -- to create a framework that supports the addition of both relational data and context. RML encapsulates atomics into groups to create a complex relational hierarchy. Groups contain one or more atomics, and they can themselves be part of larger groups. An interpreter can add contextual attributes to the atomics and groups to optimize the information architecture for a specific mobile device. Adding context allows the RML document to handle current and future application calls that different devices make from the browser. The context attribute defines the type of application call, and context data defines the parameters the document needs to make the function call...

RML also can differentiate between sequential and nonsequential content. For example, a page of text is sequential content, and a list of links to news stories is nonsequential content. If nonsequential content does not fit on one page -- for example, the headlines subsection -- RML collapses the associated groups into links. Device-specific tasks may include click-to-dial, creating an address book entry, or sending email. Developers can use the RML framework to develop algorithms that optimize the user's experience on a variety of mobile devices.

"The 2Roam Wireless Platform centers around the 2Roam Catalyst Server. The 2Roam Catalyst Server manages all the interactions between the wireless requester, the carrier gateways and the Web site. It identifies device information of the requester, retrieves real time content, formats on-the-fly wireless content, and presents customized Web pages for the wireless request.. Also included in the platform is a device manager that maintains a warehouse of all wireless devices and the layers of technology they use..."


  • 2Roam web site

  • RML specification [missing]

  • [June 02, 2001] "Bringing the Wireless Internet to Mobile Devices." By Subhasis Saha, Mark Jamtgaard, and John Villasenor. In IEEE Computer Volume 34, Number 6 (June 2001), pages 54-58. "Transcoding and Relational Markup Language are promising middleware solutions to the problem of bringing Internet content to the extremely diverse and dynamic mobile wireless devices universe... Mapping Internet content to mobile wireless devices requires new technologies, standards, and innovative solutions that minimize cost and maximize efficiency. The wireless Internet must deliver information in a suitable format to handheld device users -- regardless of location and connectivity. Although the exact form in which high-speed wireless data services will develop is uncertain, the authors predict an improvement over today's data rates. Current mobile devices suffer from small displays, limited memory, limited processing power, low battery power, and vulnerability to inherent wireless network transmission problems. To address these issues, a group of leading wireless and mobile communications companies have developed the wireless application protocol for transmitting wireless information and telephony services on mobile handheld devices. Whereas HTTP sends its data in text format, WAP uses Wireless Markup Language to create and deliver content in a compressed binary format that provides efficiency and security. Middleware, an alternative to manually replicating content, seamlessly translates a Web site's existing content to mobile devices that support operating systems, markup languages, microbrowsers, and protocols. The authors predict that middleware such as Relational Markup Language will be critical to bringing Internet content to wireless devices, and they anticipate that open standards based on this or similar techniques will gain acceptance..."

  • [June 02, 2001] "Wireless Internet." Presentation by Subhasis Saha and Mark Jamtgaard. 39 slides. April 11, 2001. "RML is a write-once-deliver-anywhere markup language. Two key concepts: (1) Relational hierarchies of content, and (2) Adding context to content..."

  • "2Roam. [Product Review.]" By Marc Robards. In PC Magazine (April 2, 2001). "For companies with dynamic Web sites that want to go wireless quickly, 2Roam is the way. The platform doesn't require you to reconfigure for each new device, and in fact we had a working version of our taxi driver application running on several devices in short order. 2Roam supports all existing classes of devices and gateways, as well as multibyte characters for international languages. New devices are routinely added to 2Roam's hosted database, saving you the trouble of recoding your application. In addition, secure transactions via SSL, coupons, SMS messaging, alerts, and sophisticated usage reports are available. And unlike many of the other wireless vendors' offerings, 2Roam can handle JavaScript -- even for devices that don't support it. Beginning with an existing Web application and using 2Roam's Nomad development environment, the developer breaks down the application page-by-page into pieces called atomics. Atomics, which are specific elements of a Web page (such as a static text, a hyperlink, or a form field), are categorized as individual or generalized. We found this to be a much easier building technique than systems like MShift's, which require you to design each card for each device. Generalized elements in Nomad are logical associations of elements; they tell 2Roam's engine, called Catalyst, which elements go together so that 2Roam can display them intelligently, whether on a PDA, a pager, or a cell phone... In production, when Catalyst receives a request for a wireless-enabled page, it detects which device and gateway are being used and stores session and cookie values when necessary. It then makes a call to the actual Web page requested (to allow for dynamic content or transactions), converts the page using rules dictated by the developer, and displays the page back to the wireless device. 2Roam hosts the wireless application rather than having companies install server software. . . We tested our taxi-driver application on a PDA, a RIM pager, and a WAP phone to see how well it translated to the different devices. The 2Roam-produced site performed flawlessly on all the devices, with complete functionality -- including checkboxes and form validation..." See "2Roam Awarded Prestigious PC Magazine Editors' Choice" [April 2001].

Hosted By
OASIS - Organization for the Advancement of Structured Information Standards

Sponsored By

IBM Corporation
ISIS Papyrus
Microsoft Corporation
Oracle Corporation


XML Daily Newslink
Receive daily news updates from Managing Editor, Robin Cover.

 Newsletter Subscription
 Newsletter Archives
Globe Image

Document URI:  —  Legal stuff
Robin Cover, Editor: