11 XML-entiteetit. Edellisistä laillisia ominaisuusyhdistelmiä ovat siis vain aikaisemmin luetellut viisi:

Koko: px
Aloita esitys sivulta:

Download "11 XML-entiteetit. Edellisistä laillisia ominaisuusyhdistelmiä ovat siis vain aikaisemmin luetellut viisi:"

Transkriptio

1 11 XML-entiteetit Entiteetit ovat tuttuja jo HTML-kielestä - entiteettien avulla dokumenttiin voidaan esim. liittää merkkijonoja, joille on annettu erisnimi Seuraava esimerkki liittää merkkidataan "<" ja ">" -merkit entiteettiviittauksen avulla: <eg> HTML-elementin <FONT> käyttöä ei suositella! </eg> XML-spesifikaatio määrittelee oletusarvoisesti viisi tämäntyyppistä entiteettiä: "lt", "gt", "amp", "apos" ja "quot" (validi XML-dokumentti esittelee eksplisiittisesti myös nämä itse) Esimerkissä konkreettinen hyöty oli kuitenkin vähäinen, sillä edellinen esimerkki olisi voitu hyvin kirjoittaa myös merkkiviittausten avulla esim. seuraavasti: <eg> HTML-elementin <FONT> käyttöä ei suositella! </eg> RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 228 XML-entiteetit voivat olla kuitenkin huomattavastikin tätä monimutkaisempia - XML-entiteettien avulla on mahdollista erityisesti: - nimetä vakiomerkkijonoja ja liittää merkkijonoja merkkidatan joukkoon em. nimien avulla - jakaa XML-dokumentti useisiin fyysisiin osiin - liittää XML-dokumenttiin viittauksia muihin dokumentteihin joiden rakennetta XML 1.0 ei käsittele (esim. kuvat, äänet, tietokoneohjelmat) - sieventää ja parametrisoida DTD-määrityksiä XML-spesifikaation määrittelemä entiteetti ([entity]) voidaankin ymmärtää tiedoston ([file]) laiteriippumattomana abstraktiona Entiteettejä on XML:ssä olemassa kuutta eri tyyppiä (nimeämiskäytäntö selvitetään pian): 0) dokumenttientiteetti ([document entity]) 1) sisäinen tekstientiteetti ([internal general entity]) 2) ulkoinen tekstientiteetti ([external parsed general entity]) 3) dataentiteetti ([unparsed entity]) RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 229 4) sisäinen parametrientiteetti ([internal parameter entity]) 5) ulkoinen parametrientiteetti ([external parameter entity]) Samaan tapaan kun validissa XML-dokumentissa määritellään käytetyt elementit elementtien tyyppijulistusten avulla, määritellään käytetyt entiteetit entiteettijulistusten avulla Poikkeuksena on dokumenttientiteetti, jota ei koskaan määritellä erikseen (dokumenttientiteetti on se XML-dokumentin fyysinen osa, joka sisältää XMLjulistuksen, dokumentin tyyppijulistuksen ja dokumentin juurielementin) Viisi muuta entiteettityyppiä määritellään kaikki ENTITY-julistuksen avulla; tulkinta on se, että XML:ssä on vain olemassa "yhdentyyppisiä" entiteettejä, joilla voi olla erilaisia ominaisuuksia: - sisäinen vs. ulkoinen ([internal vs. external]) - yleinen tai parametri ([general vs. parameter]) - jäsennetty tai jäsentämätön ([parsed vs. unparsed]) Edellisistä laillisia ominaisuusyhdistelmiä ovat siis vain aikaisemmin luetellut viisi: ENTITEETIN TYYPPI OMINAISUUS sisäinen ULKOINEN yleinen PARAMETRI jäsennetty JÄSENTÄMÄTÖN sisäinen tekstientiteetti I. G. P. ulkoinen tekstientiteetti. E G. P. dataentiteetti. E G.. U sisäinen parametrientiteetti I.. A P. ulkoinen parametrientiteetti. E. A P. Nimien muistamisen sijaan kannattaa muistaa entiteetit em. ominaisuustaulukon merkityksen mukaisesti Entiteetit eivät oikeastaan tuo mitään uutta XML-dokumentteihin, ne pikemminkin tehostavat ja monipuolistavat dokumenttien käsittelyä RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 231

2 Dokumenttientiteetti Yksinkertaisen, yhdestä tiedostosta koostuvan XML-dokumentin looginen rakenne rakentuu hierarkkisesti elementtien varaan - merkkidata sijaitsee attribuuttien arvoissa tai elementtien sisällä, - attribuutit liittyvät elementteihin näiden alkutagien kautta ja - elementit sijaitsevat toisten elementtien sisällä - paitsi juurielementti, joka ei sijaitse minkään elementin sisällä Missäs juurielementti sitten sijaitsee? Vastaus: juurielementti sijaitsee ko. XML-dokumentin implisiittisesti määritellyn dokumenttientiteetin ([document entity]) sisällä XML-prosessorin näkökulmasta dokumenttientiteetti vastaa tiedostoa (viittaa tiedostoon), joka sisältää XML-dokumentin ja joka ladataan käsiteltäväksi - sisältönä unikoodattu tekstitiedosto - lataaminen käsittelyä varten suoritetaan esim. URL-viittauksella Entiteettien peruskäsitteet Dokumenttientiteetti on lähinnä käsitteellinen entiteetti, josta ei erikseen tarvitse huolehtia: keskitytäänkin jatkossa yksinomaan viiteen muuhun entiteettityyppiin (ellei toisin erikseen mainita) Jokaisella entiteetillä on nimi ja sisältö Entiteeteillä on kaksi eri nimiavaruutta: yleisentiteeteillä (teksti- ja dataentiteetit) omansa ja parametrientiteeteillä omansa Yleisentiteettejä käytetään esiintymäosassa, parametrientiteettejä dokumentin tyyppimäärittelyssä Entiteetin sisältö on joko jäsennettyä merkkidataa (jäsennettävät entiteetit ([parsed entity])) tai jäsentämätöntä dataa ([unparsed entity]) - jäsennettävä merkkidata tulkitaan XML-prosessorin toimesta (tarvittaessa) - jäsentämätön data käsitellään vain nimettynä tiedostona, jonka sisältöön ei oteta kantaa RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 233 Literaaliarvo vs. korvausteksti Seuraavan ymmärtäminen oikeastaan jo edellyttää erityyppisten entiteettien tuntemista - palaa tähän kohtaan aineistoa myöhemmin uudestaan kun olet ensin perehtynyt yleis- ja parametrientiteetteihin Sisäisen tekstientiteetin sisällöstä erotetaan literaaliarvo ([literal entity value]) jonka perusteella muodostetaan (entiteetin nimen) korvausteksti ([replacement text]) (vrt. attribuuttien arvojen normalisoiminen) Korvausteksti muodostetaan literaaliarvosta jäsentämällä auki 1) merkkiviittaukset JA 2) parametrientiteettiviittaukset Muut entiteettiviittaukset - mukaanlukien oletusentiteetit - jäsennetään vasta korvaustekstiä käsiteltäessä (oletusentiteeteillä tarkoitetaan tässä entiteettejä joiden nimet ovat lt, gt, amp, apos ja quot ) Huomaa, että korvausteksti voi siis sisältää sekä merkkidataa että merkkausta, mukaan lukien entiteettiviittauksia (joskaan ei entiteettiin itseensä, koska rekursio on ymmärrettävästikin kielletty) RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 234 Esimerkkejä Esimerkki 1: kun entiteettiä <!ENTITY bigboys "AT&T;"> käytetään dokumentin esiintymässä tyyliin: <DOC>Esimerkki erittäin suuresta yrityksestä: &bigboys;</doc> on lopputuloksena elementin sisällä korvausteksti, jonka looginen muoto on: Esimerkki erittäin suuresta yrityksestä: AT&T; XML-prosessori käsittelee korvaustekstin sovellukselle muotoon (hakasulut lisätty taas vain esimerkin selventämiseksi): [Esimerkki erittäin suuresta yrityksestä: AT&T;] ts. elementin sisällä ei ole viittausta entiteettiin T, vaan vain merkkidataa "&T;" joka sisältää viittauksen entiteettiin amp Kerrataan vielä: kohdista 1-2 seuraa siis, että erityyppiset entiteetit tuodaan korvaustekstiin eri aikoina ja ne tulkitaan eri paikoissa RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 235

3 Esimerkki 2: jos määritelläänkin entiteetti bigboys muodossa <!ENTITY bigboys "AT&T;"> Entiteettien määrittely ja käytetään kuten edellä, niin lopputuloksena on korvausteksti: Esimerkki erittäin suuresta yrityksestä: AT&T; joka sisältää siis entiteettiviittauksen "&T;". Mikäli entiteettiä ei ole määritelty, on tuloksena virhe. Jos asian korjaamiseksi vielä määritellään <!ENTITY T "TILA INDUSTRIES"> niin lopputuloksena XML-sovellus näkee sisällön muodossa [Esimerkki erittäin suuresta yrityksestä: ATTILA INDUSTRIES] Entiteettiviittauksia voi myös ketjuttaa (yleistä edellistä esimerkkiä) mutta siinä on harvoin mitään järkeä Entiteettejä kannattaa käyttää aina harkiten koska virheiden tekeminen on helppoa (lisää vaarallisia esimerkkejä seuraa myöhemmin) RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 236 Entiteettijulistuksen määritelmä annetaan XML-kieliopissa muodossa [70] EntityDecl ::= GEDecl PEDecl [71] GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>' [72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>' [73] EntityDef ::= EntityValue (ExternalID NDataDecl?) [74] PEDef ::= EntityValue ExternalID Entiteettien määrittely tehdään dokumentin tyyppimäärittelyn yhteydessä kuten elementti-, notaatio ja attribuuttijulistuksetkin Vaikka XML-spesifikaatio määrittelee viisi oletusentiteettiä, pitää myös nämä esitellä validissa XML-dokumentissa (jos niitä käytetään) Oletusentiteettien määrittelyssäkin pitää huomioida se, miten XML prosessoi entiteettien literaaliarvot! Mainitaan lopuksi vielä että sisäisten entiteettien sisältö esitellään XMLdokumentissa, ulkoisten noudetaan tiedostosta (tarvittaessa) RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 237 Sisäiset tekstientiteetit Sisäiset tekstientiteetit ( [internal general parsed entity]) hoitavat XML:ssä entiteetin sisältönä annettavien korvaustekstien ([replacement text]) nimilappujen virkaa Ominaisuuksia: - käyttö vain dokumentin esiintymäosassa - sisältö esitellään entiteettijulistuksen yhteydessä - sisältöön kirjoitettavien parametrientiteetti- ja merkkiviittausten kanssa on syytä olla tarkkana! Tyypillinen käyttö on (oletettavasti vaihtuvien) vakiomerkkijonojen nimeäminen: <!DOCTYPE DOC [ <!ELEMENT DOC <!ENTITY legalnotice <DOC> &legalnotice; </DOC> (#PCDATA)> "Copyright (C) 2004 Acme Inc."> Sisältönä voi olla myös entiteettiviittauksia ja merkkausta: <!ENTITY Phrase... &Phrase; "<RECORD>Peto minussa!</record>"> Rajoituksia (pätevät jäsennettäville entiteeteille myös yleisesti): - ei rekursiota sisällössä - entiteetin sisällön tulee olla hyvin muodostettu (WF) - käytännössä tämä tarkoittaa sitä, että jäsennetyt entiteetit ovat kuin pieniä XML-dokumentteja (ilman yksikäsitteistä juurielementtiä) Tietyssä mielessä entiteettien käsittely vastaa juuri pienten XML-dokumenttien yksinkertaista jäsentämistä On kuitenkin syytä pitää mielessä, että - merkkiviittaukset ja parametrientiteetit jäsennetään auki jo korvaustekstissä - jossa mahdollisesti sijaitsevat yleisentiteetit jäsennetään auki dokumentin esiintymässä RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 239

4 Huomautuksia ja esimerkkejä Esimerkki 1: HUOMAA, ETTÄ SEURAAVA JULISTUS ON AINA VIRHE: <!ENTITY lt "<"> Oletusentiteetit lt ja amp on aina esiteltävä tuplaviittauksin tyyliin <!ENTITY lt "&#60;"> <!ENTITY amp "&#38;"> Muiden oletusentiteettien (gt, apos ja quot) esittelyssä tuplaviittausten käyttäminen on vapaaehtoista mutta suositeltavaa: <!ENTITY gt "&#62;"> <!-- tai ">" --> <!ENTITY apos "&#39;"> <!-- tai "&#39;" --> <!ENTITY quot "&#34;"> <!-- tai """ --> Huomaa erityisesti miten esim. entiteetin lt literaaliarvo "&#60;" tulkitaan korvaustekstiksi "<", mikä edelleen dokumentin esiintymässä tulkitaan merkkiviittaukseksi merkkiin [<] Entiteetin gt literaaliarvo "&#62;" tulkitaan korvaustekstiksi >", joten dokumentin esiintymäosaan tulee merkki [>], joka on sinänsä sallittu merkki myös merkkidatan keskellä (merkki korvataan yleensä entiteetillä tai merkkiviittauksella siksi, että dokumentin luettavuus ei kärsi) sillä nyt entiteetin käytön <DOC><</DOC> tuloksena saadaan XML-prosessorin luettavaksi tagin aloittava merkki "<"! Esimerkki 2: literaaliarvoiksi voidaan periaatteessa kirjoittaa myös tageja tyyliin <!ENTITY badexample "<TAG/>"> Entiteetin käytön seurauksena XML-prosessori näkee tekstin "<TAG/>" joka tarkoittaa tyhjän elementin tagia ja entiteetin korvaustekstinä on siis merkkausta. Tämänkaltaisia tagien määrittelyjä ei kuitenkaan pidä koskaan käyttää. Parempi olisi kirjoittaa elementin literaaliarvo reilusti muotoon <!ENTITY betterexample "<TAG/>"> Tosin tagien käyttöä literaaliarvoissa kannattaa pyrkiä aina välttämään, sillä se todennäköisesti tekee dokumenttien editoimisesta hankalaa RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 241 Esimerkki 3: viittauksia sisäisiin tekstientiteetteihin on laillista kirjoittaa myös osaksi attribuuttiarvoja. Olkoon annettu entiteettijulistus <!ENTITY example "'Hei maailma!'"> Entiteetin käyttäminen attribuutin arvona onnistuu nyt muodossa <MYELEMENT ATTR="&example;"> edellyttäen tietenkin, että attribuutin arvoalue on sopiva. Heitto- ja lainausmerkit entiteetin literaaliarvossa tulkitaan merkkidataksi Entiteettien käyttämisessä kannattaa pyrkiä pikemminkin yksinkertaisuuteen kuin maksimaaliseen tehokkuuteen - runsas merkkausta sisältävien entiteettien käyttö tekee yksinkertaisestakin dokumentista vaikealukuisen! - kaikki prosessoriohjelmat eivät ymmärrä monimutkaisia entiteettejä Tarpeettomien merkki- ja parametrientiteettiviittausten käyttämistä literaaliarvoissa kannattaakin käytännössä välttää RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 242 Ulkoiset tekstientiteetit Ulkoiset tekstientiteetit ( [external general parsed entity]) mahdollistavat XMLdokumenttien paloittelun useiksi tiedostoiksi Ominaisuuksia: - käyttö vain dokumentin esiintymäosassa, joskaan ei attribuutin arvona - tiedoston sisältönä hyvin muodostettu XML-dokumentti (tai sen WF osa), jonka saa lisätä ([include]) entiteettiviittauksen kohtaan - XML-dokumentin ei-validoiva jäsentämisprosessi saattaa kuitenkin jättää ulkoisen tiedoston jäsentämättä ja lisäämättä entiteettiviittauksen kohtaan! Tyypillinen käyttötarkoitus on ulkoisen tekstitiedoston lisääminen XMLdokumentin osaksi: <!DOCTYPE DOC [ <!ELEMENT DOC <!ENTITY chap01 <DOC> &chap01; </DOC> (#PCDATA)> SYSTEM "Story_Chap01.xml"> RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 243

5 Ulkoiset tekstientiteettit voivat käyttää eri merkkikoodauksia: - XML-prosessorin tulee osata lukea (ainakin) UTF-8 ja UTF-16-koodattuja tekstitiedostoja Ulkoinen tekstientiteetti voi lisäksi alkaa ulkoisen tekstitentiteetin XMLjulistuksella ([text declaration]), joka vastaa käytännössä XML-julistusta ilman standalone-pseudoattribuuttia [77] TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>' Itse asiassa ulkoinen tekstientiteetti vastaa käsitteellisesti pientä XMLdokumenttia (ilman yksikäsitteistä juurielementtiä), sillä senkin tulee olla oikein muodostettu ja olla johdettavissa XML-tuottosäännöstä content: [78] extparsedent ::= TextDecl? content XML-spesifikaation jättämä pelivara XML-prosessoreille (se että parsitaanko ulkoisia tiedostoja vai ei) hankaloittaa dokumenttien tiedostoiksi pilkkomista, mikäli käytettävä XML-prosessori ei ole tiedossa - prosessori Y kun saattaa jättää entiteetin (ja siten jonkin XML-dokumentin osan) kokonaan huomiotta! RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 244 Dataentiteetit Dataentiteetit ( [external general unparsed entity]) mahdollistavat XMLdokumenttiin sisällytettävät, muihin kuin XML-tyyppisiin tiedostoihin kohdistuvat viittaukset Dataentiteetit ovat aina ulkoisia - erona edellä esiteltyihin ulkoisiin tekstientiteetteihin on viittaus notaatiojulistukseen: [76] NDataDecl ::= S 'NDATA' S Name [ VC: Notation Declared ] Dataentiteettien ominaisuuksia: - käyttö vain dokumentin esiintymäosassa ENTITY- tai ENTITIEStyyppisten attribuuttien arvona - tiedosto sisältää raakadataa Viittaus notaation kertoo XML-sovellukselle kuinka tiedostoa tulisi käsitellä: XML-prosessori ei kuitenkaan viittauksen sisältöä ymmärrä Tämä ei kuitenkaan tarkoita, etteikö dataentiteetin sisältönä voisi olla myös XML-dokumentti (esim. jos ko. dokumentin oikein muodostuneisuus tiedetään jo ja dokumentti halutaan vain välittää parametrinä sovellukselle) RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 245 Dataentiteettejä käytetään attribuuttien välityksellä tyyliin: <!DOCTYPE DOC [ <!ELEMENT DOC (#PCDATA)> <!ATTLIST DOC LOGO ENTITY #REQUIRED> <!NOTATION JPG SYSTEM "jpgview.exe"> <!NOTATION GIF SYSTEM "gifview.exe"> <!ENTITY jpglogo SYSTEM "acme.jpg" NDATA JPG> <!ENTITY giflogo SYSTEM "acme.gif" NDATA GIF> <DOC LOGO="giflogo"></DOC> Dataentiteettien soveltaminen edellyttää yleensä jonkin tietyn XMLsovellusohjelman käyttämistä Tyypillisiä sovelluskohteita ovat esim: - kuva-, ääni-, yms. tiedostojen välittäminen sovelluksille attribuuttien arvoina - linkkiviittausten välittäminen - jne. Sisäiset ja ulkoiset parametrientiteetit Sisäiset ja ulkoiset parametrientiteetit ( [internal/external parameter (parsed) entity]) mahdollistavat merkkausjulistusten sieventämisen eräänlaisten makromuuttujien avulla Ominaisuuksia: - käyttö vain dokumentin tyyppimäärittelyn osana - parametrientiteetit jäsennetään auki tekstientiteettien korvaustekstiksi ennen tekstientiteettien sisällön sijoittamista dokumentin esiintymässä - parametrientiteeteillä ja yleisentiteeteillä (teksti- ja dataentiteetit) on erilliset nimiavaruudet RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 247

6 Parametrientiteetin julistus ja viittaus eroavat yleisentiteetistä prosenttimerkin "%" käytöllä sekä entiteettijulistuksen että -viittauksen yhteydessä (doc.dtd): <!ENTITY % contentmodel "(#PCDATA EM QUOTE)*"> <!ELEMENT DOC %contentmodel;> <!ELEMENT EM (#PCDATA)> <!ELEMENT QUOTE (#PCDATA)> Entiteetin contentmodel avulla määritellään esimerkissä yleiskäyttöinen elementtiluokka ([element class]) Tyyppimäärityksen mukainen (hyvin muodostettu ja validi) XML-dokumentti (doc.xml): <?xml version="1.0" encoding="iso "?> <!DOCTYPE DOC SYSTEM "doc.dtd"> <DOC><EM>Moro nääs!</em></doc> Parametrientiteettien käytöllä pyritään lähinnä sieventämään ja parametrisoimaan DTD-määrittelyjä Tyypillinen käyttötarkoitus on esim. ehdollisten DTD-lohkojen pseudoattribuuttien IGNORE ja INCLUDE parametrisointi: Ulkoinen DTD-osajoukko (mybook.dtd): <![%detailed;[ <!ELEMENT book (comments*, title, body, supplements)> ] <![%sparse;[ <!ELEMENT book (title, body)> ]... Sisäinen DTD-osajoukko ja XML-dokumentin esiintymä: <!DOCTYPE DOC SYSTEM "mybook.dtd" [ <!ELEMENT DOC (book?)> <!ENTITY % detailed "IGNORE"> <!ENTITY % sparse "INCLUDE"> <DOC> RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 249 Parametrientiteettien käyttäminen poikkeaa hieman tekstientiteettien käyttämisestä siinä, että parametrientiteetti voi viitata toiseen parametrientiteettiin vain jos tämä on määritetty aikaisemmin dokumentissa Parametrientiteettien harkitsematon tai liiallinen käyttö johtaa käytännössä poikkeuksetta spagettimaisiin DTD-määrittelyihin Parametrientiteetit ovat yleensä käteviä esim. kun halutaan määritellä useampaan elementtiin liitettävä attribuuttilistan julistus: <!ENTITY % coreattrs "id ID #IMPLIED title CDATA #IMPLIED"> <!ELEMENT para (#PCDATA)> <!ATTLIST para %coreattrs;> <!ELEMENT link (#PCDATA)> <!ATTLIST link target-addr NMTOKEN #IMPLIED %coreattrs;> Käytännössä XML-prosessoreiden mahdolliset puutteet XML-kielen erilaisten piirteiden tuessa liittyvät todennäköisesti juuri parametrientiteetteihin RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 250 Esimerkki parametri- ja yleisentiteettien yhteiskäytöstä On syytä muistaa miten parametrientiteetit käsitellään (sisäisten) tekstientieettien literaaliarvoissa ja miten esim. merkkiviittaukset jäsennetään Esimerkki: olkoon annettu entiteettijulistukset: <!ENTITY % greeting "Moro nääs!"> <!ENTITY example "Tamperelainen tervehdys: %greeting;"> Nyt entiteetin example käyttämisen <DOC>&example;</DOC> seurauksena XML-prosessori välittää sovellukselle elementin DOC sisällön merkkidatana muodossa [Tamperelainen tervehdys: Moro nääs!] Huomioita: - parametrientiteettiä saa käyttää vain tyyppijulistuksessa - mutta välilliset vaikutukset voivat näkyä myös dokumentin esiintymässä RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 251

7 Yleisiä huomioita XML-entiteettien käyttämisestä Vaikka entiteettien avulla onkin mahdollista kirjoittaa mutkikkaan näköisiä XML-dokumentteja, ei siihen tietenkään kannata itseisarvona pyrkiä Entiteettejä kannattaa käyttää lähinnä: - vakiomerkkijonojen nimeämiseen - dokumenttien pilkkomiseen (jos oma prosessori sen sallii) - monimutkaisten merkkausjulistusten luettavuuden parantamiseen Entiteeteistä on hyötyä, sillä esimerkiksi vakiomerkkijonojen laaja käyttö - vähentää kirjoitusvirheitä - vähentää käsityötä jos tekstiä on muutettava systemaattisesti Toisaalta tässäkin kannattaa miettiä (jos mahdollista) myös vaihtoehtoja: - kannattaako vakiomerkkijonot välittää sovellukselle FIXED-attribuutteina? - vaiko sittenkin lisätä vakioelementit vasta ulkoasun prosessointivaiheessa (vrt. esim. CSS2:n content-ominaisuus)? RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 252 Suurten XML-dokumenttien pilkkominen osiksi taas tehostaa dokumentin editoimista ja prosessointia osissa mutta ei sen validointia (koska tämä suoritetaan aina kokonaiselle dokumentille) On lisäksi syytä muistaa, että asiakas (XML-dokumentin kirjoittaja), joka annettua DTD-määritystä käyttää, prosessoi sen todennäköisesti omalla XMLprosessorillaan: - vaikka abstraktin lopputuloksen kannalta asiakkaat ovatkin kiinnostuneita vain dokumentin tyyppimäärityksestä, eivät sen tuottavasta merkkausjulistuksesta, niin - yhtä ja samaa DTD-tiedostoa käsitellään mahdollisesti useilla eri prosessoreilla (julistusten monipuolisuus on siis valittava vaatimattomimman prosessorin ominaisuuksien mukaan) Merkkauksen kirjoittaminen sisäisten yleisentiteettien sisällöksi hankaloittaa dokumentin editoimista (etenkin jos DTD on annettu & kiinnitetty) Parametrientiteettien liiallinen käyttäminen julistusten avainsanojen tuottamiseen tai merkkauksen koostamiseen johtaa helposti tarpeettoman sotkuiseen dokumenttimääritykseen (ylläpitäjän ja dokumentoijan painajainen) RAKENTEISET DOKUMENTIT (kevät 2004) luentorunko ON & JH 253

11 XML-entiteetit. <eg> Using HTML tag <FONT> is not recommended! </eg> <eg> Using HTML tag <FONT> is not recommended! </eg> XML-entiteetit

11 XML-entiteetit. <eg> Using HTML tag <FONT> is not recommended! </eg> <eg> Using HTML tag <FONT> is not recommended! </eg> XML-entiteetit 11 XML-entiteetit Entiteetit ovat tuttuja jo HTML-kielestä - entiteettien avulla dokumenttiin voidaan esim. liittää merkkijonoja, joille on annettu erisnimi Seuraava esimerkki liittää merkkidataan "

Lisätiedot

11 XML-entiteetit. <eg> HTML-elementin <FONT> käyttöä ei suositella! </eg> <eg> HTML-elementin <FONT> käyttöä ei suositella! </eg> XML-entiteetit

11 XML-entiteetit. <eg> HTML-elementin <FONT> käyttöä ei suositella! </eg> <eg> HTML-elementin <FONT> käyttöä ei suositella! </eg> XML-entiteetit 11 XML-entiteetit Entiteetit ovat tuttuja jo HTML-kielestä - entiteettien avulla dokumenttiin voidaan esim. liittää merkkijonoja, joille on annettu erisnimi Seuraava esimerkki liittää merkkidataan "

Lisätiedot

XML-merkkaus. Merkkidata, prosessointikomennot, kommentit

XML-merkkaus. Merkkidata, prosessointikomennot, kommentit XML-merkkaus Merkkidata, prosessointikomennot, kommentit Merkkidata Elementtien ja attribuuttien arvot 3Merkkijonot elementtien tunnisteiden välissä 3Attribuuttien arvot 3Kielletyt merkit < & Voidaan korvata

Lisätiedot

7 DTD ja entiteetit: dokumentin fyysinen rakenne

7 DTD ja entiteetit: dokumentin fyysinen rakenne DTD ja entiteetit: dokumentin fyysinen rakenne 7 DTD ja entiteetit: dokumentin fyysinen rakenne Tietojenkäsittelyssä kaikki tieto talletetaan jonnekin. XML-dokumenttien fyysinen rakenne määräytyy ns. entiteettien

Lisätiedot

7 DTD ja entiteetit: dokumentin fyysinen rakenne

7 DTD ja entiteetit: dokumentin fyysinen rakenne è è è DTD ja entiteetit: dokumentin fyysinen rakenne 7 DTD ja entiteetit: dokumentin fyysinen rakenne Tietojenkäsittelyssä kaikki tieto talletetaan jonnekin. XML-dokumenttien fyysinen rakenne määräytyy

Lisätiedot

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen XML kielioppi Elementtien ja attribuuttien määrittely Ctl230: Luentokalvot 11.10.2004 Miro Lehtonen Dokumenttien mallinnus Säännöt dokumenttityypeille 3Mahdollisten dokumenttirakenteiden määrittely Samassa

Lisätiedot

6 DTD ja dokumentin tyyppimääritys

6 DTD ja dokumentin tyyppimääritys 6 DTD ja dokumentin tyyppimääritys Tietojenkäsittelyssä päähuomio ei yleensä ole tiedon matalan tason formaatissa vaan sovelluksissa joissa tietoa käytetään loogisesti jäsennettynä. XML-merkkaus tarjoaa

Lisätiedot

XML johdatus: DTD. Jaana Holvikivi

XML johdatus: DTD. Jaana Holvikivi XML johdatus: DTD Jaana Holvikivi Dokumenttityypin rakennemäärittely DTD = kielioppi esim. XML- esitykselle Elementit Attribuutit Entiteetit ja notaatiot Prosessointikomennot DTD:n suunnittelu 19.1.2013

Lisätiedot

10 XML ja dokumenttien tyyppimäärittely

10 XML ja dokumenttien tyyppimäärittely 10 XML ja dokumenttien tyyppimäärittely XML tarjoaa perussyntaksin dokumenttien mielivaltaista merkkaamista varten Huomionarvoista: - merkkidatan ja merkkauksen koodauksen valinta (sama kaikille XMLdokumenteille)

Lisätiedot

6 DTD ja dokumentin tyyppimääritys

6 DTD ja dokumentin tyyppimääritys 6 DTD ja dokumentin tyyppimääritys Tietojenkäsittelyssä päähuomio ei yleensä ole tiedon matalan tason formaatissa vaan sovelluksissa joissa tietoa käytetään loogisesti jäsennettynä. XML-merkkaus tarjoaa

Lisätiedot

Elementtien tyyppideklaraatiot

Elementtien tyyppideklaraatiot Elementtien tyyppideklaraatiot Kuten tunnettua, XML-dokumenttien loogisen rakenteen peruspalasia ovat elementit, esim: hello world! Elementtien syntaksi seuraa suoraan XML-spesifikaation

Lisätiedot

9 XML perusteet

9 XML perusteet 9 XML 1.0 - perusteet XML jakaa dokumenttien käsittelyn kaksitasoiseksi prosessiksi, jossa XMLprosessori ([processor]) lukee XML-tiedoston ja välittää tämän parsittuna sovellukselle ([application]). Käytännössä":

Lisätiedot

6 DTD ja dokumentin tyyppimääritys

6 DTD ja dokumentin tyyppimääritys 6 DTD ja dokumentin tyyppimääritys XML-merkkaus tarjoaa yhteensopivan ja yksinkertaisen perustan rakenteisten dokumenttien tms. rakenteisen tiedon käsittelyyn. Tietojenkäsittelyn sovelluksissa päähuomio

Lisätiedot

9 XML perusteet

9 XML perusteet 9 XML 1.0 - perusteet XML jakaa dokumenttien käsittelyn kaksitasoiseksi prosessiksi, jossa XMLprosessori ([processor]) lukee XML-dokumentin ja välittää tämän jäsennettynä sovellukselle ([application]).

Lisätiedot

9 XML perusteet

9 XML perusteet 9 XML 1.0 - perusteet XML jakaa dokumenttien käsittelyn kaksitasoiseksi prosessiksi, jossa XMLprosessori ([processor]) lukee XML-dokumentin ja välittää tämän jäsennettynä sovellukselle ([application]).

Lisätiedot

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta. 3 HTML ja XHTML Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Lisätiedot

5 Merkkaus: XML protokollana

5 Merkkaus: XML protokollana 5 Merkkaus: XML protokollana XML on siis ns. metakieli, joka käytännössä voidaan tulkita tavaksi merkitä ja tyypittää rakenteisia dokumentteja. XML on kuitenkin ennen kaikkea standardimuotoinen tietorakenne

Lisätiedot

5 Merkkaus: XML protokollana

5 Merkkaus: XML protokollana 5 Merkkaus: XML protokollana XML on siis ns. metakieli, joka käytännössä voidaan tulkita tavaksi merkitä ja tyypittää rakenteisia dokumentteja. Kuten tunnettua, se tarjoaa puitteet esim. XHTML-kielen määrittelylle

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

M. Merikanto 2012 XML. Merkkauskieli, osa 2

M. Merikanto 2012 XML. Merkkauskieli, osa 2 XML Merkkauskieli, osa 2 Esimerkki: XML-dokumentti resepti maitokaakao

Lisätiedot

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa XML-kielen perusteet Teoria ja ohjelmointitehtävät XML-kielen perusteet 3 Sisältö YLEISKATSAUS KURSSIN SISÄLTÖIHIN... 7 YLEISKATSAUS KURSSIN SISÄLTÖIHIN...

Lisätiedot

<Element> <ELEMENT> <element> </element> </ELEMENT> </Element>

<Element> <ELEMENT> <element> </element> </ELEMENT> </Element> EBNF-notaatio tarjoaa selkeän tavan määritellä XML-dokumentin osat yksikäsitteisesti; XML-spesifikaatio määrittelee yhden ja ainutkertaisen 89 (sievennettyä) produktiota sisältävän XML-kieliopin, joka

Lisätiedot

XML-saatavuuskysely. XML-tiedoston kuvaus. versio 1.3.3 04.02.2008

XML-saatavuuskysely. XML-tiedoston kuvaus. versio 1.3.3 04.02.2008 XML-saatavuuskysely XML-tiedoston kuvaus versio 1.3.3 04.02.2008 Ecom Oy 2004-2008 XML-saatavuuskysely Versio 1.3.3 2/15 Sisällysluettelo Historia...3 Rakenteen hierarkinen esitys...4 Elementtien kuvaukset...5

Lisätiedot

XML / DTD / FOP -opas Internal

XML / DTD / FOP -opas Internal XML / DTD / FOP -opas Internal Reviewed: - Status: pending approval Approved by: - Author: Sakari Lampinen Revision: 1.0 Date: 15.10.2000 1 Termit DTD (data type definition) on määrittely kielelle, niinkuin

Lisätiedot

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002 , XHTML ja CSS T-111.361 Hypermediadokumentin laatiminen 2002 XHTML CSS XSL Sisältö EXtensible Markup Language W3C Recommendation helmikuu 1998 SGML:n osajoukko Standard Generalized Markup Language Kevyempi

Lisätiedot

13 Nimiavaruudet. kirjoitetaan muotoon (ja koodataan vähän lisätietoa) huomataan heti, mitä kirjoittaja ajaa takaa ja tarkoittaa. Vai huomataanko?

13 Nimiavaruudet. kirjoitetaan muotoon (ja koodataan vähän lisätietoa) huomataan heti, mitä kirjoittaja ajaa takaa ja tarkoittaa. Vai huomataanko? 13 Nimiavaruudet Huomautus: Otsikon voisi kuvaavammin kirjoittaa muodossa "structdoc:section". Syy selviää piakkoin Merkkauksen ideana on helpottaa tiedon ja metatiedon erottelua tarjoamalla dokumenteille

Lisätiedot

6 XML-työkalut 1. 6 XML-työkalut

6 XML-työkalut 1. 6 XML-työkalut 6 XML-työkalut 1 6 XML-työkalut XML:n periaatteiden tutustumisen jälkeen on helpompi tutustua XML-dokumenttien käsittelyyn ja katseluun suunniteltuja työkaiuja. XML:n yleistymisen pahin pullonkaula on

Lisätiedot

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa:

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa: XHTML - harjoitus Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa Tiedoston tallennus notepad (muistio) ohjelmassa: Jokaisen XHTML-dokumentin tulisi alkaa XML-määrittelyllä(engl.XML-prologue),

Lisätiedot

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta.

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. 1. Julkaisutoiminnan peruskysymyksiä a) Mieti kohderyhmät b) Mieti palvelut c) Mieti palvelujen toteutus Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. PALVELUKOKONAISUUDET:

Lisätiedot

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli (2011) Harri Laine 1. Jäsennys ja sarjallistaminen

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli (2011) Harri Laine 1. Jäsennys ja sarjallistaminen Jäsennys ja sarjallistaminen Tietorakenteen määrittely Hyvinmuodostettu / validi rakenne Rakenteen määrittely DTD XML-jäsentäjä (parser) on työkalu, joka pystyy muodostamaan puurakenteen tekstuaalisesta

Lisätiedot

Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group

Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group 1.10.2010 1(15) Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group Graanintie 7 Tel. + 358 15 338 800 FIN-50190 MIKKELI Fax + 358 15 338 810 VERSIOHISTORIA Versio Pvm Tekijä Selite 1.0

Lisätiedot

Luento 2: XML:n syntaksi

Luento 2: XML:n syntaksi Luento 2: XML:n syntaksi AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XML:n syntaksi Peruskäsitteitä Rakennepalaset elementit leipäteksti attribuutit Nimiavaruudet Dokumentin rakenteen määrittely

Lisätiedot

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli. HTML & CSS Antti Koivisto HTML (HyperText Markup Language)! HTML on sivujen kuvauskieli.! Se ei ole ohjelmointikieli.! HTML on merkintäkieli, joka koostuu monista merkintä tägeistä ().! Voidaan

Lisätiedot

9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus

9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus 9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus XSL-muunnos voi tietenkin tuottaa myös tiettyyn nimiavaruuteen liittyviä kohdedokumentteja (tarvitaan aina jo esim. XHTML-sovelluksissa!) Helpoimmillaan

Lisätiedot

XML rakenteen suunnittelu. Jaana Holvikivi

XML rakenteen suunnittelu. Jaana Holvikivi XML rakenteen suunnittelu Jaana Holvikivi XML suunnittelu Dokumentin ilmentymä elementit attribuutit (määritteet) entiteetit prosessointikäskyt 19.3.2015 Jaana Holvikivi 2 Elementtien sisäkkäisyys: säännöt

Lisätiedot

SISÄLLYS. Johdanto 1. 1. JOHDATUS XML:n PARIIN 1.1 Extensible Markup Languge 2 1.2 XML:n edut 2 1.3 Mitä XML:llä tehdään? 3

SISÄLLYS. Johdanto 1. 1. JOHDATUS XML:n PARIIN 1.1 Extensible Markup Languge 2 1.2 XML:n edut 2 1.3 Mitä XML:llä tehdään? 3 Henri Haapakanni 3.5.2004 SISÄLLYS Johdanto 1 1. JOHDATUS XML:n PARIIN 1.1 Extensible Markup Languge 2 1.2 XML:n edut 2 1.3 Mitä XML:llä tehdään? 3 2. YKSINKERTAISEN XML-DOKUMENTIN RAKENNE 2.1 XML-määritelmä

Lisätiedot

Tuomas Komulainen LUOVA LOMAKE ANALYSOINTITYÖKALU

Tuomas Komulainen LUOVA LOMAKE ANALYSOINTITYÖKALU Tuomas Komulainen LUOVA LOMAKE ANALYSOINTITYÖKALU Opinnäytetyö Kajaanin ammattikorkeakoulu Tradenomikoulutus Syksy 2007 OPINNÄYTETYÖ TIIVISTELMÄ Koulutusala Luonnontieteiden ala Koulutusohjelma Tietojenkäsittelyn

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015 TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 30. marraskuuta 2015 Sisällys t Väitöstilaisuus 4.12.2015 kello 12 vanhassa juhlasalissa S212 saa tulla 2 demoruksia

Lisätiedot

10 XML ja dokumenttien tyyppimäärittely

10 XML ja dokumenttien tyyppimäärittely 10 XML ja dokumenttien tyyppimäärittely XML tarjoaa perussyntaksin dokumenttien mielivaltaista merkkaamista varten Huomionarvoista: - merkkidatan ja merkkauksen koodauksen valinta (sama kaikille XMLdokumenteille)

Lisätiedot

3 Verkkosaavutettavuuden tekniset perusteet

3 Verkkosaavutettavuuden tekniset perusteet 3 Verkkosaavutettavuuden tekniset perusteet Saavutettavuuden toteuttaminen edellyttää lähtökohtaisesti tietoa laitteista ja sovelluksista, käyttäjistä ja käyttötavoista, sekä tekniikasta. Tekniikasta on

Lisätiedot

Tietojen toimittaminen Skeemat Vastaanottokuittaus Kansallisen tulorekisterin perustamishanke

Tietojen toimittaminen Skeemat Vastaanottokuittaus Kansallisen tulorekisterin perustamishanke Versio 1.02 Tietojen toimittaminen Skeemat Vastaanottokuittaus Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Vastaanottokuittaus 2 (10) Versiohistoria Versio Päivämäärä Kuvaus

Lisätiedot

Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke

Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke Versio 1.05 Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Käsittelypalautteen kysely 2 (8) Versiohistoria Versio Päivämäärä

Lisätiedot

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000

Lisätiedot

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15 Ctl160 490160-0 Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto Ctl160 490160-0 p.1/15 Lisää säännöllisistä lausekkeista Aikaisemmin esityt * ja + yrittävät osua mahdollisimman pitkään merkkijonoon

Lisätiedot

12 Dokumenttiluokan toteuttamisesta

12 Dokumenttiluokan toteuttamisesta 12 Dokumenttiluokan toteuttamisesta Tyypillisiä XML-sovellutuksia ovat esimerkiksi: - annettuun käyttötarkoitukseen räätälöity dokumenttityyppi (esim. painotalon ABC malli käsikirjoituksen rakenteelle)

Lisätiedot

Tietojen jakelu Skeemat Lokitiedot Kansallisen tulorekisterin perustamishanke

Tietojen jakelu Skeemat Lokitiedot Kansallisen tulorekisterin perustamishanke Versio 1.0 Tietojen jakelu Skeemat Lokitiedot Kansallisen tulorekisterin perustamishanke Tietojen jakelu Skeemat Lokitiedot 2 (15) Versiohistoria Versio äivämäärä Kuvaus 1.0 12.6.2017 Dokumentti julkaistu.

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Extensible Stylesheet Language (XSL)

Extensible Stylesheet Language (XSL) Extensible Stylesheet Language (XSL) Tyylitiedostojen määrittely Ctl230:Luentokalvot 25.10.2004 Miro Lehtonen Johdanto Dokumenttien muotoilu tyylitiedostoilla 3XML: yleistetty merkkaus Kuvaa sisällön muttei

Lisätiedot

Tietojen jakelu Skeemat Palvelupyyntö Kansallisen tulorekisterin perustamishanke

Tietojen jakelu Skeemat Palvelupyyntö Kansallisen tulorekisterin perustamishanke Versio 1.05 Tietojen jakelu Skeemat Palvelupyyntö Kansallisen tulorekisterin perustamishanke Tietojen jakelu Skeemat Palvelupyyntö 2 (11) Versiohistoria Versio Päivämäärä Kuvaus 1.0 12.6.2017 Dokumentti

Lisätiedot

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009 Verkkosivut perinteisesti Tanja Välisalo 11.2.2009 WWW-sivujen vieminen omaan kotisivutilaan yliopiston mikroverkossa https://salasana.jyu.fi Klikkaa painiketta Activate WWW Klikkaa painiketta Activate

Lisätiedot

Tietojen toimittaminen Skeemat Vastaanottokuittaus Kansallisen tulorekisterin perustamishanke

Tietojen toimittaminen Skeemat Vastaanottokuittaus Kansallisen tulorekisterin perustamishanke Versio 1.0 Tietojen toimittaminen Skeemat Vastaanottokuittaus Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Vastaanottokuittaus 2 (10) Versiohistoria Versio Päivämäärä Kuvaus

Lisätiedot

3 XHTML-dokumenttien anatomia

3 XHTML-dokumenttien anatomia 3 XHTML-dokumenttien anatomia XHTML tarjoaa tutun esimerkin rakenteisten dokumenttien opiskelun alkutaipaleelle. Erityisesti, koska XHTML on eräs XML-sovellus: - havainnollistaa se tiedon teknistä merkkausta

Lisätiedot

Tietojen toimittaminen Skeemat Viestit Kansallisen tulorekisterin perustamishanke

Tietojen toimittaminen Skeemat Viestit Kansallisen tulorekisterin perustamishanke Versio 1.0 Tietojen toimittaminen Skeemat Viestit Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Viestit 2 (14) Versiohistoria Versio Päivämäärä Kuvaus 1.0 12.6.2017 Dokumentti

Lisätiedot

Tietojen jakelu Skeemat Palvelupyyntö Kansallisen tulorekisterin perustamishanke

Tietojen jakelu Skeemat Palvelupyyntö Kansallisen tulorekisterin perustamishanke Versio 1.0 Tietojen jakelu Skeemat Palvelupyyntö Kansallisen tulorekisterin perustamishanke Tietojen jakelu Skeemat Palvelupyyntö 2 (9) Versiohistoria Versio Päivämäärä Kuvaus 1.0 12.6.2017 Dokumentti

Lisätiedot

Sivuston tiedotgoogle.com

Sivuston tiedotgoogle.com Sivuston tiedotgoogle.com Luotu Tammikuu 14 2019 10:26 AM Pisteet37/100 SEO Sisältö Otsikko Google Pituus : 6 Ihannetapauksessa, sinun otsikkosi pitäisi sisältää väliltä 10 ja 70 kirjainta (välilyönnit

Lisätiedot

HTML ja CSS. Tästä se lähtee: portfolio-sivusto. Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot.

HTML ja CSS. Tästä se lähtee: portfolio-sivusto. Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot. HTML ja CSS Tästä se lähtee: portfolio-sivusto Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot. index.html Sivuston pääsivu, joka avautuu selaimeen ensimmäisenä sivujen

Lisätiedot

Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke

Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke Versio 1.0 Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Käsittelypalautteen kysely 2 (7) Versiohistoria Versio Päivämäärä

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu

Digitaalisen median tekniikat xhtml - jatkuu Digitaalisen median tekniikat xhtml - jatkuu 26.3.2004 Harri Laine 1 Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1 Digitaalisen median tekniikat xhtml - jatkuu 30.4.2004 Harri Laine 1 XHTML lomakkeet Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.

Lisätiedot

Tietojen jakelu Skeemat Viestit Kansallisen tulorekisterin perustamishanke

Tietojen jakelu Skeemat Viestit Kansallisen tulorekisterin perustamishanke Versio 1.0 Tietojen jakelu Skeemat Viestit Kansallisen tulorekisterin perustamishanke Tietojen jakelu Skeemat Viestit 2 (20) Versiohistoria Versio Päivämäärä Kuvaus 1.0 12.6.2017 Dokumentti julkaistu.

Lisätiedot

XML Technologies and Applications - harjoitustyö -

XML Technologies and Applications - harjoitustyö - XML Technologies and Applications - harjoitustyö - TURUN YLIOPISTO Informaatioteknologian laitos Tietojenkäsittelytiede Harjoitustyö Helmikuu 2009 Jyri Lehtonen (72039) jyri.lehtonen@utu.fi (yksin tehty

Lisätiedot

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely 1 Ominaisuudet Kun tutkimme työasemapohjaisia sovelluksiamme, tarvitaan joskus tietoa: mikä on käyttöjärjestelmä mikä on käytössä oleva

Lisätiedot

Ohjelmoinnin perusteet, syksy 2006

Ohjelmoinnin perusteet, syksy 2006 Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen

Lisätiedot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

Kvarkki XUA: sähköisen allekirjoituksen määritys 1 (6) V 1.0. Kvarkki XUA: sähköisen allekirjoituksen määritys

Kvarkki XUA: sähköisen allekirjoituksen määritys 1 (6) V 1.0. Kvarkki XUA: sähköisen allekirjoituksen määritys Kvarkki XUA: sähköisen allekirjoituksen määritys 1 (6) Kvarkki XUA: sähköisen allekirjoituksen määritys 9.6.2017 Kvarkki XUA: sähköisen allekirjoituksen määritys 2 (6) Sisältö 1 Johdanto... 3 1.1 Dokumentissa

Lisätiedot

Luento 12: XML ja metatieto

Luento 12: XML ja metatieto Luento 12: XML ja metatieto AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XML ja metatieto Metatieto rakenne sanasto Resource Description Framework graafikuvaus XML Semanttinen Web agentit 2 1 Metatieto

Lisätiedot

1. Algoritmi 1.1 Sisällys Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. Muuttujat ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 3 Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Jaetaan ohjelma pienempiin palasiin (aliohjelmiin) Lisätään peliin maila (jota ei voi vielä

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Kuva-aineistojen arkisto XUA-allekirjoituksen määritys

Kuva-aineistojen arkisto XUA-allekirjoituksen määritys 1 (6) Kuva-aineistojen arkisto XUA-allekirjoituksen 31.10.2017 Muokkauspäivä Versio Muutos Tekijä 31.10.2017 1.01 Muokattu Kvarkki-termi -> Kuva-aineistojen Pekka Rinne arkistoksi. Ei teknisiä muutoksia

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Apuja ohjelmointiin» Yleisiä virheitä

Apuja ohjelmointiin» Yleisiä virheitä Apuja ohjelmointiin» Yleisiä virheitä Ohjelmaa kirjoittaessasi saattaa Visual Studio ilmoittaa monenlaisista virheistä "punakynällä". Usein tämä johtuu vain siitä, että virheitä näytetään vaikket olisi

Lisätiedot

Tietojen toimittaminen Skeemat Käsittelypalaute Kansallisen tulorekisterin perustamishanke

Tietojen toimittaminen Skeemat Käsittelypalaute Kansallisen tulorekisterin perustamishanke Versio 1.0 Tietojen toimittaminen Skeemat Käsittelypalaute Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Käsittelypalaute 2 (19) Versiohistoria Versio Päivämäärä Kuvaus 1.0

Lisätiedot

2.17 Esimerkki järkevän relaatiotietokannan rakenteesta

2.17 Esimerkki järkevän relaatiotietokannan rakenteesta Rakenteisten dokumenttien perusteet 2.17 Esimerkki järkevän relaatiotietokannan rakenteesta Peruskäsitteitä: taulu/relaatio, monikko/tietue, mallinnus ja normalisointi, kytkös vs. redundanssi, anomaliat

Lisätiedot

etunimi, sukunimi ja opiskelijanumero ja näillä

etunimi, sukunimi ja opiskelijanumero ja näillä Sisällys 1. Algoritmi Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.1 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki 13.9.2006

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki 13.9.2006 H T M L eli kuinka laadin itselleni päheät kotisivut Janne Käki 13.9.2006 Mikä ihmeen HTML? HyperText Markup Language hypertekstiä eli toisiinsa linkitettyjä dokumentteja merkintäkieli, perustuu erilaisiin

Lisätiedot

Proseduraalinen dokumentti: sisältö, rakenne ja ulkoasu yhdessä, esim. worddokumentti

Proseduraalinen dokumentti: sisältö, rakenne ja ulkoasu yhdessä, esim. worddokumentti 1 XHTML - aloitus Sisältö: s.2 Taustaa s.4 Elementin rakenne s.7 XHTML dokumentti s.8 DOCTYPE s.11 html s.13 head s.14 meta s.16 title s.17 link s.18 style s.19 body s.22 Lohko- ja inline-elementit s.23

Lisätiedot

Tietojen toimittaminen Skeemat Mitätöintitiedot Kansallisen tulorekisterin perustamishanke

Tietojen toimittaminen Skeemat Mitätöintitiedot Kansallisen tulorekisterin perustamishanke Versio 1.0 Tietojen toimittaminen Skeemat Mitätöintitiedot Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Mitätöintitiedot 2 (10) Versiohistoria Versio Päivämäärä Kuvaus 1.0

Lisätiedot

Ohje - Kuntien ilmoitukset

Ohje - Kuntien ilmoitukset Ohje - Kuntien ilmoitukset Kuntien ilmoituksien käsittää tällä hetkellä ympäristösuojelulain mukaisten kohteiden rekisteröinnin YLVA järjestelmään. Käytetty tekniikka integraatiossa on Azure Blob Storage,

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Tietueet. Tietueiden määrittely

Tietueet. Tietueiden määrittely Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään

Lisätiedot

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne Kotisivuohjeet Tässä ohjeessa käydään läpi kotisivujen tekemisen perusteet keskittyen html-koodiin ja sen ominaisuuksiin. Sivupohjissa ulkoasu ja rakenne on pääasiassa jaettu erilliseen css-tyylitiedostoon,

Lisätiedot

Korpusten käsittely clt131, P Luento 6

Korpusten käsittely clt131, P Luento 6 Korpusten käsittely clt131, P2 2006 Luento 6 Nicholas Volk 8.12.2006 Humanistinen tiedekunta Syöterivien lukemista while () { käsky1; käsky2; käskyn; } continue { print $_; }

Lisätiedot

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin

Lisätiedot

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Projektiryhmä StanForD-XML Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Rahoittajat Koskitukki Oy, Metsähallitus, Metsäliitto Osuuskunta, Pölkky Oy, Stora Enso Oyj, UPM- Kymmene Oyj, Vapo Timber Oy, Yksityismetsätalouden

Lisätiedot

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy Kehitysohje ETL-työkalu Versio Pvm Tekijä Kuvaus 0.1 15.1.2005 Timo Sallinen Ensimmäinen versio 0.2 26.1.2005 Timo Sallinen Täydenetty pohjaa 0.3 06.02.2005 Mika Suvanto Pieniä täydennyksiä ja oikolukua

Lisätiedot

OHJE RFID - Suoraohjauskoodin muodostamiseen Toshiba SX sarjan tulostimilla

OHJE RFID - Suoraohjauskoodin muodostamiseen Toshiba SX sarjan tulostimilla OHJE RFID - Suoraohjauskoodin muodostamiseen Toshiba SX sarjan tulostimilla 1.1 Suoraohjauskoodi Suoraohjauskoodi on tulostimen ymmärtämää komentokieltä. Tyypillisesti jokaisella tulostinmerkillä on oma

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin kurssilta T-76.1143 sekä kurssin oppikirjaan 3.5.2016 CSE-A1200 Tietokannat 3.5.2016 1 / 39 Oppimistavoitteet: tämän luennon

Lisätiedot

XML -muotoisen raportin luonti

XML -muotoisen raportin luonti XML -muotoisen raportin luonti Anita Mäkinen-Jäntti 20/05/2014 1 SISÄLTÖ XML -tiedostojen kirjoitusmahdollisuudet Tagsettien käyttäminen Data -vaiheen käyttäminen Sähköinen siirtoliike ja XML - tiedoston

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 3. lokakuuta 2016

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 3. lokakuuta 2016 TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 3. lokakuuta 2016 Sisällys n tunnistin Jay : An Efficient Context-Free Parsing Algorithm. Communications of the

Lisätiedot

Asiakas ja tavoite. Tekninen toteutus

Asiakas ja tavoite. Tekninen toteutus Asiakas ja tavoite Heikieli on vuonna 2015 perustettu yhden hengen asiantuntijayritys, joka tarjoaa käännös- ja oikolukupalveluita englannista ja saksasta suomeksi. Freelance-kääntäjiä on Suomessa paljon,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 4.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 4.3.2009 1 / 35 Tiedostot Tiedostojen käsittelyä tarvitaan esimerkiksi seuraavissa tilanteissa: Ohjelman käsittelemiä

Lisätiedot

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

Lisätiedot