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”/>
</ap:Topic>

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

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

Links:

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. mscherotter says:

    John,

    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.  

    Michael