Open XML, vad är det? Johan Lindfors Senior Developer Evangelist Microsoft
Workbook properties table chart styles calcChain sharedStrings sheet1..N drawing Formaten SpreadsheetML
Vad kommer vi att prata om? Open XML – 30 minuter Vad är OpenXML Formaten För utvecklaren Annat smått och gott – 15 minuter LINQ Microsoft Ajax Library Expression XNA
Vad är OpenXML? Varför ett nytt filformat? File type Rough Google Search stats 3-06 html 4,550,000,000 htm 1,440,000 percent of docs PDF 317,000, %Adobe DOC 48,300, %MS txt 32,100, % Plain text XLS 11,900, %MS ppt 15,700, %MS PS 13,600, % Postscript RTF 6,260, % Rich Text Format wpd 1,030, % Corel Wordperfect wp % Wordperfect tex % Tex sxw % Star/Openoffice Writer sxi % Star/Openoffice Presentation wp % WordPerfect 5 sxc % Star/OpenOffice Calc.latex % LaTex Total Docs 445,890,596 Total All 4,997,330,596 En stor mängd Office dokument existerar 20 år gamla format Migrering till XML får inte minska på funktionaliteten Bibehållet innehåll Samma prestanda Bakåtkompatibilitet Innovation framöver
Vad är OpenXML? Introduktion Öppna filformat för ökad interoperabilitet Standardiseras av Ecma Kompakta och robusta filformat Komprimering med hjälp av ZIP Segmenterad lagring av data Bakåtkompatibla “Grundformat” för nya filer i Office 2007 Uppdateringar till tidigare versioner Verktyg för ”bulk”-migrering kommer
En fil för Office Ser ut som vilken fil som helst för Windows Intern representation Olika typer av data lagras som ZIP-komprimerade XML-komponenter Kan “zippas” upp Applikationer kan modifiera utan Office-applikationer Korrupta delar behöver inte förstöra filen Formaten Generell struktur “File Container” Egenskaper Kommentarer Grafer Kod, makron… Bilder, video, ljud… Skräddarsydd XML WordML / SpreadsheetML…
Dokumentformaten
En fil i WordprocessingML är en samling av under-dokument, ibland kallade berättelser - “stories” Huvudberättelsen Sid-huvud/fötter Notiser Underdokument Ramar Kommentarer Document body properties fontTable headers/footers images numberingDefinitions styles customXML footnotes/endnotes comments Formaten WordprocessingML
Formaten PresentationML Presentationer är naturligt strukturerade Presentationer innehåller ”slides” ”Slides” innehåller skepnader – ”shapes” ”Shapes” innehåller innehåll PowerPoint har valt att implementera för att optimera ”återvinningen” av ”slides”
För utvecklaren System.IO.Packaging En del av.NET Framework 3.0 Möjliggör manipulering av ”paket”, bla: ”Office Open XML File” formaten ”XML Paper Specification” filer Funktioner Skapa/öppna paket (“packages”) Skapa och radera delar och relationer Läsa och skriva del-strömmar Iterera genom samlingar av delar och relationer
Klassen “Package” Metoder för att skapa, numrera och radera entiteterna “Package” “Package Relationships” “PackageProperties” “Parts” “Package”-relationer Basegenskaper Gemensamma delar “Thumbnail” Digitala signaturer officeDocument XML-del Formatspecifika delar osv… Del-rel… XML-del Del-relationer För utvecklaren System.IO.Packaging
Klassen “Relationship” Binder samman delar Krävs för att hitta delar Iterera via typ eller ID RelationshipCollection Egenskaper ID och “package” “RelationshipType” SourceUri, TargetUri TargetMode För utvecklaren System.IO.Packaging “Package”-relationer Basegenskaper Gemensamma delar “Thumbnail” Digitala signaturer officeDocument XML-del Formatspecifika delar osv… Del-rel… XML-del Del-relationer
För utvecklaren System.IO.Packaging Klassen “PackagePart” Delarna består av data Data lagras i strömmar Har funktioner för att hantera relationer Egenskaper CompressionOption ContentType Package och Uri “Package”-relationer Basegenskaper Gemensamma delar “Thumbnail” Digitala signaturer officeDocument XML-del Formatspecifika delar osv… Del-rel… XML-del Del-relationer
Generera dokument
För utvecklaren Vad behöver du ha och kunna? Visual Studio 2005 och.NET Framework 3.0 System.IO.Packaging Åtkomst till delar och relationer i en fil Tar hand om all ZIP-funktionalitet XML DOM och XmlReader För att läsa och manipulera XML-delar XPATH För att navigera inne i dokumentets DOM
OpenXML och ODF Fördelar och nackdelar för ODF Snål specifikation Lättare att implementera Men risk för skillnader på grund av otydligheter Redan standardiserat Men ECMA är på gång! Använder ”mixed-content” Påminner om XHTML Utvecklare är vana vid strukturen Men det kräver mycket resurser att processa
OpenXML och ODF Fördelar och nackdelar för OpenXML Rik specifikation Formler och skräddarsydda scheman Men mycket omfattande att sätta sig in i Resurssnålt och snabbt Tack vare ”Non-mixed”-content modellen Men inte lika tydligt att följa Full funktionalitet i Office 2007 Och tidigare versioner av Office också!
Portal och “community” för att hjälpa utvecklare med öppna filformat För närvarande 40 företag och 500 medlemmar Kostnadsfritt Tillgängligt för alla som vill delta Uppmuntrar till utveckling på alla plattformar
Vad behöver din chef veta? OpenXML är på väg att standardiseras “Det kommer alltid finnas flera standards” De binära formaten har länge funnits tillgängliga OpenXML är grundformat för Office Tidigare versioner kommer att kunna hantera Robust, komprimerat, resurssnålt Öppnar för nya möjligheter Utveckla dokument-centrerade lösningar utan Office API’er
Vad kommer vi att prata om? Open XML – 30 minuter Vad är OpenXML Formaten För utvecklaren Annat smått och gott – 15 minuter LINQ Microsoft Ajax Library Expression XNA
var contacts = from c in customers where c.State == "WA" select new { c.Name, c.Phone }; var contacts = customers.Where(c => c.State == "WA").Select(c => new { c.Name, c.Phone }); “Extension methods” “Lambda” uttryck “Query expressions” Objekt- instansiering Anonyma typer Logisk typ instansiering Nyheter i nästa version av C#
”Atlas” och ”Web 2.0” Microsoft Ajax Library Klientfunktionalitet Klarar av ASP.NET, PHP, ColdFusion ASP.NET 2.0 Ajax Extensions Serverfunktionalitet ASP.NET Ajax Control Toolkit Tidigare ”Atlas” Control Toolkit
Expression Graphic Designer Vektor och pixelgrafik Expression Interactive Designer Interaktiv design av Windows applikationer Expression Web Designer Interaktiva webblösningar ”Visual Studio Extensions” – Cider Visuell designer av XAML Nya verktyg för designers
XNA Framework Plattform Basramverk Utbyggt ramverk Spel XACTXINPUTXContent Direct3D GrafikLjudInmatningMatematik Lagring Application Model“Content Pipeline” “Starter Kits” Kod“Content” Komponenter Legend XNA innehållerDu skapar “Community”
XNA Game Studio Express
Interaktion imorgon…
Avslutningsvis Vista och Office lanseras inom kort Förbered er redan idag!.NET Framework 3.0 (och 2.0) Finns redan på alla nya Vista installationer WCF, WPF, WF och CardSpaces Vad behöver du för hjälp? MSDN TV, MSDN Connection, MSDN Web
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.