|
XAML Tag |
CSS2 Feature |
Description |
|
AdaptiveMetricsContext |
pt (pointsize), user-defined stylesheets. |
Styling of text for maximum user readability |
|
Bold |
font-weight : bold |
Bold text |
|
Border |
border |
Borders surrounding other content |
|
FlowPanel |
display : block |
A multi-line block that reflows when resized |
|
Inline |
display : inline |
A section of content held within a single line |
|
Italic |
font-style : italic |
Italic text |
|
PropertyTrigger |
pseudoselectors like :hover and :active. |
logic bound to common events in the UI |
|
PageBreak |
page-break-after |
Support for paginated display. |
|
ScrollViewer |
scroll |
scrolling support for content larger than its viewport. |
|
SmallCaps |
font-variant : smallcaps |
Text in all small capitals. |
|
Subscript |
vertical-align : sub; font-size : smaller |
Make the text smaller and raised above previous text |
|
Superscript |
vertical-align : super; font-size : smaller |
Make the text smaller and lowered below previous text |
|
Underline |
text-decoration: underline |
Text with an underscore beneath it |
XAML, XUL, and XHTML Overlap
The greatest overlap between XAML and other standards lies in its support for concepts drawn from HTML/XHTML. The similarities between XAML and HTML are numerous. Overlap with HTML is not limited to XAML, of course. The other well-known XML GUI dialectMozilla's XULalso overlaps with XHTML. Finally, both XAML and XUL overlap in places that XHTML doesn't even include. XHTML and XUL can be combined in one document (at least in Mozilla browsers). Such a combination is a rough analog for non-Web uses of XAML. In fact, Mozilla's XUL alone is a rough analog for some uses of XAML.
Table 2 shows a number of XAML tags that closely match standard XHTML tags, as well as the equivalent XUL tags, when available.
Table 2. XAML tags that duplicate XHTML and XUL functionality.
|
XAML Tag |
XHTML tag |
XUL tag |
|
Audio |
embed, object |
|
|
Block |
div |
|
|
Break |
br |
|
|
Button |
button |
button |
|
Cell |
cell |
|
|
CheckBox |
input type="checkbox" |
checkbox |
|
Column |
th |
column listcol treecol |
|
ComboBox |
select |
menupopup listbox |
|
ComboBoxItem |
option |
menuitem listitem |
|
Document |
body |
|
|
Footer |
tfooter |
|
|
Frame |
frame, iframe |
iframe |
|
Header |
theader |
listheader treeheader |
|
Heading |
h1, h2, h3, h4, h5, h6 |
caption |
|
HyperLink |
a |
|
|
Image |
img |
image |
|
LineBreak |
br |
|
|
List |
ul, ol |
|
|
Listbox |
select |
listbox |
|
ListElementItem |
|
listcell treecell |
|
ListItem |
option |
listitem treeitem |
|
Menu |
select |
menu menulist |
|
MenuItem |
option |
menuitem |
|
Note |
blockquote |
|
|
Paragraph |
p |
description |
|
RadioButton |
input type="radio" |
radio |
|
RadioButtonList |
input type="radio name="?" |
radiogroup |
|
Section |
section |
description |
|
Table |
table |
grid |
|
Text |
input type="text" |
textbox |
|
TextBox |
textbox |
textbox multiline="true" |
|
Video |
embed, object |
|
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 |
XAML and SVG Overlap
In addition to hypertext and GUI widgets, XAML supports two-dimensional graphics. The equivalent W3C standard is SVG. Table 4 shows the XAML tags that have SVG equivalents.
Table 4. XAML tags that duplicate SVG functionality.
|
XAML Tag |
SVG tag |
Description |
|
Canvas |
Svg |
A drawing area |
|
Ellipse |
Ellipse circle |
A mathematical ellipse |
|
Glyph |
Glyph |
One or more textual characters |
|
Line |
Line |
A straight line |
|
Path |
Path |
A pathway across a drawing area that delimits where other content should be applied |
|
Polygon |
Polygon |
A mathematical polygon that is closed |
|
Polyline |
Polyline |
A mathematical polygon that is open |
|
Rectangle |
Rect |
A rectangle or square, possibly with corner modifications. |
|
TransformDecorator |
transform= attribute |
A mathematical operation that rotates, scales, shears or relocates a shape. |
XAML's Unique Tags
Finally, XAML has a few miscellaneous tags that defy any large category. These tags expose unique features that make XAML stand out as a separate technology (see Table 5).
Table 5. Unique XAML tags.
|
XAML Tag |
Web equivalent |
Tag use |
|
ArrayListDataCollection |
JavaScript DOM 0 collection such as document.forms |
Provide programmer access to sets of tags. |
|
Bind |
Mozilla's XBL system based on the CSS moz-binding extension. |
Attach programmer logic or further GUI elements to a tag. |
|
CollectionContainer |
none |
Hold a set of related tags. |
|
Document |
The DOM 0 window.document object. |
Represent the XML document. |
|
FillPanel |
none |
Unused |
|
FixedPage |
CSS2 fixed sizing and positioning. |
Override default layout for the page content. |
|
FixedPanel |
CSS2 fixed sizing and positioning |
Override default layout for sub-content of the page. |
|
HorizontalSlider VerticalSlider |
XForms range tag. |
Provides a widget used to select a value from a range. |
|
HwndHost |
plugins |
Embed a Win32 application in a tag. |
|
ItemsControl |
none |
Base class for lists and trees. |
|
NavigationApplication |
JavaScript's window.navigator object. |
Provide context and control for moving within a multi-page application. |
|
PageFunction |
none |
Control page display. |
|
PageViewer |
none |
Print preview viewer for paged media. |
|
Pane |
Approximately a JavaScript window.modify() |
Modifiable area within a document. |
|
Panel |
Similar to XUL deck or stack content. |
Abstract base class. |
| DevX is a division of Jupitermedia Corporation © Copyright 2007 Jupitermedia Corporation. All Rights Reserved. Legal Notices |