XML ja WWW

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.

Luentotaltiointi

Ongelmia videon katselussa?

Mikä on XML?

Extensible Markup Language (XML) on yksinkertainen ja joustava metakieli, jolla määritellään rakenteellisia merkkauskieliä. XML on kehitetty SGML:n pohjalta.

SGML on 80-luvulla kehitetty metakieli. Ensimmäiset versiot HTML:stä oli määritelty SGML:llä.

HTML:n historia

XHTML

XHTML on XML-sovellus. XHTML on merkkauskieli.

XML-dokumentin on oltava hyvin muodostettu (well-formed). vrt. vanhempien HTML-versioiden tagisoppa (engl. tagsoup)

Yleensä XML-dokumentti on myös validi eli noudattaa jotakin dokumenttityyppiä

Dokumenttityyppimääritys (DTD, Document Type Definition)

Määrittelee sallittujen elementtien nimet, elementtien suhteet ja elementtien attribuutit. Julkisia dokumenttityyppejä ovat mm.

Miksi kannattaa määritellä dtd?

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ämisen samassa dokumentissa.

Skeemoilla voidaan elementin tietosisältöä rajoittaa tiukemmin kuin DTD:llä.

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>

XHTML Simple

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:

rss_css.xml

XSLT (Extensible Stylesheet Language Transformation)

XSLT:n avulla voidaan muuntaa xml-dokumentin rakenne toiseen muotoon.

Muunnos voidaan tehdä joko WWW-palvelimella tai WWW-selaimessa

kelmit.xml kelmit.xsl kelmit2.xsl

vrt. ulkomuotoilu CSS:llä kelmit2.xml

RSS-tiedoston muunnos xhtml:ksi: rss.xml rss.xsl

XSL www-julkaisun apuna

XSL:n avulla voidaan piilottaa "vaikea" XHTML sisällöntuottajalta, joka muokkaa jotain yksinkertaisempaa XML-tiedostoa

Office 2003:n myötä myös Word-, Powerpoint- ja Excel-tiedostot on voitu suoraan tallentaa XML-muodossa, joka taas mahdollistaa näiden dokumenttien "helpon" muuntamisen esim. XHTML:ksi. Sama onnistuu myös Open Officen tiedostoista.

Esimerkki WordML-tiedostosta (Word 2003:n XML-muoto)

Semanttinen web

Semanttinen web on normaalin WWW:n "laajennos" jossa kaikki tieto on yhtä hyvin ihmisen kuin koneenkin ymmärrettävissä.

Semanttinen web edellyttää riittävää määrää metatietoa eli dokumentin kuvailutietoa muodossa, jonka myös tietokone ymmärtää.

Metatieto voi olla:

meta

meta-elementillä XHTML:ssä määritellään dokumenttiin liittyvää metatietoa

<meta name="description"
  content="Tietoverkot työvälineenä - Tietotekniikan approbatur-kurssi Jyväskylän
	   yliopistossa tietotekniikan laitoksen ja avoimen yliopiston yhteisopetuksena " />
<meta name="keywords"
  content="tietotekniikka, jyväskylän yliopisto, avoin yliopisto,
	   tietotekniikan laitos, informaatioteknologia, opetus, kurssi" />

<meta name="author" content="Tommi Lahtonen" />

Linkkielementti - link

<link title="Oletustyyli" rel="StyleSheet" href="/appro2003.css" type="text/css" media="all" />
<link rel="icon" href="/favicon.ico" type="image/ico" />
<link rel="shortcut icon" href="/favicon.ico" />
<link rel="Copyright" href="/copyright.html" title="Copyright Notice" />
<link rel="Prev" href="../luento1/" title="Edellinen" />
<link rel="Next" href="../luento3/" title="Seuraava" />
<link rel="Start" href="../../" title="Tietoverkot työvälineenä" />
<link rel="Contents" href="../" title="Sisällys" />
<link rel="Parent" href="../" title="Edellinen taso" />
<link rel="First" href="../luento1/" title="Ensimmäinen" />
<link rel="Last" href="../luento10/" title="Viimeinen" />
<link rel="Search" href="/haku/" title="Haku" />

Lisätietoja ja esimerkkejä

RDF

RDF on W3C:n määrittelemä kehys jonka avulla voidaan kuvailla esim. www-sivu ja sen sisältö (metadata).

RDF:llä kuvataan resurssi (subjekti), sen ominaisuus (predikaatti) ja ominaisuuden arvo (objekti)

Esim. resurssin http://appro.mit.jyu.fi/ tekijä (creator) on Tommi Lahtonen

<rdf:RDF>
	<rdf:Description about="http://appro.mit.jyu.fi/">
		<Creator>Tommi Lahtonen</Creator>
	</rdf:Description>
</rdf:RDF> 

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.

JHS 143 Asiakirjojen kuvailun ja hallinnan metatiedot

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 Dublin Core metatiedoista

<? 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/luento2/" >
<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>

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

Mikä on RSS?

Rss-lukija

Appro-sivuston rss-feed

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

Linkitä ystäviesi FoaF-tiedostot omaan FoaF-tiedostoon niin muodostamaanne verkostoa voi selailla esim. FoaF-Explorer-ohjelmalla.

Lisätietoa

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/www/luennot/luento2/
© Antti Ekonoja (anjoekon@jyu.fi) <http://users.jyu.fi/~anjoekon/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
Jukka Mäntylä (jmantyla@iki.fi) <http://www.iki.fi/jmantyla/>
2005-01-14 18:47:02
Informaatioteknologia - Jyväskylän yliopiston IT-tiedekunta ja avoin yliopisto