Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli

Samankaltaiset tiedostot
Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli

M. Merikanto 2012 XML. Merkkauskieli, osa 2

Helsingin yliopisto/tktl XML-metakieli XPath

XML - perusteet. Ctl230: Luentokalvot Miro Lehtonen

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Digitaalisen median tekniikat. JSP ja XML

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

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

8 XSLT-muunnoskieli XSLT-muunnoskieli

Extensible Stylesheet Language (XSL)

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

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

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

Digitaalisen median tekniikat Harri Laine 1

Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia

Luento 3: Tietorakenteiden esittäminen

XML rakenteen suunnittelu. Jaana Holvikivi

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

Johdatus rakenteisiin dokumentteihin

3 Verkkosaavutettavuuden tekniset perusteet

CSE-A1200 Tietokannat

XSL-muunnokset. 9 XSL-muunnokset

Johdatus XML teknologioihin

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

Hohde Consulting 2004

Luento 1: Johdanto merkintäkieliin

Digitaalisen median tekniikat, s2007 HY/TKTL. Harri Laine 1. Kurssin sisällöstä. Digitaalisen median tekniikat. Kurssin sisällöstä

XML / DTD / FOP -opas Internal

Sivuston tiedotmysiteworthcheck.com

ARVO - verkkomateriaalien arviointiin

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

A TIETORAKENTEET JA ALGORITMIT

Luento 7: XML-ohjelmointirajapinnat

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

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

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

Helsingin yliopisto/tktl XML-metakieli CSS XML-dokumenttien käsittely. XML-dokumenttien käsittely

Hohde Consulting 2004

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

Sivuston tiedotreviewproducts.org

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

Sivuston tiedotwindowsrepublic.com.au

Sosiaalihuollon asiakastiedon arkiston validointipalvelu

v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint.

Sivuston tiedotgoogle.com

Sivuston tiedotqbsupportcustom erservice.com

Sivuston tiedottools.seo-zona.ru

Sivuston tiedotqbooksupportpho nenumber.com

XML johdanto, uusimmat standardit ja kehitys

private TreeMap<String, Opiskelija> nimella; private TreeMap<String, Opiskelija> numerolla;

Luento 12: XML ja metatieto

Johdanto. Kiinteistöhuoltoyhtiö tarvitsee järjestelmän huoltopyyntöjen hallinnointiin

Sosiaalihuollon asiakastiedon arkiston validointipalvelu. Käyttöohje

XPath. namespace nodes, processing instruction nodes, comment nodes. a root node, element nodes, text nodes, attribute nodes,

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

XML, XHTML ja CSS. T Hypermediadokumentin laatiminen. Mikko Pohja

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

Laajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus

Helsingin yliopisto/tktl XML-metakieli k2013 CSS XML-dokumenttien käsittely. XML-dokumenttien käsittely

5 Merkkaus: XML protokollana

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

P e d a c o d e ohjelmointikoulutus verkossa

Sivuston tiedottools.seo-zona.ru

Sivuston tiedotemreemir.com

Paikkatiedot ja Web-standardit

Helsingin yliopisto/tktl XML-metakieli XSLT XSL - extensible stylesheet language XSLT

Digitaalisen median tekniikat css tyylimääritykset

2 Rakenteisten dokumenttien perusteet

Sivuston tiedotakcp-sensor.de

UML-kielen formalisointi Object-Z:lla

Yhteentoimiva.suomi.fi - palvelukokonaisuuden ja työkalujen esittely

5 Merkkaus: XML protokollana

W3C ja Web-teknologiat

Sivuston tiedotmp3list.pro

JWT 2017 luento 6. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

Algoritmit 2. Luento 5 Ti Timo Männikkö

Sivuston tiedotpechaticentr.ru

Putteri Käyttöliittymä ja ulkoasu

Sivuston tiedotwixaccounting.com

Algoritmit 2. Luento 6 To Timo Männikkö

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 2 Ke Timo Männikkö

T2V2 Vaaratilanneilmoitussanomakuvaus

CLT131 Korpusten käsittely Viides luento

Algoritmit 1. Luento 7 Ti Timo Männikkö

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1

Algoritmit 1. Luento 8 Ke Timo Männikkö

HL7 Clinical Document Architecture. Seminaari: Tiedonhallinta terveydenhuollossa Riku Niittymäki

Ohjelmistojen mallintaminen

DOORSin Spreadsheet export/import

A TIETORAKENTEET JA ALGORITMIT KORVAAVAT HARJOITUSTEHTÄVÄT 3, DEADLINE KLO 12:00

Digitaalisen median tekniikat css tyylimääritykset Harri Laine 1

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

XPath. namespace nodes, processing instruction nodes, comment nodes. a root node, element nodes, text nodes, attribute nodes,

2. PEHMEÄ XHTML XRAJAHTML

Miten käydä läpi puun alkiot (traversal)?

Algoritmit 2. Luento 6 Ke Timo Männikkö

Sivuston tiedotle-vintage.fr

Palvelun versio 1.0 Toimeenpanopalvelun tunnus (ks. M ) 10fea, 9c2f, 4760, 9095, f4f9295f4b19

Transkriptio:

Tietomuodoista Merkkauksista Merkkauskielistä XML-tietomalli Tietomuodoista Tiedon tuottamiseen, muokkaukseen ja hyväksikäyttöön voi osallistua useita ohjelmia eri alustoilla eri ohjelmointikielillä toteutettuja Yhteistoiminnan mahdollistamiseksi tarvitaan jaettu tiedonvälitysmuoto binäärinen, esim. kuvamuodot tekstuaalinen esimerkiksi SV (comma separated values) yksinkertaiselle taulukkomuotoiselle datalle monipuolisempia rakenteita mutkikkaammilla tekniikoilla 1 2 Kiinteämuotoisissa rakenteissa tiedon osilla on kiinteä sijaintipaikka tietorakenteessa. (marking) Vaihtuvamuotoisissa rakenteissa osia voi puuttua osat voivat olla hyvin erikokoisia osien järjestystä tai sisältymistä ei voida välttämättä ennakoida osa on jotenkin osoitettava osien merkkaaminen mahdollistaa pääsyn tietoon merkkauksella tieto eristetään ympäristöstään mikä tieto on kyseessä, mistä tiedon esitys alkaa, mihin asti, missä muodossa tieto esitetään muoto voi olla sidottu tiedon tyyppiin, mutta voi olla myös tapauskohtainen 3 4 edellyttää ainakin yhden merkkialkion käyttöä. Merkkialkio voi olla joko alkumerkintä tai loppumerkintä. Molempiakin voi käyttää. Pelkkä alkumerkintä riittää erottelemaan samankaltaisia tietokohteita, esimerkiksi \section teoksen lukuja toisistaan. Jos kohteita on eri tyyppisiä voidaan tarvita eksplisiittinen rajaus valitsemaan merkkauksen kohde, esimerkiksi merkkaus \bold{lihavoitua tekstiä}, tekee rajauksen kaarisuluilla ja määrittää tyypin avainsanalla \bold merkkialkioiden on erotuttava muusta tekstistä yllä olevissa esimerkeissä \-merkillä alkavat sanat tulkitaan merkkialkioiksi HTML-kielessä (kuten myös XML-kielissä) käytetään alkumerkintöjä (begin tag) ja loppumerkintöjä (end tag). Kummatkin alkavat merkillä < (pienempi kuin, less than) ja päättyvät merkkiin > (suurempi kuin, greater than). Näiden välissä on alkumerkinnässä elementin tyyppinimi 1 ja loppumerkinnässä sama tyyppinimi / -merkin jälkeen, esim. <title>otsake</title> Huom: atk-sanakirjassa tag-sanan suomennos on L tägi L 1) lisäksi attribuuttilausekkeita 5 6 1

HTML ja XML-kielet muistuttavat merkkaustavan puolesta toisiaan HTML:ssä merkkauksissa käytettävät elementtien tyyppinimet on kiinnitetty HTML:llä laadittu dokumentti on tarkoitettu esitettäväksi selaimessa, joten eri elementtityypeille on oletusarvoiset esitystavat XML-kielten elementtinimet ovat kielen määrittelijän vapaasti valittavissa XML-elementtien oletusarvoinen esitystapa selaimissa on varsin yksinkertainen, vain hierarkia näkyy HTML perustuu SGML- standardiin (Standard Generalized Markup Language) SGML on metakieli - perusrakenne ja tapa määritellä kieli yleiskäyttöinen vähän rajoituksia varsin monimutkainen, vähän ja kalliita työkaluja SGML standardin 1. versio vuodelta 1986 kieliä suurten dokumenttien esittämiseen, julkaisutoimintaan 7 8 XML-rakenne XML on yksinkertaistettu osajoukko SGML:stä rakenteita rajoitettu nsimmäinen standardiversio vuodelta 1998, viimeisimmät versiot 2006 ( sekä 1.0 että 1.1 - edelliselle laaja tuki, jälkimmäisessä erilainen suhtautuminen merkistöihin, parempi laajennettavuus) XHTML on HTML:ää vastaava XML-standardiin perustuva dokumenttien esityskieli (erot harjoitustehtävänä) XML-kieliä moniin tarkoituksiin: XHTML, SVG (grafiikka), ML (hemical..), WML (WP-sivut), ebxml (electronic business), WSL (web services), XML on tarkoitettu hierarkkisesti jäsennetyn tiedon tekstimuotoisen esitystavan määrittelyyn Lähtökohtana on hierarkkisesti jäsennetty tieto Hierarkia muodostuu toisiinsa sisältyvistä elementeistä Seuraavilla sivuilla on esimerkki xmlreseptikielestä 9 10 XML-rakenne, esimerkki osa 1(M&S) XML-rakenne, esimerkki osa 2(M&S) <collection> <description>recipes suggested by Jane ow</description> <recipe id="117"> <comment> <title>rhubarb obbler</title> Rhubarb obbler made with bananas as the main sweetener. <date>wed, 14 Jun 95</date> It was delicious. <ingredient name="diced rhubarb" amount="2.5" unit="cup"/> </comment> <ingredient name="sugar" amount="2" unit="tablespoon"/> <nutrition calories="170" fat="28%" <ingredient name="fairly ripe banana" amount="2"/> <ingredient name="cinnamon" amount="0.25" unit="teaspoon"/> carbohydrates="58%" protein="14%"/> <ingredient name="nutmeg" amount="1" unit="dash"/> <related ref="42">garden Quiche is also yummy</related> <preparation> </recipe> <!-- should bananas be diced, too. It looks funny with the whole ones--> <step> </collection> ombine all and use as cobbler, pie, or crisp. </step> </preparation> 11 12 2

XML-rakenne, esimerkki simerkin kielessä on päädytty esittämään raaka-ainetiedot attribuuttien avulla. Toinen suunnittelija olisi voinut päätyä erilaiseen ratkaisuun, esimerkiksi <ingredient name="diced rhubarb" amount="2.5" unit="cup"/> olisikin esitetty hierarkiana <ingredient> <name preparation= diced >rhubarb</name> <amount unit= cup >2.5</amount> </ingredient> ja kolmas johonkin muuhun tapaan Hierarkian lähtökohtana on tiedon jäsentäminen hierarkkisena rakenteena, joka voidaan esittää puuna solmu (node) juuri (root) lehti (leaf) särmä (edge) 13 14 :n, :n ja :n isä (parent of,, ad ) :n lapsisolmut (hildren of ) :n sisältö (ontents of ) :n ja : n esi-isät (ancestors of and ) :n jälkeläiset (descendants of ) :n velisolmu (sibling of ) 15 16 description collection step recipe id:117 title date ingredient ingredient preparation comment nutrition related Rhubarb obbler Wed. 14 Jun 95 name: diced rhubarb amount:2.5 unit:cup <!-- Should bananas ombine Rhubarb hobbe calories:170 Garden related:42 17 ri tyyppisiä solmuja: Tekstisolmu (text nodes): kuvassa suunnikas dokumentin tekstitietoa aina lehtisolmu tekstisolmut eivät voi olla puussa vierekkäisinä veljessolmuina - välissä pitää olla jokin muu solmu lementtisolmu (element node) kuvassa nurkista pyöristetty suorakaide dokumentin rakenneosaa kuvaava solmu jälkeläissolmujen kooste elementtisolmulla aina nimi (name) -kuvaa solmun merkitystä 18 3

ttribuuttisolmu (attribute node) kuvassa suorakaide liittyy elementtisolmuun, eli isäsolmuna on elementtisolmu esittää täsmentävää tietoa elementistä nimi - arvo - parina sama nimi ei voi toistua useassa elementtiin liittyvässä attribuuttisolmussa attribuuttisolmut ovat tavallaan eri ulottuvuudessa kuin muut solmut, esimerkiksi XPath-tietomallissa attribuuttisolmuja ei pidetä elementtien lapsina vaikka elementtejä pidetäänkin attribuuttisolmujen isinä Kommenttisolmu (comment node) kuvassa kuusikulmio sisältönä kommenttiteksti kuten ohjelmointikielen kommentti, huom.: esimerkin solmu comment ei ole kommenttisolmu, vaan elementti nimeltä comment kommentti esitetään tekstimuodossa kuten html:ssä eli <!-- kommentti --> 19 20 Ohjesolmu (processing instruction node) ei kuvassa sisältönä kohde ja siihen liittyvä arvo käytetään metatiedon välittämiseen työkaluille jos työkalu tunnistaa kohdenimen se osaa tulkita arvon merkityksen kohteena voisi olla esim. "xml-stylesheet" jolloin XSLT-käsittelijä tunnistaisi kohteen ja tulkitsisi arvona annetun URL:n osoittavan käytettävään XSLTtyylitiedostoon Juurisolmu (root node) kuvassa pieni ympyrä Jokaisella xml-puulla on juurisolmu, joka kuvaa koko dokumenttia juurisolmun lapsina on kommenttisolmuja, ohjesolmuja sekä yksi elementtisolmu, jota kutsutaan dokumentin juurielementiksi (root element) juurielementti on siis eri asia kuin juurisolmu (katso esimerkki selaimessa, example1.xml) 21 22 XML-rakennemallissa solmujen järjestys on merkityksellinen ja sillä voidaan välittää informaatiota esimerkiksi resepti-rakenteessa <preparation>elementtien <step>-alielementtien järjestys kuvaa valmistusvaiheiden järjestystä attribuuttisolmujen järjestyksellä ei kuitenkaan ole merkitystä 23 xml-rakenteinen dokumentti esitetään Unicodekoodattuna tekstinä lementin aloittaa alkumerkintä: alussa "<"-merkki, seuraavana elementin (tyyppi)nimi seuraavana elementtiin liittyviä attribuutteja vastaavat nimi-arvo parit muodossa nimi="arvo" tai muodossa nimi='arvo' tyhjätilamerkein (white space) eroteltuina lopuksi ">"-merkki Tyhjä elementti voidaan merkitä lopettamalla alkumerkintä merkkiparilla "/>". Vaihtoehtona on käyttää loppumerkintää <tyhjä></tyhjä> 24 4

lementin sisältöön kuuluvien solmujen tekstiesitykset sijoitetaan elementin alku- ja loppumerkintöjen väliin puun solmujen järjestyksen mukaisesti. Teksti-, kommentti- ja ohjesolmujen sisältö viedään tekstiesitykseen sellaisenaan. lementin lopettaa loppumerkki alkaa "</"-merkkityhdistelmällä seuraavana elementin (tyyppi)nimi lopuksi ">"-merkki lku- ja loppumerkinnöissä olevien elementtinimien pitää olla samat kirjoitusasua myöten (case sensitive) Tekstin esitystapana on Unicode-merkistö. Oletusarvoisesti käytetään UT-8 koodaustapaa. Myös muita koodaustapoja voi käyttää. Suomenkielisessä tekstissä iso-8859-15 lienee käyttökelpoinen. Merkkejä "<" ja "&" saa käyttää vain niille varattuihin erityistarkoituksiin. Muulloin ne on korvattava < ja & viittauksilla. Muutamia muitakin viittauksia on määritelty, tosin paljon vähemmän kuin HTML:ssä (> &apos; ") Yleinen viittaus Unicode-merkkiin on muotoa &#N; tai &#xh;, missä N on Unicode merkin desimaaliarvo ja H vastaava heksakoodi. 25 26 Merkkikoodaus määritellään yleensä dokumentin alussa ohjeella, esim. <?xml version= 1.0 encoding= iso-8859-1?> Kommentin esitystapa <! kommentti --> Ohjeen esitystapa <?kohde arvo?> Koko kohdenimen jälkeinen osa tulkitaan arvoksi olipa se minkä muotoinen tahansa Koska tekstiesityksen pitää vastata puurakennetta täytyy elementtien tekstiesitysten olla aidosti sisäkkäisiä <small_example> <first>this is</first> <second>so right</second> </small_example> <small_example> <first>this is<second> </first>so wrong</second> </small_example> lementit eivät ole aidosti sisäkkäisiä 27 28 5