LIPSZ
Főoldal Hírek Az OOXML diszharmóniája
2010 | 08 | 01
LIPSZ Menü
Események, rendezvények
Tudásbázis
Az OOXML diszharmóniája PDF Print E-mail
2008. Április 02, Szerda - 08:57
Gyakran hallhatjuk, hogy az olyan formátumok, mint az OOXML vagy az ODF egyszerűen csak egy alkalmazás natív adat reprezentációinak XML szerializációi. Ezt látszólag azért mondják, hogy megpróbálják igazolni az egyáltalán nem megfelelő reprezentációkat. „Nem volt más választásunk. Az Office 95 a sorszélességet egy árpaszem 1/5-ének egységeiben fejezi ki, így az OOXML-nek is abban kell kifejeznie.” Ez a technológiai determinizmus szegényes fejlesztői ítélőképességet és lustaságot jelez, vagy éppen mindkettőt.

Egy egyszerű ellenpélda a HTML. Tükrözi a HTML az NCSA Mosaic belső részleteit? Tükrözi a HTML a Netscape Navigator, a Firefox, az Opera, a Safari belső részleteit? Megfelelően igazolhatók a HTML esetleges hibái egyetlen böngésző belső működése alapján? Az alkalmazásoknak szabványokat kellene követniük, nem pedig fordítva.

A kérdés, amit fel kell tennünk nem az, hogy egy szabvány vajon hasonló-e egy alkalmazás belső reprezentációjához? Ez önmagában nem feltétlenül hiba. Egy lépéssel előrébb kell mennünk, és meg kell kérdeznünk, hogy a kódolás ésszerű fejlesztési döntéseket képvisel-e, nem csak egy alkalmazás esetén, hanem általános használt során is? Vagy ISO szavakkal élve, ez a „tudomány, technológia és tapasztalat konszolidált eredményeit képviseli-e”? Ha ez egy jó, ésszerű fejlesztési döntés általános alkalmazhatósággal, és az eredeti alkalmazás már talált megoldást, akkor ez egy jó dolog. Bátorítanunk kell a szabványkészítőket, hogy az iparág bevált gyakorlatait kódolják.

Vegyük a színeket példaként. Csupán a markupokban is annyi módja van a színek reprezentálásának. Meghatározhatjuk őket RGB kód értékekkel, ahol például a vörös (255,0,0). Meghatározhatjuk őket hexadecimális egész számokkal, melyek RRGGBB-ként vannak kódolva, ahol a vörös FF0000. A World Wide Web Consortium módján is meghatározhatjuk őket, ahogy a CSS vagy az XSL-FO is teszi, ahol egy kettős kereszt van a kód előtt, például #FF0000. Ennek vannak változatai, mint például, ha egy alfa csatornát adunk hozzá, vagy más színmodellt használunk stb. Ezek mind ésszerű fejlesztési választások, és senki sem hibáztatna egy szabványt, hogy bármelyiket alkalmazza, még akkor is, ha a választás történetesen illik ahhoz, amit az adott alkalmazás tesz.

A végső döntés a fejlesztő ítéletétől függ. Nem jó megoldás, ha a fejlesztési döntés ellenére önfejű döntést hozunk csupán azért, mivel egy adott alkalmazás ugyanaz mellett döntött.

Ezt szem előtt tartva nézzük meg, hogy az OOXML és az ODF hogyan reprezentálja a legfőbb dokumentum-formátumokat: a szövegszínt és az igazítást. Hozzunk létre hat dokumentumot, kettőt szövegszerkesztőben, kettőt táblázatkezelőben, kettőt bemutató készítőben, mind OOXML-ben, mind ODF-ben. Minden esetben gépeljük be a következő szöveget: „Ez egy vörös szöveg”, ahol a vörös szó vörös színű, és az egész jobbra van igazítva. A következő táblázat azt mutatja, hogy mi a reprezentációja ennek a formázási parancsnak az OOXML-ben és az ODF-ben, mind a három alkalmazástípus esetén.

 

Formátum Szöveg színe Szövegigazítás
OOXML Szövegszerkesztő w:color w:val="FF0000"/ w:jc w:val="right"/
OOXML Táblázatkezelő color rgb="FFFF0000"/ alignment horizontal="right"/
OOXML Bemutató készítő a:srgbClr val="FF0000"/ a:pPr algn="r"/
ODF Szövegszerkesztő style:text-properties fo:color="#FF0000"/ style:paragraph-properties fo:text-align="end" />
ODF Táblázatkezelő style:text-properties fo:color="#FF0000"/ style:paragraph-properties fo:text-align="end"/>
ODF Bemutató készítő style:text-properties fo:color="#FF0000"/ style:paragraph-properties fo:text-align="end"/

Az eredmények magukért beszélnek.

A fejlesztők hogyan magyarázzák ezt a szörnyűséget? Ez kétség nélkül pontosan tükrözi a Microsoft Office belső implementációját, és azt is megmutatja, hogy ezt a három alkalmazást hogyan fejlesztette ki három egymással nem kommunikáló csapat. Megfelelő ez az alap egy nemzetközi szabvány számára? Ez egy ésszerű fejlesztési ítéletet tükröz? Az ODF a World Wide Web Consortium XSL-FO szótárát használja a szöveg igazításhoz és ezt konzisztens módon alkalmazza. Az OOXML reprezentációja ezzel szemben inkompatibilisnek tűnik bármilyen tudatosan alkalmazott tervezési módszertannal.

Valószínű, hogy az OOXML-t előbb önmagával kell harmonizálni ahhoz, hogy más szabványokkal is harmonizálni lehessen.

Ez az írás az alábbi cikk alapján készült: http://www.robweir.com/blog/2008/03/disharmony-of-ooxml.html