Why XML in Silverlight is Significant

I have been working with XML for most of my career, from developing a CAD application to my roles at Mindjet to my new role at Microsoft talking about Silverlight.  In this career, I have given numerous talks about the relevance of XML and to be susinct, I have it boiled down to this:

XML is about Partnerships

Whether that partnership are one-to-one or one-to-many, in my opinion, XML is the right technology to use when you want systems to interoperate with eachother.  One type of XML is called XSLT, which is a transformational XML language that defines how one XML set of data transforms to another, so given this XML fragment of Mindjet MindManager XML:

<ap:Topic xmlns:ap="...">
    <ap:Text PlainText="Silverlight Rules"/>

this XSLT fragment:
<xsl:template match="ap:Topic" xmlns:xslt="..." xmlns:ap="...">
    <TextBlock Text="{ap:/Text/@PlainText}" xmlns="..."/>

Produces this Silverlight XAML:

<TextBlock Text="Silverlight Rules" xmlns="..."/>

The significance of this is that you can write an XSL transform from almost any XML language to another: THIS IS BIGThat means that if you have content in one XML format, you can transform it to another.  A few years ago, I did a simple demo (that only works on Internet Explorer) on my personal website that used XSLT to make a browser for sketches that I did over the years (click on the about link on top to see how it was done).  When I was at Mindjet, I created numerous demos on the Mindjet Labs that used XML and XSLT to get data into and out of MindManager.  As you can see, I love working with XSLT!

When I first heard about XAML and Silverlight last year, I started getting very excited about the possibilites that it could enable especially with transforming data from MindManager's XML to XAML.  One of the XML languages that I started working with at Mindjet was the RibbonX XML for Office 2007 Ribbon UI for Word 2007.  Before I joined Microsoft, I started thinking about how I could transform RibbonX XML to Silverlight's XML (XAML) to present a website's user interface.  This was a fun exercise for me and I really learned Silverlight's XAML.  What I created from that was http://xmldocs.net.  I am now seeing others that are using Silverlight to render all types of XML data, like XPS files.  This is why I believe that Silverlight's XML data model is significant. Now, the next thing that I want to look at Popfly


What XML do you want to see in Silverlight?  To get some ideas, look at all of the web services on Programmable Web (most web services are XML-based).

Comments (3)

  1. Michael Scherotter was definitely an awesome add to Microsoft’s Silverlight team! Check out some of the

  2. John Kennedy says:

    Very interesting. I'm just getting a clue about how powerful MM + XSLT can be in order to leverage MM GUI to produce/manage "content" in a visual domain while at the same time using XSLT to "mine" the information out into XML for integration with other apps/processes/processors, etc…

    However, there seems to be a paucity of information on this sort of synergy… Is it just "passé" or just that no one is "out there" (save yourself) yet.

  3. Synergist says:


    Open APIs and Open Data Formats make this possible – I'd suggest that you look at http://www.programmableweb.com to see all the kinds of synergies or "mashups" that people are coming up with.  


Skip to main content