A1 Otsikko LASKU Helvetica 12 76 65 A2 Laskunumero Helvetica 10 432 65 A3 Asiakasnumero Helvetica 10 432 80... B1 Otsikko PUHELUERITTELY otsikkosolu1



Samankaltaiset tiedostot
t P1 `UT. Kaupparek. nro Y-tunnus Hämeenlinnan. hallinto- oikeudelle. Muutoksenhakijat. 1( UiH S<

K Ä Y T T Ö S U U N N I T E L M A Y H D Y S K U N T A L A U T A K U N T A


Sisäpiirintiedon syntyminen

Pakkauksen sisältö: Sire e ni

YHDYSKUNTALAUTAKUNTA TALOUSARVIOEHDOTUS 2018 TALOUSSUUNNITELMA

i lc 12. Ö/ LS K KY: n opiskelijakysely 2014 (toukokuu) 1. O pintojen ohjaus 4,0 3,8 4,0 1 ( 5 ) L i e d o n a mma t ti - ja aiku isopisto

1 Pöytäkirja Avaa haku

V a a liv o itto. H a a s ta tte lu Suomen S o sia lid e m o k ra a tissa 18/

PS. Jos vastaanotit Sinulle kuulumattoman viestin, pyydän ilmoittamaan siitä viipymättä allekirjoittaneelle ja tuhoamaan viestin, kiitos.

Työsuhteista työtä vai työtoimintaa?

Väestö- ja asuntolaskenta Folk- och bostadsräkningen Population and Housing Census

P S. Va r äi n. m m2 2. e a / puistossa säilyvät puut. korko muuttuu, kansi uusitaan SVK asv.

METSÄN KYLVÖ JA ISTUTUS

Rekisteriseloste. 1. Rekisterinpitäjä. 3. Rekisterin nimi

Aluevarausmerkinnät: T/kem Maakuntakaava

KIERTOKIRJEKOKO ELMA

SAMMONKATU SAMMONKATU JAAKON- SARVI- KATU SARVIJAAKONKATU 1: Kalevanrinteen katujen yleissuunnitelma, Liite 3 Asemapiirros 1/4

w w w. a u d i a t o r. f i yhtymävaltuustolle

l e m e n e i l l e j a u l o s e l e m e n e i l l e y h e i s e a r i b u u i a a s s a l a s s a o n k X W l j a o s l y h a r A r k s s a a r k o

Juhani Ilmola, SOK

Väestö- ja asuntolaskenta Folk- och bostadsräkningen Population and Housing Census

Hyvät p u o lu e to v e r it

PUTKIKAKSOISNIPPA MUSTA

N I K E A N U S K O N T U N N U S T U S

3 *ä;r ä:e 5ä ä{ :i. c oo) S g+;!qg *r; Er ; l[$ E ;;iä F:ä ä :E ä: a bo. =. * gäf$iery g! Eä. a is äg*!=."fl: ä; E!, \ ins:" qgg ;._ EE üg.

1. Kaikki kaatuu, sortuu August Forsman (Koskimies)

omakotitontit omakotitontit Saaristokaupungin Pirttiniemessä

TEHTÄVÄKORI Monisteita matikkaan. Riikka Mononen

Javan perusteet

J u s s i N ie m i-p y n ttä ri, y lilä ä k ä ri, M a lm in p s y k ia tria n p o lik lin ik k a T o rs ta i

Korkein halinto -oikeus

2 Keminmaa Haaparanta TORNIO. > 40 db > 45 db > 50 db > 55 db > 60 db > 65 db > 70 db > 75 db. Vt 4 Kemi

SÄRKÄNNIEMEN ASEMAKAAVA Viitesuunnitelmaluonnos ARKKITEHDIT MY

ENNAKOINTIKAMARIFOORUMI Jonna Heliskoski CEO, PhD candidate

Kirjainkiemurat - mallisivu (c)

Helka-neiti kylvyssä

Nakkilan kunta ja Lions Club Nakkila ry sopivat keskenään seuraavaa:

17 Jm. Pe/so. Pe/so. Pe/so. Pe/so. Pe/so. Pe/so Pe/so. Pe/so. Hattulan kunta 32. Pe/ao Johtoaukea, uusi. Reunavyöhyke, uusi

Usko, toivo ja rakkaus

NIKKILÄN SYDÄMEN LAAJENTAMINEN VAIHE 2 MAANTASOKERROS 1/ / ARK - house

NEN PAINOVOIMAMITTAUS N:o OU 10/7b

Väestö- ja asuntolaskenta Folk- och bostadsräkningen Population and Housing Census

Solunsalp a a ja h oid o n aih e utta m a p a h oinvointi ja okse ntelu

Väestö- ja asuntolaskenta Folk- och bostadsräkningen Population and Housing Census

Ammattiluokitus Classification of occupations

Piirrä kuvioita suureen laatikkoon. Valitse ruutuun oikea merkki > tai < tai =.

Forssan kaupunki Osavuosikatsaus YHDYSKUNTAPALVELUT. Arviointik r iteeri tr mittarit ja tavoitetaso ja t a v o i t e t a s o

c SKAPAT JULKINEN HANKINTA Sivu 1/3

Yksityisteiden hoidon järjestäminen

2. TUTUSTUN KIRKKOONI

& # # w. œ œ œ œ # œ œ œ œ œ # œ w. # w nœ. # œ œ œ œ œ # œ w œ # œ œ œ Œ. œ œ œ œ œ œ œ œ # œ w. œ # œ œ œ w œ œ w w w w. W # w

S-ZSOTOOP DZDATA !SWIA 0 \ S-ISOTOOPPIDATA GTL-78 S AVZA. M19/3314/=78/14/10 M,IkeI ä, A.J.Laitakari Pielavesi, Säviä

Valtuustoaloite paperittomaan kokouskäytäntöön siirtymisestä / Maarit Pekkola ym.

HYVINVOINTI- JA TERVEYSTOIMEN TALOUSARVION TOTEUTUMINEN AJALLA SEKÄ TALOUSARVION TARKISTUSESITYS


Rakennus- ja ympäristölautakunta / /2014. Rakennus- ja ympäristölautakunta

Kiinteistöveroprosenttien ja kunnan tuloveroprosentin vahvistaminen vuodeksi 2016

Minä avaan nyt suuni Jumalansynnyttäjän kanoni (ilmestyspäivänä ym.), 4. säv.

Sosiaali- ja terveysltk Sosiaali- ja terveysltk

Meditaatioita Kristuksen kärsimyksen salaisuudesta

O V F IS K A R S A B. Kertomus vuodelta 1979 yhtiön 96. toimintavuosi

Projektiohjausjärjestelmän käyttöönoton haasteet

Perusturvalautakunta Kaupunginhallitus Tarkastuslautakunta

Poliisin voimankäyttö

Määräys STUK SY/1/ (34)

Marina Kostik. Aurinkolaulu. for female choir. (Eino Leino)


SOSIALIDEMOKRAATTINEN PUOLUE SAARINIEMENKATU HELSINKI POSTISIIRTOTILI VAIHDE

Ilmastointi PUSSISUODATIN ALTECH CL-36-3-M5 LASIKUITU L500 PUSSISUODATIN ALTECH CL-63-6-M5 LASIKUITU L360

Ko onnut. pianon my ö tstilyks eli e A - A - B O K J E N X T J S. S S A v II. E. /Johnin kus/mumksella. s o li / 11 a n // / o M M S I!

Jou-lu. jou-lu-kuu-si. kynt-ti-lä. kink-ku. jou-lu-ka-len-te-ri. tont-tu. jou-lu-puk-ki. pa-ket-ti. jou-lu-tort-tu. jou-lu-ko-ris-te.

LIITE 5. Pisteet. YLIOPISTOVERTAILU - Yritysnäkökulma 1,6 1,4 1,2 1 0,8 0,6 0,4 0,2. Vuosi. Pisteet 1,6 1,4. Oikeus tieteellinen 1,2 1 0,8 0,6 0,4 0,2

KOULULAISTEN AAMU- JA ILTAPÄIVÄTOMINNAN JÄRJESTÄMINEN LUKUVUONNA

YHDYSKUNTALAUTAKUNTA TALOUSARVIOEHDOTUS 2017 TALOUSSUUNNITELMA

5 NOUSIAINEN. > 40 db > 45 db > 50 db > 55 db > 60 db > 65 db > 70 db > 75 db. Vt 8 ja kt 40 Raisio. LIITE Maanteiden meluselvitys 2012

- tarvittavien apuval ineiden kuten lomakkeiden ja asiakirjojen keh-i t-

102 Kunnan ympäristönsuojeluviranomaisen, leirintäalueviranomaisen ja rakennusvalvontaviranomaisen tehtävien delegoiminen viranhaltijoille

Teknisen sopimuksen (TS) tehtäväkohtaisen palkkojen (TKP) arviointijärjestelmä

A-SI-A-KAS ON TOI-MIN-TAM-ME LÄH-TÖ-KOH-TA. 1 A-SI-A-KAS TIE-TÄ KÄYT-TÄÄ - TAIK-KA PA-PE-REI-TA TÄYT-TÄÄ.

Vapaa-aikalautakunnan vuoden 2015 talousarvion käyttösuunnitelman hyväksyminen

Korkeusjärjestelmä N43 Höjdsystemet N43

J A R M O S U N N A R I M A N A G E R S T A N D A R D S, R E G U L A T I O N S A N D A P P R O V A L S

Kunnanhallitus Kunnanhallitus Tarkennuksia Kirkkonummen kunnan toimielinrakenteeseen (kv) 118/00.00.

matsku 2 YHTEEN- JA VÄHENNYSLASKU Tanja Manner-Raappana Nina Ågren OPETUSHALLITUS

Sosiaali- ja terveysalan lupa- ja valvontavirasto/doc Finland Oy

/, 1 {1.1 s' b; c. r:s7 i

MASKEERAUS: KOSMETOLOGIOPISKELIJAT LAURA YLITALO, KAROLIINA SIRPELÄ, MERVI SARJANOJA VALKEAKOSKEN AMMATTI- JA AIKUISOPISTO KUVAT: JYRKI LUUKKONEN

KAIDE KAIDE LUMON HYÖKKÄYSTIE PALOKUNNAN PPP LUMON AUKKO SP KUNTOILUTILA LUMON KATON RAJASSA AUKKO MONITOIMITILA LUMON PPP KATON RAJASSA AUKKO

Ranuan kunnan henkilökuljetustarjousten hyväksyminen

Pihlan paikkamäärän katkaisuhoidon ja kuntoutuksen sekä palveluasumisen toteutumista seurataan edelleen kuukausittain.

Piehingin osayleiskaava Kysely alueen asukkaille ja maanomistajille

ääexgäl*ääääe ääg I ä*fre3 I äee iäa ää-äälgü il leääö ää; i ääs äei:ä ä+ i* äfä g u ;; + EF'Hi: 2 ä ; s i r E:;g 8ää-i iää: Ffärg',

Viisi työn vuotta. N : o

MARTTOJEN PERHEKAHVILA -UUTISKIRJEEN TIETOSUOJASELOSTE JA. Rekisterin nimi Marttojen perhekahvila uutiskirjerekisteri

Kaupunginhallitus Koulu, tiede ja kansainvälisyys-hanke 1507/ /2015

Kokonaisuudessaan toimialan nettomenot arvioidaan ylittävän talous ar vion ilman hankkeita

Transkriptio:

Perinnedatan automaattinen muotoilu X M L - tek niik oin Merja Ek, Heli Hakkarainen, P ekka K ilp elä inen, T o m m i P enttinen Report A/2002/3 I S B N 9 5 1-7 8 1-26 3-9 U N I V E R S I T Y O F K U O PI O D ep artm ent o f C o m p u ter S c ienc e and A p p lied Math em atic s P.O.Box 1627, FIN-70211 Kuopio, FINLAND

Perinnedatan automaattinen muotoilu X M L - tek niik oin M erj a E k, H eli H a kka ra in en, P ekka K ilp elä in en, T om m i P en t t in en Kuopion yliopisto, Tietojenkäsittelytieteen ja sovelletun matematiikan laitos P L 1 6 2 7 ( M icrokatu 1 D ), 7 0 2 1 1 Kuopio {merja. ek, h eli. h akkarainen, pekka. kilpelainen, tommi. penttinen} @ cs. uku. f i Tiivistelmä. X M L -tekniikat tukevat d okumenttitied on moninaiskäyttö ä: eri esitysmuod ot tulostusta ja d ig itaalista med iaa varten void aan tuottaa samasta X M L -muod osta. X M L -tekniikoid en soveltaminen ed ellyttää perinned atan muuntamista X M L -muotoon. Täh än on olemassa menetelmiä, mutta vastaavaa muotoilumääritysten muuntamista X M L -muotoon ei juurikaan ole tarkasteltu. E simerkiksi X S L on voimakas X M L -d okumenttien muotoilukieli, mutta kymmenien erilaisten elementtityyppien käsittely vaatii silläkin kymmenien vastaavien muotoilusääntö jen kirjoittamisen. M ikäli perinned ataan on sovellettu eksakteja muotoilumäärityksiä, d atan X M L -muod olle olisi h yvä pystyä tuottamaan niid en perusteella muotoilu mah d ollisimman automaattisesti. Tarkastelemme X M L -tekniikoid en sovellusesimerkkinä muotoiltuna tulostettavan riviperustaisen aineiston muuntamista X M L -muotoon. E sitämme tätä varten keh ittämämme arkkiteh tuurin, joka muuntaa ja muotoilee annetun aineiston sen rakennetta ja muotoilua kuvaavan kontrollitied oston oh jaamana automaattisesti. A rkkiteh tuuri perustuu käsiteltävien tied ostojen X M L -muotoon konvertointiin keh ittämällämme X M L -käärintäkielellä nimeltä X W. Kerromme myö s järjestelmän toteuttamisesta saad uista X M L -tekniikoid en soveltamiskokemuksista. 1 Johdanto X M L -t ekn iika t t u kev a t d oku m en t t it ied on m on in a is kä y t t ö ä : eri es it y s m u od ot es im erkiks i t u los t u s t a, v erkkolev it y s t ä j a C D -R O M -v ers ioit a v a rt en v oid a a n t u ot t a a s a m a s t a X M L -m u od os t a. P erin n ed a t a n j a s en m u ot oilu m ä ä rit y s t en m u u n t a m in en X M L - m u ot oon on ku it en kin u s ein kä y t ä n n ö s s ä t y ö lä s t ä. D a t a n X M L -m u ot oon m u u n t a m is t a v oi h elp ot t a a s ov elt a m a lla korkea n t a s ois t a, t a rkoit u s t a v a rt en keh it et t y ä kielt ä. X M L -kä ä rin t ä kieli X W [ 1, 2 ] on X M L -p eru s t a in en ku v a u s kieli m ä ä rä m u ot ois en d a t a n m u u n t a m is eks i X M L -m u ot oon. X W -kä ä re on X M L -m u ot oin en h iera rkkin en m a lli lä h t ö a in eis t on ra ken t eelle j a s a m a lla s it ä n ou d a t t a v a lle t u los a in eis t on ra ken t eelle. L ä h t ö a in eis t on os ien p erä kkä is y y t t ä ku v a t a a n p erä kkä is illä elem en t eillä j a s is ä k- kä is y y t t ä s is ä kkä is illä elem en t eillä. O s ien v a ih t oeh t ois u u s, v a lin n a is u u s j a t ois t u v u u s s ekä os ia erot t a v a t erot in m erkkij on ot ku v a t a a n t ä m ä n m a llin os a n a om illa X W - elem en t eillä ä n j a -a t t rib u u t eilla a n. D a t a n kon v ert oin t i X M L -m u ot oon on y leis es t i t u n n is t et t u j a ru n s a a s t i t a rka s t elt u on g elm a [ 3 ]. S en s ij a a n v a s t a a v a a olem a s s a olev ien m u ot oilu m ä ä rit y s t en kon v ert oim is t a X M L -m u ot oon s ov elt u v a ks i on t a rka s t elt u v ä h em m ä n. V a ikka es im erkiks i X S L [ 4 ] on v oim a ka s X M L -d oku m en t t ien m u ot oilu kieli, ky m m en ien erila is t en ele- 1

m en t t ien m uot oilem in en v aat ii sillä k in k y m m en ien v ast aav ien m uot oilusä ä n t ö j en k ir j oit t am isen. M ik ä li p er in n ed at aan on sov ellet t u ek sak t ej a m uot oilum ä ä r it y k siä, m y ö s v ast aav ien X M L -d ok um en t t ien m uot oilu p it ä isi p y st y ä t uot t am aan n iist ä m ahd ollisim m an aut om aat t isest i. L uv ussa 2 k uv aam m e esim er k k in ä t ar k ast elem am m e ain eist on, r iv ip er ust aisen lask uain eist on sek ä sit ä k uv aav an k on t r ollit ied ost on, j ok a k uv aa ain eist on r ak en t een j a m uot oilun. A in eist on X M L -k on v er sio j a m uot oilu v oid aan aut om at isoid a k on t r ollit ied ost on ohj aam an a. L uv ussa 3 k uv ailem m e t ä m ä n m ahd ollisuud en t ot eut t av an ar k k i- t eht uur in. A ut om at isoin t i p er ust uu k on t r ollit ied ost on m uun t am iseen X M L -m uot oon. K on t r ollit ied ost on X M L -k ä ä r in t ä X W -k ielellä esit ellä ä n luv ussa 3. 1. M y ö s v ar sin ain en lask uain eist o v oid aan k on v er t oid a v ast aav ast i. T ar v it t av a k ä ä r een k uv aus v oi olla t y ö lä s k ir j oit t aa k ä sin, m ut t a X W -k ielen y k sin k er t aisuud en t ak ia se v oid aan g en er oid a aut om aat t isest i k on t r ollit ied ost on X M L -m uod ost a ( luk u 3. 2). V ast aav ast i m uot oilu lask uain eist olle v oid aan t uot t aa y leisellä m uot oilusk r ip t illä, j ok a y hd ist ä ä k on t r ollit ied ost on m uot oilut ied ot ain eist on X M L -esit y k seen ( luk u 3. 3 ). T ä llain en aut om at i- soid un m uot oilun p er iaat e on lup aav a: sen av ulla v oi k ä sit ellä er i ain eist oj a n iid en k on t r ollit ied ost on ohj aam an a ilm an r ut iin in om aist en m uun n os- j a m uot oilum ä ä r it y s- t en k ir j oit t am ist a. A r k k it eht uur i on t ot eut et t av issa olem assa olev illa X M L -v ä lin eillä. T ot eut ust en laaj am it t aiseen k ä y t et t ä v y y t een liit t y y k uit en k in t ek n iik oid en uut uut een liit t y v iä on g elm ia, j oit a k ä sit ellä ä n m m. suor it usk y k y ar v ioit a sisä lt ä v ä ssä luv ussa 4. 2 Esimerkkiaineistot E sim er k k iain eist on a t ar k ast ellaan r iv ip ohj aist a p uhelin lask uain eist oa. A in eist o k oost uu y k sit t ä isist ä lask uist a, j ot k a j ak aut uv at ed elleen k olm een osaan : lask un t un n ist e- osaan ( A ), er it t ely osaan ( B ) j a m ak sut iet oihin ( C ). L ask un m ak sut ied ot sisä lt ä v ä t lask ut usosoit t een, v iit en um er on, er ä p ä iv ä n j a lop p usum m an ( k uv a 1 ). K un k in r iv in 1 m er k it y s osoit et aan sen alussa olev alla r iv it un n ist eella ( A1, A2 j n e). L ask uain eist oon liit t y y k on t r ollit ied ost o ( k uv a 2), j ok a k uv aa ain eist on r ak en t een j a m uot oilun. K on t r ollit ied ost ossa on r iv it un n ist eit t ain k er r ot t u ain eist on k un k in r iv in m er k it y s j a m uot oilu. K on t r ollit ied ost o sisä lt ä ä lask uain eist oa v ast aav ast i t un n ist et ied ot -osan, er it t ely n j a m ak sut ied ot. K on t r ollit ied ost on t un n ist e- j a m ak sut iet or iv ien r a- k en n e on seur aav a: en sim m ä isen ä on r iv in t un n ist e, t oisessa k en t ä ssä k y seisen t ied on t ai elem en t in n im i, j a n ä it ä seur aav at t ulost uk seen k ä y t et t ä v ä f on t t i, p ist ek ok o j a t u- losk en t ä n x - j a y -k oor d in aat it ( k en t ä n v asem m an alan ur k an sij ain t i). L ask un er it t ely - eli B -r iv it on k uv at t u er i t av alla. N iille ei ole m ä ä r it elt y y - k oor d in aat t ia, sillä n e t ulost et aan j ä r j est y k sessä p er ä k k ä in. E r it t ely r iv it k oost uv at soluist a, j oille on m ä ä r it elt y x -k oor d in aat t i j a m uit a m uot oiluj a. E r ilaisia soluj a y hd ist elem ä llä saad aan t uot et t ua er ilaisia r iv ej ä. K on t r ollit ied ost ossa er it t ely r iv it k uv at aan luet t elem alla r iv in t un n ist een j a n im en j ä lk een r iv in sisä lt ö soluj en n im et. 1 Aineisto on pelkistys todellisesta laskuaineistosta, joka sisältää enemmän yksilöitävää tietoa. 2

M A1 LASKU A2 La s k u n u m e r o : 14 0 4 5 A3 As i a k a s n u m e r o : 7 3 0 5 2 A4 P a u l i P u h e l i a s A5 J o h d o n m u t k a 2 4 A6 12 3 4 5 LUUR I B 1 P UH E LUE R I T T E LY B 2 P Ä I V Ä SY KÄ Y KSI Ä KE ST O N UM E R O H I N T A B 3 2. 8. 2 0 0 2 118 14 m i n 2 0 0 10 5. 0 2 B 3 3. 8. 2 0 0 2 13 9 15 m i n 12 9 3 9 5. 3 0 B 3 4. 8. 2 0 0 2 7 8 4 m i n 2 4 9 7 8 1. 0 1 B 3 5. 8. 2 0 0 2 9 0 5 m i n 4 4 9 7 3 1. 14 B 4 6. 8. 2 0 0 2 2 0 2 0 3 0. 3 0 B 4 7. 8. 2 0 0 2 12 9 8 8 0. 3 0 B 3 8. 8. 2 0 0 2 8 0 4 m i n 3 8 2 7 1 1. 0 6 C 1 P a u l i P u h e l i a s C 2 J o h d o n m u t k a 2 4 C 3 12 3 4 5 LUUR I C 4 6 9 6 2 2 4 C 5 3 1. 1. 2 0 0 2 C 6 14. 13 T u n n i s t e o s a E r i t t e l y o s a a k s u t i e d o t Kuva 1. Esimerkkilaskudata. A1 Otsikko LASKU Helvetica 12 76 65 A2 Laskunumero Helvetica 10 432 65 A3 Asiakasnumero Helvetica 10 432 80... B1 Otsikko PUHELUERITTELY otsikkosolu1 B2 otsikkorivi otsikkosolu1 otsikkosolu2... B3 erittelyrivi puhelu solu1 solu2 solu3 solu4 solu5 B4 erittelyrivi tekstiviesti solu1 solu4 solu5 C1 Maksajan nimi Courier 9 58 665... Erittelyn solut: otsikkosolu1 Helvetica 12 40 left otsikkosolu2 Helvetica 12 120 right... solu1 Helvetica 10 40 left solu2 Helvetica 10 120 right solu3 Helvetica 10 200 right solu4 Helvetica 10 280 right solu5 Helvetica 10 360 right Kuva 2. E s i m e r k k i a i n e i s t o n k o n t r o l l i t i e d o s t o. 3

l S ol uj en m uotoi l u k uv a ta a n k on tr ol l i ti ed os ton l op us s a. N i i h i n l i i tty y m ui d en m uotoi l um ä ä r i ty s ten l i s ä k s i ti eto s i i tä, ta s a ta a n k o ti eto s ol un oi k ea a n v a i v a s em p a a n r eun a a n ( r i g h t / l ef t ). 3 Muotoiluprosessin automatisointi S eur a a v a k s i k uv a a m m e, k ui n k a l a s k ud a ta n X M L -k on v er s i o j a m uotoi l u v oi d a a n a u- tom a ti s oi d a d a ta a k uv a a v a n k on tr ol l i ti ed os ton oh j a a m a n a. K on tr ol l i ti ed os to on p r o- s es s i s s a k es k ei s es s ä a s em a s s a, k os k a s e k uv a a d a ta n r a k en teen, ( el em en tti en n i m i n ä k ä y tettä v ä t) os i en n i m et s ek ä m uotoi l uti ed ot. K uv a 3 es i ttä ä l a s k ud a ta n k ä s i ttel y p r o- s es s i a. E n s i n k on tr ol l i ti ed os to ( 1) m uun n eta a n k ä s i ttel y n h el p otta m i s ek s i X M L - m uotoon ( 2). V a r s i n a i s en l a s k ud a ta n X M L -m uotoon m uun ta v a k ä ä r e ( 3) v oi d a a n s eur a a v a k s i g en er oi d a k on tr ol l i ti ed os ton X M L -m uod os ta X S L T : l l ä. T ä m ä n k ä ä r een oh j a a m a n a X M L -m uotoon ( 5) m uun n ettu l a s k ua i n ei s to ( 4) v oi d a a n l op ul ta m uotoi l l a y l ei s en X S L T -s k r i p ti n ( f or m a tti n g. x s l t) oh j a a m a n a. S a m a m uotoi l us k r i p ti p ä tee er i a i n ei s toi h i n, s i l l ä s e s ov el ta a a i n ei s toa k uv a a v a n k on tr ol l i ti ed os ton ( 2) s i s ä l tä m i ä m ä ä r i ty k s i ä. T ul ok s en a s y n ty v ä l a s k ua i n ei s ton X S L -F O -m uotoi n en m uotoi l tu es i ty s ( 6) v oi d a a n l op ul ta tul os ta a P D F : k s i, P os ts c r i p ti k s i j n e. contr ol. tx t 1 2 3 X W p r oce s s or cont r ol. x m X S L T p r oce s s or inv oice. x w contr ol. x w contr ol. x s l t 4 5 6 inv oice s. tx t X W inv oice s. x m l p r oce s s or X S L T p r oce s s or inv oice s. f o f or m a tting. x s l t Kuva 3. M uotoi l up r os es s i n a utom a ti s oi n ti. 4

3.1 Kontrollidatan X M L - k ä ä rintä M uo to i l up r o s e s s i n a uto m a ti s o i nti p e r us tuu k o ntr o l l i ti e d o s to n m uunta m i s e e n X M L - m uo to o n. K uv a a m m e tä m ä n s uo r a v i i v a i s e n m uunno k s e n X W -k ä ä r i ntä k i e l e l l ä. K u- v a s s a 4 o n e s i te tty X W -k ä ä r e l a s k ua i ne i s to n k o ntr o l l i ti e d o s to n m uunta m i s e k s i X M L - m uo to o n ( k uv a 5). 1 <?x m l v e r s i o n = " 1. 0 " e n c o d i n g = " I S O - 8859-1"?> 2 <x w : w r a p p e r > 3 <k o n t r o l l i t i e d o s t o > 4 <t u n n i s t e t i e d o t x w : c h i l d t e r m i n a t o r = " \ n " > 5 <r i v i x w : s t a r t e r = " \ ^ A " > 6 <t u n n i s t e >A <x w : c o l l a p s e / ></ t u n n i s t e > 7 <n i m i x w : c h i l d s e p a r a t o r = " \ s " > 8 <x w : c o l l a p s e x w : m a x o c c u r s = " u n b o u n d e d " > 9 <x w : c o l l a p s e / >_ 10 </ x w : c o l l a p s e > 11 </ n i m i > 12 <f o n t t i / > <k o k o / > <x / > <y / > 13 </ r i v i > 14 </ t u n n i s t e t i e d o t > 15 <e r i t t e l y x w : c h i l d t e r m i n a t o r = " \ n " > 16 <e r i t t e l y r i v i x w : s t a r t e r = " \ ^ B " > 17 <t u n n i s t e >B <x w : c o l l a p s e / ></ t u n n i s t e > 18 <n i m i x w : c h i l d s e p a r a t o r = " \ s " > 19 <x w : c o l l a p s e x w : m a x o c c u r s = " u n b o u n d e d " > 20 <x w : c o l l a p s e / >_ 21 </ x w : c o l l a p s e > 22 </ n i m i > 23 <s o l u x w : m a x o c c u r s = " u n b o u n d e d " / > 24 </ e r i t t e l y r i v i > 25 </ e r i t t e l y > 26 <m a k s u t i e d o t x w : c h i l d t e r m i n a t o r = " \ n " > 27 <r i v i x w : s t a r t e r = " \ ^ C " > 28 29 </ r i v i > 30 </ m a k s u t i e d o t > 31 <e r i t t e l y n _ s o l u t x w : s t a r t e r = " \ ^ E r i t t e l y n s o l u t : \ n " > 32 <s o l u x w : m a x o c c u r s = " u n b o u n d e d " x w : c h i l d s e p a r a t o r = " " > 33 <n i m i / > <f o n t t i / > <k o k o / > <x / > <a / > 34 </ s o l u > 35 </ e r i t t e l y n _ s o l u t > 36 </ k o n t r o l l i t i e d o s t o > 37 </ x w : w r a p p e r > Kuva 4. Kontrollitiedoston X M L - m u otoon m u u nta v a X W - k ä ä re. K ä ä r e e s s ä k uv a ta a n k o ntr o l l i ti e d o s to n ( r i v i t 3-3 6 ) k o o s tuv a n ne l j ä s tä o s a s ta : tunni s te ti e d o i s ta ( r i v i t 4-1 4 ), e r i tte l y s tä ( r i v i t 1 5-2 5), m a k s uti e d o i s ta ( r i v i t 2 6-3 0 ) j a e r i t- te l y s o l uj e n m uo to i l uti e d o i s ta ( r i v i t 3 1-3 5). K uta k i n o s a a k uv a ta a n X W -k ä ä r e e s s ä e l e m e nti l l ä. N ä m ä X W -ni m i a v a r uute e n k uul um a tto m a t tul o s e l e m e nti t tul o s te ta a n 5

k i r j o i t e t us s a m uo d o s s a t ul o k s e e n. J o s e l e m e n t i l l ä o n k ä ä r e e s s ä l ap s i e l e m e n t t e j ä, t u- l o s t uv at s am at l ap s i e l e m e n t i t t ul o k s e e n. K ä ä r e e n t y h j i e n e l e m e n t t i e n s i s ä l l ö k s i t ul e e t ul o k s e e n l ä h t ö ai n e i s t o n v as t aav an o s an ( t e k s t i ) s i s ä l t ö. E l e m e n t t i ä v as t aav an o s an al o i t t av a t ai l o p e t t av a m e r k k i j o n o m ä ä r i t e l l ä ä n at t r i b uut e i l l a xw:starter j a xw:term i n ato r. V ai h t o e h t o i s e s t i o s an al i o s i l l e v o i m ä ä r i t e l l ä e s i m e r k i k s i l o p e t t a- v an m e r k k i j o n o n s i s ä l t ä v ä ä o s aa v as t aav as s a e l e m e n t i s s ä at t r i b uut i l l a xw:c h i l d term i n ato r ( e s i m. r i v i 4 ). O s an t o i s t um i n e n i l m ai s t aan X M L S c h e m a t y y l i i n [ 5 ] at t r i b uut e i l l a xw:m i n o c c u rs j a xw:m axo c c u rs. E l e m e n t t i xw:c o l l ap se t uo t t aa t ul o s d o k um e n t t i i n i t s e ä ä n v as t aav an s y ö t e o s an s i s ä l l ö n. S e n av ul l a e s i m e r k i k s i l as k un o s an n i m e ä k uv aav an k e n t ä n s i s ä l t ö m uut e t aan t ul o s d o k u- m e n t t i i n n i m i -e l e m e n t i n s i s ä l l ö k s i ( k uv a 4, r i v i t 8-1 0 j a k uv a 5, r i v i 6). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 <?xm l v e r s i on = " 1. 0 " e n c od i n g = " I S O - 8859-1"?> <k on t r ol l i t i e d os t o> <t u n n i s t e t i e d ot > <r i v i > <t u n n i s t e >A 1</ t u n n i s t e > <n i m i >O t s i k k o_ L A S K U _ </ n i m i > <f on t t i >H e l v e t i c a </ f on t t i > <k ok o>12</ k ok o> <x>76</ x> <y >65</ y > </ r i v i > </ t u n n i s t e t i e d ot > <e r i t t e l y > <e r i t t e l y r i v i > <t u n n i s t e >B 3</ t u n n i s t e > <n i m i >e r i t t e l y r i v i _ p u h e l u _ </ n i m i > <s ol u >s ol u 1</ s ol u > <s ol u >s ol u 2</ s ol u > <s ol u >s ol u 3</ s ol u > <s ol u >s ol u 4</ s ol u > <s ol u >s ol u 5</ s ol u > </ e r i t t e l y r i v i > </ e r i t t e l y > <e r i t t e l y n _ s ol u t > <s ol u > <n i m i >ot s i k k os ol u 1</ n i m i > <f on t t i >H e l v e t i c a </ f on t t i > <k ok o>12</ k ok o> <x>40 </ x> <a >l e f t </ a > </ s ol u > </ e r i t t e l y n _ s ol u t > </ k on t r ol l i t i e d os t o> Kuva 5. K o n t r o l l i t i e d o s t o X M L -m uo d o s s a. 6

3.2 Käärekuvauksen automatisointi L ask u ain e isto o n X M L -k ä sitte l y ä v ar te n m u u n n e ttav a X M L -m u o to o n. T u o te ttav a X M L -m u o to o n e site tty k u v assa 6. 2 T ä m ä X M L -m u u n n o s v o id aan te h d ä X W - k ä ä r e e n k u v au sk ie l e l l ä. E sim e r k ik si l ask u ain e isto n ( k u v a 1 ) e n sim m ä in e n r iv i A1 LASKU m u u n n e taan k u v an 6 r iv in 5 e sittä m ä ä n m u o to o n. K u v assa 7 o n X W -k ä ä r e ain e isto n m u u n tam ise k si X M L -m u o to o n. M u u n n o s tap ah tu u tu n n istam al l a r iv i tu n n iste e staan A1 ( k u v a 7, r iv it 7 1 3 ). V astaav asti tu n n iste taan j a m u u n n e taan X M L : k si m y ö s m u u t l ask u ain e isto n r iv it, v aih tae n v ain r iv itu n n iste tta j a l u o tav an e l e m e n tin n im e ä. L ask u ain e isto t saattav at o l l a r ak e n te e l taan r ik k aita, j a m u u n n o sm ä ä r itte l y n ( e sim. X W -k ä ä r e e n ) l aatim in e n ain e isto l l e v aatii p al j o n r u tiin in o m aista k ir j o ittam ista. M u u n n o s v o id aan au to m atiso id a k ä y ttä e n X M L -m u o to ista k o n tr o l l itie d o sto a p ar am e t- r itie d o sto n a, j o sta ain e isto n r iv itu n n iste e t j a X M L -m u o d o ssa k ä y te ttä v ie n e l e m e n ttie n n im e t h ae taan. N ä in k aik k i l u o tav at e l e m e n tit saad aan m u o d o ste ttu a sam al l a k aav al l a. 1 <?x m l v e r s ion = " 1. 0 " e n c od in g = " I S O - 8859-1"?> 2 <d a t a > 3 <l a s k u > 4 <t u n n is t e t ie d ot > 5 <O t s ik k o_ L A S K U _ > L A S K U </ O t s ik k o_ L A S K U _ > 6 <L a s k u n u m e r o_ > L a s k u n u m e r o: 140 45</ L a s k u n u m e r o_ > 7 <A s ia k a s n u m e r o_ > A s ia k a s n u m e r o: 730 52</ A s ia k a s n u m e r o_ > 8 9 </ t u n n is t e t ie d ot > 10 <e r it t e l y > 11 12 <e r it t e l y r iv i_ p u h e l u _ > 13 <s ol u 1> 2. 8. 20 0 2</ s ol u 1> <s ol u 2> 118</ s ol u 2> 14 <s ol u 3> 14 m in </ s ol u 3> <s ol u 4> 20 0 10 </ s ol u 4> 15 <s ol u 5> 5. 0 2</ s ol u 5> 16 </ e r it t e l y r iv i_ p u h e l u _ > 17 18 </ e r it t e l y > 19 <m a k s u t ie d ot > 20 <M a k s a j a n _ n im i_ > P a u l i P u h e l ia s </ M a k s a j a n _ n im i_ > 21 <M a k s a j a n _ k a t u os oit e _ > J oh d on m u t k a 24</ M a k s a j a n _ k a t u os oit e _ > 22 23 </ m a k s u t ie d ot > 24 </ l a s k u > 25 </ d a t a > Kuva 6. Laskuaineisto X M L-m uod ossa. K o n tr o l l itie d o sto sisä l tä ä k aik e n tar v ittav an tie d o n l ask u ain e isto n m u u n tam ise k si, j o te n k u n k o n tr o l l itie d o sto o n X M L -m u o d o ssa, siitä v o id aan g e n e r o id a l ask u ain e is- 2 K ä y tä m m e el em enttinim inä kontr ol l itied oston X M L-kä ä r innä n y h tey d essä p oim ittuj a tunnisteita kuten O t s i kko _ LASKU_. 7

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 <?x m l v e r s i o n = " 1. 0 " e n c o d i n g = " I S O - 8859-1"?> <x w : w r a p p e r x m l n s : x w = " h t t p : / / w w w. c s. u k u. f i / X W / 20 0 1" x w : i n p u t e n c o d i n g = " I S O - 8859-1" x w : o u t p u t e n c o d i n g = " I S O - 8859-1" x w : s o u r c e t y p e = " t e x t " > <d a t a > <l a s k u x w : m a x o c c u r s = " u n b o u n d e d " > <t u n n i s t e t i e d o t > <x w : c o l l a p s e x w : s t a r t e r = " \ ^ A 1" x w : c h i l d s e p a r a t o r = " " > <x w : i g n o r e / > <! - - t u n n i s t e k e n t ä n ( t y h j ä ) l o p p u - - > <O t s i k k o _ L A S K U _ / > </ x w : c o l l a p s e > </ t u n n i s t e t i e d o t > <e r i t t e l y > <x w : C H O I C E x w : m a x o c c u r s = " u n b o u n d e d " > <e r i t t e l y r i v i _ p u h e l u _ x w : c h i l d s e p a r a t o r = " " x w : s t a r t e r = " \ ^ B 3" > <x w : i g n o r e / > <s o l u 1/ > <s o l u 2/ > <s o l u 3/ > <s o l u 4/ > <s o l u 5/ > </ e r i t t e l y r i v i _ p u h e l u _ > </ x w : C H O I C E > </ e r i t t e l y > <m a k s u t i e d o t > <x w : c o l l a p s e x w : c h i l d s e p a r a t o r = " " x w : s t a r t e r = " \ ^ C 1" > <x w : i g n o r e / > <M a k s a j a n _ n i m i _ / > </ x w : c o l l a p s e > </ m a k s u t i e d o t > </ l a s k u > </ d a t a > </ x w : w r a p p e r > Kuva 7. Laskuaineistolle automaattisesti muodostettava X W - kä ä r e. t o l l e X W -kä ä r e. T ä m ä v a i h e t o t e u t e t t i i n X S L T : l l ä [ 6 ]. X S L T -s kr i p t i s a a s y ö t t e e n ä X M L -m u o t o i s e n ko n t r o l l i t i e d o s t o n. E d e l l ä e s i t e t t y X W -kä ä r e e n o s a ( ku v a 7, r i v i t 7 1 3 ) l u o d a a n X S L T : l l ä s e u r a a v a s t i : <x s l : t e m p l a t e m a t c h = " r i v i " > <x w : c o l l a p s e x w : s t a r t e r = " \ ^ {t u n n i s t e } " x w : c h i l d s e p a r a t o r = " " > <x w : i g n o r e / > <x s l : e l e m e n t n a m e = " {n i m i } " / > </ x w : c o l l a p s e > </ x s l : t e m p l a t e > K o n t r o l l i t i e d o s t o n rivi-e l e m e n t i n tunniste-l a p s e n s i s ä l t ö o t e t a a n s i i s a t t r i b u u t i n xw:starter a r v o ks i, j a s e n nimi-l a p s i t u o t t a a n i m e n l u o t a v a l l e e l e m e n t i l l e. K a i k- ki X M L -m u o t o i s e n ko n t r o l l i t i e d o s t o n t u n n i s t e t i e t o j e n j a m a ks u t i e t o j e n rivie l e m e n t i t v o i d a a n kä s i t e l l ä t ä l l ä s a m a l l a X S L T -ka a v a i m e l l a. 8

M yö s erittelyrivi-elem enteistä lu otav aan X W -k äär een osaan ( k u v a 7, r iv it 1 7 2 1 ) tar v ittav at nim i j a r iv in aloittav a tu nniste tu otetaan X M L -m u otoisesta k ontr ollitied ostosta sam alla tav alla: <x s l : t e m p l a t e m a t c h = " e r i t t e l y r i v i " > <x s l : e l e m e n t n a m e = " { n i m i } " > <x s l : a t t r i b u t e n a m e = " x w : s t a r t e r " >\ ^ <x s l : v a l u e - o f s e l e c t = " t u n n i s t e " / ></ x s l : a t t r i b u t e > <x s l : a t t r i b u t e n a m e = " x w : c h i l d s e p a r a t o r " > </ x s l : a t t r i b u t e > <x w : i g n o r e / > <x s l : f o r - e a c h s e l e c t = " s o l u " > <x s l : e l e m e n t n a m e = " {. } " / > </ x s l : f o r - e a c h > </ x s l : e l e m e n t > </ x s l : t e m p l a t e > L isäk si j ok aista er ittelyr iv in solu a k oh d en tu otetaan k äär eenk u v au k seen v astaav an nim inen elem entti ( k u v a 7, r iv i 2 0 ). N äin k aik k i k äär een m u od ostam iseen tar v ittav at tied ot saad aan k ontr ollitied ostosta, j a k äär e v oid aan m u od ostaa au tom aattisesti k ok o lask u aineistolle. T u lok sena saatu X W -k äär e ( k u v a 7 ) m u u ntaa v ar sinaisen lask u d atan X M L -m u otoon ( k u v a 6 ). K ontr ollitied ostoa h yv äk sik äyttäen X W -k äär e j ok a saattaa tod ellisen lask u aineiston tap au k sessa olla j op a k ym m eniä siv u j a p itk ä saatiin tu otettu a k ah d ella yk sink er taisella j a lyh yellä m u u nnok sella. 3.3 Muotoilumäärittelyn automatisointi L ask u d atan X M L -m u otoon m u u ntam isen j älk een sen m u otoilu u n v oid aan k äyttää X M L -v älineitä. M u otoilu n au tom atisointia v ar ten lask u aineistolle k ir j oitettiin X S L T - sk r ip ti, j ok a k ontr ollitied ostoa h yv äk sik äyttäen m u u ntaa aineiston m u otoilu n sisältäv ään X S L -F O -m u otoon. M u otoilu sk r ip ti saa syö tteenä X M L -m u otoisen lask u aineiston. S k r ip ti toteu ttaa m u otoilu n nou tam alla elem enttien m u otoilu tied ot ( k ir j asintyyp p i j a -k ok o sek ä sij ainti) elem enttinim en p er u steella X M L -m u otoisesta k ontr ollitied ostosta j a m u od ostam alla niillä p ar am etr oid u n m u otoilu olion. E sim er k ik si tu nnistetietoj en lap sielem enttien X S L -m u otoilu on k u v attu k u v an 8 r iv eillä 3 2 0. Y k sittäisten elem enttien tietoj a on p ystyttäv ä asettelem aan lop p u tu lok seen m ieliv altaisesti. T äh än asettelu u n k äytettiin X S L : n block-container-m u otoilu oliota. S ille v oid aan antaa k oor d inaatteina ob j ek tin sij ainti m u od ostettav alla siv u lla, k u n attr ib u u tin position ar v o on absolute ( k u v a 8, r iv it 1 5 2 0 ). M ak su tietoj en elem entit k äsitellään sam alla tav alla k u in tu nnistetietoj en elem entit. E r ittelyr iv ien m u otoilem inen on h iem an h aastav am p aa. E r ittelyr iv ien tied oilla ei ole y-k oor d inaattia, sillä r iv it tu lostetaan v ain j är j estyk sessä allek k ain. J ok ainen r iv i v oi k oostu a er i m äär ästä er i tav oin sisennettäv iä solu j a. T äm än tak ia er ittelyr iv ien m u o- toilu toteu tettiin k äsittelem ällä j ok aista er ittelyr iv iä om ana tau lu k k onaan, j olloin j o- k aiselle r iv ille v oid aan m äär itellä solu k oh taisesti sar ak k eid en lev eyd et ( k u v a 9). 9

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <x sl : t em p l a t e m a t c h = "t u n n i st et i ed o t /* "> <x sl : v a r i a b l e n a m e= "el em en t t i n i m i " sel ec t = "n a m e( ) "/> <x sl : v a r i a b l e n a m e= "r i v i " sel ec t = "d o c u m en t ( $ k o n t r o l l i t i ed o st o ) /k o n t r o l l i t i ed o st o / t u n n i st et i ed o t /r i v i [ n i m i = $ el em en t t i n i m i ] "/> <x sl : v a r i a b l e n a m e= "f o n t t i " sel ec t = "$ r i v i /f o n t t i "/> <x sl : v a r i a b l e n a m e= "k o k o " sel ec t = "$ r i v i /k o k o "/> <x sl : v a r i a b l e n a m e= "x " sel ec t = "$ r i v i /x "/> <x sl : v a r i a b l e n a m e= "y " sel ec t = "$ r i v i /y "/> <f o : b l o c k - c o n t a i n er h ei g h t = "1c m " w i d t h = "20 c m " t o p = "{ $ y } p t " l ef t = "{ $ x } p t " p o si t i o n = "a b so l u t e"> <f o : b l o c k f o n t - f a m i l y = "{ $ f o n t t i } " f o n t - si z e= "{ $ k o k o } p t "> <x sl : a p p l y - t em p l a t es/> </f o : b l o c k > </f o : b l o c k - c o n t a i n er > </x sl : t em p l a t e> Kuva 8. M u o t o i l u s k r i p t i n t u n n i s t e t i e d o t m u o t o i l e v a o s a. : t p l a t m a t c h = i t t y o : t a b l : v a r i a b l n a m i t t y r i v i n i m i t = a m ) : f o r - c h t = o c u m t ( $ k o n t r o l l i t i o o ) o n t r o l l i t i o o i t t y i t t y r i v i [ n i m i = $ i t t y r i v i n i m i ] l u : c a l l - t p l a t n a m r a k : f o r - c h o : t a b l b o d y o : t a b l r o w : f o r - c h t = : v a r i a b l n a m l u n i m i t = a m ) : v a r i a b l n a m i v i t = o c u m t ( $ k o n t r o l l i t i o o ) o n t r o l l i t i o o i t t y n _ l u t l u [ n i m i = $ l u n i m i ] : v a r i a b l n a m o n t t i t = r i v i o n t t i : v a r i a b l n a m o k o t = r i v i o k o : v a r i a b l n a m t = r i v i o : t a b l c l p a d d i n g =. m o : b l o c k f o n t - f a m i l y = $ f o n t t i } f o n t - z $ k o k o } p t t t - a l i g n = $ a } : a p p l y - t p l a t o : b l o c k o : t a b l c l : f o r - c h o : t a b l r o w o : t a b l b o d y o : t a b l : t p l a t E r i t t e l y r i v i e n m u o t o i l u. 1 <x sl em e "er el /* "> 2 <f e> 3 <x sl e e= "er el " sel ec "n e( "/> 4 <x sl ea sel ec 5 "d en ed st /k ed st / 6 er el /er el er el /so "> 7 <x sl em e e= "sa e"/> 8 </x sl ea > 9 <f e- > 10 <f e- > 11 <x sl ea sel ec "* "> 12 <x sl e e= "so " sel ec "n e( "/> 13 <x sl e e= "r " sel ec 14 "d en ed st /k ed st / 15 er el so /so so "/> 16 <x sl e e= "f " sel ec "$ /f "/> 17 <x sl e e= "k " sel ec "$ /k "/> 18 <x sl e e= "a " sel ec "$ /a "/> 19 <f e- el "0 5m "> 20 <f "{ " 21 si e= "{ " ex "{ "> 22 <x sl em es/> 23 </f > 24 </f e- el > 25 </x sl ea > 26 </f e- > 27 </f e- > 28 </f e> 29 </x sl em e> Kuva 9. 10

1 <x s l : t em p l a t e n a m e= "s a r a k e"> 2 <x s l : p a r a m n a m e= "m a x _ p i t u u s " s el ec t = "450 "/ > 3 <x s l : v a r i a b l e n a m e= "s o l u n i m i " s el ec t = "t ex t ( ) "/ > 4 <x s l : v a r i a b l e n a m e= "x " s el ec t = 5 "d o c u m en t ( $ k o n t r o l l i t i ed o s t o ) / k o n t r o l l i t i ed o s t o / 6 er i t t el y n _ s o l u t / s o l u [ n i m i = $ s o l u n i m i ] / x "/ > 7 <x s l : v a r i a b l e n a m e= "n ex t s o l u n i m i " s el ec t = 8 "f o l l o w i n g - s i b l i n g : : s o l u [ 1] "/ > 9 <x s l : v a r i a b l e n a m e= "n ex t x " s el ec t = 10 "d o c u m en t ( $ k o n t r o l l i t i ed o s t o ) / k o n t r o l l i t i ed o s t o / 11 er i t t el y n _ s o l u t / s o l u [ n i m i = $ n ex t s o l u n i m i ] / x "/ > 12 <x s l : c h o o s e> 13 <x s l : w h en t es t = "f o l l o w i n g - s i b l i n g : : s o l u "> 14 <f o : t a b l e- c o l u m n c o l u m n - w i d t h = "{ $ n ex t x - $ x } p t "/ > 15 </ x s l : w h en > 16 <x s l : o t h er w i s e> 17 <f o : t a b l e- c o l u m n c o l u m n - w i d t h = 18 "{ $ m a x _ p i t u u s - $ x } p t "/ > 19 </ x s l : o t h er w i s e> 20 </ x s l : c h o o s e> 21 </ x s l : t em p l a t e> Kuva 1 0. Erittelyrivien sarakkeiden määrittely. T aul uko n m uo to il u tap ahtuu niin, että ensin tuo tetaan sar akkeid en l ev ey d et ( kuv a 9, r iv it 4 7 j a kuv a 10 ). N e saad aan l askettua v ähentäm äl l ä so l ua seur aav an so l un x -ko o r d inaatista so l un o m a x -ko o r d inaatti ( kuv a 10, r iv it 14 j a 17 ). S en j äl keen er ittel y r iv in j o kainen solu m uo to il l aan o m aksi taul uko n so l ukseen so v el taen ko ntr o l l i- tied o sto sta saatav ia f o ntti-, ko ko - j a tasaustieto j a ( kuv a 9, r iv it 9 2 1). M uo to il uskr ip ti tuo ttaa XS L -F O -m uo to isen l askun, j o sta l asku v o id aan tul o staa esim er kiksi P D F -m uo to o n ( kuv a 11). 4 Arviointia M ittasim m e l askuaineisto n m uuntam is- j a m uo to il uaiko j a ko keel l isesti. K o ntr o l l itied o sto n käsittel y n v aatim aa aikaa ei testattu, ko ska käy tännö ssä ko ntr o l l itied o sto o n kiinteän ko ko inen, j a se käsitel l ään v ain ker r an y htä aineisto ty y p p iä ko hd en. T estaus suo r itettiin S uno S 5. 8 -käy ttö j är j estel m ässä 7 5 0 M H z p r o sesso r ia käy ttäv äl l ä S un F ir e 2 8 0 R -p al v el im el l a j a J av a-v er sio l l a J 2 S E v 1. 4. 0. XS L T -p r o sesso r ina käy tettiin sekä Xal ania [ 7 ] että S ax o nia [ 8 ]. P D F -m uo to il u suo r itettiin A p ac hen F O P - p r o sesso r il l a [ 9 ]. K äy tetty ä p r o sesso r iaikaa m itattiin U nix in t i m e -ko m enno l l a. L ähtö aineisto na o l i kaksi ty y p il l istä l askua ( nel j ä siv ua) sisäl täv ä 6, 6 kil o tav un tekstitied o sto j a siitä ko p io im al l a m uo d o stetut m o niker r at. M ittasim m e er ikseen l askuaineisto n m uuntam isen XW : l l ä XM L : ksi j a sen m uuntam isen ed el l een P D F : ksi. XM L P D F -m uunno s suo r itettiin kahd el l a er i tav al l a: y hd essä askel eessa F O P il l a käy ttäen sen sisäänr akennettua XS L T -p r o sesso r ia ( Xal an) j a kahd essa askel eessa suo r ittaen XS L T -m uunno s S ax o nil l a j a P D F -m uo to il u F O P il l a. T ul o kset kuv assa 12. 11

Kuva 1 1. Muotoiltu lasku P D F - m uod on kautta tuloste ttun a T u l ok sist a n ä h d ä ä n, et t ä X W : l l ä su or it et u n X M L -k on v er sion v a a t im a a ik a on m u r t o-osa m u ot oil u n v a a t im a st a a j a st a. T ä st ä t a a s sel v ä st i su u r in osa k u l u u X S L T - m u u n n ok seen, j on k a v a a t im a a ik a k a sv a a l op u l l isen P D F -m u ot oil u n a j a n t a r v et t a n o- p ea m m in. 8 0 l a sk u n a in eist ol l a su or it u sa ik oj en er o on j o v iisin k er t a in en. K ä y t et y l l ä X S L T -p r osessor il l a ei ol l u t m er k it t ä v ä ä v a ik u t u st a su or it u sa ik a a n. N y k y isel l ä ä n k ok eil t u k ä sit t el y t a p a ei v a ik u t a k ä y t ä n n ö l l isel t ä v a ih t oeh d ol t a m a s- sa t u l ost eid en m u ot oil u u n : m in u u t issa m u ot oil t iin a in oa st a a n 20 l a sk u a. T oisa a l t a p ien iv ol y y m ist en v er k k ol a sk u a in eist oj en k ä sit t el y y n X S L T -p r osessor eid en n y k y in en k in su or it u sk y k y v oi ol l a r iit t ä v ä. 12

suoritusaika (s) 4 5 0 4 00 3 5 0 3 00 2 5 0 2 00 1 5 0 1 00 5 0 0 0 2 0 4 0 6 0 8 0 1 00 laskua F O P : X M L = > P D F S a x o n : X M L = > F O F O P : F O = > P D F X W : t e k s t i = > X M L Kuva 1 2. Laskuaineiston vaatimia muunnos- ja muotoiluaikoja A u a a m u u n n j a m u n m v s a a s s m a s a m m u u n n j n a s E d m u u n n v a u a s s m a. A m a m u s a a s, h a n s. X M L s s m n n a s k u n u m e r o > L a s k u n u m e r o : 1 4 0 4 5 l a s k u n u m e r o >. S m a u u s m a h d a s, n j a m u u n n j v a a n a a y n. R a m a, j a s a s s a v a s a v a K s u h h y s j a a m a n a m u u n n j a m u a u a a s X M L s s v g a n a n u u u s. T ö m m s s a X S L s u. I d X S L tom ttis en oks en otoilu perim äin en ta oite on py ty ä käs ittelem ään erila is ia in eis toj is ällö tä riippu tta oilla os oh elm illa räätälö im ättä iitä eri in eis toille opiv iks i. ellä es itety t os ku ks et ov t pitkälti is ällö tä riippu ttom ia in eis toriippu ttom ien otoilu kriptien käy ttö ih eu t- ta en että ka iken loppu tu loks een lu tu teks tin on is älly ttäv ä elem en tteih in -a in eis toih in tu lee iks i es im erkiks i ella is ia kö pelö tu tu is ia elem en ttej ä ku in <l </ is ältö riippu ttom ollis ta ku iten kin en että kerra kirj oitettu os oh elm ia oid käy ttää lu kem ttom ien in eis toj en käs ittely iittää, että in eis to on erotin erkein eroteltu ille on olem ta kon trollitied os to. olm en teellis en ly en kriptin oh koko os - otoilu pu tki toim ii tom tti- es ti. -tekn iikoid en käy tö ä on ielä tois ta is eks i on elm iid en tu r- äs im e kokeilu erity is es ti -pros es orien pu tteis iin lm eis es ti täy ellis iä -toteu tu ks ia ei ole. Kiitokset E d ellä es itetty tu tkim u s on teh ty X R A K E ( X M L -ra j a pin toj en keh ittäm in en ) h a n k- kees s a, j on ka ra h oitta v a t T E K E S / E A K R, D eio O y, E n f o G rou p O y j, J ärv i-s u om en O h j elm a pa lv elu O y, K u opion y liopis tollin en s a ira a la, M ed ig rou p O y, S y s O pen O y j j a T ietoe n a tor O y j. 13

Lähteet E k, M H a k k a r a i n e n, H K i l p e l ä i n e n, P K u i k k a, E P e n t t i n e n, T D e s i b i n g X M L w r a p p e r s f o r i n f o r m a t i o n i n t e g r a t i o n I n : P r o o f X M L F i n l a n d 2 0 0 T a m p e r e, N o v 2 0 0 3 8 5 2 E k, M H a k k a r a i n e n, H K i l p e l ä i n e n, P P e n t t i n e n, T D e a r a t i v e X M L w r a p p i n g o f d a t a R e p o r t A / 2 0 0 2 / 2 U n i v o f K u o p i o, D e p t o f C o m p S a n d A p p l i e d M a t h 2 0 0 2 3 W a l d t, D G e t t i n g d a t a i n t o X M L : D a t a l l e i o n a n d n v e r s i o n t e n i q u e s A b s t r a I n : P r o o f X M L E u r o p e, B a r l o n a, M a y 2 0 0 2 4 A d l e r, S e t a l, e d i t o r s : E x t e n s i b l e S t y l e s h e e t L a n g u a g e ( X S L ) V e r s i o n W 3 C R e O o b e r 2 0 0 h t t p / / : w w w 3 r g / T R / x s l / 5 T h o m p s o n, N B e e, D M a l o n e y, M M e n d e l s o h n, N e d i t o r s : X M L S e m a P a r t S t r u u r e s W 3 C R e M a y 2 0 0 6 C l a r k, J e d i t o r : X S L T r a n s f o r m a t i o n s ( X S L T ) V e r s i o n W 3 C R e N o v 9 9 7 A p a e X a l a n v e r s i o n 2 2 0 0 h t t p : / / x m l p a e r g / x a l a n - j / i n d e x t m l 8 S a x o n v e r s i o n 6, 2 0 0 h t t p : / / s a x o n o u r f o r g e e t / s a x o n 6 / i n d e x t m l 9 A p a e F O P v e r s i o n 0 0, 2 0 0 2, h t t p : / / x m l p a e r g / f o p / i n d e x t m l 1..,.,.,.,.: cr. c. 1,. 1, 1..,.,.,.: cl.. ci..,..: co ct co ch. ct. c. ce.. 1.0. c., ct 1,.w.o.., ch.,.,. ch 1: ct. c., 1.. 1.0. c.,. 19. ch.2.d 11, 1,.a ch.o.h..4.4 1,.s ce.n.4.4.h. ch.2.4.a ch.o.h 14