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.
|
In line with Microsoft's tendency to put the most popular features of a given technology to the front and center, this list of tags extracts from the SVG standard the most obvious graphical elements you might want in a given diagram.
Of all the W3C standards, SVG is probably the one most suitable for generation via point-and-click design tools, rather than hand-coded XML tags. It's encouraging to see that XAML supports simple hand coding, using simple tags, as some of us never want to let go of that. At the same time, there's no way the current features are enough to support a point-and-click two-dimensional design tool, at least not one of any consequence. That's OK, XAML's still in its very early days. Oh, SVG supports CSS styling too. There's that pesky CSS issue again.