1. Statement of the Technical Field
The present invention relates to the field of markup language processing, and more particularly to the processing of frames in markup language.
2. Description of the Related Art
Conventional markup can be visually presented through use of a content browser. Content browsers process display attributes embedded in markup to properly format content also contained within the markup. Notable variants of the content browser include the venerable Web browser, as well as the more recent extensible markup language (XML) browser. Regardless of the type of browser, all conventional markup processors are preconfigured to parse and interpret attribute tags embedded in markup. Examples of attribute tags include the well-known hypertext markup language (HTML) tags, <HEAD>, <BODY>, <H1>, <P>, <HREF>, <HTML> and <FRAMESET>.
In regard specifically to the <FRAMESET> attribute tag defining a set of displayable frames, many content distributors have incorporated frames in the design of Web pages, as frames allow Web sites to organize the presentation of disparate information in a logical and unified manner. Often, the enablement of multiple, scrollable regions of a single Web page forms the basis for the use of frames within the Web page. For example, it is known to use one frame to present a menu, while a second, adjacent frame can display the content associated with a particular menu choice. As another example, the results of a query can be presented in a first, scrollable frame, while the content associated with a particular result can be presented in an adjacent frame.
While frames can provide the benefit of screen organization and scrolling, frames can pose some difficulty in the support of bidirectional environments. Bidirectional environments relate to the directional manner in which information can be presented in an electronic document. Specifically, western languages such as English present information visually from left to right. In contrast, middle-eastern languages such as Hebrew and Arabic present information visually from right to left. In the course of undertaking internationalizing the presentation interface of computer software, solutions have been proposed which address the problem of bidirectional text. For instance, in one solution, text can be rearranged in a display window according to the underlying language associated with the character codes of each word in the text.
Other internationalization solutions address not only the underlying directional orientation of text, but also the arrangement of user interface controls in a graphical user interface. For example, in Kaplan, Internationalization with Visual Basic, (SAMS 199x), check boxes, labels, option buttons and text boxes can be horizontally “flipped” in terms of orientation to accommodate a bidirectional environment. The particular user interface control elements which can be flipped in the Kaplan reference, however, are flipped inasmuch as those control elements usually accompany text—hence the need to re-orient the control. By comparison, the teachings of Kaplan explicitly inhibit the re-orientation of other user interface controls such as combo boxes, command buttons, scroll bars, list boxes, picture boxes and, most importantly, frames.
While the use of frames in a conventional GUI as described in the Kaplan reference rightfully inhibits the re-orientation of frame elements because frames play little role in the GUI of a stand-alone application, the same cannot be said of an application whose interface relies upon the presentation attributes of a markup language. Specifically, frames play a crucial role in the presentation interface of a markup language defined user interface. Thus, in the context of markup, the directional implication of a language is not merely limited to the characters which form a word, or the words which form a sentence. Rather, the directional implication of a language can include the layout of the frames within the document itself. More particularly, in a right to left orientation, it can be preferable to horizontally re-orient adjacent frames in a content browser to accommodate a right-to-left environment.
Unfortunately, existing content browsers and markup languages do not account for bidirectional documents. In fact, in the HTML specification, while the “dir” attribute can specify a directional orientation, including “rtl” and “ltr”—right to left and left to right, respectively—the HTML specification cannot account for a document whose orientation can vary from right to left and left to right. Rather, to accommodate the bidirectional circumstance, separate markup must be maintained for both cases of left to right and right to left configurations. As one skilled in the art will recognize, however, maintaining two sets of markup to support the presentation the same content in different directional orientations requires the maintenance and synchronization of both sets of markup—a distinctly undesirable solution.