The interfaces created by Expression Blend 2 are defined in XAML. XAML (pronounced "Zammol") itself sounds like it might be an XML dialect for describing Zammo from Grange Hill, but in fact it is (as Microsoft explain in the MSDN "XAML Overview") an "XML-based declarative language" for the representation of interface data used across Microsoft products. XAML-supporting Microsoft products include Visual Studio and Silverlight. So, XAML basically allows application interfaces to be described and created declaratively. Indeed, in Expression Blend 2, you can "View XAML", if you want to drop down to that level. A designer can also use XAML as a way to pass interface information over to a developer who uses Visual Studio.
But wait... what does "XML-based declarative language" mean? Is it actual XML, or just "XML-Like"? The Register today has a good intro piece on XAML. Look at this example from that Register piece, it's a standard use of an XML attribute to assign a "Fill" to a rectangle, right?
<Rectangle Height="20" Width="50" Fill="Gold" />
But as well as supporting this standard XML usage, XAML also supports a "dot" notation to add an "attribute" to an element. Here's an example:
<rectangle height="20" width="50">
<rectangle.fill>
<solidcolorbrush color="Gold">
</solidcolorbrush>
</rectangle.fill>
</rectangle>
And that's not all. Here is another example from The Register:
<rectangle height="20" width="50" fill="{StaticResource MyGradientBrush}">
</rectangle>
It's still well-formed XML, but what are those curly braces in the "Fill" attribute for? Well, this MSDN article informs us that "curly braces ({ and }) have significance in XAML because these characters inform a XAML processor that a character sequence enclosed within the braces must be interpreted as a markup extension".
So, although XAML is XML, in order to validate it, a validator has to be aware of the significance of the "dot-notation" and the curly-braces within attributes. So, it's "XML based", as Microsoft say, but in some ways it goes beyond XML.
Now that we've seen what XAML is, let's apply some XML Networking ideas to it. Let's see an example where we use XML Signature to selectively sign information in XAML. In the example screengrab below, I have signed data within an XAML document using a Vordel XML Gateway, then viewed it in SOAPbox so that you can see where the XML Gateway has put an XML Signature block into the XAML. You can see by looking at the XPath highlighted in blue that the XML Signature points at the signed portion (in this example, the book information which is to be displayed to the user).

Once the data has been signed, the XML Signature over the XAML data can then be validated, either at the .NET application itself or by another XML Gateway, to ensure that the data has not been tampered with. It is easy to think of applications in the healthcare (showing patient records in a .NET application) or government areas. It also applies to the classic "What you see is what you sign" requirement for electronic signatures because, in this case, the XML Signature can apply to the user interface as well as to the data. Additionally, the use of XML Acceleration means that the addition of XML Signature does not slow down the application using XAML.
XAML has started to be used in anger in projects now, and will, by definition, take off in the .NET world. XML Gateways have a place to play in this. I will be writing more about XAML on this blog, and showing more practical examples.