<$BlogRSDUrl$>

Thursday, November 06, 2003

XAML explained 

From Don Box
Jon Udell has an interesting piece on some Longhorn technologies, specifically XAML and WinFS.
XAML is just an XML-based way to wire up CLR types - no more no less. Given the appropriate namespace decls, the following is legal (albeit useless) XAML:
<Object def:Class="MyClass" />
which is equivalent to the following C# fragment:
public partial class MyClass : System.Object {}
XAML is domain-neutral, so while it may be used to create desktop apps, web pages, and printable documents, it could also be used to create CRM apps, blogging backends, or highly concurrent web services provided you had a supporting CLR-based library to do the heavy lifting.
As for WinFS's choice of coining a new schema language vs. using XML Schema, unless the WinFS data model is identical to the XML Infoset, it would be a mistake to bastardize XSD to describe something it wasn't intended to describe. WSDL/1.1 made that mistake once before (see use="encoded") and it's taking years to undo the damage.
See Also In the case of XAML, "wire up" means one or more of the following: 1. Define a new CLR type. 2. Instantiate existing CLR types. 3. Set the values of properties. 4. Register event handlers. In the case of #1, you're really defining PART OF a CLR type - the XAML compiler allows you to combine a VB or C# (or ...) source file using the partial class support in the new whidbey compilers. Is this clear?

Comments: Post a Comment

This page is powered by Blogger. Isn't yours?