<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Security &amp; Architecture : OOXML</title><link>http://blogs.msdn.com/mariofontana/archive/tags/OOXML/default.aspx</link><description>Tags: OOXML</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Interoperabilità tra ODF 1.1 e il formato OOXML in Office 2007 SP2</title><link>http://blogs.msdn.com/mariofontana/archive/2009/06/19/interoperabilit-tra-odf-1-1-e-il-formato-ooxml-in-office-2007-sp2.aspx</link><pubDate>Fri, 19 Jun 2009 13:34:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9784840</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9784840.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9784840</wfw:commentRss><description>&lt;p&gt;Pochi giorni fa &lt;strong&gt;Doug Mahugh&lt;/strong&gt; ha pubblicato &lt;a href="http://blogs.msdn.com/dmahugh/archive/2009/06/14/testing-office-s-odf-implementation.aspx" target="_blank"&gt;un interessante post&lt;/a&gt; sul &lt;strong&gt;metodo &lt;/strong&gt;utilizzato per affrontare il testing del formato &lt;strong&gt;ODF 1.1&lt;/strong&gt; presente in &lt;strong&gt;Office 2007 &lt;/strong&gt;con il SP2. &lt;/p&gt;  &lt;p&gt;Doug parla degli aspetti di mapping tra ODF e OOXML, degli strumenti utilizzati e varie considerazioni sul testing della conformità, interoperabilità e sicurezza!&lt;/p&gt;  &lt;p&gt;Buona lettura…&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9784840" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/OOXML/default.aspx">OOXML</category></item><item><title>Office Business Application Architect Forum : le registrazioni</title><link>http://blogs.msdn.com/mariofontana/archive/2008/03/26/office-business-application-architect-forum-le-registrazioni.aspx</link><pubDate>Wed, 26 Mar 2008 15:50:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8337666</guid><dc:creator>mfontana</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/8337666.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=8337666</wfw:commentRss><description>&lt;p&gt;Da ieri sono disponibili &lt;a href="http://msdn2.microsoft.com/it-it/cc351051.aspx" target="_blank"&gt;le registrazioni &lt;strong&gt;dell' OBA Architect Forum&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;tenuto a Milano il 24 Gennaio 2008 . L'audio &amp;#232; in italiano (voce della traduttrice).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Abstract &lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Ogni giorno sono le persone a portare avanti le attivit&amp;#224; e i processi fondamentali per il corretto funzionamento e per il successo delle aziende. Si scrivono documenti, si spediscono mail, si prendono decisioni analizzando i dati che sono nelle applicazioni di back-end. Le necessit&amp;#224; d'integrazione tra le piattaforme di collaborazione e le applicazioni aziendali diventano sempre pi&amp;#249; evidenti e possono trasformarsi in un vero e proprio fattore differenziante per il successo. Durante questa conferenza di una giornata abbiamo esplorato il nuovo paradigma di sviluppo delle Office Business Applications (OBA) partendo da concetti architetturali come Service-Orientation e Composite Applications al fine di creare un sistema integrato tra persone, processi e tecnologie.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Agenda&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Keynote: The Office Platform Value Proposition&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;High Level Architectural Elements of the Office Technical Platform&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Lap around the Architectural Elements of the Office Technical Platform&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;The Technical Presentation Tier&lt;/li&gt;      &lt;li&gt;The Productivity Tier&lt;/li&gt;      &lt;li&gt;The Application Tier&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Additional Services&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Detailed End-to-End Vertical Solution Scenarios&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Maggiori informazioni tecniche sullo sviluppo di OBA &lt;a href="http://blogs.msdn.com/mariofontana/pages/oba-resources.aspx" target="_blank"&gt;qui&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8337666" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/OBA/default.aspx">OBA</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Office+System+2007/default.aspx">Office System 2007</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Webcast/default.aspx">Webcast</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Eventi/default.aspx">Eventi</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/OOXML/default.aspx">OOXML</category></item><item><title>Disponibili la nuova versione dell' Office Open XML SDK e relativa ROADMAP</title><link>http://blogs.msdn.com/mariofontana/archive/2008/03/14/disponibili-la-nuova-versione-dell-open-xml-sdk-e-relativa-roadmap.aspx</link><pubDate>Fri, 14 Mar 2008 14:18:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8201337</guid><dc:creator>mfontana</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/8201337.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=8201337</wfw:commentRss><description>&lt;p&gt;Era il &amp;quot;lontano&amp;quot; Giugno 2007 quando al TechEd &amp;#232; stato annunciato l' Office &lt;em&gt;Open XML SDK&lt;/em&gt; (OOXML) per facilitare la creazione di soluzioni basate sul nuovo formato aperto dei file Office &lt;em&gt;Ecma Office Open XML Formats (ECMA-376)&lt;/em&gt;. Le classi per la manipolazione dei packages sono presenti dalla versione 3.0 del .NET Framework (le Packaging API - &lt;b&gt;System.IO.Packaging&lt;/b&gt; ). Queste classi per&amp;#242; lavorano a basso livello sul formato rendendo non proprio intuitiva la scrittura di operazioni sui formati. L' Open XML SDK ha quindi l'obiettivo di fornire un insieme di classi .NET pi&amp;#249; ad alto livello per semplificaree la vita ai programmatori... soprattutto nei principali scenari applicativi :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;creazione di documenti office via codice. &lt;/li&gt;    &lt;li&gt;customizzazione di parti dei documenti. &lt;/li&gt;    &lt;li&gt;manipolazione dei contenuti. &lt;/li&gt;    &lt;li&gt;verifica dei formati &lt;/li&gt;    &lt;li&gt;customizzazione delle propriet&amp;#224; dei documenti. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;lasciando l'uso diretto delle classi in &lt;em&gt;System.IO.Packaging&lt;/em&gt; come alternativa solo per i casi in cui si vuole avere il controllo diretto di ogni singolo aspetto del formato. &lt;/p&gt;  &lt;p&gt;Da un punto di vista architetturale la presenza di &lt;em&gt;System.IO.Packaging&lt;/em&gt; e dell' SDK ci permette di realizzare in modo &amp;quot;supportato&amp;quot; uno degli scenari applicativi pi&amp;#249; comuni e pi&amp;#249; &lt;u&gt;difficilmente realizzabili&lt;/u&gt; con le versioni precedenti di office e del formato binario : &lt;strong&gt;la creazione di documenti office server side !!! &lt;/strong&gt;Perch&amp;#232; dico difficilmente realizzabili? Perch&amp;#232; spesso questa operazione veniva svolta tramite due passi :&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Installazione di Office lato server!!! &lt;/li&gt;    &lt;li&gt;Scrittura di codice che istanziando server side i vari prodotti Office tipo &lt;em&gt;Word.Application&lt;/em&gt; via OLE Automation andava a creare/modificare i documenti. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;La difficolt&amp;#224; non stava tanto nell'eseguire questi due punti ma piuttosto far si che il server non adasse in crisi nel tempo... Infatti parliamo subito del punto 2 (per il punto 1 dico solo che non &amp;#232; mai una buona soluzione installare codice di tipo client-side sui server perch&amp;#232; di certo non aiuta nel limitare l'attack surface del server stesso). Il problema tecnico del punto 2 &amp;#232; semplice. Gli strumenti Office sono by design implementati per avere interazioni con un utente. Qualsiasi cosa debba comunicare lo fa via &lt;em&gt;MessageBox&lt;/em&gt; !! Purtroppo server side, soprattutto se il codice era scritto come servizio NT non c'era modo di premere il bottone OK o CANCEL perch&amp;#232; non c'era nessun desktop associato (oltre che probabilmente nessun utente disponibile 7x24). Questo comportava che il Thread di IIS rimaneva bloccato per sempre (a meno di non gestire&amp;#160; il recycle degli application pool di IIS 6.0). Col tempo le risorse del server venivano via via &amp;quot;mangiate&amp;quot; dall'applicazione portando il server ad avere gravi problemi di performance. Per risolvere questa problematica ne ho viste di tutte... da programmi sentinella che killavano brutalmente word se rimaneva per troppo tempo aperto... magari rovinando il &lt;em&gt;normal.dot&lt;/em&gt;... e quindi non vi dico cosa succedeva...) a soluzioni pi&amp;#249; estreme... IISRESET (o equivalente via codice) ogni tot ore...con la felicit&amp;#224; degli utenti di altre applicazioni hostate sullo stesso server che magari in quattro e quattrotto perdevano tutto il loro lavoro perch&amp;#232; lo stato dell'applicazione PUFF svaniva...e mi fermo qui...).     &lt;br /&gt;Questo &amp;#232; il vero motivo per cui anche sulla documentazione Microsoft lo scenario di Office Server side non &amp;#232; mai stato supportato!!!&lt;/p&gt;  &lt;p&gt;Ora con &lt;em&gt;System.IO.Packaging&lt;/em&gt; e l' SDK &amp;#232; possibile creare, modificare e gestire i documenti office anche server side senza nessun problema di stabilit&amp;#224; e di supporto!!!! Un esempio?&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: rgb(0,128,0)"&gt;// How to: Create a new package as a Word document.
&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; CreateNewWordDocument(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; document)
{
    &lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; (WordprocessingDocument wordDoc = WordprocessingDocument.Create(document, WordprocessingDocumentType.Document))
    {
        &lt;span style="color: rgb(0,128,0)"&gt;// Set the content of the document so that Word can open it.
&lt;/span&gt;        MainDocumentPart mainPart = wordDoc.AddMainDocumentPart();

        SetMainDocumentContent(mainPart);
    }
}

&lt;span style="color: rgb(0,128,0)"&gt;// Set content of MainDocumentPart.
&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; SetMainDocumentContent(MainDocumentPart part)
{
    &lt;span style="color: rgb(0,0,255)"&gt;const&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; docXml =
 &lt;span style="color: rgb(163,21,21)"&gt;@&amp;quot;&amp;lt;?xml version=&amp;quot;&amp;quot;1.0&amp;quot;&amp;quot; encoding=&amp;quot;&amp;quot;UTF-8&amp;quot;&amp;quot; standalone=&amp;quot;&amp;quot;yes&amp;quot;&amp;quot;?&amp;gt; 
&amp;lt;w:document xmlns:w=&amp;quot;&amp;quot;http://schemas.openxmlformats.org/wordprocessingml/2006/main&amp;quot;&amp;quot;&amp;gt;
&amp;lt;w:body&amp;gt;&amp;lt;w:p&amp;gt;&amp;lt;w:r&amp;gt;&amp;lt;w:t&amp;gt;Hello world!&amp;lt;/w:t&amp;gt;&amp;lt;/w:r&amp;gt;&amp;lt;/w:p&amp;gt;&amp;lt;/w:body&amp;gt;
&amp;lt;/w:document&amp;gt;&amp;quot;&lt;/span&gt;;

    &lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; (Stream stream = part.GetStream())
    {
        &lt;span style="color: rgb(0,0,255)"&gt;byte&lt;/span&gt;[] buf = (&lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; UTF8Encoding()).GetBytes(docXml);
        stream.Write(buf, 0, buf.Length);
    }
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Le Open XML API verranno rilasciate in 2 versioni entrambe scaricabili gratuitamente &lt;a href="http://msdn2.microsoft.com/en-us/library/bb448854.aspx"&gt;QUI&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;La versione 1.0 &lt;/strong&gt;sar&amp;#224; un update della CTP (Community Technology Preview) di Giugno 2007. La successiva versione della CTP verr&amp;#224; rilasciata ad Aprile 2008 mentre la versione finale &amp;#232; prevista per Maggio 2008. Le maggiori novit&amp;#224; sono l'accesso &lt;em&gt;strongly-typed&lt;/em&gt; a parti dei documenti Office, facilitazioni per l'uso del'' SDK via Linq to XML pi&amp;#249; molti altre piccole modifiche richieste dai beta tester e dalla comunit&amp;#224; degli sviluppatori.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;La versione 2.0 &lt;/strong&gt;invece estender&amp;#224; l'object model con varie funzionalit&amp;#224; avanzate come il search contestuale, le funzioni di validazione dei formati, alcune classi *ML&amp;#160; per gestire oggetti presenti in pi&amp;#249; tipi di documenti,il content object model per accedere direttamente a singole parti di documenti... La prima CTP vedr&amp;#224; la luce a &lt;strong&gt;Giugno 2008 &lt;/strong&gt;mentre la versione RTW (Release to Web) sar&amp;#224; disponibile compatibilmente con l'uscita di &lt;strong&gt;Office 14 &lt;/strong&gt;ovvero la prossima major release di Office.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/DisponibililanuovaversionedellOpenXMLSDK_A180/clip_image002_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="173" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/DisponibililanuovaversionedellOpenXMLSDK_A180/clip_image002_thumb.jpg" width="525" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Per dare un'idea di come si stia semplificando la programmazione del nuovo formato OOXML via .NET riporto alcuni brevi esempi... per maggiori informazioni consultare l'SDK e le sezioni How-to&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aggiungere un immagine ad un package&lt;/strong&gt;&lt;/p&gt;

&lt;pre class="code"&gt; &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; AddImagePart(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; document, &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; fileName)
 {
  &lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; (WordprocessingDocument wordDoc = WordprocessingDocument.Open(document, &lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;))
   {
     MainDocumentPart mainPart = wordDoc.MainDocumentPart;

     ImagePart imagePart = mainPart.AddImagePart(ImagePartType.Jpeg);

     &lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; (FileStream stream = &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; FileStream(fileName, FileMode.Open))
     {
       imagePart.FeedData(stream);
     }
   }
 } &lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Validare un Package&lt;/strong&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; ValidateSimplePackage(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; xlsxFile)
{
   SpreadsheetDocument xlsxDoc = SpreadsheetDocument.Open(xlsxFile, &lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;);
   Using(xlsxDoc)
   {
      &lt;span style="color: rgb(0,128,0)"&gt;// Remove the main workbook part.
&lt;/span&gt;      xlsxDoc.DeletePart(xlsxDoc.WorkbookPart);

      &lt;span style="color: rgb(0,128,0)"&gt;// Validate the package. Will return an exception 
&lt;/span&gt;      &lt;span style="color: rgb(0,128,0)"&gt;// because of the missing part.
&lt;/span&gt;      xlsxDoc.Validate(&lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;);
   }
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Per maggiori informazioni : &lt;a href="http://openxmldeveloper.org/archive/2008/03/13/OpenXMLSDK.aspx"&gt;http://openxmldeveloper.org/archive/2008/03/13/OpenXMLSDK.aspx&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Copertura Press:&lt;/p&gt;

&lt;p&gt;&amp;#183; &lt;b&gt;BetaNews: &lt;/b&gt;&lt;b&gt;&lt;a href="http://www.betanews.com/article/A_new_SDK_for_OOXML_aims_to_mobilize_developers/1205377531" target="_blank"&gt;A new SDK for OOXML aims to mobilize developers&lt;/a&gt;&lt;/b&gt;&lt;b&gt; &lt;/b&gt;by Scott Fulton, March 13, 2008&lt;/p&gt;

&lt;p&gt;&amp;#183; &lt;b&gt;Computerworld: &lt;/b&gt;&lt;b&gt;&lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=9068198&amp;amp;intsrc=news_ts_head" target="_blank"&gt;Microsoft releasing OOXML SDK&lt;/a&gt;&lt;/b&gt; by Eric Lai, March 12, 2008 - &lt;i&gt;Also posted on InfoWorld&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&amp;#183; &lt;b&gt;InternetNews.com: &lt;/b&gt;&lt;b&gt;&lt;a href="http://www.internetnews.com/dev-news/article.php/3733921/Microsoft+Maps+Out+OOXML+Developer+Tools.htm" target="_blank"&gt;Microsoft maps out OOXML developer&lt;/a&gt;&lt;/b&gt;&lt;b&gt; tools &lt;/b&gt;by Stuart Johnston, March 12, 2008&lt;/p&gt;

&lt;p&gt;&amp;#183; &lt;b&gt;ZDNet, UK (blog): &lt;/b&gt;&lt;b&gt;&lt;a href="http://community.zdnet.co.uk/blog/0,1000000567,10007518o-2000469549b,00.htm?new_comment" target="_blank"&gt;Microsoft presses on regardless with OOXML SDK&lt;/a&gt;&lt;/b&gt;&lt;b&gt; &lt;/b&gt;by Peter Judge, March 13, 2008&lt;/p&gt;

&lt;p&gt;&amp;#183; &lt;b&gt;ZDNet (blog) &lt;a href="http://blogs.zdnet.com/carroll/?p=1812" target="_blank"&gt;A Slim API for OOXML&lt;/a&gt; &lt;/b&gt;by John Carrol, March 13, 2008&lt;/p&gt;

&lt;p&gt;&amp;#183; &lt;b&gt;Redmond Developer News &lt;a href="http://reddevnews.com/news/article.aspx?editorialsid=9644" target="_blank"&gt;Microsoft reveals OOXML SDK roadmap&lt;/a&gt;&lt;/b&gt; by Michael Desmond, March 13, 2008&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8201337" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/OBA/default.aspx">OBA</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Office+System+2007/default.aspx">Office System 2007</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Information/default.aspx">Information</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/OOXML/default.aspx">OOXML</category></item></channel></rss>