Om transitional og strict.
ISO/IEC 29500 OOXML kommer i to varianter: "transitional" (T), der er en midlertidig version og "strict" (S), der er den egentlige version., medens alt
Transitional er den del, der indeholder alt det nedarvede Microsoft gods, som f.eks. Microsofts foretrukne grafikformat (VML), nogle Microsoft algoritmer og det berømte skudårsproblem. Disse dele af ISO/IEC 29500 er beskrevet i del 4. Formålet med T er at sikre bagud kompatibilitet, så de mange milliarder Microsoft dokumenter kan læses - og håndteres korrekt. Et dokument, der er i overensstemmelse med ECMA-376 er også i overensstemmelse med T, fordi T indeholder de samme skemaer som ECMA-376.
Strict indeholder ikke det nedarvede Microsoft gods; men er fra starten defineret som en ren standard, der er fuldt specificeret og åben for implementering på alle tekniske platforme. S er beskrevet i Del 1.
Hvad er ISO krav til implementering af ISO/IEC 29500 OOXML?
Teksten i ISO's definition er knudret - som en juridisk tekst - og præcis.For at et dokument skal være i overensstemmelse med Strict, skal det holde sig til de definitioner, der er specificeret i del 1 og må ikke indeholde noget fra del 4.
Endvidere er det et krav til en applikation som ønsker at være i overensstemmelse med ISO 29500 OOXML, at applikationen har implementeret Strict enten til tekstbehandling, regneark eller præsentation.
Med andre ord: Strict er en obligatorisk del af ISO/IEC 29500 OOXML. Strict kan ikke fravælges.
Som et resultat af et kompromis defineres Transitional som indeholdende Strict plus noget mere, dvs. Strict er en delmængde af Transitional.
Men transitional er optional, dvs. transitional kan fravælges.
Har Microsoft implementeret ISO/IEC 29500 i Office 2010?
Som det ses ovenfor, så er kravet, at Strict er implementeret fuldt ud. Dvs. at for at leve op til ISO's definition, skal Office 2010 være i stand til at producere et dokument udelukkende efter Strict - dvs. udelukkende efter den specifikation, der er beskrevet i del 1.
Det kan Office 2010 ikke.
Hvorfor ikke? En god begrundelse er, at ISO/IEC 29500 OOXML først blev offentliggjort efter at specifikationerne til Office 2010 var fastfrosset. Der var således ikke tid til at implementere ISO/IEC 29500 OOXML.
Hvorfor siger Microsoft så, at de har implementeret ISO/IEC 29500 OOXML?
Det aner jeg ikke. Jeg er nød til at gætte. Jeg tror, at Microsoft nødigt vil opgive den binding til Microsofts formatdefinitioner, der gør det besværligt at bruge konkurrerende produkter. Hvis de derfor kan få overbevist beslutningstagerne om, at ISO 29500 er implementeret, fjerner det presset på Microsoft.
Hvis man derimod fortsat forlanger at implementering i overensstemmelse med ISOs definition, så sætter det Microsoft under pres. Jeg så gerne, at Microsoft implementerede ISO/IEC 29500 OOXML så hurtigt som muligt - i overensstemmelse med ISO's definition.
Det skulle vel heller ikke være umuligt at gøre det i løbet af et års tid for en virksomhed med 20 mia. USD i årligt overskud og tusindvis af verdens bedste udviklere.