OZ 2004/2

M 65 ORGANIZACIJA ZNANJA 2004, LETN. 9, ZV. 2 POROČILO Dokumenti XML po specifikaciji XML 1.1 morajo biti popolnoma normalizirani. S specifikacijo XML 1.1 je bila definirana tudi specifika- cija Namespaces 1.1 [22], ki omogoča določanje imen- skih področij za elemente XML in njihovih atributov iz dokumentov po specifikaciji XML 1.1. Dopolnitve glede na specifikacijo Namespaces 1.0 [23] so: možnost upora- be specifikacije IRI [24] namesto specifikacije URI [25, 26] za deklaracijo imenskih področij in možnost uporabe predpon (prefix ), ki niso deklarirane (možnost brisanja povezav med deklariranimi predponami in URI-ji). Nove verzije teh specifikacij so zahtevale tudi dopolnitve specifikacije XML Infoset [27] za definiranje abstraktne- ga opisa informacij iz dokumentov XML, na katere se je mogoče sklicevati iz drugih specifikacij XML. XML In- foset za vsak del dokumenta vsebuje information item , ki lahko ima več lastnosti ( properties ). Na primer, document information item ima naslednje lastnosti: [version] – verzija specifikacije XML, [character encoding scheme]– nabor znakov v dokumentu XML, [no- tations] – notacija dokumenta XML, [unparsed entities] – entitete iz vključene specifikacije DTD, [document element]– element information item za element document , in [children] – urejen sez- nam information item -ov za vsebovane elemente XML, vključno z ukazi za procesiranje (PI) in komentarji. Raz- vijalci lahko uporabljajo informacije iz XML Infoseta preko standardiziranega DOM-a [28] in delno tudi preko SAX-a [29]. Za specifikaciji XML 1.1 in Namespaces 1.1 je dopolnjen tudi že XML TS [30], ki vsebuje več kot 2000 testov, s katerimi lahko preverimo nivo ustreznosti implementacij XML-ja glede na vse dosedanje verzije specifikacij XML in Namespaces. Ti testi so bili prvotno narejeni v okviru delovanja tehničnega komiteja OASIS in so bili predani v delovno skupino za osnovne specifikacije XML v W3C [31]. Na osnovi teh testov lahko ugotovimo, ali so do- kumenti XML dobro oblikovani ( well-formed ) in veljavni ( valid ), ne moremo pa ugotoviti, ali se vsebina dokumen- tov XML pravilno izpisuje s pomočjo nekega razhrošče- valnika SAX. Elliotte Rusty Harold je v prispevku SAX Conformance Testing predstavil, kako je mogoče te teste, ki so neodvisni od API-jev, dopolniti tako, da postanejo testi za preverjanje delovanja razhroščevalnikov SAX. S temi testi je preveril delovanje 8 različnih razhroščeval- nikov SAX in dobil zanimive rezultate; niti en razhrošče- valnik ni bil stoodstotno brez napak: • 91 % – Xerces [32], • 88 % – Crimson [33], • 87.25 % – XP [34], ki je najstarejši razhroščevalnik XML (1998), • 57 % – Piccolo [35], • 46 % – GNU JAXP [36], • 42 % – Oracle9 [37] (Oracle10 naj bi dal boljše rezultate), • 0.05 % – Ælfred/Saxon [38], ki vsebuje globalno na- pako, saj ne podpira razreševanje entitet (Michael Kay, avtor razhroščevalnika Ælfred, ki je bil med poslušalci, je obljubil, da bo napako odpravil in takrat naj bi se odstotek ustreznosti dvignil preko 90 %!), • 0 % – Ælfred/DOM4J [39], ki vsebuje isto napako kot Saxon zaradi razhroščevalnika Ælfred (z odpravo te napake naj bi se odstotek ustreznosti dvignil do 60 %). Zanimivo je, da se ne glede na zrelost XML-ja, še vedno pojavljajo alternative XML (jih je okrog 40) [40], kate- rih cilj je definicija novih enostavnejših jezikov za seri- alizacijo. Alex Brown je v prispevku Refactoring XML predstavil njegovo zamisel za nov jezik, kompatibilen z XML, ki bi baziral na specifikaciji SGML in bi vse- boval samo elemente XML ( tag ) in Unicode. Po njego- vem mnenju takšna struktura dokumentov XML ustreza osnovnim konceptom XML-ja iz [41]. Po njegovem mišljenju so osnovne slabosti specifikacije XML obšir- nost, uporaba atributov in da podatkovni model (XML Infoset) vsebuje preveč različnih tipov vozlišč ( nodes ). Zaradi tega XML ni “eleganten”, minimalen in ne ločuje podatkov od sintakse. S to predstavitvijo ni prepričal mnogih članov konzorcija W3C, ki so se udeležili tega predavanja in so imeli kar nekaj ugovorov na Brownove ugotovitve. Drugo pomembnejše vprašanje je zagotovo dizajn doku- mentov XML, ki pa ga mnogi razvojniki ne jemljejo do- volj resno, kot na primer dizajn programske kode. Uche Ogbuji je v prispevku XML Design Principles for Form and Function predstavil principe dizajna XML, ki izhaja- jo iz njegovih praktičnih izkušenj: 1. Pri imenovanju elementov, atributov in preostalih terminov iz besednjakov je pomembna čitljivost in konsistentnost. 2. Vodila pri odločanju o tem, kaj v modelu predstaviti z elementom in kaj z atributom, so: • pomen vsebine – pomembnejši deli vsebine se predstavijo z elementom, manj pomembni pa z atributom; • strukturiranost informacije – strukturirane infor- macije se predstavijo z elementom, nestrukturirane pa z atributom; • čitljivost – uporabimo elemente, če je informacija pomembna za uporabnika, ali atribute, če je po- membna samo za obdelavo; • povezanost atributov – če sta atributa v elementu pomensko povezana, namesto njiju uporabimo dva elementa.

RkJQdWJsaXNoZXIy MTAxMzI5