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

Koko: px
Aloita esitys sivulta:

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

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> Using HTML tag <FONT> is not recommended! </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> Using HTML tag <FONT> is not recommended! </eg> RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 235

2 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 yleisentiteetti ([internal general entity]) 2) ulkoinen parsittu yleisentiteetti ([external parsed general entity]) 3) parsimaton entiteetti ([unparsed entity]) RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 236

3 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 tyyppideklaraatioiden avulla, määritellään käytetyt entiteetit entiteettideklaraatioiden avulla Poikkeuksena on dokumenttientiteetti, jota ei koskaan määritellä suoraan (vaan se seuraa dokumentin tyyppideklaraatiosta implisiittisesti) Viisi muuta entiteettityyppiä määritellään kaikki ENTITY-deklaraation 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 parametrisoitu ([general vs. parameter]) - parsittu tai parsimaton ([parsed vs. unparsed]) Entiteettien nimet on valittu XML-spesifikaatioon "huonosti"; kielenkäyttö olisi selkeämpää, jos esim. termit "parsittu" ja "parsimaton" olisi korvattu termeillä "teksti" ja "data" ("parsittua entiteettiä" kun ei automaattisesti aina välttämättä parsita!) RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 237

4 Edellisistä laillisia ominaisuuskombinaatioita ovat siis vain aikaisemmin luetellut viisi: "TYYPPINIMI" OMINAISUUS internal EXTERNAL general PARAMETER parsed UNPARSED sisäinen yleisentiteetti I G P ulk. parsittu yleisentiteetti E G P parsimaton entiteetti 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 niinkään tuo "uutta" XML-dokumentteihin, vaan pikemminkin tehostavat ja monipuolistavat dokumenttien käsittelyä RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 238

5 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 RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 239

6 Entiteettien peruskäsitteet Dokumentin juurientiteetti on lähinnä käsitteellinen entiteetti, josta ei "erikseen tarvitse huolehtia": keskitytäänkin jatkossa yksinomaan viiteen muuhun entiteetti"tyyppiin" (ellei toisin erikseen mainita) Jokaisella entiteetillä on nimi ja sisältö Entiteeteillä on kaksi eri nimiavaruutta: yleisillä entiteeteillä omansa ja parametrientiteeteillä omansa Yleisentiteettejä käytetään esiintymäosassa, parametrientiteettejä dokumentin tyyppimäärittelyssä Entiteetin sisältö on joko parsittavaa merkkidataa (parsittavat entiteetit ([parsed entity])) tai "raakadataa" ([unparsed entity]) - parsittava merkkidata tulkitaan XML-prosessorin toimesta (tarvittaessa) - raakadataa käsitellään vain nimettynä tiedostona, jonka sisältöön ei oteta kantaa RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 240

7 Literaaliarvo vs. korvausteksti Seuraavan ymmärtäminen oikeastaan jo edellyttää "erityyppisten" entiteettien tuntemista - palaa tähän kohtaan aineistoa myöhemmin uudestaan kun olet lukenut yleis- ja parametrientiteeteistä Sisäisen parsittavan yleisentiteetin sisällöstä erotetaan literaaliarvo ([literal entity value]) jonka perusteella muodostetaan (entiteetin nimen) korvausteksti ([replacement text]) (vrt. attribuuttien arvojen normalisoiminen) Korvausteksti parsitaan literaaliarvosta parsimalla auki 1) merkkiviittaukset JA 2) parametrientiteettiviittaukset Muut entiteettiviittaukset - mukaanlukien oletusentiteetit - parsitaan vasta korvaustekstiä käsiteltäessä (oletusentiteeteillä tarkoitetaan tässä entieettejä 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 2002) luentorunko ON 241

8 Esimerkkejä Esimerkki 1: kun entiteettiä <!ENTITY bigboys "AT&T;"> käytetään dokumentin esiintymässä tyyliin: <DOC>An example of a very large company is &bigboys;</doc> on lopputuloksena elementin sisällä korvausteksti, jonka looginen muoto on: An example of a very large company is AT&T; mikä XML-prosessori käsittelee sovellukselle muotoon (hakasulut lisätty taas vain esimerkin selventämiseksi): [An example of a very large company is AT&T;] ts. elementin sisällä ei ole viittausta entiteettiin T, vaan vain merkkidataa "&ampt;" joka sisältää viittauksen entiteettiin amp Kerrataan vielä: edellä kohdista 1-2 seuraa siis, että erityyppiset entiteetit tuodaan korvaustekstiin "eri aikoina" ja tulkitaan "eri paikoissa" RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 242

9 Esimerkki 2: jos määritelläänkin entiteetti bigboys muodossa <!ENTITY bigboys "AT&T;"> ja käytetään kuten edellä, niin lopputuloksena on korvausteksti: An example of a very large company is AT&T; jos 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 [An example of a very large company is 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 2002) luentorunko ON 243

10 Entiteettien määrittely Entiteettideklaraation 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 attribuuttideklaraatiotkin 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 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 2002) luentorunko ON 244

11 Sisäiset yleisentiteetit Sisäiset yleisentiteetit ( [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 entiteettideklaraation yhteydessä XML-dokumentissa - sisältöön kirjoitettavien parametrientiteetti- ja merkkiviittausten kanssa saa olla tarkkana! Tyypillinen käyttö on (oletettavasti vaihtuvien) vakiomerkkijonojen nimeäminen: <?xml version="1.0"?> <!DOCTYPE DOC [ <!ELEMENT DOC (#PCDATA)> <!ENTITY legalnotice "Copyright (C) 2000 Acme Inc."> ]> <DOC> &legalnotice; </DOC> RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 245

12 Sisältönä voi olla myös entiteettiviittauksia ja merkkausta: <!ENTITY Phrase... &Phrase; "<RECORD>Peto minussa!</record>"> Rajoituksia (pätevät parsittaville entiteeteille myös yleisesti): - ei rekursiota sisällössä - entiteetin sisällön tulee olla oikein muodostettu (WF) - käytännössä tämä tarkoittaa sitä, että parsitut entiteetit ovat kuin "pieniä XML-dokumentteja" (ilman eksplisiittistä juurielementtiä) Tietyssä mielessä entiteettien käsittely vastaa juuri "pienten XML-dokumenttien yksinkertaista parsimista" On kuitenkin syytä pitää mielessä, että - merkkiviittaukset ja parametrientiteetit parsitaan auki jo korvaustekstissä - jossa mahdollisesti sijaitsevat yleisentiteetit parsitaan auki dokumentin esiintymässä RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 246

13 Huomautuksia ja esimerkkejä Viisi oletusentiteettiä pitää esitellä tuplaviittauksillä tyyliin <!ENTITY lt <!ENTITY gt <!ENTITY amp <!ENTITY apos <!ENTITY quot "&#60;"> ">"> "&#38;"> "&#39;"> """> Huomaa erityisesti miten esim. entiteetin lt literaaliarvo "&#60;" tulkitaan korvaustekstiksi "<", mikä edelleen dokumentin esiintymässä tulkitaan merkkiviittaukseksi merkkiin [<] Esimerkki 1: HUOMAA, ETTÄ SEURAAVA DEKLARAATIO ON AINA VIRHE: <!ENTITY lt "<"> sillä nyt entiteetin käytön <DOC><</DOC> tuloksena saadaan XML-prosessorin luettavaksi merkki "<" joka siis tarkoittaa tagin aloittavaa merkkiä! RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 247

14 Esimerkki 2: literaaliarvoiksi voidaan periaatteessa kirjoittaa myös tageja tyyliin <!ENTITY badexample "<TAG/>"> minkä käytön seurauksena XML-prosessori näkee tekstin "<TAG/>" joka tarkoittaa tyhjän elementin tagia ja entiteetin korvaustekstinä on siis merkkausta Asia on syytä ymmärtää koska merkkiviittauksen < huolimaton käyttö literaaliarvoissa aiheuttaa muuten omituiselta näyttäviä virheilmoituksia, mutta tämänkaltaisia tagien määrittelyjä ei 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. Esimerkki 3: viittauksia sisäisiin yleisentiteetteihin on laillista kirjoittaa myös osaksi attribuuttiarvoja. Olkoon annettu entiteettideklaraatio <!ENTITY example "'Hello world!'"> RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 248

15 Entiteetin käyttäminen attribuutin arvona onnistuu nyt muodossa <MYELEMENT ATTR="&example;"> XML-entiteetit edellyttäen tietenkin, että ko. elementille saa attribuutin antaa ja että attribuutin arvoalue on sopiva Huomioita: - attribuutin arvon tulee olla laillisen muotoinen literaali - 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ä kannattaakin käytännössä literaaliarvoissa välttää RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 249

16 Ulkoiset parsitut yleisentiteetit Ulkoiset parsitut yleisentiteetit ( [external general parsed entity]) mahdollistavat XML-dokumenttien paloittelun useiksi tiedostoiksi Ominaisuuksia: - käyttö vain dokumentin esiintymäosassa, joskaan ei attribuutin arvona - tiedoston sisältönä oikein muodostettu XML-dokumentti (tai sen WF osa), jonka saa lisätä ([include]) entiteettiviittauksen kohtaan - XML-dokumentin ei-validoiva parsimisprosessi saattaa kuitenkin jättää ulkoisen tiedoston parsimatta ja lisäämättä entiteettiviittauksen kohtaan! Tyypillinen käyttötarkoitus on ulkoisen tekstitiedoston lisääminen XMLdokumentin osaksi: <?xml version="1.0"?> <!DOCTYPE DOC [ <!ELEMENT DOC (#PCDATA)> <!ENTITY chap01 SYSTEM "Story_Chap01.xml"> ]> <DOC> &chap01; </DOC> RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 250

17 Ulkoiset parsitut entiteettit voivat käyttää eri merkkikoodauksia: XML-entiteetit - XML-prosessorin tulee osata lukea (ainakin) UTF-8 ja UTF-16-koodattuja tekstitiedostoja - joista jälkimmäisen tulee sisältää tiedostonsa prefiksinä koodaustunniste ([encoding signature]) #xfeff Ulkoinen parsittu entiteetti voi lisäksi alkaa eksplisiittisellä tekstideklaraatiolla ([text declaration]), joka vastaa käytännössä XML-deklaraatiota ilman standalone-pseudoattribuuttia [77] TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>' Itse asiassa ulkoinen parsittu entiteetti vastaa käsitteellisesti hyvin "pientä XML-dokumenttia" (ilman juurielementin tageja), sillä senkin tulee olla oikein muodostettu ja olla johdettavissa XML-produktiosta 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 2002) luentorunko ON 251

18 Parsimattomat entiteetit Parsimattomat entiteetit ( [external general unparsed entity]) mahdollistavat XML-dokumenttiin sisällytettävät, muihin kuin XML-tyyppisiin tiedostoihin kohdistuvat viittaukset Parsimattomat entiteetit ovat aina ulkoisia - erona edellä esiteltyihin ulkoisiin parsittuihin entiteetteihin on optionaalinen viittaus notaatiodeklaraatioon: [76] NDataDecl ::= S 'NDATA' S Name [ VC: Notation Declared ] Parsimattomien entiteettien ominaisuuksia: - käyttö vain dokumentin esiintymäosassa ENTITY- tai ENTITIEStyyppisten attribuuttien arvona - tiedosto sisältää "jotain dataa" 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ö parsimattoman entiteetin 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 2002) luentorunko ON 252

19 Parsimattomia entiteettejä käytetään attribuuttien välityksellä tyyliin: <?xml version="1.0"?> <!DOCTYPE DOC [ <!ELEMENT DOC (#PCDATA)> <!ATTLIST DOC BG ENTITY #REQUIRED> <!NOTATION JPG SYSTEM "ps2jpg.exe"> <!ENTITY jpglogo SYSTEM "Acme.jpg" NDATA JPG> <!ENTITY giflogo SYSTEM "Acme.gif"> ]> <DOC BG="giflogo"></DOC> XML-entiteetit Parsimattomien entiteettien soveltaminen edellyttää yleensä jonkin tietyn XMLsovellusohjelman käyttämistä Tyypillisiä sovelluskohteita ovat esim: - kuva-, ääni-, yms. tiedostojen välittäminen sovelluksille attribuutteina - linkkiviittausten välittäminen - jne RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 253

20 Sisäiset ja ulkoiset parametrientiteetit Sisäiset ja ulkoiset parametrientiteetit ( [internal/external parameter (parsed) entity]) mahdollistavat merkkausdeklaraation sieventämisen "makromuuttujien" avulla Ominaisuuksia: - käyttö vain dokumentin tyyppimäärittelyn osana - parametrientiteetit parsitaan auki yleisentiteettien korvaustekstiksi ennen yleisentiteettien sisällön sijoittamista dokumentin esiintymässä - parametrientiteeteillä ja yleisentiteeteillä on erilliset nimiavaruudet Parametrientiteetin deklaraatio ja viitaus eroavat yleisentiteetin deklaraatiosta prosenttimerkin "%" käytöllä sekä deklaraation että entiteettiviittauksen yhteydessä: <?xml version="1.0"?> <!DOCTYPE DOC [ %EXAMPLE; <!ENTITY % EXAMPLE "<!ELEMENT DOC (#PCDATA)>"> ]> <DOC></DOC> RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 254

21 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ä: <?xml version="1.0"?> <!DOCTYPE DOC SYSTEM "mybook.dtd" [ <!ELEMENT DOC (book?)> <!ENTITY % detailed "IGNORE"> <!ENTITY % sparse "INCLUDE"> ]> <DOC>... XML-entiteetit RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 255

22 Parametrientiteettien käyttäminen poikkeaa hieman yleisentiteettien käyttämisestä siinä, että parametrientiteetti voi viitata toiseen parametrientiteettiin vain jos tämä on määritetty dokumentissa "aikaisemmin" Parametrientiteettien harkitsematon tai liiallinen käyttö johtaa käytännössä poikkeuksetta spagettimaisiin DTD-määrittelyihin Parametrientiteetit ovat yleensä käteviä esim. mutkikkaiden elementtien tietomallien määrittelyjen sieventämisessä (esimerkissä parametrientiteetti submodel nimeää ns. elementtiluokan [element class]): <?xml version="1.0"?> <!DOCTYPE DOC [ <!ELEMENT DOC (ABSTRACT,BOOK,COMMENT*)> <!ENTITY % submodel "CITE DEF EX FRM"> <!ELEMENT BOOK (PROLOG,P+)> <!ELEMENT PROLOG (#PCDATA %submodel;)*> <!ELEMENT P (#PCDATA %submodel;)*> <!ELEMENT COMMENT (TITLE,%submodel;)>... ]>... Käytännössä jos XML-prosessori Y ei tue "jotain" XML-piirrettä, on "se puuttuva piirre" todennäköisesti juuri parametrientiteetit RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 256

23 Esimerkki parametri- ja yleisentiteettien yhteiskäytöstä On syytä muistaa miten parametrientiteetit käsitellään (sisäisten parsittavien) yleisentieettien literaaliarvoissa ja miten esim. merkkiviittaukset parsitaan Esimerkki: olkoon annettu deklaraatiot <!ENTITY % title "Fancy Title"> <!ENTITY example "use the given %title; string"> Nyt entiteetin example käyttämisen <DOC>&example;</DOC> seurauksena XML-prosessori välittää sovellukselle elementin DOC sisällön merkkidatana muodossa [use the give Fancy Title string] Huomioita: - parametrientiteettiä saa käyttää vain tyyppideklaraatiossa - mutta välilliset vaikutukset voivat näkyä myös dokumentin esiintymässä RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 257

24 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) - pitkien elementtideklaraatioiden luettavuuden parantamiseen Harkintaa tarvitaan tässäkin, sillä esimerkiksi vakiomerkkijonojen laaja käyttö - vähentää kirjoitusvirheitä - säästää käsityöltä jos tekstiä tarvitsee systemaattisesti muuttaa 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 2002) luentorunko ON 258

25 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ätkä sen tuottavasta merkkausdeklaraatiosta, niin - yhtä ja samaa DTD-tiedostoa käsitellään mahdollisesti useilla eri prosessoreilla (deklaraatioiden monipuolisuus on siis valittava vaatimattomimman prosessorin ominaisuuksien mukaan) Merkkauksen jatkuva kirjoittaminen sisäisten yleisentiteettien sisällöksi hankaloittaa dokumentin editoimista (etenkin jos DTD on annettu & kiinnitetty) Toisaalta taas esim. parametrientiteettien käyttäminen deklaraatioiden avainsanojen tuottamiseen tai merkkauksen "koostamiseen" johtaa tarpeettoman sotkuiseen dokumenttimääritykseen (ylläpitäjän ja dokumentoijan painajainen) RAKENTEISET DOKUMENTIT (kevät 2002) luentorunko ON 259

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

11 XML-entiteetit. Edellisistä laillisia ominaisuusyhdistelmiä ovat siis vain aikaisemmin luetellut viisi: 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

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

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 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

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

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

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

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

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

<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

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

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

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

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. Kuten tunnettua, se tarjoaa puitteet esim. XHTML-kielen määrittelylle

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin?

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Avoin verkkoalusta ihmisen ja koneen ymmärtämien tietomääritysten tekemiseen Riitta Alkula 20.3.2019 Esityksen sisältö

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

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

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

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

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

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

Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke

Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke Versio 1.0 Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke Varmennepalvelu Rajapintakuvaus 2 (13) Versiohistoria Versio Päivämäärä Kuvaus 1.0 Dokumentti julkaistu. Varmennepalvelu

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

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

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

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

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

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

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

ASCII-taidetta. Intro: Python

ASCII-taidetta. Intro: Python Python 1 ASCII-taidetta All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do.

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

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 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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen

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

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

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

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

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

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

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

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

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit

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

kansainvälistäminen ja paikallistaminen Zopessa Plonen käännöstyö Asko Soukka, Jyväskylän yliopisto asko.soukka@jyu.fi

kansainvälistäminen ja paikallistaminen Zopessa Plonen käännöstyö Asko Soukka, Jyväskylän yliopisto asko.soukka@jyu.fi kansainvälistäminen ja paikallistaminen Zopessa Plonen käännöstyö Asko Soukka, Jyväskylän yliopisto asko.soukka@jyu.fi Kääntämisvaihtoehdot Plonessa Localizer ja Translation Service käytön myötä kumuloituva

Lisätiedot

Avoin metsätieto - Rajapintapalvelut

Avoin metsätieto - Rajapintapalvelut Avoin metsätieto - Rajapintapalvelut 1 Johdanto Tässä asiakirjassa kuvataan lyhyesti Suomen metsäkeskuksen Avoin metsätieto -rajapintapalveluiden (AMT-rajapintapalvelut) sisältö ja käyttö. AMT-rajapintapalvelut

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

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

Sivuston tiedotpechaticentr.ru

Sivuston tiedotpechaticentr.ru Sivuston tiedotpechaticentr.ru Luotu Kesäkuu 03 2019 17:04 PM Pisteet59/100 SEO Sisältö Otsikko Изготовление печатей в Москве. Изготовление печати любой сложности. Pituus : 67 Täydellistä, otsikkosi sisältää

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

Lisätiedot

Hohde Consulting 2004

Hohde Consulting 2004 Luento 5: XQuery AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XQuery XQuery uudet funktiot sekvenssit muuttujat Iterointi järjestys suodatus järjestäminen Ehtorakenteet Muita toimintoja www.hohde.com

Lisätiedot

CSS - tyylit. 13.11.2000 Seppo Räsänen

CSS - tyylit. 13.11.2000 Seppo Räsänen CSS - tyylit 13.11.2000 Seppo Räsänen Sivu 2 1 CSS-tyylit Dynaaminen HTML tai DHTML on standardi, joiden käyttöä tukevat uusimmat Netscapen ja Microsoftin selaimet. DHTML:n ominaisuuksia ovat tyylitiedostot

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Kansallinen koodistojen siirtoformaatti

Kansallinen koodistojen siirtoformaatti Kansallinen koodistojen siirtoformaatti Miika Alonen miika.alonen@csc.fi 6.9.2017 Väestörekisterikeskus, Lintulahdenkuja 4, Helsinki 1. Kansallisen siirtoformaatin tarve 2. Siirtoformaatin tietomalli 3.

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 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

è è è RDF-perusteet 7 RDF-perusteet

è è è RDF-perusteet 7 RDF-perusteet 7 RDF-perusteet Semanttisen Webin määrittelyteknisen ytimen muodostaa siis Resource Description Framework (RDF) -määritys. Tarkastellaan seuraavassa lyhyesti kielen (kaikille sovelluksille yhteisiä) primitiivejä

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

Digitaalisen median tekniikat xhtml - jatkuu

Digitaalisen median tekniikat xhtml - jatkuu Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1 Kehykset IFRAME - elementti (inline frame) mahdollistaa kehysten upottamisen myös muihin kuin frameset.dtd:n mukaisiin dokumentteihin IFRAME toimii

Lisätiedot

Sivuston tiedotskillers.tech

Sivuston tiedotskillers.tech Sivuston tiedotskillers.tech Luotu Maaliskuu 28 2019 16:54 PM Pisteet55/100 SEO Sisältö Otsikko Skillers - Quality IT Recruiting services Pituus : 41 Täydellistä, otsikkosi sisältää väliltä 10 ja 70 kirjainta.

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

Ontologiat merkitysten mallintamisessa: OWL. Eeva Ahonen

Ontologiat merkitysten mallintamisessa: OWL. Eeva Ahonen Ontologiat merkitysten mallintamisessa: OWL Eeva Ahonen 1.11.2004 Semanttinen tieto käsitemallit ihmisillä sisäiset mallit maailmantieto tarvitaan tekstin tulkitsemiseen tietokoneelle esim. sanat vain

Lisätiedot

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke Rakenteisuus kahdella tasolla Oppimisaihiot ( Learning Objects

Lisätiedot

Varmennepalvelu Rajapintakuvaus Tulorekisteriyksikkö

Varmennepalvelu Rajapintakuvaus Tulorekisteriyksikkö Versio 1.02 Varmennepalvelu Rajapintakuvaus Tulorekisteriyksikkö Varmennepalvelu Rajapintakuvaus 2 (15) Versiohistoria Versio Päivämäärä Kuvaus 1.0 30.10.2017 Dokumentti julkaistu. 1.01 15.12.2017 Dokumenttia

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

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

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Reaalilukuvälit, leikkaus ja unioni (1/2)

Reaalilukuvälit, leikkaus ja unioni (1/2) Luvut Luonnolliset luvut N = {0, 1, 2, 3,... } Kokonaisluvut Z = {..., 2, 1, 0, 1, 2,... } Rationaaliluvut (jaksolliset desimaaliluvut) Q = {m/n m, n Z, n 0} Irrationaaliluvut eli jaksottomat desimaaliluvut

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

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