bloghoved rene løhde

XPS og OpenXML

Jeg havde egentlig besluttet mig for at lave en lille kommentar til det der kunne ligne en deja-vu-debat, i relation til fredagens XPS beslutning. Nu kan jeg så i stedet gøre det til et svar til John Gøtze -  Masterblogger og musketér ? i anledning af at han har returneret til den dansksprogede blogscene.

John skriver i den seneste blogpost: ' Det kunne være interessant om nogen kunne forklare hvordan OOXML og XPS forholder sig til hinanden' og ' Microsoftbloggerne så vidt jeg kan se slet ikke på banen' ? det må vist være mit wake-up-call.

OpenXML (ECMA 376) er partitioneret i fem dele ' del to ' indeholder beskrivelsen af Open Packaging Convention (OPC).  Dette er beskrivelsen af hvordan de enkelte dele i den beholder, som udgør det komplette dokument, relaterer sig til hinanden. Det er i princippet ligegyldigt hvilke relationer, der beskrives og hvilken 'beholder' de enkelte elementer er indkapslet i.  NB! Det er i teorien muligt at lave en komplet implementering af OPC ' f.eks. uden brug af zip-algoritmen, som 'beholder? og stadig være fuldt ECMA 376 standardcompliant. I sådan et tilfælde vil et OpenXML dokument, ikke kunne åbnes af Microsoft Office 2007.

XPS bruger OPC til at 'pakke' dokumentet. Da OPC står beskrevet i del 2 af OpenXML spec?en kommer XPS til at indeholde en del af OpenXML. Jeg ved ikke om der er flere relationer mellem de to specs, men den fælles brug af OPC er umiddelbart den mest synlige.

Til de, som har mod på at prøve selv (vha .Net 3.0) så er her et link til en sample.

Kommentarer (8)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Esben Nielsen

"NB! Det er i teorien muligt at lave en komplet implementering af OPC – f.eks. uden brug af zip-algoritmen, som ”beholder” og stadig være fuldt ECMA 376 standardcompliant. I sådan et tilfælde vil et OpenXML dokument, ikke kunne åbnes af Microsoft Office 2007."

Jeg troede meningen med en standeard var, at hvis man lavede dokumenter, som overholdte standearden, kunne alle programmer, som påstår, at de overholderstandearden, læse filen.

  • 0
  • 0
René Løhde

Esben,

Måske burde jeg have understreget "i teorien" bedre, men her er lige en uddybning.

Fra spec'en "This Open Packaging specification defines a mapping for the ZIP archive format. Future versions of this Open Packaging specification might provide additional mappings.
.......Package model components and their physical representations, shows the various components of the package model and their corresponding physical representation in a ZIP archive."

Med "i teorien" mener jeg at OPC ikke nødvendigvis behøver finde en fysisk repræsentation i zip, men kunne bruge en anden fysisk indpakning.

Det var gjort for at illustrerer den løse kompling der er mellem den logiske udformning af OPC og dennes implmentering.

Hvad angår -
"Jeg troede meningen med en standeard var, at hvis man lavede dokumenter, som overholdte standearden, kunne alle programmer, som påstår, at de overholderstandearden, læse filen. "
- så er jeg af den opfattelse at det er en hyppig misforståelse at standarder skaber interoperabilitet.

Min overbevisning er at interoperabilitet skabes via 4 trin :

1)proof of concept(ny teknologi) eller markedsadoption (eksisterende teknologi)
2)standardisering
3)profilering
4)interop tests på software

  • 0
  • 0
Esben Nielsen

Nej, du har ret: Selvom noget er beskrevet som en standeard, giver det ikke automatisk interoperabilitet i praksis. Jo mere kompliceret standearden er jo sværere er det. Se blot på C og C++: Det er efterhånden svært at lave et ANSI C program, som ikke virker med alle implementationer; men det er meget, meget nemt med C++, idet C++ standearden indeholder så mange krøller, at kun ganske få C++ oversættere gør det helt rigtige.

Ifølge den erfaring kræver interoperabilitet noget mere: 1) En rimelig nem standeard. 2) Viljen fra leverandøren til at overholde standearden, selvom det umiddelbart ikke er så godt for f.eks kundens bagkombabilitet med tidligere versioner af softwaren.
IE 7 er jo et godt eksempel på et produkt, hvor man bevist har fravalgt at følge W3C standearderne pga. 2) ovenfor.

Så ja, standearder bliver tit ødelagt af leverandøre, som ikke vil eller kan overholde dem alligevel.

  • 0
  • 0
Nicolai Petri

"Øhhh, IE7? - jeg troede at IE7 netop var et skridt mod at få Microsofts browser mere standardvalid."

Når jeg læser overstående får jeg lyst til en quiz.

Hvem har kodet IE7 :
A) En flok aber
B) En samling inkompetente fjolser
C) Gruppen af blinde som er sat i aktivering i Redmond. Desværre var der ingen til at læse standarden for dem.
D) Vistas kerne-udviklere
E) En samlet blanding af overstående!

:o) Nu er jeg måske ikke helt fair - men det er mere regelen end undtagelsen af IE7 ikke følger standarden end at den gør.

  • 0
  • 0
John Gøtze

Du havde ret, René: Det var en copy-paste fejl. Nu lyder TCens scope således:

"The goal of the Technical Committee is to produce a formal standard for an XML-based electronic paper format and XML-based page description language which is consistent with existing implementations of the format called the XML Paper Specification (XPS). The Technical Committee will use the format called the XML Paper Specification (XPS) as a starting point with the aim to provide a standard, secure, and highly trustworthy format that enables a wide set of applications, devices, tools and platforms to implement compatible paginated-document workflows. An additional goal will be to enable the interoperability of independently created software and hardware systems that produce, consume or otherwise process XPS content. ..." http://www.ecma-international.org/memento/TC46.htm

Du ved jeg læser Ecma-materiale som fanden læser biblen, så ...

Betyder det, at vi nu skal tale om MS XPS (eksisterende XPS) og så Ecma XPS? Men hvilken XPS menes der så i tredie afsnit?

  • 0
  • 0
Log ind eller Opret konto for at kommentere