Ten artykuł należy dopracować:
Open Packaging Conventions[1] (w skrócie OPC) – część specyfikacji Office Open XML definiująca następujące koncepcje:
- Paczka (czyli cały plik OOXML)
- kontener grupujący elementy różnego rodzaju, np. dokumenty XML, zasoby i metadane. Paczka reprezentuje dokument jako całość i ma strukturę płaską, tj. jej składniki nie są ułożone hierarchicznie.[2]
- Składniki (treść dokumentu, formatowanie, pliki obrazów, dźwięków itp)
- Są to strumienie bajtów zgromadzone w paczce, z którymi skojarzona jest informacja o rodzaju przechowywanej zawartości oraz poprawna nazwa, po której składnik jest identyfikowany wewnątrz paczki.[1] Składniki reprezentują poszczególne elementy dokumentu. Informacja o rodzaju zawartości składnika jest dana w postaci zdefiniowanej w sekcji 3.7 RFC 2616 ↓, np. obrazy JPEG są oznaczane jako
image/jpeg
, zaś pliki XML jako application/xml
. Nazwa składnika składa się z segmentów rozdzielonych znakiem odwróconego ukośnika, np. /widgets/widget1.xml
. Ze względu na interoperacyjność i internacjonalizację, w OPC obowiązuje kodowanie dokumentów XML będących składnikami paczek z użyciem zdefiniowanych w standardzie Unicode kodowań UTF-8 lub UTF-16.[1] (Uwaga: można się spotkać z informacją, że typ składnika to typ MIME (RFC 2406 ↓), jednak specyfikacja OPC odnosi się konsekwentnie do sekcji 3.7 RFC 2616 ↓ - definicji 'content-type' ze specyfikacji protokołu HTTP/1.1)
- Relacje
- Są to związki między składnikiem paczki i innymi zasobami (niekoniecznie wewnątrz paczki). Każdemu składnikowi będącemu źródłem odniesień towarzyszy składnik nazywany składnikiem relacji, przechowujący informacje o relacjach w formie XML. Nazwa takiego składnika jest tworzona poprzez wstawienie segmentu „_rels” przed ostatnim segmentem nazwy oryginalnego składnika i dodanie na koniec przyrostka „.rels”, np. składnikowi
/widgets/widget1.xml
może towarzyszyć składnik relacji /widgets/_rels/widget1.xml.rels
. Źródłem odniesień może być sama paczka, która może być powiązana np. ze składnikiem przechowującym opisujące ją metadane. Relacje paczki opisane są w składniku relacji paczki o specjalnej, zarezerwowanej nazwie /_rels/.rels
.[1]