OZ 2004/2

66 ORGANIZACIJA ZNANJA 2004, LETN. 9, ZV. 2 POROČILO 3. Vsebnike uporabimo samo, če so naravno povezani z vsebovanimi elementi. 4. Priporočljiva je uporaba imenskih področij. SHEME XML Specifikacija XML Schema 1.0 je postala priporočilo W3C že leta 2001 in od takrat se na široko uporablja v industriji XML. Podatkovni tipi iz te specifikacije bodo podprti v specifikacijah XPath 2.0, XSLT 2.0 in XQuery 1.0. Sedaj se zbirajo zahteve za novo verzijo specifikacije XML Schema 1.1 [42], ki bo kompatibilna s specifikaci- jo XML Schema 1.0. Ena od zahtev je tudi normativna definicija komponent sheme XML [43], kot so na primer definicija tipov in deklaracija elementov. Henry Thomp- son, ki je eden od avtorjev specifikacije XML Schema 1.0, je v prispevku Towards a logical foundation for XML Schema predstavil matematični model te normativne definicije, ki opisuje relacije med komponentami sheme in relacije med komponentami sheme in instanco doku- menta – lastnostmi iz PSVI ( Post Schema Validation In- foset ) [16]. Specificirana logika vsebuje sintakso, model in interpretacijo modela v tej sintaksi. Njegov pristop k formalizaciji definicije sheme XML je podoben kot pri definiciji sheme RELAX NG [44], le da je tu interpreta- cija modela specificirana v naravnem jeziku (angleščini). Takšen pristop predstavlja generalizacijo načina formali- zacije, ki bi se lahko uporabil tudi pri formalnih definici- jah drugih jezikov shem. PSVI predstavlja razširitev XML Infoseta z informacija- mi, pridobljenimi z validacijo dokumenta XML in/ali nje- govim ovrednotenjem ( assessment ) glede na komponente sheme. Za vsak information item so v Infoset dodane lastnosti komponent sheme in so definirane v specifika- ciji XML Schema 1.0: definicije prostih in kompleksnih tipov, deklaracija elementov, status validacije, privzete vrednosti itd. Te lastnosti lahko uporabljajo druge specifi- kacije XML (na primer [45, 46]). Za dostop do informacij v PSVI je definiran XML Schema API [47], ki je neod- visen od platforme in programskega jezika. Specifikacija za XML Schema API je uradni predlog podjetja IBM in X-Hive, ki ga je na konferenci avtorica Elena Litani (ena od avtorjev specifikacije [48]) predstavila v prispevku An API to Query XML Schema Components and the PSVI . API definira množico vmesnikov za dostop do informacij iz PSVI preko DOM-a in SAX-a in vmesnik za nalaganje shem neodvisno od instance dokumenta XML. Specifika- cija je že vključena v Xerces2 [32]. XML Schema API se lahko uporabi pri razvoju ureje- valnikov XML in drugih kompleksnih grafičnih orodij za urejanje vsebine, ki ima formalno definicijo v shemi XML. Za njihov razvoj se lahko uporabi tudi specifika- cija DOM Validation [49], ki določa API za kreiranje in urejanje dokumentov XML neodvisno od platforme in programskega jezika. Lucian Holland je v prispevku Validation in the Real World predstavil zahteve za kre- iranje in urejevanje dokumentov XML, ki se pojavljajo pri razvoju takšnih orodij, in način uporabe vmesnika DOM Validation. Implementacija tega vmesnika, ki jo v programskem jeziku java razvija sam in bo kmalu na voljo, omogoča dodatno validacijo po določenih poslov- nih pravilih in ne samo po pravilih, definiranih v DTD ali shemi XML. Na splošno validacija dokumentov XML zajema več raz- ličnih aspektov, ki bi vsi morali biti zajeti v pravilih iz sheme XML: • preverjanje strukture elementov in atributov; • preverjanje vsebine določenih elementov in atributov neodvisno od vsebine drugih elementov in atributov; • preverjanje integritete, edinstvenosti identifikatorjev in referenc na identifikatorje; • poslovna pravila – vsa druga pravila, na primer, ali je datum smrti starejši od datuma rojstva ipd. S ciljem kreiranja ogrodja, ki bi omogočalo preverjanje dokumentov XML v skladu s temi aspekti in omogočilo kompleksnejšo validacijo kot pa uporaba samo ene teh- nologije (npr. sheme XML), je formiran projekt ISO/IEC JTC1/SC34 [50] za razvoj specifikacije DSDL [51]. Eric van der Vilst je v prispevku ISO DSDL Overview pred- stavil aktivnosti, ki potekajo na tem projektu. DSDL standardizira postopek validacije dokumentov XML z uporabo več shema-jezikov, kot so RELAX NG in Sche- matron [52], jezikov za transformacijo dokumentov pred validacijo, kot XSLT z XPath, in še nekaterih drugih jezi- kov, ki se razvijajo v okviru tega prokejta. DTD in sheme XML so temelj vsake aplikacije XML, ker definirajo strukture, ki so pomembne za cel sistem. Zato je njihovo spreminjanje tvegano, ker je treba za- gotoviti konsistentnost celega sistema. Brandon Jockman je v prispevku Test-driven XML Development: Building Rapid Change Management into XML Systems predstavil način uporabe konceptov ekstremnega programiranja XP [53] pri razvoju aplikacij XML za zmanjševanje rizika pri spreminjanju temeljnih dokumentov XML v siste- mu. Osnovni pristop je v testno vodenem razvoju TDD ( Test-Driven Development ) [54] z uporabo ogrodij (JUnit [55], NUnit [56]) in programskih orodij (XMLUnit [57], XSLTunit [58]) za avtomatizacijo testiranja sprememb v shemah XML, specifikacijah DTD, dokumentih XML in transformacijah XSLT/XPath. Pri testno vodenemu razvoju so testi popolnoma avtomatizirani in jih vedno napišemo pred kodo, ki jo testiramo. Avtomatizirani testi nas vodijo pri načrtovanju in so tako gonilna sila testno vodenega razvoja.

RkJQdWJsaXNoZXIy MTAxMzI5