I Microsoft Office 2007 system er de kendte binære dokumentetformater ”.doc”, ”.xls” og ”.ppt” udskiftet med et nyt dokumentformat – ECMA Office OpenXML (EOOXML). Det betyder, at udviklere får muligheden for selv at lave programmer, som laver office dokumenter uden at skulle ”igennem” Words, Excels eller Powerpoints API eller object-model.
En simpel beskrivelse af OpenXML formatet er, at det er ”en beholder”, som indeholder en række xml instanser (xml dokumenter). Dels er der xml instanser som indeholder information om præsentation, beregninger, billeder, tekst...osv. Dels er der en række xml instanser, som beskriver relationerne mellem de enkelte xml instanser. Det vil sige relationer, som f.eks beskriver hvordan et billede passer sammen med et stykke tekst.
”Beholderen” for Office 2007 er en zippakke. Et OpenXML dokument er derfor blot en zipfil med en række ”data”-xmldokumenter og et sæt tilhørende ”relations”-xmldokumenter.
Derfor er den første øvelse for en udvikler, som ønsker at komme til at kende OpenXML bedre, at få fat på et OpenXML dokument. Omdøbe filnavnet så der kommer en ”.zip” endelse på filnavnet og åbne zipakken i et dertil indrettet zipværktøj.
I denne guide findes links og artikler, som skal gøre det nemmere for en udvikler at komme i gang med at skabe OpenXML dokumenter.
Et sidste råd inden du kaster dig over OpenXML er: Start simpelt! – start med WordprocessingML – gå videre til SpreadsheetML og tag PresentationML til sidst dvs. Word-, Excel- og Powerpoint dokumenter.
I denne artikel introduceres begreberne, som kan være gode at have på plads inden man tager et kig på System.IO.Packaging, som er det namespace i .Net 3.0, som kan bruges til at arbejde med OpenXML via .Net.
Dette slidesæt giver et rigtig godt indblik i hvad OpenXML er og hvordan anatomien i et OpenXML dokument er.
Rigtig god første gangs- og overbliksartikel til OpenXML eksemplificeret med Word 2007.
Simpel Word dokument - ”Hello World” for OpenXML Wordprocessing.
Dansk webcast ved Pau Larsen om filstørrelsen i det nye format.
I denne cast skabes først et ”Hello World” Open XML dokument i Word 2007 og derefter laves det samme dokument i en winformsapplikation.
Microsoft Product Managers og evangelister diskuterer OpenXML.
Podcast – Jon Udell interviewer Brian Jones om historien bag xml i Microsoft Office.
Eter at have prøvet at ændre teksten i et Word dokument uden for Word, lavet Hello World i tekstdokumenter, lagt et ekstra slide til osv. begynder ambitionerne om at lave noget mere forretningsrelevat måske at trænge sig på. Dette kunne være at opdatere nyt firma logo i alle virksomhedens Word skabeloner, ændre beregninger for lagerbeholdning i alle regneark på firmaets intranet, opdatere Powerpoint slides med de seneste grafer med firmaets salg i sidste kvartal, måned, uge, dag...osv. For slet ikke at tale om brugen af Brugerdefineret XML – dvs egne forretningsdokumenter.
Følgende skal give nogle gode ressourcer til det lidt mere komplicerede omkring OpenXML og inspiratiuon til, hvordan man som udvikler kan få det lidt dybere kendskab til at arbejde med OpenXML ved hjælp af blandt andet .Net.
Artikel fra MSDN Magazine som viser tilblivelsen og centrale elementer af at arbejde med OpenXML fra kode.
Min artikel om hvordan custom xml mappes til en forudbestemt struktur – i dette tilfælde den offentlige eFaktura.
Artikel som giver et kort indblik i, hvordan custom xml og content controls kædes sammen.
Til de som har interesse i at komme under huden på den måde hvorpå OpenXML’s enkelt elementer er pakketeret kan der findes information om OPC (Open Packaging Convention) på disse links:
Writing a Package Sample
The Addressing Model of the Open Packaging Conventions
Mindjets MindMap Manager filer brugt I Word 2007 vha. OpenXML – denne cast giver et godt indtryk af, hvordan softwarevirksomheder kan udnytte OpenXML i deres applikationer. Der er en række gode betragtninger i dette cast – OpenXML applied.
Casts om OpenXML med Java.
Cast om Content Controls i Word 2007.
Cast som viser eksempler på, hvordan celleværdier i et regneark kan uddrages.
Cast som viser, hvordan man kan ændre metadata på et Word dokument i OpenXML.
Cast som viser, hvordan man kan få adgang til WorkSheets i et OpenXML regneark.
