Johdatus XML teknologioihin



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

XML - perusteet. Ctl230: Luentokalvot Miro Lehtonen

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

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

3 Verkkosaavutettavuuden tekniset perusteet

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

XML johdanto, uusimmat standardit ja kehitys

W3C-teknologiat ja yhteensopivuus

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

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

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Digitaalisen median tekniikat. JSP ja XML

XML johdatus: DTD. Jaana Holvikivi

Eero Hyvönen. Semanttinen web. Linkitetyn avoimen datan käsikirja

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

XML rakenteen suunnittelu. Jaana Holvikivi

Yhteenvetoa XML:n sovellusalueista

W3C, Web-teknologiat ja XML

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

Rakenteiset dokumentit Mitä hyötyä niistä on?

P e d a c o d e ohjelmointikoulutus verkossa

XML-evoluutio ja kestävä kehitys

XML / DTD / FOP -opas Internal

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

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

W3C ja Web-teknologiat

Paikkatiedot ja Web-standardit

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

Luento 1: Johdanto merkintäkieliin

Johdatus rakenteisiin dokumentteihin

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

W3C ja alueellinen standardointi

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

Johdatusta selainohjelmointiin

M. Merikanto 2012 XML. Merkkauskieli, osa 2

HTML5 -elementit jatkuu

Tutkija Mikko Salmenperä. huone: sd109. TTY / Systeemitekniikan laitos. puh: mikko.salmenpera@tut.fi

Hohde Consulting 2004

Avoimet standardit ja arkistointi

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

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

XML ja Web Services update

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto

W3C & verkkojulkaisun standardit

Extensible Stylesheet Language (XSL)

1. Lähtökohta ja taustat

W3C: teknologia ja (tieto)yhteiskunta

XML - mahdollisuudet ja kehitys

2. PEHMEÄ XHTML XRAJAHTML

XML & CSS. WWW-sovellus??

XML-merkkaus. Merkkidata, prosessointikomennot, kommentit

Sosiaalihuollon asiakirjastandardi kehittyy. Konstantin Hyppönen Erikoissuunnittelija Tietojenkäsittelytieteen laitos Kuopion yliopisto

W3C ja Web-teknologiat

Heikki Helin Metatiedot ja tiedostomuodot

4 Johdanto XML-maailmaan

Digitaalisen median tekniikat Harri Laine 1

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

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

Verkkopalveluiden saavutettavuus

Mikä on semanttinen web?

Tiedon esitys tietokoneessa. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2010

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto

Neoxen Systems on suomalainen ohjelmistotalo. Olemme erikoistuneet tiedon- ja oppimisen hallinnan ratkaisuihin.

Sivuston tiedotgoogle.com

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

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML

Automaattinen semanttinen annotointi

Digitaalisen median tekniikat css tyylimääritykset

Luento 12: XML ja metatieto

Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Luento 7: XML-ohjelmointirajapinnat

Sivuston tiedotqbooksupportpho nenumber.com

XML-pohjaiset rakennemäärittelyt

Avoimet standardit ja asiakirjamuodot Suomen julkisessa hallinnossa: teoriasta käytäntöön

XSL Formatting Objects

Visio tulevaisuuden Webistä. Semantic Web - kohti uutta merkitysten Internetiä. Ratkaisumalli 1: Älykkäämmät sovellukset. Vision este Webissä

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

4 Kommentoitu johdanto XML-maailmaan

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

The OWL-S are not what they seem

Sisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta

Web-teknologiat. XML-datan kysely Topi Sarkkinen

TIEDEJUTTUKURSSI FM VILLE SALMINEN

Työvälineohjelmistot KSAO Liiketalous 1

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj

Sivuston tiedotmysiteworthcheck.com

10 Nykyaikainen WWW-arkkitehtuuri

UBL sanomien käyttö sähköisessä kaupankäynnissä. Heikki Laaksamo, TIEKE ry

HSMT J2EE & EJB & SOAP &...

W3C, XML ja tietojenkäsittely: Ihmisen ja tietokoneen yhteinen ymmärrys suoritettavasta tehtävästä ja XML-standardien merkitys tietosysteemeissä (MH)

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

3 Verkkosaavutettavuuden tekniset perusteet

W3C ja Web-teknologiat

JHS XML suositus. XML Finland tapahtuma Mikael af Hällström ylitarkastaja, Verohallinto JHS XML työryhmän vetäjä

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

XML, standardointi ja kehitys

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

Transkriptio:

Johdatus XML teknologioihin Metropolia J. Holvikivi

XML metakieli Extensible Markup Language rakenteellinen esitystapa tiedon vaihtoon, talletukseen, yhdistämiseen ja julkaisemiseen yleinen rakenteenkuvauskieli, eli nk. metakieli toimintaperiaate, ei työkalu standardiperheen ydin pohjana SGML 16.3.2015 J. Holvikivi 2

XML = Extensible Markup Language monia käyttötarkoituksia ja mahdollisuuksia kun yhdistetään muihin standardeihin, kieliin tai tuotteisiin sekä ihmisen että koneen luettavissa: helppo lukea vaikkei varsinaista koodia tulkittaisikaan millään parserilla riippumaton alustasta tai ohjelmointikielistä W3C suositus (recommendation) versio 1.0 6.10.2000 16.3.2015 J. Holvikivi 3

W3C World Wide Web Consortium vuodesta 1994 standardoi www-avaruutta kuten HTML - standardit Recommendations vapaa organisaatio, asianharrastajien perustama, yli 400 jäsentä, suuryritykset ja yliopistot http://www.w3.org/consortium/member/list suositukset ilmaisia, vapaaehtoisia 16.3.2015 J. Holvikivi 4

XML dokumentti-ilmentymä <!-- Dokumentti-ilmentymän esimerkki (osa) --> <university> <department> <name> Humanistinen tiedekunta </name> <address> Fabianinkatu </address> </department> </university> 16.3.2015 J. Holvikivi 5

"XML is for structuring data" rakenteellinen tieto: laskentataulukot, asennusparametrit, tiedonsiirto, vrt. tietokannat XML antaa puumallin mukaisen rakenteen tiedon järjestämiseen XML ei ole ohjelmointikieli, mutta standardiperheeseen kuuluu XSLT laajennettava (extensible), tukee kansainvälisyyttä ja paikallistamista = täysin Unicode-yhteensopiva 16.3.2015 J. Holvikivi 6

XML:n käyttöalueita Dokumentaatio (alkuperäinen) Tekninen dokumentointi: manuaalit, termipankit, varaosaluettelot, kieliversiot, DocBook Monikanavajulkaiseminen documentit, WWW, mobiililaitteet, DVD, paino metadata, RSS, uutisjakelu (syndication & podcasting) Semanttinen tieto, ontologiat (semantic web) Tiedonjakelu &-vaihto: android 16.3.2015 J. Holvikivi 7

XML sovellusalueita Multimedia Voice XML, SVG, SMIL, X3D Elektroninen kaupankäynti, EDI (Electronic Data Interchange) ebxml: electronic business XML, UN/CEFACT ja OASIS pääosat: ebxml storage, CPP Collaboration Protocol Profile, CPA Collaboration Partner agreement BizTalk, WebServices Sähköinen laskutus Paikkatieto: GIS 16.3.2015 J. Holvikivi 8

Web Services tapausesimerkki Asiakas Tilauksen lähetys Tilauksen vahvistus; toimitus palvelun haku (WSDL) Hakemisto UDDI Web site: shop Elektroninen kaupankäynti tarkistuspalvelujen pyyntö Palvelu tarkistaa osoitetiedon Palvelu luottotiedon tarkistamiseksi 16.3.2015 J. Holvikivi 9

XML:n käyttöalueita Nykyään? Selainten sisäinen esitysmuoto Microsoft:.NET ja Office sisäinen esitysmuoto Ajax ja XHTTP, Googlemaps 16.3.2015 J. Holvikivi 10

XML ulkoasu XML näyttää samanlaiselta kuin HTML Elementit (tagit) ja attribuutit <p> tarkoitus käyttäjän valittavissa XML on tekstimuotoista, mutta tarkoitettu sovellusten käyttöön tarkkaan määritelty syntaksi, tavoitteena yksiselitteinen tulkinta ei ole pyritty tiiviyteen (vrt. JSON) 16.3.2015 J. Holvikivi 11

XML teknologiaperhe XML 1.0 DTD:t ja Skeemat nimiavaruudet (Namespaces) Xpath kieli XML-dokumentin osien paikallistamiseen ja valintaan XSLT muunnokset (CSS tai) XSL-Formatting Objects DOM sovellusliittymästandardi 16.3.2015 J. Holvikivi 12

Semanttinen verkko XML:n perustalle on luotu RDF ja semanttinen Web vrt. RSS tarkoituksena on luoda luokitteluja ja sanastoja tiedon löytyminen määriteltyjen hakusanojen avulla, ei vapaatekstihaulla eri alojen sanastotyöryhmiä esim. Dublin Core ja RosettaNet 16.3.2015 J. Holvikivi 13

XML vs. HTML HTML on luotu tiettyyn tarkoitukseen XML ei ole tarkoitettu vain yhteen tarkoitukseen, vaan melkein mihin vain HTML:llä on rajattu määrä tageja XML:llä ei ole ennalta määrättyjä tageja XML on tiukasti hierarkinen ja sitä lukevat parserit tarkkoja siitä 16.3.2015 J. Holvikivi 14

XML dokumentti-ilmentymä <?xml version="1.0"?> <!-- Dokumentti-ilmentymän esimerkki (osa) --> <university> <department> <name> Humanistinen tiedekunta </name> <address> Fabianinkatu </address> </department> </university> 16.3.2015 J. Holvikivi 15

Esimerkki: android <level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:maxlevel="0" android:drawable="@drawable/ic_wifi_signal_1" /> <item android:maxlevel="1" android:drawable="@drawable/ic_wifi_signal_2" /> <item android:maxlevel="2" android:drawable="@drawable/ic_wifi_signal_3" /> <item android:maxlevel="3" android:drawable="@drawable/ic_wifi_signal_4" /> </level-list> 16/03/2015 J. Holvikivi 16

Dokumentti-ilmentymä sisältää dokumentin varsinaisen sisällön, joka on merkattu sovitulla tavalla itseään kuvaavia tunnisteita auttaa tiedon tulkinnassa elementit ja lapsielementit tekstit ja kommentit 16.3.2015 J. Holvikivi 17

XML -prosessorit XML-jäsennin (=parser) Löytää virheet Tuottaa tietoa muille sovelluksille Entiteettien (dokumenttiosien) hallinta Koostaa XML-dokumentit Myös eri tiedostoista 16.3.2015 J. Holvikivi 18

Elementit Dokumentin (looginen) rakenneosa erottavat tunnisteet alkutunniste lopputunniste elementin nimi elementin sisältö voi olla muita elementtejä, tai tekstiä <capital>helsinki</capital> <country> <cname>finland</cname> <capital>helsinki</capital> </country> 16.3.2015 J. Holvikivi 19

Elementtien sisäkkäisyys: säännöt aina p.o. vastaavat alku- ja lopputunnisteet isot ja pienet kirjaimet merkitseviä <otsikko> eri kuin <Otsikko> elementtien nimien täytyy noudattaa XML:n sääntöjä elementin täytyy sisältyä täysin toiseen elementtiin (ei limittäin!) elementtihierarkia juuri = dokumenttielementti - yksi ainoa! Puumuotoinen rakenne Hyvinmuodostuneisuus (= well-formed)! 16.3.2015 J. Holvikivi 20

Sisäkkäiset elementit <pieni_esimerkki> <first>sisäkkäisyys</first> <second>oikein</second> </pieni_esimerkki> <small_example> <first>sisäkkäisyys<second> </first>aivan väärin</second> </small_example> 16.3.2015 J. Holvikivi 21

Dokumenttipuu Teos ISBN Kirjailija Otsake Nimi Syntymävuosi 16.3.2015 J. Holvikivi 22

Elementtien nimet, säännöt alkavat kirjaimella tai alaviivalla _ muualla sallitaan myös numerot, väliviiva - ja piste. nimissä ei saa olla välilyöntejä, ei kaksoispistettä, eikä yhtäläisyysmerkkiä tms. välimerkkejä nimen alussa ei saa olla XML, xml, Xml alussa ei välilyöntiä <merkkejä >, mutta lopussa voi olla mitkä seuraavista ovat sallittuja? <first.name> <xml-juuri> <123> <iso omena> <p>kappale</p> 16.3.2015 J. Holvikivi 23

Elementtien sisällöt Elementti voi sisältää muita elementtejä, tekstiä, tai molempia Elementti voi myös olla tyhjä Elementillä ei ole sisältöä <nothing></nothing> <turhaa/> miksi: sisältö voi olla esim. muualla tyhjä elementti sisältää viittauksen <image file="pict.jpg"/> 16.3.2015 J. Holvikivi 24

Attribuutit (määritteet) Elementin ominaisuuden tai sisällön tarkenne Liitetään alkutunnisteisiin (tai tyhjien elementtien tunnisteisiin) attribuutin nimi attribuutin arvo aina vain yksi arvo esim. <tekijä rooli="toimittaja">ahti</tekijä> 16.3.2015 J. Holvikivi 25

Puukuvauksia farm age farmer farm_hand <!ELEMENT farm (farmer, farm_hand)> dairy_farm farm name dairy_farm forestry_farm #PCdata <!ELEMENT farm (dairy_farm forestry_farm)> 16.3.2015 J. Holvikivi 26

XML - metakielen kielioppi Käyttäjä määrittelee merkkauskielen elementtien nimet elementtien järjestyksen ja hierarkian tietyt varatut sanat DTD tai skeema = kielioppi <!-- Dokumenttityypin esittely (DTD) esimerkki (osa) --> <!ELEMENT university (department+)> <!ELEMENT department (name, address)> <!ELEMENT name (#PCDATA)> <!ELEMENT address (#PCDATA)> 16.3.2015 J. Holvikivi 27

DTD tai XML Schema Dokumenttityypin esittely eli rakenne-esittely yksi sääntö/elementti nimi sisältö dokumentti-ilmentymien "kielioppi" "säännölliset lausekkeet" (ei välttämätön) 16.3.2015 J. Holvikivi 28

Skeeman hyvät puolet validoiva jäsennin tarkistaa että dokumentti on skeeman mukainen tunnisteiden johdonmukainen käyttö eri sovellusten DTD-standardit ja skeemat yhteinen sanasto 16.3.2015 J. Holvikivi 29

Tyylitiedostot Tulosmuotoilua varten Useampia tyylitiedostoja/skeema ja/tai dokumentti Cascading Style Sheets (CSS) XML Stylesheet Language (XSL) 16.3.2015 J. Holvikivi 30

Julkaisuprosessi XML- Dokumentti Muotoilu Muotoiltu dokumentti XSL/CSS tyylitiedosto 16.3.2015 J. Holvikivi 31

XML -standardit käytössä XML Dokumentti Muotoilu Tulosdokumentti: XHTML, text, XML DTD tai Schema XSLT style sheet CSS style sheet 16.3.2015 J. Holvikivi 32

SGML Standard Generalised Markup Language standardi 1986 (ISO) sisälsi DTD:n ja tyylitiedostot monimutkainen työkalut monimutkaisia ja hankalia tehdä, kalliita ja vähän XML on SGML: osajoukko (melkein) Käytetään edelleen, esim. lentokoneiden ja paperikoneiden dokumentaation hallinta 16.3.2015 J. Holvikivi 33

HTML Hypertext Markup Language (ja HTTP protokolla) perustui SGML:ään iso menestys ei-standardoidut laajennukset paljon työkaluja ennaltamääritelty muoto hyvä kun ainoastaan halutaan esittää tietoa kauniisti selaimessa 16.3.2015 J. Holvikivi 34

XML - SGML - HTML XML yhdistää SGML:n ja HTML:n piirteitä paljon työkaluja XHTML, XML-suosituksen mukainen HTML ei ratkaisua kaikkiin ongelmiin kaikkia kolme kieltä (XML, HTML, SGML) tarvitaan HTML XHTML SGML XML 16.3.2015 J. Holvikivi 35

XML:n suunnittelutavoitteet I 1. XML shall be straightforwardly usable over the Internet. 2. XML shall support a wide variety of applications. 3. XML shall be compatible with SGML. 4. It shall be easy to write programs which process XML documents. 5. The number of optional features in XML is to be kept to the absolute minimum, ideally zero. 16.3.2015 J. Holvikivi 36

Suunnittelutavoitteet II 6. XML documents should be human-legible and reasonably clear. 7.The XML design should be prepared quickly. 8.The design of XML shall be formal and concise. 9. XML documents shall be easy to create. 10.Terseness in XML markup is of minimal importance 16.3.2015 J. Holvikivi 37