Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Samankaltaiset tiedostot
Digitaalisen median tekniikat. JSP ja XML

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

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

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

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1

Digitaalisen median tekniikat xhtml - jatkuu

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

XML / DTD / FOP -opas Internal

Digitaalisen median tekniikat css tyylimääritykset

Digitaalisen median tekniikat css tyylimääritykset

Digitaalisen median tekniikat css tyylimääritykset Harri Laine 1

3 Verkkosaavutettavuuden tekniset perusteet

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

Hohde Consulting 2004

Digitaalisen median tekniikat xhtml - jatkuu

Luento 7: XML-ohjelmointirajapinnat

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

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

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

Extensible Stylesheet Language (XSL)

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

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

Interfacing Product Data Management System

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

2. PEHMEÄ XHTML XRAJAHTML

XSL Formatting Objects

Johdatus XML teknologioihin

Web-teknologiat. XML-datan kysely Topi Sarkkinen

Digitaalisen median tekniikat. Luento 3: CSS

directive attr1= value1 attr2= value2 %>

XML johdanto, uusimmat standardit ja kehitys

8 XSLT-muunnoskieli XSLT-muunnoskieli

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

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

Hohde Consulting 2004

Luento 11: XSL-FO & SVG

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

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

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

W3C-teknologiat ja yhteensopivuus

Hohde Consulting 2004

XML Technologies and Applications - harjoitustyö -

Helsingin yliopisto/tktl XML-metakieli XSL-FO XSL-FO. XSL-FO sivut

Harri Laine 1. Digitaalisen median tekniikat, s2007 HY/TKTL, palvelinohjelmointi_1. Palvelinohjelmointi

Luento 1: Johdanto merkintäkieliin

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

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

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

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

15. Ohjelmoinnin tekniikkaa 15.1

Digitaalisen median tekniikat, k2004 HY/TKTL, palvelinohjelmointi_1 21/04/2004. Harri Laine 1. Palvelinohjelmointi. Staattinen www-sivu

Muotoilutoliot. XSL:n muotoiluoliot. Muotoiluolio. Muotoilualueet. Lohkoalueiden sijoittelu. Muotoilualueiden sijoittelu. Rivialueiden ominaisuuksia

Digitaalisen median tekniikat. Palvelinohjelmointi

Digitaalisen median tekniikat. Palvelinohjelmointi Harri Laine 1

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

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

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

XSLT - ohjelmaesimerkkejä. Jaana Holvikivi Metropolia

XML-evoluutio ja kestävä kehitys

Cascading Style Sheets

Helsingin yliopisto, TKTL Tietokantojen perusteet, s 2000 WWW-tietokantasovellukset Harri Laine 1. vapaamuotoiset tiedot

M. Merikanto 2012 XML. Merkkauskieli, osa 2

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

XSL-muunnokset. 9 XSL-muunnokset

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

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

valitsin on useimmiten html-elementti, jolle tyyli halutaan luoda

15. Ohjelmoinnin tekniikkaa 15.1

XML -muotoisen raportin luonti

W3C, Web-teknologiat ja XML

TIEDEJUTTUKURSSI FM VILLE SALMINEN

XML-datan kysely. Topi Sarkkinen. Seminaarityö. Helsinki HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

HTML5 -elementit jatkuu

ARVO - verkkomateriaalien arviointiin

Tietokannan webbikytkentä. Janne Petäjä

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Johdatusta selainohjelmointiin

Digitaalisen median tekniikat. Esteettömyys ja käytettävyys

Digitaalisen median tekniikat. Esteettömyys ja käytettävyys Harri Laine 1

XSLT - ohjelmoinnin perusteet. Jaana Holvikivi Metropolia

Loppuraportti. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Code Camp for Girls. Sanna Nygård. Lokakuussa

Verkkosivut perinteisesti. Tanja Välisalo

Digitaalisen median tekniikat. Luento 4: JavaScript


ELM GROUP 04. Teemu Laakso Henrik Talarmo

Järjestelmäarkkitehtuuri (TK081702)

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1

OPINNÄYTETYÖRAPORTTI WEB-STANDARDIT JA NIIDEN SOVELTAMINEN. Timo Sulanne Kimmo Tapala

Digitaalisen median tekniikat Luento 1: Intro

4 Johdanto XML-maailmaan

XML - perusteet. Ctl230: Luentokalvot Miro Lehtonen

Sivuston tiedotmysiteworthcheck.com

Matematiikan oppimateriaalia verkkoon: kompleksiluvut

Ajatus kaiken taustalla

Sivuston tiedotwindowsrepublic.com.au

Transkriptio:

Digitaalisen median tekniikat JSP ja XML 28.4.2004 Harri Laine 1

JSP hyvin lyhyesti JSP on Java-pohjainen skriptikieli JSP:llä laadittu sivu käännetään java-servletiksi (sivun toteutus vastaa servlettiluokan doget ja dopost metodia) kutsuparametrit ovat käytettävissä request parametrin kautta kuten servleteissä sivulle voidaan upottaa Java-koodia: skriptlettejä = kontrolli yms. rakenneosia lausekkeita = sivulle haluttavien arvojen määrityksiä täydennyksiä = erillisissä tiedostoissa olevia osia java koodia voidaan käyttää suoraan tai tagi-kirjastojen kautta (dokumenttiin upotettu tagi-elementti on kirjastofunktion kutsu) 28.4.2004 Harri Laine 2

JSP hyvin lyhyesti <jsp:directive.page import="java.sql.*" /> <jsp:scriptlet> Class.forName("org.gjt.mm.mysql.Driver"); Connection connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "", ""); Statement statement = connection.createstatement(); int changed = statement.executeupdate("update counters set hitcount = hitcount + 1 " + "where page like '" + request.getrequesturi() + "'"); if (changed == 0) statement.executeupdate("insert counters(page) values('" + request.getrequesturi() + "')"); ResultSet rs = statement.executequery("select hitcount from counters where page like '" + request.getrequesturi() + "'"); rs.next(); int hitcount = rs.getint(1); statement.close(); connection.close(); </jsp:scriptlet> 28.4.2004 Harri Laine 3

JSP hyvin lyhyesti jatkuu: <HTML> <HEAD> <TITLE>JDBC scriptlet example</title> </HEAD> <BODY> <P>This page has been hit <jsp:expression>hitcount</jsp:expression> times. The page counter is implemented by a JSP scriptlet calling the JDBC package directly. </P> </BODY> </HTML> 28.4.2004 Harri Laine 4

XML:n periaatteita käsiteltiin lyhyesti XHTML:n yhteydessä XML on tarkoitettu rakenteisten dokumenttien määrittelyyn Dokumentin esityskieli määritellään joko DTD:llä (Document Type Definition) tai XML schema:lla XML-kieliä on määritelty moniin eri tarkoituksiin ja uusia määritellään jatkuvasti 28.4.2004 Harri Laine 5

Tunnetuimpia: WML (kännykkäviestintä) MathML (matemaattiset lausekkeet) SVG (vektorigrafiikka) SMIL (multimediaesitykset) CML(kemia) VoiceXML lukuisia muita eri tarkoituksiin määriteltyjä kieliä 28.4.2004 Harri Laine 6

(X)HTML:n elementteihin liittyy yleisesti tunnettu oletus siitä, miten elementti esitetään, esim. <table>-elementti esitetään taulukkona XML-elementteihin ei yleisesti liity tällaista esitystapaoletusta, esimerkiksi miten esitetään <table>-elementti huonekalukaupan hinnastossa 28.4.2004 Harri Laine 7

XML:n esittämiseksi selaimessa on useita vaihtoehtoja: selaimella on oletusarvoinen esitystapa esim. http://www.cs.helsinki.fi/u/laine/dime/k04/tikape20.xml (IE:llä) käytetään css-tyylitiedostoa määrittelemään dokumentin ulkoasu paljon rajoituksia toimivuus eri selaimissa erilaista CSS-1: ei pystytä esittämään lainkaan elementtien attribuuttiarvoja, vain sisältödataa 28.4.2004 Harri Laine 8

CSS-tyylitiedostot XML:n esityksessä esimerkit: tyylitiedosto: http://www.cs.helsinki.fi/u/laine/dime/k04/task.css tiedosto http://www.cs.helsinki.fi/u/laine/dime/k04/tikape20c.xml kokeilluista selaimista toimii oikein vain Opera 7.2.3:lla (Windows), pitäisi näkyä vaihtoehtojen järjestysnumerotkin http://www.cs.helsinki.fi/u/laine/dime/k04/tikape20m.xml ja sen tyylitiedosto http://www.cs.helsinki.fi/u/laine/dime/k04/taskm.css Mozilla ja Opera tarjoavat CSS2:n mukaisen attribuuttiarvojen esityksen, joka ei toimi IE6.ssa. Attribuuttiarvoja voidaan esittää ennen elementin dataa tai sen jälkeen 28.4.2004 Harri Laine 9

XSL (Extensible Stylesheet Language) on erityisesti XML:n esittämiseen tarkoitettu tyylimäärittely, joka itse asiassa muodostuu kahdesta standardista: XSL-FO (Formatting Objects): miten elementit esitetään laajempi kuin vain Web-esittäminen XSLT (XSL Transformation): muunnos yhdestä XMLkielestä toiseen, esimerkiksi XHTML:ään jos muunnoksen tulos on XHTML voidaan sen esitystapa määritellä CSS:llä 28.4.2004 Harri Laine 10

XSLT muunnosten idea: XSL muunnostiedosto koostuu joukosta muunnosmalleja (template) muunnosmallissa määritellään mihin lähtörakenteen osaan muunnosta sovelletaan millainen rakenne syntyy muunnoksen tuloksena miten lähtörakenteeseen sisältyvät tietoelementit sijoittuvat tulosrakenteeseen lähtörakenteen osan ja siihen sisältyvien tietoelementtien määrittelyyn käytetään XPath määrittelytekniikkaa 28.4.2004 Harri Laine 11

Tarkastellaan esimerkkejä: http://www.cs.helsinki.fi/u/laine/dime/k04/tikape20x.xml ja http://www.cs.helsinki.fi/u/laine/dime/k04/taskstyle.xls Tässä esimerkissä muunnetaan kertauskysymys-xml xhtml:ksi tiedostopari http://www.cs.helsinki.fi/u/laine/dime/k04/tikape20f.xml ja http://www.cs.helsinki.fi/u/laine/dime/k04/taskform.xls muuntaa xml tiedoston toimivaksi kyselylomakkeeksi 28.4.2004 Harri Laine 12

Esimerkeissä on käytetty XPathia määrittelemään kohteet /määrittää dokumentin juuren /elementti määrittää polun ensimmäiseen elementti tyyppiseen elementtiin /elementti/alielementti määrittää polun alielementtiin @ nimen alussa osoittaa attribuutin /task/@author task-elementin author attribuutti 28.4.2004 Harri Laine 13

xsl:value-of : elementin tai attribuutin arvo xsl:for-each : käydään läpi kaikki ehdon täyttävät xsl:attribute : asetetaan arvo attribuutille position() : paikka kokoelmassa 28.4.2004 Harri Laine 14

Kaikkea ei saa aikaan XSL:lläkään, joten tarvitaan erillinen moduuli XML:n esittämiseen tai ohjelma joka hoitaa esittämisen, esim. SVG edellyttää lisämoduulia XML-tiedostossa on annettava tyylitiedoston nimi => yhteen URL:iin voi olla kytkeytyneenä vain yksi tulostusmuoto(joukko) voidaan hoitaa esim. erottamalla otsakeosa ja dataosa. Dataosa, jossa on varsinainen xml data liitetään otsakeosaan vaikka SSI:llä => monta otsakeosaa yksi dataosa 28.4.2004 Harri Laine 15

XML:n käsittely ohjelmissa voi perustua dokumenttipuun läpikäyntiin suoraan tapahtumapohjaiseen jäsennykseen tästä esimerkki PHP:n yhteydessä käydään läpi tässä yhteydessä SAX:n toimintaperiaate 28.4.2004 Harri Laine 16