XAML and XUL Windowing Features
You might wish that the lists stopped with Table 2, but alas, XAML has a heap of tags to consider.
Some features of XAML are designed for application windows, not for hypertext-laden multimedia documents. Such windows look like any Microsoft Windows or GNOME control panel or like any other forms-and-menu based application that you might find, whether it be WinZip or
GnuCash. Such applications are also the problem domain that Mozilla's XUL addresses, so it's no surprise that in this area, a large number of XAML and XUL tags match up nicely. Table 3 shows these equivalences.
Table 3. XAML and XUL tag equivalents that describe extended widgets.
|
XAML Tag
|
XUL tag
|
Description
|
|
Application
|
Window
|
A whole application GUI expressed as XML
|
|
ContextMenu
|
Menupopup
|
floating menu that appears when context-clicking (right clicking
on Windows)
|
|
DesignSurface
|
canvas, deck, stack
|
An area used for arbitrary placement of content
|
|
DockPanel
|
Box
|
A layout device subject to vertical and horizonal alignment instructions.
|
|
EmbeddedDialog
|
Dialog
|
A modal dialog box
|
|
GridPanel
|
Grid
|
2-dimensional set of cells much like a table.
|
|
HorizontalScrollBar
|
Scrollbar align="horizontal"
|
A scrollbar used to scroll across content
|
|
NavigationWindow
|
opposite of the chrome specifier
|
An area decorated with standard Web browser navigation controls
|
|
ObjectDataSource
|
template datasources=
|
Specification of external data for dynamic display
|
|
Popup
|
menupopup
|
The bit of a context menu or drop down menu that appears when
summoned
|
|
QueryCommand
|
rule
|
A data query that supports dynamic content generation
|
|
RepeatButton
|
autorepeatbutton
|
A button that fires continuously
|
|
SimpleText
|
Text
|
Text that truncates when space is short
|
|
TextPanel
|
Editor
|
An area used to edit and format text
|
|
ToolTip
|
Tooltip
|
A textual hint that hovers over a widget
|
|
VerticalScrollBar
|
scrollbar align="vertical"
|
A scrollbar used to scroll up or down through content
|
|
Window
|
Window
|
The GUI equivalent of HTML's body tag.
|
|
WindowNavigationContainer
|
Browser
|
A tag that allows page-oriented navigation of its content
|
|
XmlDataSource
|
template datasources=
|
Specification of external data for dynamic display
|
Table 3 shows that both XAML and XUL provide a large list of additional (beyond HTML) GUI widgets to choose from, plus some support for record management applications through the use of data-driven GUI elements. XAML is pretty powerful in that area, and will no doubt challenge Mozilla's sophisticated but unusual template system once there's proper SQL support in Longhorn.
The irony of these widget-oriented tags is that XUL does to Microsoft and XAML what Microsoft does to everybody else. XUL contains just about all of the popular and frequently used widgets that people need, but without the underlying complexity of .NET. The heavy lifting underneath XAML's widgets is probably overkill for a wide range of applicationsparticularly the record management applications that are the heartbeat of most large organizations. To developers building those applications, XAML's highly integrated widgets are a risky bet on high-end media-rich GUI applications of the future. Just how much of the application market that is, only many years will tell. Personally, I don't need a rotating terminal window.