OFFICE OPEN XML Überblick
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
OFFICE OPEN XML Überblick ECMA TC 45 Verfasser: Tom Ngo Die nachfolgenden Ausführungen basieren auf einem Whitepaper der ECMA, das in Teilen zusammengefasst und übersetzt wurde. 1 Einleitung Office Open XML (OpenXML) ist als offener Standard für Text verarbeitende Dokumente, Präsentationen und Tabellenkalkulationen vorgeschlagen worden, der frei auf unterschiedlichen Anwendungen und Plattformen implementiert werden kann. Die Veröffentlichung unterstützt Organisationen, welche ein Interesse daran haben mit ihren Applikationen das Format zu nutzen. Dies gilt auch für kommerzielle und Verwaltungsbereiche, die Software auf dieser Basis beschaffen, sowie Lehrer oder Autoren, die dieses Format unterrichten wollen. Grundsätzlich sollen alle Nutzer von einem offenen XML Standard für ihre Dokumente, in Bezug auf Stabilität, Kontinuität, Interoperabilität und fortlaufender Weiterentwicklung, profitieren. Die Standardisierungsarbeiten zu Open XML (OOXML) wurden über ECMA International im Technischen Committee 45 ausgeführt. Daran beteiligt waren Vertreter der folgenden Unternehmen und Organisationen: Apple, Barclays Capital, BP, The British Library, Essilor, Intel, Microsoft, NextPage, Novell, Statoil, Toshiba, und andere. Die nachfolgenden Ausführungen sollen OOXML dem Leser näher bringen. Dies beinhaltet: - Den Zweck von OOXML, sowie die Struktur der Spezifikation zu verstehen, - Wissen über die Eigenschaften von OOXML zu vermitteln, wie z.B. Rückwärts- Kompatibilität, Stabilität und Kontinuität, Erweiterungsfähigkeit, Benutzer spezifische Schemata, Plattformunterstützung, Internationalisierung, sowie Zugänglichkeit. - Verstehen, wie die Strukturen einer jeden OOXML-Datei aufgebaut sind. 2 Zweck des Standards OpenXML wurde von Anfang an zur präzisen Darstellung von vorhandenem Text in Dokumenten, Präsentationen und Tabellenkalkulationen, die im Binärformat von Microsoft vorlagen, entwickelt. Der Standardisierungsprozess beinhaltete die Spiegelung der existierenden Eigenschaften in XML, deren Erweiterung, die Dokumentation und die Sicherstellung der Interoperabilität. Allein in der Entwicklungszeit des Standards generierten über 400 Millionen Benutzer mehr als 40 Milliarden Dokumente im “alten” Binärformat. Jedes Jahr kommen weitere Milliarden dazu. Das originäre Binärformat wurde in einer Zeit erstellt, als Hardwareressourcen und –Leistungen dem Benutzer noch in einem unzureichenden Umfang zur Verfügung standen. Moderne Hardware, Netzwerke und Standardinfrastrukturen benutzen XML und fördern Implementierungen durch verschiedene Hersteller auf verschiedenen Plattformen. Diese technologischen Fortschritte führen zu einer „neuen“ Art von Applikationen, die über die herkömmliche Textverarbeitung deutlich hinausgehen. Zukünftig werden Applikationen automatisch Dokumente aus Geschäftsdaten generieren. Es werden Geschäftsdaten aus Dokumenten herausgezogen und Geschäftsanwendungen zur Weiterbearbeitung zur Verfügung gestellt. Es werden einzelnen Dokumentenbereiche editiert werden. Die Unterstützung für Behinderte muss gegeben sein. Die Lauffähigkeit auf diverser Hardware inklusive mobiler Geräte muss sichergestellt werden. Eine der zentralen Anforderungen
an derartige Standards wird es sein, die Langzeitkonservierung und damit die Verfügbarkeit der Daten sicherzustellen. Das Ziel muss sein, bestehende und zukünftige Daten unabhängig von den Applikationen zu machen, damit diese auch in 10 oder 20 Jahren noch ohne signifikante Verluste gelesen werden können. Die Standardisierung von OOXML soll sicherstellen, dass alle diese Rahmendingungen auch zukünftig eingehalten werden. Es existieren heute schon eine Reihe von Dokumentenstandards und Spezifikationen, wie HTML, XHTML, PDF, ODF, DocBook, DITA und RTF. Dazu noch diverse Standards, die Bitmaps berücksichtigen, wie TIFF/IT, TIFF/EP, JPEG 2000, PHG, u. a. Jeder dieser Standards wurde für bestimmte Anforderungen entwickelt. Der OOXML Standard adressiert die Notwendigkeit aus bestehenden Dokumenten jedwede Eigenschaft der Binärformate abzubilden und zu unterstützen. 3 Struktur des Standards OpenXML definiert Formate für Text verarbeitende Dokumente, Präsentationen und Tabellenkalkulationen. Jeder Dokumententyp ist spezifiziert durch eine primäre Auszeichnungssprache: WordprocessingML, PresentationML, oder SpreadsheetML. Eingebetete Mechanismen sorgen dafür, dass jeder Dokumententyp in seinem Sprachraum bleibt. Die Spezifikation beinhaltet zum einen die Unterlagen, die OOXML beschreiben und zum Anderen Informationen für den Leser, um das Verständnis zu vertiefen. Die Unterlagen sind folgendermaßen strukturiert: “Auszug: OPENXML Whitepaper ECMA” Part 1 – Grundlagen - Definition des Vokabulars sowie der Schreibweisen und Abkürzungen 165 Seiten - Zusammenfassung der drei primären Auszeichnungssprachen und der unterstützenden Auszeichnungssprachen - Festlegung der Konditionen für Konformität und Richtlinien für die Interoperabilität - Beschreibung der Randbedingungen der Open Packaging Conventions die auf die einzelnen Dokumententypen zutreffen Part 2 – Open Packaging - Definition der Open Packaging Conventions (OPC). Jede OpenXML Conventions Datei beinhaltet eine Ansammlung von Datenketten die als Bereiche 125 Seiten (parts) bezeichnet werden und in einem Packet zusammengefasst sind. Das Verpackungsformat wird von dem OPC bestimmt. - Beschreibung der empfohlenen physischen Implementierung des OPC unter Verwendung des ZIP Archive Formates - In einem Anhang der nur in digitalen Form herausgegeben wird, finden sich Beschreibungen des XML Schema für OPF in Form von XML Schemata Definitionen (XSD) (2). Dieser Anhang beinhaltet darüber hinaus nicht-normative Repräsentationen der Schemata unter Zuhilfenahme von RELAX NG (ISO/IEC 19757-2) (3). Part 3 – Primer - Einführung in die Eigenschaften der Auszeichnungssprachen, durch 466 Seiten Beispiele und Diagramme veranschaulicht. Dieser Teil ist rein informativ (nicht-normativ) - Beschreibt die Möglichkeit Kunden XML Daten innerhalb eines Paketes zu speichern, um die Integrierung von Business Daten zu unterstützen.
Part 4 – Referenzen der - Definition der einzelnen Elemente und Attribute, der Hierarchie von Auszeichnungssprachen Eltern-Kind-Verwandschaften der Elemente, und zusätzliche Semantik 5756 Seiten wenn soweit erforderlich. Dieser Part dient als Referenz um vollständige Details über ein Element oder ein Attribute zu finden. - Definition der Mittel um Kunden XML Daten zu speichern. - Digitaler Anhang, siehe Part2 Part 5 – Kompatibilität - Beschreibt die Möglichkeiten Open XML Dokumente zu erweitern. der Auszeichnungs- - Beschreibt spezifische Elemente und Attribute durch die sprachen und deren Anwendungen mit anderen Dateierweiterungen miteinander agieren Erweiterbarkeit können 34 Seiten - Erweiterungsregeln NVDL (ISO/IEC 19757-4) (4). Um das Lesen und Navigieren durch diese Dokumente zu vereinfachen, ist die elektronische Version mit aktiven Links versehen. Speziell Part 4 enthält Links zu den einzelnen Sprachelementen. 4 Eigenschaften des Standards Dieser Abschnitt soll auf den Umgang mit OOXML vorbereiten, insbesondere die übergreifenden Eigenschaften auf ihre Wirksamkeit verdeutlichen. Jeder Einzelabschnitt beschreibt die Eigenschaft und bezieht sich auf die speziellen Bereiche in OOXML. 1. “Interoperabilität” beschreibt, wie OOXML die Unabhängigkeit von proprietären Formaten, Funktionen und Laufzeitumgebung sicherstellt und Entwicklern damit viele Möglichkeiten eröffnet. 2. “Internationalisierung” bedeutet, in welcher Form und auf welchen Wegen OOXML jede Sprachegruppe unterstützt. 3. “Umfang der Entwickleranforderungen”, “Kompaktheit”, und “Modularität” beschreibt spezifische Hindernisse beim praktischen Umgang mit OOXML. 4. “Wiedergabetreue bei Migrationen” beschreibt, wie OOXML die Darstellung in der Baumstruktur des Dateiformates realisiert. 5. “Integration der Geschäftsdaten” beschreibt, wie OOXML Geschäftsinformationen in benutzerdefinierte Schemata integriert und den Informationsaustausch von Daten zwischen Geschäftsanwendungen und Informationssystemen. 6. “Raum für Innovationen” beschreibt, wie OOXML auf Erweiterungen vorbereitet ist, mit dem Ziel, die Interoperabilität zwischen Anwendungen mit unterschiedlichem Funktionsumfang zu ermöglichen. Die übrigen Bereiche des Dokumentes sind ein thematischer Führer durch OOXML. Verweise auf die Spezifikation erscheinen in der Form § Part:section.subsection; z. B. §1:2.5 verweist auf Part 1, Section 2.5 der Spezifikation. 4.1 Interoperabilität Entwickler können Anwendungen schreiben, die OOXML auf verschiedenen Plattformen verarbeiten und produzieren. Die Interoperabilität von OOXML wurde sichergestellt durch viele Beiträge, Modifikationen und Reviews der Spezifikation der Mitglieder des Ecma T45 Commitee, die unterschiedliche Anforderungen und unternehmensspezifischer Interessen vertraten. • Hersteller, Verkäufer (Apple, Intel, Microsoft, NextPage, Novell, and Toshiba) vertreten mit diversen Betriebssystemen (Linux, MacOS, und Windows), sowie unterschiedlichen Verwendungsanforderungen von OOXML • Unternehmen (BP, Barclays Capital, Essilor, Statoil) mit hohem Interesse am bestehenden Inhaltsdaten, inklusive geschäftskritischen Transaktionssystemen.
• The British Library und the United States Library of Congress, beide mit einem sehr starken Interesse an der “Datenerhaltung, -konservierung”. In der Vorbereitung, haben die Committee Mitglieder Hunderte von Punkten hinsichtlich Richtlinien, Eindeutigkeit, Semantik und möglichen Abhängigkeiten zur Systemumgebung aufgeworfen und geklärt. Nachfolgend sind die Bereiche aufgeführt, welche im Prozess behandelt worden sind: • Funktionen, die die Plattformunabhängigkeit unterstützen, welche im original Binärformat Proprietär (MS-spezifisch) gelöst waren • Konformitätsbedingungen • Schemainhalte • Alternative Darstellungen für Schemata und Erweiterungsmechanismen die RELAX NG (ISO/IEC 19757-2) und NVDL (ISO/IEC 19757-4) (4) nutzen • Entwicklungstools für die automatische Analyse und Visualisierung der Schemata • Internationalisierung • Vollständigkeit, Korrektheit und Klarheit der Beschreibungen in der Spezifikation. Vieles resultierte aus Teststellungen und Implementierungen Eine der zentralen Forderungen der Interoperabilität ist die vollständige Unabhängigkeit von jeglicher Art von Inhaltsquelle, z. B. • OOXML beinhaltet keine Beschränkung für Fotos, Audio oder Video Typen. Z.B. können Fotos auf Basis von GIF, PNG, TIFF, PICT, JPEG oder jedem anderen Fototyp (§1:14.2.12) eingebunden werden. • Eingebettete Bedienelemente können jeglichen Typ repräsentieren, auf Basis von Java oder ActiveX (§1:15.2.8). • WordprocessingML-Schriftspezifikationen können Schriftmaße und PANOSE Informationen enthalten, um eine Schriftart durch eine andere zu ersetzen, falls die Originalschriftart nicht verfügbar ist. Zusätzlich sollten OpenXML Abhängigkeiten der Laufzeitumgebung von der Anwendung, die ein Dokument produziert, vermieden werden. • Schutz vor Überschreiben oder Korrumpieren von Bildern, welche durch Screenshoots mit externen Applikationen erstellt wurden, die aber nicht in einer bestimmten Systemumgebung lauffähig sind. Diese Funktionalität war schon mit dem „alten“ Binärformat gegeben. • OOXML führt Mechanismen ein, “Alternate Content Block” (§3:2.18.4), die in unterschiedlichen Situationen genutzt werden können, in denen eine Anwendung nicht in der Lage ist, das Ergebnis einer anderen Anwendung zu interpretieren. Diese Funktion wird generell im Kontext von Erweiterungen genutzt. Der Mechanismus ist im Abschnitt „Raum für Innovationen“ beschrieben. • OOXML vermeidet jede Abhängigkeit von Parametern die bedeutsam für die Herstellerausstattung der Dokumente sind, aber nicht unbedingt für die Nutzerausstattung. Z. B. der parameter CT_SYSCOLOR ist ein Index in der Farbtabelle der Herstellerausstattung. Um die Übertragbarkeit in verschiedene Nutzerausstattung zu unterstützen, erlaubt es PresentationML dem Hersteller die Zwischenzuspeicherung der Systemfarbe für die Zeit, in der das Dokument erstellt wird, die benutzt wurde
Von besonderer Bedeutung ist die Konformität mit den offenen W3C Standards, wie z.B. XML und XML Namespaces. Hierdurch wird die Grundlage für die Interoperabilität über alle Plattformen und Betriebssysteme hinweg, die diese offenen Standards unterstützen, sichergestellt. 4.2 Internationalisierung OOXML liefert Sprachunterstützung für diverse Sprachen, wie z. B. Arabisch, Chinesisch (drei Dialekte), Hebräisch, Hindi, Japanisch, Koreanisch, Russisch und Türkisch. OOXML unterstützt von sich aus Unicode, weil dieser aus XML abgeleitet ist. Zusätzlich enthält OOXM noch ein umfangreiches Funktionsset zur Sprachunterstützung, welche sich im Laufe der Jahre gebildet hat. Z. B. Text orientation: OOXML unterstützt left-to-right (LTR) und right-to-left (RTL) Sprachen. Ebenso werden bidirektionale (“BiDi”) Sprachen, wie Arabisch, Farsi, Urdu, Hebräisch, und Yiddish unterstützt. 4.3 Entwicklerunterstützung Ein erfahrener Entwickler ist in der Lage nach einigen Stunden Spezifikationsstudium einfache OOXML konforme Anwendungen zu schreiben. Die Spezifikation beschreibt viele Funktionen, welche aber nicht alle bei der Applikationsentwicklung genutzt werden müssen. Das Konformitätsstatement (§1:2) beansprucht lediglich für den Konsumenten “not reject any conforming documents of the document type [that it expects]” und für den konformen Hersteller “be able to produce conforming documents” (§1:2.5). Es existieren ebenfalls “Interoperability Guidelines” zu den sprachlichen Elementen (§1:2.6). Eine OOXML konforme Anwendung kann auf wenige Funktionalitäten fokussiert sein. • Das Dateiformat ist konform zu etablierten Standards, wie XML und ZIP. • Das Dateiformat benutzt die Open Packaging Conventions, welche in Kombinationen von XML und ZIP durch Standardmechanismen Referenzen innerhalb von Dateien bilden. Dadurch können die Dateiinhalte oftmals ohne besondere Kenntnisse der gefunden werden. • Die Elemente im XML Baum sind auf jeder Ebene zugänglich und können so modifiziert werden, das andere Bereiche des Baum unangetastet bleiben. 4.4 Komprimierung, Kompaktheit des Formates Das OOXML Format unterstützt die Entwicklung leistungsstarker Anwendungen. In diesem Abschnitt werden einige Designbedingungen angesprochen, die zu einer kompakten Datei geführt haben, wie Verarbeitungsgeschwindigkeit und Syntaxanalyse. Im nächsten Abschnitt werden die Vorteile der modularen Dateistruktur für Anwendungen verdeutlicht, wenn nur kleine Dokumentbereiche analysiert oder modifiziert werden sollen. Eine OOXML Datei ist üblicherweise in einem ZIP Archiv wegen Paketierungsanforderungen und Kompressionsrate gespeichert. Die Datei genügt den Bedingungen der „Open Packaging Conventions“. Die Kompressionsraten der Dateien liegen zwischen 25 und 75% der bisherigen Binärdateien. • In SpreadsheetML werden wiederkehrende Zeichenketten in einer Tabelle im Workbook gespeichert und über einen Index referenziert. (§3:3.3). • In SpreadsheetML ist ein Formular, das heruntergefahren oder zwischen verschiedenen Zellen als „single master“ in einer linken Zelle gespeichert ist; die anderen Zellen der Füllungsanzeige werden durch einen Gruppenindex daraus verwiesen. (§ 3:3.2.9.2.) • In DrawingML, Rahmen (§4:5.1.12.56), Text Geometrien (§4:5.1.12.76), und andere Voreinstellungen (Verschiedene in §3:5.8, §3:5.9, and §4:5.1.12) werden über Namen oder Nummern anstatt ausführlicher Beschreibungen abgebildet.
OOXML ist entwickelt worden, um effiziente Implementierungen zu ermöglichen. Z. B. in SpreadsheetML werden in Tabellen nur “gefüllte” Zellen zusammen mit der Eigenschaft der Zellen zusammengefasst und als Einheit gespeichert. Die Einsparung, die die Verwendung dieser Technik nach sich zieht, ist signifikant für verteilte Arbeitsblätter. 4.5 Modularität Eine Anwendung kann viele Aufgaben, wie Syntaxanalyse oder Modifizierung in einem kleinen Dokumentbereich vornehmen. Drei Funktionen des OOXML Formates unterstützen diese Modularität von Haus aus. • Ein Dokument ist nicht monolithisch aufgebaut, sondern besteht aus diversen Bereichen. • Beziehungen zwischen den Bereichen werden wiederum in anderen Bereichen gespeichert. • Das ZIP Format unterstützt OOXML Dokumente und ermöglicht auch einen wahlfreien Zugriff auf jeden Bereich. Beispiele: • Eine Anwendung kann Folien von einer Präsentation in eine andere überführen. Hierbei werden die Bestandteile, wie Fotos und Layouts mitgezogen, ohne das der Inhalt analysiert wird (§3:13.3.8). Dieses Beispiel benutzt Daten, die als explizite Beziehungen bezeichnet werden, um die Folien und die Ressourcen dazu zu finden. Explizite Beziehungen sind in der Open Packaging Convention definiert und können bei der Satzanalyse ohne Kenntnis der PresentationML Tag Semantic angewendet werden (§1:9.2, §2:8.3). • Eine Anwendung kann alle Kommentare aus einem WordprocessingML Dokument extrahieren, ohne den Inhalt einer Satzanalyse zu unterziehen (§1:11.3.2). Dieses Beispiel benutzt implizite Beziehungen, um Kommentare zu finden. Implizite Beziehungen sind OOXML spezifisch und verlangt einige Kenntnisse über die relevante Auszeichnungssprache (§1:9.2). 4.6 Wiedergabetreue bei Migrationen OOXML wurde mit der Maßgabe entwickelt, alle Funktionalitäten der Binärformate Microsoft Office 97-2003 zu unterstützten. Dies wurde mit OOXML auch konsequent umgesetzt. Einige Formate, wie PDF sind dazu entwickelt worden dem Endbenutzer eine originalgetreue Abbildung des fertigen Dokumentes zu liefern. In Gegensatz dazu soll OOXML auf demselben Abstraktionsniveau, dem Autor helfen, zukünftige Manipulationen zu vermeiden. Es gibt eine Reihe von Funktionen, die möglicherweise durch den Autor geschützt werden sollen, z.B. die Konvertierung einer Vektorgrafik in ein Bitmap oder die Verwendung von Zwischenergebnissen bei Berechnungen, inklusive Fehlercodes oder Regeln für dynamische Ansichten. All diese Funktionen stehen exemplarisch für die Fähigkeit von OOXML Teilaspekte der Binärformate, welche schon in den Binärformaten vorhanden waren, zu unterstützen. • Die SpreadsheetML Beschreibung beinhaltet eine ausführliche Formel Spezifikation (§4:3.17.7). • Die WordprocessingML Beschreibung spezifiziert die Regeln unter denen Abschnitte, Schriftzeichen, Nummerierungen und Tabelleneigenschaften bei der direkten Formatierung benutzt werden (§3:2.8, insbesondere §3:2.8.10). • Die PresentationML Spezifikation beschreibt Animationsfunktionen (§3:4.4). OOXML ist bestrebt Lösungen für verschiedene Implementierungen anzubieten, allerdings konnten nicht alle Details beachtet werden. Dies ist besonders bei der numerischen Berechnung von Layouts, animierten Darstellungen von 3-D Objekten und der formelgestützten Berechnung zu beachten. Die
Forderung nach höherer Konsistenz hätte auch höhere Implementierungsbarrieren zur Folge gehabt, die die Entwickler hätten überwinden müssen. Diese Erläuterungen sollen die Entscheidungen verdeutlichen, die im Technischen Committee T45 in diesem Zusammenhang getroffen wurden. Eine Reihe älterer Funktionen, wie VML (§3:6), sind aus Rückwärts-Kompatibilitätsgründen in OOXML enthalten. Die Benutzung neuerer Standards, wie z. B. DrawingML (§3:5), sind für die Erstellung neuerer Dokumente eingefügt worden. 4.7 Integration der Geschäftsdaten OOXML befähigt Organisationen, ihre Produktivitätsanwendungen mit Informationssystemen zu koppeln, welche Geschäftsprozesse managen, durch die Benutzung kundenspezifischer Schemata in OOXML Dokumenten. Die Ziele der Organisationen können durch diesen Ansatz, Daten wieder verwendbar und automatisch in Dokumenten zur Verfügung zu stellen, transparent unterstützt werden. Viele Geschäftsanwendungen können derzeit nur begrenzt innerhalb von Dokumenten agieren, z.B. Lesen oder Schreiben. Die exemplarischen Anforderungen an heutige Anwendungen beinhalten: • Search: Ein Benutzer kann über diverse Kalkulationsblätter hinweg Unternehmen suchen, welche z.B. 20% Marge haben. • Metadata tagging: Ein Unternehmen möchte eine Zusammenstellung der Präsentationen erhalten, welche nach vorher definierten Regeln erstellt worden sind. • Document assembly: Eine Angebote erstellende Gruppe, kann rationell Angebote erstellen, indem die dem Angebot zugrunde liegenden Daten automatisiert aufbereitet werden. • Data reuse: Ein Verkaufsverantwortlicher kann Berichte über alle Verkaufabschlüsse, die eine definierte Marge, bestimmte Kundengruppen oder einen bestimmten Abschlußumfang beinhalten, generieren. • Line-of-business applications: Experten können ihre Ergebnisse direkt den Geschäftsanwendungen übergeben. Um diesen Anforderungen zu genügen, werden die Strukturen und Datentypen, die in bestimmten Dokumenten enthalten sein sollen, definiert, damit die gewünschten Informationen, wo auch immer benötigt, im Workflow Dokumenten spezifisch zur Verfügung stehen. Dies berücksichtigt auch einfache Ergebnisberichte. Eine Person kann die Datenstruktur definieren, die z.B. Felder wie Name, Telefonnummer, Adresse, berufliche Qualifikationen, etc. enthalten kann. Ein Anderer sorgt dafür, dass diese Informationen, wo auch immer benötigt, dann in den Dokumenten zur Verfügung stehen. Natürlich haben unterschiedliche Geschäftsprozesse und Geschäftsbereiche unterschiedliche Anforderungen an die Datenstrukturen und Datenfelder. OOXML erlaubt es, derartige Prozesse mit unterschiedlichen Anforderungen, immer in dergleichen Art und Weise aufzusetzen. Organisationen können in diesem Zusammenhang, durch die Industrie standardisierte Schemata, wie XBRL für Finanzberichte oder HL7 für Arztinformationen im Gesundheitswesen nutzen. Erstens: Schemata, die im Public Sektor, in Unternehmen, oder als Industriestandards verwendet werden, können in entsprechende Prozesse eingebunden werden, wie z.B. die Verwendung einer Geburtsurkunde für Versicherungszwecke. Jedes andere Schema ist einbindbar, solange es der XSD Form genügt. Zweitens: Kundendaten werden in jedem OOXML Dokument in einen Kunden XML Bereich (§3.7.3) eingebettet und können über den Bereich Kunden XML Dateneigenschaften beschrieben werden (§4:7.5). 4.8 Raum für Innovationen
OOXML soll Entwickler ermutigen neue Anwendungen zu entwickeln, die Dateiformatunabhängig sind. Über die Erweiterung der Mechanismen wurden im technischen Committee intensive Diskussionen geführt, die die Interoperabilität zwischen Anwendungen mit unterschiedlichem Funktionsumfang ermöglichen sollen. Dies betrifft auch Anwendungen (up-level), welche z.B. Funktionen nutzen, die nicht in OOXML enthalten sind, aber mit Anwendungen (down-level) zusammenarbeiten müssen, die diese Funktionen nicht beinhalten. Die primären Ziele im Umgang mit derartigen Erweiterungen sind: • Visual fidelity: Die Fähigkeit von down-level Anwendungen, das sichtbar zu machen, was von up-level Anwendungen sichtbar gemacht wird. Dies setzt zwingend voraus, dass in einer Datei unterschiedliche Repräsentationen derselben Daten gespeichert werden können. • Privacy: Die Fähigkeit sicherzustellen, dass alte Datenbestände nicht auf andere Datenbestände verweisen und während des Editierens anwenderbezogene Informationen herausgegeben werden, die den Benutzer in die Irre führen (Änderungsmeldungen oder Meldungen über Löschungen). Eine Anwendung kann dies über Löschprozeduren oder Synchronisieren der Datenbestände sicherstellen. Entwickler haben zwei Optionen um OOXML zu erweitern: • Alternative content block: Ein alternativer Inhaltsblock (§3:2.18.4 and §5:9.2) speichert verschiedene Datenbestände, die denselben Inhalt ausweisen. Jeder Inhalt wird in einem eigenen “Entscheidungs- oder Fallblock” gespeichert. Down-level Anwendungen lesen die Bereiche aus, die sie lesen können. Beim Schreibvorgang werden alle Blöcke beschrieben, die beschreibbar sind. • Extension lists: Eine Erweiterungsliste (§3:2.6) speichert beliebiges Kundenspezifisches XML ohne Visualisierungsdaten. Für Entwickler bestehend darüber hinaus weitere Möglichkeiten: • Alternative interaction paradigms: OOXML spezifiziert naturgemäß mehr die Dokumenten Syntax als das Anwendungsverhalten. Wie schon unter dem Punkt Konformität (Conformance statement) beschrieben, konzentriert OOXML sich auf die Semantik (§1:2.2, §1.2.3). Konsequenterweise, kann eine konforme Anwendung auf unterschiedlichen Wegen mit einem Anwender kommunizieren oder auch nicht, solange sie die spezifizierte Semantik benutzt. • Novel computing environments: Das Konformitätsstatement berücksichtigt Anwendungen, die geringe Kapazitäten benötigen, um z. B. auf mobilen Geräten lauffähig zu sein, und auch Anwendungen, die nur einen Teilbereich von OOXML benutzen (§1:2.6). Zusätzliche Mechanismen erlauben Anwendungen, ihre Kapazitätsgrenzen den Systemen mitzuteilen (§3:8.1). Wie im vorherigen Abschnitt dargestellt, beinhalten die wesentlichen Möglichkeiten für Innovationen nicht, die Dokumentendarstellung, sondern beziehen sich vielmehr auf die Maschine- zu-Maschine Kommunikation, unter besonderer Berücksichtigung der XML Nachrichtenformate, wie z.B. XML Web Services. Hierzu sind die folgende Abschnitte von Bedeutung: §1:2.4, §1:2.5 und §1:2.6. Da nicht alle Benutzerszenarien im Umfeld Kundenspezifischer XML Prozesse aufgeführt werden können, sollen hier nur die wichtigsten XML-spezifischen Services wie XML Digital Signature, XML Encryption, oder XSLT Transformationen angesprochen werden. OOXML enthält keinerlei Restriktionen gegenüber implementierten Prozessen, die derartige Services nutzen.
5 Struktur eines Office Open XML Dokumentes Eines der Hauptziele dieses Whitepapers ist es, den Leser mit der übergreifenden Struktur eines jeden OpenXML Dokumentes vertraut zu machen. Um dies zu erreichen, werden die Einzelheiten des Open Packaging Conventions (OPC) im angemessenen Umfang beschrieben, wobei nur im geringeren Umfang auf die einzelnen Auszeichnungssprachen eingegangen wird. 5.1 Open Packaging Conventions Die Open Packaging Conventions (OPC) ermöglicht es verschiedene Inhaltskomponenten (z.B. XML, Bilder und Metadaten) in einem Paket zusammenzufassen, wie zum Beispiel als ZIP Archiv, um ein Dokument lückenlos wiederzugeben. Sie beschreiben ein logisches Model zur Wiedergabe von Inhalten und Beziehungen. Die empfohlene Implementierung von OPC verwendet das ZIP Archive Format. Die Struktur eines jeden OpenXML Dokumentes kann mit Hilfe eines ZIP Programms sichtbar gemacht werden. Zum besseren Verständnis ist es hilfreich sich den Inhalt eines kleinen Open XML Dokumentes auf diese Weise anzusehen, während Sie diese Erläuterung lesen. Unter Windows muss man lediglich die Erweiterung „.zip“ dem Dateinamen hinzufügen und diese Datei dann öffnen. Logischerweise ist jedes OpenXML Dokument ein OPC Paket (§5:8). Ein Paket ist eine gleichberechtigte Ansammlung der einzelnen Bereiche (§5:8.1). Jeder Bereich besitzt einen case- insensitve Bereichsnamen welcher sich aus den durch einen Slash abgegrenzten Abschnittsnamen zusammensetzt, wie zum Beispiel „/pres/slides/slide1.xml” (§5:8.1.1). Jeder Bereich besitzt darüber hinaus einen Content-Type (§5:8.1.2). Physisch gesehen, ist ein ZIP Archive genau ein Paket, in dem jede ZIP-Position einen Bereich darstellt, deren Pfadnamen innerhalb des ZIP Archivs direkt den einzelnen Abschnittsnamen entsprechen. Die ZIP Implementierung „/[Content_Types].xml” erlaubt dem Benutzer den Inhalt jedes einzelnen Bereich des Paketes zu bestimmen (§2:9.2.6). Die Syntax und Definition der Medien Typen folgt Abschnitt 3.7 des RFC 2616 (13). Pakete und Bereiche können sowohl explizite Beziehungen (§1:9.2) zu anderen Bereichen innerhalb des Paketes umfassen, wie auch Referenzen zu externen Ressourcen. Jede explizite Beziehung besitzt zusätzlich einen Relationship ID, die es dem Inhalt des Bereichs erlaubt darauf zu verweisen; und eine Type, die Anwendungen hilft, die gewählte Datei zu verarbeiten. Beziehungen werden unter Zuhilfenahme von URIs benannt, wodurch selbst nicht koordinierte Gruppen problemlos und konfliktfrei neue Types erstellen können. Der Satz aller expliziten Beziehungen eines gegebenen Paketes oder Bereichs wird in dem Referenzbereich gespeichert. Der Referenzbereich eines gesamten Paketes ist durch „/_rels/.rels” gekennzeichnet, sodass der Referenzbereich für den Bereich „/a/b/c.xml” durch „/a/b/_rels/c.xml.rels” gekennzeichnet ist. Die Referenzbereiche (und, in der ZIP Implementierung, die Content-Type Bereiche) sind die einzigen spezifisch benannten Bereiche in einem Paket. Um ein Paket zu öffnen muss eine Anwendung die paketspezifischen Beziehungsbereiche analysieren und den entsprechenden Referenzen der Typen folgen. Alle anderen Bereiche eines OOXML setzen sich aus OpenXML, Kunden XML, sowie Inhalte verschiedener Types, wie zum Beispiel Multimedia Objekte, zusammen. Die Möglichkeit, in einem Bereich Kunden XML einzubauen, ist ein besonders ausgefeiltes System, um Business Daten und Metadaten mit einzubinden. 5.2 WordprecessingML Ein WordprocessingML Dokument setzt sich aus verschiedenen Ebenen (§3:2.1) zusammen. Jede Ebene ist eines der folgenden Bestandteile: das Hauptdokument (§3:2.2), das Glossar (§3:2.13),
einem Subdokument (§3:2.18.2), einer Kopfzeile (§3:2.11.1), einer Fußzeile (§3:2.11.2), ein Kommentar (§3:2.14.5), der Frame, einer Textbox (§3:2.18.1), eine Fußnote (§3:2.12.1), oder eine Endnote (§3:2.12.2). Die einzig wirklich erforderliche Ebene ist das Hauptdokument. Es ist das Ziel der Paketsreferenz, dessen Inhalt lautet: http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument Ein typischer Pfad von der Wurzel eines XML Baumes bis zum einem Blatt, würde sich aus den folgenden XML Elementen zusammensetzen (§3:2.2) • document – Das Basiselement des Hauptdokumentes (§3:2.3). • body – der Aufbau (§3:2.7.1) kann mehrere verschiedene Paragraphen enthalten und darüber hinaus Absatzeigenschaften die in sectPr Elementen festgehalten werden. • p – Der Paragraph (§3:2.4.1) kann eine oder mehrere Runs enthalten und darüber hinaus auch Paragrapheneigenschaften die in pPr Elementen festgelegt sind, welche wiederum Standardeinstellungen für Eigenschaften der Runs (werden auch als Zeicheneigenschaften bezeichnet) enthalten und bestimmt werden durch rPr Elemente (§3:2.4.4). • r – Ein Run (§3:2.4.2) kann verschieden Run-Inhalte aufweisen die primär aus Textbereichen bestehen. Ein Run ist ein elementares Konzept innerhalb von OpenXML. Ein Run ist ein zusammenhängender Wortbaustein mit identischen Eigenschaften, welcher keine weiteren Auszeichnungen aufweist. Zum Beispiel, wenn ein Satz die Sequenz „this is three runs“ beinhaltet, dann würde es durch mindestens drei Runs dargestellt werden: „this is“, „three“und „runs“. In dieser Hinsicht unterscheidet sich OpenXML signifikant von anderen Formaten, die eine beliebige Versschachtelung von Eigenschaften zulassen, wie z.B. HTML. • t – Textbereiche (§3:2.4.3.1) können einen beliebig langen Text ohne Formatierung bzw. Non-Textelemente beinhalten. Die Formatierung des Textes wird durch die Eigenschaften der Runs sowie der Paragrapheneigenschaften weitergegeben. Dieses Element verwendet oft Attribut xml:space=“preserve“ In diesem Abschnitt wurde die direkte Formatierung von Text durch das Spezifizieren von Run- und Paragrapheneigenschaften erläutert. Direkt Formatierungen schließt sich den Anwendungen an durch die Zeichensätze, Paragraphen, Nummerierungen, Tabellenformatierungen und auch Standardeinstellungen gegeben werden (§3:2.8.10). Diese Stile bzw. Formate werden dann in Hinterlassenschaftsarchiven zusammengefasst. Der unten stehende Abschnitt „Minimal WordprocessingML Document” führt ein komplettes WordprocessingML Dokument auf. 5.3 PresentationML Ein PresentationML Dokument wird durch einen Präsentationsbereich beschrieben. Der Präsentationsbereich ist das Ziel der der Paketsreferenz, dessen Inhalt lautet: http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument Die Präsentation nimmt Bezug auf diese primären Konstruktionsbauteile (§3:4.2), die im nachfolgenden in einer Top-Bottom-Hierarchie aufgeführt sind: • Folienmaster, Notizenmaster, und Handzettelmaster (§3:4.2.2), die alle Eigenschaften der Präsentation weitergeben
• Folienlayout (§3:4.2.5), welches die Eigenschaften des Folienmasters übernimmt • Folien (§3:4.2.3) und Notizen (§3:4.2.4), welche jeweilig die Eigenschaften des Folienlayouts und des Notizenmaster übernehmen Die jeweiligen Master, Layouts und Folien werden in Ihren eigenen Bereichen gespeichert. Der Name eines jeden Bereiches wird durch den Referenzbereich der Präsentation festgelegt. Alle sechs Elemente der Präsentation werden auf die gleiche Weise strukturiert. Ein typischer Pfad von der Wurzel eines XML Baumes bis zum einem Blatt, würde sich aus den folgenden XML Elementen zusammensetzen (§3:2.2): • sld, sldLayout, sldMaster, notes, notesMaster oder handoutMaster – die Basiselemente • cSld – Folie (§4:4.4.1.15) kann DrawingML Elemente und andere Strukturelemente enthalten (siehe unten) • spTree – shape tree (§4:4.4.1.42) beinhaltet Formeneigenschaften von Gruppen in grpSpPr Elementen (§4:4.4.1.20) sowie nicht visuelle Formeneigenschaften von Gruppen in nvGrpSpPr Elementen (§4:4.4.1.28). Dieser Punkt und alle seine Verzweigungen sind DrawingML Elemente. Einige DrawingML Elemente werden hier aufgelistet um ihre ausschlaggebende Rolle in der PresentationML zu verdeutlichen. • sp – shape (§4:4.4.1.40) enthält Eigenschaften der Form in spPr Elementen (§4:4.4.1.41) sowie nicht visuelle Formen Eigenschaften in nvSpPr Elementen (§4:4.4.1.31). Zusätzlich zu DrawingML Formeninhalten können cSlD andere strukturelle Elemente enthalten, abhängig von den Basiselementen, die gegeben sind. Eine Zusammenfassung findet sich in folgender Tabelle: Slide Slide Slide Handout Notes Notes Layout Master Master Master page Common Data X X X X X X Transition X X X Timing X X X Headers and X X X X Footers Matching Name X Layout Type X Preserve X X Layout List X Text Style X Eigenschaften bestimmt durch Objekte, die in der Standardhierarchie niedriger eingestuft sind (z.B. Folienmaster, Folienlayout, Folien), überschreiben die Eigenschaften von hierarchisch höher angesiedelten Objekten. Zum Beispiel, wenn der Folienübergang nicht in der Folie selbst festgelegt ist, wird diese Information dem Folienlayout entnommen. Sollte es dort auch nicht spezifisch festgelegt sein, wird auf den Folienmaster zurückgegriffen. 5.4 SpreadsheetML Ein SpreadsheetML Dokument wird durch den Arbeitsmappenbereich beschrieben. Dieser wiederum ist das Ziel der Paketreferenz, dessen Inhalt lautet: http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument
Der Arbeitsmappenbereich speichert Information über das Arbeitsbuch und seine Struktur, wie z.B. die Dateiversion, die zugehörige Anwendung, und Passwörter. Logischerweise beinhaltet eine Arbeitsmappe mehrere Blätter (§3:3.2); physisch gesehen, wird jedes Blatt seinen eigenen Bereich zugewiesen und wird auf die bekannte Weise durch Referenzen an den Arbeitsmappenbereich gekoppelt. Die Blätter können Worksheets, Graphen oder Dialogsheets sein. Hier werden nur die weitverbreiteten Worksheets betrachtet. Innerhalb eines Worksheet ist ein typischer Pfad von der Wurzel eines XML Baumes bis zum Blatt, durch die folgenden XML Elementen beschrieben: • worksheet – das Basiselement eines Arbeitsblattes (§3:3.2) • sheetData – die Zellentabelle, welche alle nicht leeren Zellen des Worksheets repräsentiert (§3:3.2.4) • row – eine Zellenreihe in der Zellentabelle (§3:2.8) • c – eine Zelle (§3:3.2.9). Das Attribut r zeigt die Position der Zelle an unter Zuhilfenahme der A1-style Koordinaten. Die Zelle kann darüber hinaus auch einen Style-Identifizierung (Attribute s) sowie eine Datentypisierung (Attribute t) enthalten. • v und f – die Werte (§3:3.2.9.1) und optionale Formeln (§3:3.2.9.2) in den Zellen. Wenn die Zelle durch eine Formel belegt ist, ist der Wert das Ergebnis der letzten Kalkulation. Strings und Formeln werden in den gleich Tabellen gespeichert (§3:3.3 and §3:3.2.9.2.1) um redundant-storage-Probleme sowie speed loads/saves zu vermeiden. 5.5 Unterstützte Auszeichnungssprachen Etliche unterstütze Auszeichnungssprachen können verwendet werden, um den Inhalt von OpenXML Dokumenten zu beschreiben. • DrawingML (§3:5) – wird benutzt, um Formen und andere graphische Elemente innerhalb eines Dokumentes wiederzugeben. • VML (§3:6) – ein Format für Vektorgraphiken, welches integriert wurde um Backwards- Kompatibilität zu gewähren. Diese Format wird letztendlich durch DrawingML -ersatz werden • Shared MLs: Mathematik (§3:7.1), Metadaten (§3:7.2), Kunden XML (§3:7.3), und Bibliografie (§3:7.4). 5.6 Minimal WordprocessingML Dokument Dieser Abschnitt enthält eine minimale WordprocessingML Dokument das drei Teile enthält. Der Content-Type Bereich „/[Content_Types].xml” beschreibt die Content Types von zwei weiteren erforderlichen Bereichen. Der Paketreferenz „/_rels/.rels” beschreibt die Beziehung zwischen dem Paket und dem Hauptdokumentbereich.
Der Dokumentenbereich, hier „document.xml”, enthält den Dokumenteninhalt. Diese Spezifikation liefert ein minimales Dokument und weitere Details für WordprocessingML (§1:11.2), PresentationML (§1:13.2), und SpreadsheetML (§1:12.2). 6 Zusammenfassung OpenXML ist das Ergebnis beachtlicher Anstrengungen von Vertretern vieler Industriezweige und öffentlicher Einrichtungen mit unterschiedlichen Hintergründen und organisationsspezifischen Interessen. Es umfasst nicht nur alle Merkmale die auch in diesem Dokumentenkorpus verwendet wurden, sondern entspricht auch den Anforderungen der Internationalisierung die allen großen Sprachräumen Weltweit innewohnen. Die Standardisierungsarbeit der Ecma TC45 (1) und die Beiträge eingereicht in öffentlichen Stellungnahmen habe es ermöglicht ein großes Maß an Interoperabilität und Plattformunabhängigkeit zu erreichen; und die OpenXML Dokumentation wurde komplettiert (durch umfassendes Referenzmaterial) und zugänglich gemacht (durch nicht- normative Beschreibung). Es beinhaltet darüber hinaus genug Informationen damit unterstützende Anwendungen Dokumente korrekt verarbeiten können. OpenXML Implementierungen können sehr klein sein und gezielte Funktionalität liefern oder alle Features beinhalten. Im Format enthaltene Erweiterungsmechanismen garantieren weiteren Raum für Innovationen. Die Standardisierung der Formatspezifikationen und deren Erhaltung stellen sicher, dass verschiedensten Gruppen sich auf den Standard verlassen können und darauf vertrauen können, dass weitere Entwicklungen dem Kontroll- und Balancesystem eines Open-Standard-Prozesses entsprechen. Es besteht das zwingende Bedürfnis nach einen offenen Dokumentenstandart, der nicht nur die Billionen von bereits erstellten Dokumenten in Binärformat sichern kann, sondern auch die Billionen, die über die Jahre noch entstehen werden. Dies wird ermöglicht durch technologische Fortschritte in der Hardware, im Networking und in der Standart-basierten Softwareinfrastruktur. Die explosive Diversifizierung der Marktnachfrage, einschließlich der gewichtigsten bestehenden Investitionen in wichtige Business Systeme, lassen den Dokumentenstandard essentiell werden. 7 Referenzen 1. Ecma international. TC45 - Office Open XML Formats. Ecma International. [Online] http://www.ecma-international.org/memento/TC45.htm. 2. W3C. XML Schema. World Wide Web Consortium. [Online] http://www.w3.org/XML/Schema. 3. ISO. ISO/IEC 19757-2:2003. International Organization for Standardization. [Online] http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=37605&ICS1=35&ICS 2=240&ICS3=30.
4. ISO. ISO/IEC 19757-4:2006. International Organization for Standardization. [Online] http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=38615&ICS1=35&ICS 2=240&ICS3=30. 5. W3C. Extensible Markup Language (XML) 1.0 (Fourth Edition). World Wide Web Consortium. [Online] 2006. http://www.w3.org/TR/2006/REC-xml-20060816/. 6. W3C. Namespaces in XML 1.0 (Second Edition). World Wide Web Consortium. [Online] 2006. http://www.w3.org/TR/2006/REC-xml-names-20060816/. 7. XBRL International. XBRL Specifications. Extensible Business Reporting Language. [Online] http://www.xbrl.org/Specifications/. 8. Health Level Seven. HL7 ANSI-Approved Standards. Health Level Seven. [Online] http://www.hl7.org/about/directories.cfm?framepage=/documentcenter/public/faq/ansi_approved.ht m. 9. W3C. W3C Web Services Architecture. World Wide Web Consortium. [Online] 2002. http://www.w3.org/2002/ws/. 10. W3C. W3C XML Signature. World Wide Web Consortium. [Online] http://www.w3.org/Signature/. 11. W3C. W3C XML Encryption. World Wide Web Consortium. [Online] 2001. http://www.w3.org/Encryption/2001/. 12. W3C. XSL and XSLT. World Wide Web Consortium. [Online] http://www.w3.org/Style/XSL/. 13. W3C. Hypertext Transfer Protocol -- HTTP/1.1. World Wide Web Consortium. [Online] http://www.w3.org/Protocols/rfc2616/rfc2616.html.
Sie können auch lesen