Vorige | Home | Slides | Volgende

 

XML 2010: Opdracht 4

Dit is een praktische opdracht die hoort bij het vak XML 2010, dat gegeven wordt aan de Faculteit der Letteren van de Rijksuniversiteit Groningen.

Voor deze opdrachten is begeleiding aanwezig op dinsdagen tussen 15:00 en 17:00 en op woensdagen tussen 11:00 en 13:00 in zaal 13.0102C. Om in zaal 13.012C op de computers te kunnen werken, heb je een Linuxaccount nodig. Neem contact op met de docent (erikt(at)xs4all.nl) als je zo'n account nog niet hebt.

Je mag de opdrachten ook thuis of op een andere computer maken. Hou er wel rekening mee dat je soms zal moeten inloggen op de prakticumserver siegfried.let.rug.nl . Dat kan bijvoorbeeld met 1 van de programma's winscp, putty of ssh.

De deadline voor het inleveren van de resultaten van deze opdracht is maandag 4 oktober 2010, 09:00. Plaats de resultaten van jouw opdracht op Nestor.

Deze opdracht bevat twee deelopdrachten. De eerste deelopdracht (4.1) is vijf punten waard. De tweede deelopdracht (4.2) is drie punten waard. Daarnaast kunnen nog twee punten worden verdiend met oplossingen die beter of uitgebreider zijn dan de andere ingeleverde oplossingen.

Relevante bestanden uit het vierde college:


Opdracht 4.1

In deze opdracht werken we met het uitvoerbestand van opdracht 3 (of dat van opdracht 2.2). Haal eventueel het bestand met jouw studienummer in de naam op uit de directory /home/erikt/class/xm10/opdracht2. Kopieer het naar het bestand 4-1234567.xml in jouw directory waarbij je 1234567 vervangt door jouw studienummer (zonder de s).

Maak een XSLT-bestand dat dit XML-bestand omzet naar een HTML-bestand. Zorg dat het HTML-bestand de volgende onderdelen bevat:

  1. minstens 1 van de stijlelementen font-family, font-size, font-style, font-weight, color of background-color
  2. het resultaat van een contextgevoelige definitie in het XSLT-bestand
  3. minstens 1 attribuutwaarde uit het XML-bestand
  4. minstens 1 teller gebaseerd op het XML-bestand
  5. een plaatje of een linkelement op basis van informatie in het XML-bestand

Breid eventueel jouw XML-bestand en het bijbehorende DTD/XML-schema uit met andere elementen of attributen. Kies wel redelijke elementen en attributen, en zorg dat jouw documentstructuur voldoet aan een bijbehorend DTD of XML-schema.

Lever als resultaat van deze deelopdracht het stijlbestand in en de jouw (eventueel aangepaste versie van het) XML-bestand van opdracht 2 samen met (naar keuze) een bijpassende correcte DTD of een bijpassend correct schema.

Opdracht 4.2

Voor het maken van deze opdracht heb je een bestand nodig uit de directory /home/erikt/class/xm10/opdracht4 . Kopieer uit deze directory het bestand met jouw studienummer in de naam naar jouw eigen directory.

Het bestand bevat de scores die door landen zijn gegeven aan de deelnemers aan het Eurosongfestival 2010. Alleen de scores per land en deelnemer staan vermeld, bijvoorbeeld:

  <eurovision year="2010">
    <country-123 name="Moldova">
       <points-456 from="Azerbaijan">6</points-456>

Dit geeft aan dat Azerbaijan 6 punten heeft gegeven aan Moldava.

Schrijf een XSLT-programma dat jouw XML-bestand omzet in een HTML-bestand met daarin een tabel met de namen van de kandidaatlanden en hun totaalscore, bijvoorbeeld:

Moldova 27
... ...

De tabel moet gesorteerd zijn, dan wel op landnaam of op scores. Het XSLT-programma moet werken in xsltproc. Het hoeft niet per se te werken in een browser.

Je kan de XLSLT-bestanden van het college (1 en 2) gebruiken als voorbeeld bij het maken van deze opdracht.

Lever als resultaat voor deze opdracht jouw XSLT-bestand in samen met het XML-bestand dat als invoer is gebruikt en het HTML-bestand dat door het programma is gemaakt.


Plaats al jouw bestanden in 1 tekstbestand met de naam 4-studienummer.txt en lever dit bestand in via Nestor voor maandag 4 oktober 2010, 09:00
Voorbeeldantwoorden
Last update: October 08, 2010. erikt(at)xs4all.nl