Formáty souborů XML Open Office - Office Open XML file formats
| Office Open XML |
|---|
| Přípona názvu souboru |
.docx, .docm
|
|---|---|
| Typ internetového média |
aplikace/vnd, openxmlformats- officedocument, wordprocessingml, dokument |
| Vyvinuto | Microsoft , Ecma , ISO / IEC |
| Typ formátu | Formát souboru dokumentu |
| Rozšířeno z | XML , DOC , WordProcessingML |
| Standard | ECMA-376, ISO/IEC 29500 |
| webová stránka | ECMA-376 , ISO/IEC 29500: 2008 |
| Přípona názvu souboru |
.pptx, .pptm |
|---|---|
| Typ internetového média |
application/vnd, openxmlformats-officedocument, presentationml, presentation |
| Vyvinuto | Microsoft , Ecma , ISO / IEC |
| Typ formátu | Prezentace |
| Rozšířeno z | XML , PPT |
| Standard | ECMA-376, ISO/IEC 29500 |
| webová stránka | ECMA-376 , ISO/IEC 29500: 2008 |
| Přípona názvu souboru |
.xlsx, .xlsm |
|---|---|
| Typ internetového média |
application/vnd, openxmlformats-officedocument, spreadsheetml, sheet |
| Vyvinuto | Microsoft , Ecma , ISO / IEC |
| Typ formátu | Tabulkový procesor |
| Rozšířeno z | XML , XLS , SpreadsheetML |
| Standard | ECMA-376, ISO/IEC 29500 |
| webová stránka | ECMA-376 , ISO/IEC 29500: 2008 |
Tyto formáty souborů Office Open XML jsou sady souborových formátů , které mohou být použity k reprezentaci elektronických kancelářských dokumentů. Existují formáty dokumentů pro zpracování textu , tabulek a prezentací a také specifické formáty materiálů, jako jsou matematické vzorce, grafika, bibliografie atd.
Formáty byly vyvinuty společností Microsoft a poprvé se objevily v aplikaci Microsoft Office 2007 . Byly standardizovány v období od prosince 2006 do listopadu 2008, nejprve konsorciem Ecma International , kde se staly ECMA-376, a následně, po svárném procesu normalizace , společným technickým výborem ISO/IEC 1, kde se staly ISO/IEC 29500 : 2008.
Kontejner
Office Open XML dokumenty jsou uloženy v balíčcích Open Packaging Conventions (OPC), což jsou soubory ZIP obsahující XML a další datové soubory, spolu se specifikací vztahů mezi nimi. V závislosti na typu dokumentu mají balíčky různé vnitřní adresářové struktury a názvy. Aplikace použije soubory vztahů k vyhledání jednotlivých sekcí (souborů), přičemž každý má doprovodná metadata, zejména metadata MIME .
Základní balíček obsahuje v kořenovém adresáři soubor XML s názvem [Content_Types] .xml spolu se třemi adresáři: _rels , docProps a adresářem specifickým pro typ dokumentu (například v balíčku pro zpracování textu ve formátu .docx by existoval adresář slov ). Adresář aplikace Word obsahuje soubor document.xml, který je základním obsahem dokumentu.
- [Content_Types] .xml
- Tento soubor poskytoval informace o typu MIME pro části balíčku s použitím výchozích hodnot pro určité přípony souborů a přepsání pro části určené IRI .
- _rels
- Tento adresář obsahuje vztahy pro soubory v balíčku. Chcete -li najít vztahy pro konkrétní soubor, vyhledejte adresář _rels, který je sourozencem souboru, a poté soubor, který má původní název souboru s připojeným .rels . Pokud by například soubor typů obsahu měl nějaké vztahy, v adresáři _rels by byl soubor s názvem [Content_Types] .xml.rels .
- _rels/.rels
- V tomto souboru se nacházejí vztahy mezi balíčky. Zde se nejprve podívejte na aplikace. Při prohlížení v textovém editoru uvidíte, jak je nastíněn každý vztah pro danou sekci. V minimálním dokumentu, který obsahuje pouze základní soubor document.xml , jsou podrobnými vztahy metadata a document.xml .
- docProps/core.xml
- Tento soubor obsahuje základní vlastnosti pro jakýkoli dokument Office Open XML.
- slovo/dokument.xml
- Tento soubor je hlavní částí jakéhokoli dokumentu aplikace Word.
Vztahy
Příklad souboru vztahů ( word/_rels/document.xml.rels ) je:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Relationships
xmlns="http://schemas.microsoft.com/package/2005/06/relationships">
<Relationship Id="rId1"
Type="http://schemas.microsoft.com/office/2006/relationships/image"
Target="http://en.wikipedia.org/images/wiki-en.png"
TargetMode="External" />
<Relationship Id="rId2"
Type="http://schemas.microsoft.com/office/2006/relationships/hyperlink"
Target="http://www.wikipedia.org"
TargetMode="External" />
</Relationships>
Obrázky, na které se v dokumentu odkazuje, lze jako takové nalézt v souboru vztahů vyhledáním všech vztahů typu http://schemas.microsoft.com/office/2006/relationships/image. Chcete -li změnit použitý obrázek, upravte vztah.
Následující kód ukazuje příklad vloženého označení pro hypertextový odkaz :
<w:hyperlink r:id="rId2" w:history="1"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
V tomto příkladu je Uniform Resource Locator (URL) v atributu Target vztahu, na který odkazuje ID relace, v tomto případě „rId2“. Na propojené obrázky, šablony a další položky se odkazuje stejným způsobem.
Obrázky lze vložit nebo propojit pomocí značky:
<v:imagedata w:rel="rId1" o:title="example" />
Toto je odkaz na soubor obrázku. Všechny reference jsou spravovány prostřednictvím vztahů. Například document.xml má vztah k obrázku. Ve stejném adresáři jako document.xml je adresář _rels, uvnitř _rels je soubor s názvem document.xml.rels. V tomto souboru bude definice vztahu, která obsahuje typ, ID a umístění. ID je odkazované ID použité v dokumentu XML. Typ bude definicí referenčního schématu pro typ média a umístění bude interní umístění v balíčku ZIP nebo externí umístění definované pomocí adresy URL.
Vlastnosti dokumentu
Office Open XML k ukládání vlastností dokumentu používá sadu prvků dublinového jádra metadat a podmínky metadat DCMI . Dublin Core je standardem pro popis zdrojů informací o více doménách a je definován v ISO 15836: 2003 .
Příklad souboru vlastností dokumentu ( docProps/core.xml ), který používá metadata Dublin Core, je:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dc:title>Office Open XML</dc:title>
<dc:subject>File format and structure</dc:subject>
<dc:creator>Wikipedia</dc:creator>
<cp:keywords>Office Open XML, Metadata, Dublin Core</cp:keywords>
<dc:description>Office Open XML uses ISO 15836:2003</dc:description>
<cp:lastModifiedBy>Wikipedia</cp:lastModifiedBy>
<cp:revision>1</cp:revision>
<dcterms:created xsi:type="dcterms:W3CDTF">2008-06-19T20:00:00Z</dcterms:created>
<dcterms:modified xsi:type="dcterms:W3CDTF">2008-06-19T20:42:00Z</dcterms:modified>
<cp:category>Document file format</cp:category>
<cp:contentStatus>Final</cp:contentStatus>
</cp:coreProperties>
Značkovací jazyky dokumentů
Soubor Office Open XML může obsahovat několik dokumentů zakódovaných ve specializovaných značkovacích jazycích odpovídajících aplikacím z produktové řady Microsoft Office. Office Open XML definuje více slovníků pomocí 27 jmenných prostorů a 89 modulů schémat .
Primárními značkovacími jazyky jsou:
- WordprocessingML pro zpracování textu
- SpreadsheetML pro tabulky
- PresentationML pro prezentace
Mezi materiály sdíleného značkovacího jazyka patří:
- Office Math Markup Language (OMML)
- DrawingML používaný pro vektorové kreslení, grafy a například textové umění (navíc, i když je zastaralý, VML je podporováno pro kreslení)
- Rozšířené vlastnosti
- Vlastní vlastnosti
- Typy variant
- Vlastní vlastnosti dat XML
- Bibliografie
Kromě výše uvedených značkovacích jazyků lze k rozšíření Office Open XML použít vlastní schémata XML.
Designový přístup
Patrick Durusau, redaktor ODF , pohlížel na značkovací styl OOXML a ODF jako na dvě strany debaty: „stranu prvku“ a „stranu atributů“. Poznamenává, že OOXML představuje „elementovou stránku tohoto přístupu“ a tento KeepNextprvek uvádí jako příklad:
<w:pPr>
<w:keepNext/>
…
</w:pPr>
Naproti tomu poznamenává, že ODF použije fo:keep-nextpro stejnou sémantiku spíše jeden atribut než prvek.
XML Schema Office Open XML zdůrazňuje snížení doby načítání a zlepšit rozebrat rychlost. V testu aplikací aktuálních v dubnu 2007 se kancelářské dokumenty založené na XML načítaly pomaleji než binární formáty. Aby se zvýšil výkon, Office Open XML používá velmi krátké názvy prvků pro běžné prvky a tabulky ukládají data jako čísla indexů (počínaje rokem 1900 nebo od roku 1904). Aby byl Office Open XML systematický a generický, používá spíše samostatné podřízené prvky pro data a metadata (názvy prvků končící na Pr pro vlastnosti ), než aby používal více atributů, což umožňuje strukturované vlastnosti. Office Open XML nepoužívá smíšený obsah, ale používá prvky k vložení řady textových běhů (název prvku r ) do odstavců (název prvku p ). Výsledek je například strohý a velmi vnořený na rozdíl od HTML , který je poměrně plochý, navržený pro lidi pro psaní v textových editorech a je pro člověka příjemnější pro čtení.
Pojmenování prvků a atributů v textu vyvolalo určitou kritiku. V OOXML (ECMA-376) existují tři různé syntaxe pro určení barvy a zarovnání textu v závislosti na tom, zda je dokument textem, tabulkou nebo prezentací. Rob Weir ( zaměstnanec IBM a spolupředseda OASIS OpenDocument Format TC) se ptá „Jaké je technické zdůvodnění této hrůzy?“. Je v kontrastu s OpenDocument : „ODF používá pro styling textu slovník XSL-FO W3C a tento slovník používá důsledně“.
Někteří tvrdili, že design je příliš úzce založen na aplikacích společnosti Microsoft. V srpnu 2007 vydala Linux Foundation blogový příspěvek, ve kterém vyzvala národní orgány ISO, aby během mezinárodní standardizace OOXML hlasovaly „Ne, s připomínkami“. Píše se v něm: „OOXML je přímým portem binárních formátů dokumentů jednoho dodavatele. Vyhýbá se opětovnému použití příslušných stávajících mezinárodních standardů (např. Několik kryptografických algoritmů, VML atd.). Existují doslova stovky technických nedostatků, které by měly být řešeno před standardizací OOXML včetně pokračujícího používání binárního kódu vázaného na funkce specifické pro platformu, šíření chyb v MS-Office do standardu, proprietárních jednotek, odkazů na proprietární/důvěrné tagy, nejasných IP a patentových práv a mnoho dalšího “.
Verze standardu odeslaná do JTC 1 měla 6546 stran. Potřeba a vhodnost takové délky byla zpochybněna. Google uvedl, že „standard ODF, který dosahuje stejného cíle, je pouze 867 stran“
WordprocessingML (WML)
Dokumenty pro zpracování textu používají slovník XML známý jako WordprocessingML normativně definovaný schématem wml.xsd, které standard doprovází. Tato slovní zásoba je definována v článku 11 části 1.
SpreadsheetML (SML)
Tabulkové dokumenty používají slovník XML známý jako SpreadsheetML normativně definovaný schématem sml.xsd, které doprovází standard. Tato slovní zásoba je popsána v článku 12 části 1.
Každý list v tabulce je reprezentován dokumentem XML s kořenovým prvkem pojmenovaným <worksheet>...</worksheet>v http://schemas.openxmlformats.org/spreadsheetml/2006/main Namespace.
Zastoupení hodnot data a času v SpreadsheetML vzbudilo určitou kritiku. 1. vydání ECMA-376 nevyhovuje ISO 8601: 2004 „Zobrazení dat a časů“. Vyžaduje, aby implementace replikovaly chybu Lotus 1-2-3, která chybně považuje 1900 za přestupný rok. Produkty vyhovující ECMA-376 by musely používat tabulkovou funkci WEEKDAY (), a proto některým dnům v týdnu přiřazovat nesprávná data a také chybně vypočítat počet dní mezi určitými daty. 2. vydání ECMA-376 (ISO/IEC 29500) umožňuje kromě formuláře kompatibilního s chybami Lotus 1-2-3 použít také „Zobrazení údajů a časů“ 8601: 2004.
Office MathML (OMML)
Office Math Markup Language je matematický značkovací jazyk, který lze integrovat do WordprocessingML, s vnitřní podporou pro zahrnutí značek pro zpracování textu, jako jsou značky revizí, poznámky pod čarou, komentáře, obrázky a propracované formátování a styly. Formát OMML se liší od doporučení MathML World Wide Web Consortium (W3C), které tyto kancelářské funkce nepodporuje, ale je částečně kompatibilní prostřednictvím transformací XSL ; nástroje jsou dodávány s kancelářským balíkem a jsou automaticky používány prostřednictvím transformací schránky.
Následující příklad Office MathML definuje zlomek :
<m:oMathPara><!-- mathematical block container used as a paragraph -->
<m:oMath><!-- mathematical inline formula -->
<m:f><!-- a fraction -->
<m:num><m:r><m:t>π</m:t></m:r></m:num><!-- numerator containing a single run of text -->
<m:den><m:r><m:t>2</m:t></m:r></m:den><!-- denominator containing a single run of text -->
</m:f>
</m:oMath>
</m:oMathPara>
Někteří se dotazovali na potřebu Office MathML (OMML) místo toho, aby obhajovali používání MathML , doporučení W3C pro „zahrnutí matematických výrazů na webové stránky“ a „komunikaci mezi stroji“. Murray Sargent odpověděl na některé z těchto problémů v příspěvku na blogu, který podrobně popisuje některé filozofické rozdíly mezi těmito dvěma formáty.
KresleníML
DrawingML je značkovací jazyk vektorové grafiky používaný v dokumentech Office Open XML. Mezi jeho hlavní funkce patří grafické vykreslování textových prvků, grafické prvky tvaru založené na vektoru, grafické tabulky a grafy.
Tabulka DrawingML je třetím tabulkovým modelem v Office Open XML (vedle modelů tabulek v WordprocessingML a SpreadsheetML) a je optimalizována pro grafické efekty a její hlavní použití je v prezentacích vytvořených pomocí značky PresentationML. DrawingML obsahuje grafické efekty (jako stíny a reflexe), které lze použít na různé grafické prvky, které jsou v DrawingML použity. V DrawingML můžete také vytvářet 3D efekty, například pro zobrazení různých grafických prvků prostřednictvím flexibilního pohledu kamery. V balíčku Office Open XML je možné vytvořit samostatné části motivu DrawingML. Tato témata pak lze aplikovat na grafické prvky v celém balíku Office Open XML.
DrawingML nesouvisí s jinými formáty vektorové grafiky , jako je SVG . Ty lze převést na DrawingML a nativně je zahrnout do dokumentu Office Open XML. Toto je odlišný přístup k formátu OpenDocument , který používá podmnožinu SVG a zahrnuje vektorovou grafiku jako samostatné soubory.
Rozměry grafiky DrawingML jsou uvedeny v anglických metrických jednotkách (EMU). Říká se tomu proto, že umožňuje přesnou společnou reprezentaci rozměrů původně buď v angličtině, nebo v metrických jednotkách-definovaných jako 1/360 000 centimetrů , a proto je 914 400 EMU na palec a 12 700 EMU na bod , aby se zabránilo zaokrouhlení ve výpočtech. Rick Jelliffe upřednostňuje EMU jako racionální řešení konkrétního souboru kritérií návrhu.
Někteří kritizovali použití DrawingML (a VML pouze pro přechodné použití ) místo doporučení W3C SVG . VML se nestal doporučením W3C.
Cizí zdroje
Obsah bez XML
Dokumenty OOXML se obvykle skládají z dalších zdrojů kromě obsahu XML (grafika, video atd.).
Někteří kritizovali volbu povoleného formátu pro tyto zdroje: 1. vydání ECMA-376 uvádí „Typy alternativních požadavků na vložený objekt“ a „Typy formátů schránky“, které odkazují na metasoubory Windows nebo rozšířené metasoubory -každý z nich je proprietárními formáty, které mají pevně zakódované závislosti na samotném systému Windows . Kritici uvádějí, že norma místo toho měla odkazovat na neutrální standard platformy ISO/IEC 8632 „ Metafile počítačové grafiky “.
Zahraniční označení
Standard poskytuje tři mechanismy, které umožňují vložení cizích značek do obsahu pro účely úprav:
- Chytré značky
- Vlastní označení XML
- Značky strukturovaných dokumentů
Ty jsou definovány v článku 17.5 části 1.
Nastavení kompatibility
Verze Office Open XML obsahují takzvané „nastavení kompatibility“. Ty jsou obsaženy v části 4 („Reference Markup Language Reference“) ECMA-376 1st Edition, ale během standardizace byly přesunuty, aby se staly novou částí (také nazývanou Část 4) ISO/IEC 29500: 2008 („Transitional Migration Features“) .
Tato nastavení (včetně prvků s názvy jako autoSpaceLikeWord95 , footnoteLayoutLikeWW8 , lineWrapLikeWord6 , mwSmallCaps , shapeLayoutLikeWW8 , suppressTopSpacingWP , truncateFontHeightsLikeWP6 , uiCompat97To2003 , useWord2002TableStyleRules , useWord97LineBreakRules , wpJustification a wpSpaceWidth ) byly předmětem určité kontroverze během normalizace DIS 29500. V důsledku toho k jejich dokumentaci byl přidán nový text do ISO/IEC 29500.
Článek v časopise Free Software Magazine kritizoval označení použité pro tato nastavení. Office Open XML používá pro každé nastavení kompatibility zřetelně pojmenované prvky, z nichž každý je deklarován ve schématu. Repertoár nastavení je tedy omezený - aby mohla být přidána nová nastavení kompatibility, bude možná nutné deklarovat nové prvky, „potenciálně jich vytvořit tisíce, z nichž každý nemá nic společného s interoperabilitou“.
Rozšiřitelnost
Standard poskytuje dva typy mechanismů rozšiřitelnosti, kompatibilitu a rozšiřitelnost značek (MCE) definovanou v části 3 (ISO/IEC 29500-3: 2008) a seznamy rozšíření definované v článku 18.2.10 části 1.