XML ja WWW
- Luentotaltiointi
- XHTML
- XHTML-dokumentin runko
- XML-vaatimukset
- Dokumenttityyppimääritys (DTD
- Skeemat
- Nimiavaruudet
- CSS
- XSLT (Extensible Stylesheet Language Transformation)
- Semanttinen web
- Dublin Core
- RSS (Rich Site Summary)
- FOAF
- Lisätietoa
Tällä luennolla tutustutaan XML:n käyttämiseen WWW:ssä. XML-dokumenttien ulkomuotoilu ja muuntaminen CSS:n ja XSL:n avulla. Käydään RDF:n käyttäminen läpi RSS-esimerkin avulla.
XHTML
XHTML on XML-sovellus
XHTML-dokumentin runko
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi">
<head>
<title>XML</title>
</head>
<body>
<h1>Pääotsikko</h1>
<p>Kappale</p>
</body>
</html>
XML-dokumentin runko selitettynä
-
Ensimmäiseksi määritellään käytetty xml-versio ja käytettävä merkistö<?xml version="1.0" encoding="ISO-8859-1"?> -
Dokumentin juurielementiksi määritellään<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">html-elementti.Määritellään dokumentissa käytettävä dokumenttityyppi (
"-//W3C//DTD XHTML Basic 1.0//EN").Kerrotaan missä julkinen (
PUBLIC) dokumenttityyppimäärittely sijaitsee ("http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd").Määritellään nimiavaruus (
xmlns="http://www.w3.org/1999/xhtml"). Nimiavaruudet erotetaan toisistaan uniikeilla uri:lla.Määritellään dokumentin oletuskieli (
xml:lang="fi"). -
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi">Varsinainen dokumentti sijaitsee kokonaisuudessaan juurielementin (
html) sisällä
Yleisimmistä selaimista Internet Explorer ja Mozilla tukevat hyvin XML-muotoista dataa.
XML-vaatimukset
XML-dokumentin on oltava hyvin muodostettu (well-formed)
Yleensä XML-dokumentti on myös validi eli noudattaa jotakin dokumenttityyppiä
Dokumenttityyppimääritys (DTD
Määrittelee sallittujen elementtien nimet, elementtien suhteet ja elementtien attribuutit. Julkisia dokumenttityyppejä ovat mm. Docbook XHTML Basic ja XHTML 1.1.
Miksi kannattaa määritellä dtd?
- DTD:n avulla voi tarkistaa xml-tiedostojensa oikeellisuuden
- Osataan tuottaa oikeanlaisia xml-tiedostoja
- Voidaan määritellä yhteinen dokumenttimuoto tietojen vaihtoon
- XML-tiedostosta nähdään millainen tiedosto on kyseessä
Skeemat
Skeema (schema) on DTD:tä vastaava malli, jolla kuvataan dokumentin rakenne.
DTD määritellään omalla kielellään. Skeemat määritellään XML:llä.
Skeemat mahdollistavat useiden eri nimiavaruuksia käyttävien elementtien käyttäminen samassa dokumentissa.
Skeemoilla voidaan elementin tietosisältöä rajoittaa tiukemmin kuin DTD:llä.
- Voidaan määrittää elementin sisällölle tietotyyppi
- Elementti voi olla simpletype eli sisältää vain tekstiä.
- Elementti voi olla complextype eli sisältää muita elementtejä.
Skeemaesimerkki
<?xml version="1.0" encoding="iso-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name=foobar>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="bar" type="xsd:string"/>
<xsd:element name="foo" type="OmaTyyppi"/>
<xsd:element name="bar" type="xsd:string" minOccurs="1" maxOccurs="2" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Nimiavaruudet
Nimiavaruuksien avulla voidaan samassa dokumentissa käyttää useampaa erilaista dokumenttityyppiä ilman että ne sotkevat toisiaan
CSS
XML-dokumenttien ulkoasu voidaan muotoilla CSS:llä tismalleen samoin kuin XHTML-dokumenttienkin ulkoasu
CSS-tiedosto linkitetään XML-tiedostoon prosessointiohjeen avulla:
XSLT (Extensible Stylesheet Language Transformation)
XSLT:n avulla voidaan muuntaa xml-dokumentin rakenne toiseen muotoon.
XSLT käyttää XPath-kieltä dokumenttipuussa liikkumiseen.
kelmit.xml kelmit.xsl kelmit2.xsl
vrt. ulkomuotoilu CSS:llä kelmit2.xml
RSS-tiedoston muunnos xhtml:ksi: rss.xml
Semanttinen web
Semanttinen web on normaalin WWW:n "laajennos" jossa kaikki tieto on yhtä hyvin ihmisen kuin koneenkin ymmärrettävissä
RDF on W3C:n määrittelemä kehys jonka avulla voidaan kuvailla esim. www-sivu ja sen sisältö (metadata).
Dublin Core
Dublin Core on kansainvälinen, erityisesti digitaalisten julkaisujen kuvailuun kehitetty metadataformaatti. Dublin Core -kuvailu voidaan upottaa suoraan xhtml-dokumenttiin tai erilliseen RDF-tiedostoon.
Seuraavan koodin voi upottaa suoraan XHTML-tiedoston head-osaan:
<meta name="DC.Title" content="XML ja WWW" />
<meta name="DC.Creator " content="Lahtonen, Tommi" />
<meta name="DC.Subject" content="xml" />
<meta name="DC.Subject" content="rss" />
<meta name="DC.Subject" content="dublin core" />
<meta name="DC.Description" content=" Tässä dokumentissa kerrotaan
XML:n käyttämisestä WWW:ssä" />
<meta name="DC.Publisher" content="Jyväskylän yliopisto" />
<meta name="DC.Date" content="2003-04-01" />
<meta name="DC.Format" content="application/xhtml+xml" />
<meta name="DC.Type" content="Text" />
<meta name="DC.Identifier" content="http://appro.mit.jyu.fi/www/luennot/luento9/" />
<meta name="DC.Language" content="fi" />
<meta name="DC.Coverage" content="Suomi " />
<meta name="DC.Rights content="Public domain" />
<meta name="DC.Rights content="http://appro.mit.jyu.fi/copyright.html" />
RDF-versio:
<? xml version="1.0" ?>
<RDF xmlns = "http://w3.org/TR/1999/PR-rdf-syntax-19990105#"
xmlns:DC = "http://purl.org/DC#" >
<Description about = "http://appro.mit.jyu.fi/www/luennot/luento9/" >
<DC:Title>XML ja WWW </DC:Title>
<DC:Creator>Lahtonen, Tommi </DC:Creator>
<DC:Subject>xml </DC:Subject>
<DC:Subject>rss </DC:Subject>
<DC:Subject>dublin core </DC:Subject>
<DC:Description> Tässä dokumentissa kerrotaan
XML:n käyttämisestä WWW:ssä" </DC:Description>
<DC:Publisher>Jyväskylän yliopisto" </DC:Publisher>
<DC:Date>2003-04-01" </DC:Date>
<DC:Format>application/xhtml+xml" </DC:Format>
<DC:Type>Text" </DC:Type>
<DC:Identifier>http://appro:mit:jyu:fi/www/luennot/luento9/" </DC:Identifier>
<DC:Language>fi" </DC:Language>
<DC:Coverage>Suomi " </DC:Coverage>
<DC:Rights>Public domain" </DC:Rights>
<DC:Rights>http://appro:mit:jyu:fi/copyright:html"</DC:Rights>
</Description>
</RDF>
- Expressing Dublin Core in HTML/XHTML meta and link elements
- Dublin Core -kuvailuformaatin HTML-syntaksi
RSS (Rich Site Summary)
RSS on XML-sovellus, jonka avulla on helppo jakaa uutisia tai mitä tahansa tietoa.
WWW-sivuston uutiset tai muut muutokset listataan RSS-tiedostossa, jonka sisältöä seurataan RSS-formaattia ymmärtävällä ohjelmalla
- RSS Reader Panel Mozilla
- Aggreg8 Mozilla
FOAF
FOAF (Friend Of A Friend) on hieman samantapainen asia kuin RSS mutta koskee henkilötietoja. FOAF-tiedoston voi ajatella olevan tietokoneen ymmärrettävissä oleva versio kotisivusta.
Tee itsellesi FOAF-tiedosto käyttäen FOAF-a-Maticia ja linkitä se kotisivuusi:
<link rel="meta" type="application/rdf+xml" title="FOAF" href="foaf.rdf" />
Lisätietoa
- RDF Primer
- What is RDF?
- DOM ja SAX
- XSL (Kalevi Manninen)
- XSL FAQ
- Xpath RTF
- XML Path Language
- XPath Tutorial
- XSLT
- What is RSS?
- The Semantic Web lifts off

Käyttäjien kommentit