Göm meny

Introduktionsuppgift 2 - Datarepresentation med XML


I denna introuppgift kommer du att få bekanta dig med XML som är ett uppmärkningsspråk som används för att märka upp information i en textfil. XML (Extensible Markup Language) kan användas för att strukturera nästan vad som helst och används flitigt i modern IT, även om det har vissa nackdelar.

Du jobbar i pargrupp i introuppgift 2: Pargruppsanmälan, Tema 2

Nyckelbegrepp

  • XML, element, attribut, attributvärde, XML-schema, DTD, validera

Inlärningsmål

  • Förståelse för hur ett XML-dokument är strukturerat
  • Förståelse för vad ett XML-schema är för något
  • Förståelse för hur XML används för att representera en bild i SVG-formatet
  • Kunna förklara vad termerna “tagg”, “attribut”, “attributvärde” betyder och används i ett XML-dokument.
  • Kunna beskriva skillnaden mellan språket XML och XML-baserade dataformat

Redovisning

Introduktionsuppgiften redovisas muntligt vid redovisningstillfälle enligt deadlinesidan. Vid den muntliga redovisningen kommer du få göra följande:

  • Visa att du lyckats med uppgiften
  • Svara på några frågor om det du gjort och de nyckelbegrepp som tillhör introduktionsuppgiften. Dessa frågor kommer att vara tagna från de frågor som tillhör stegen nedan.

Komplettering

Om du av någon anledning inte kan närvara vid den muntliga redovisningen, kompletterar du genom att skicka in följande till 729g74@ida.liu.se

  • Länk till HTML-sidan som visar din SVG-fil
  • Länk till din publicerade DTD
  • Lägg upp ditt XML-dokument på webben och skicka med länken till den.
  • Skriftliga svar på alla frågor tillhörande introuppgift 2

Översikt

Denna introduktionsuppgift består av två delar:

  1. Definiera ett XML-schema som används för att beskriva kurser på universitetskurser. Ett XML-dokument som använder detta schema ska skapas som innehåller alla kurser i årskurs 1 på det kognitionsvetenskapliga programmet.
  2. Skapa en webbsida som visar en bild i SVG-format som du själv skapat. Webbsidan publiceras på https://www-und.ida.liu.se/~dittliuid/intro2/.

Instruktioner

Nedan följer detaljer om introduktionsuppgiftens två delar, samt frågor du ska kunna svara på kopplade till varje del. Se listan nedan för tips på söktermer!

Del 1: DTD och XML-fil

I del 1 ska du skapa 2 filer som du lägger i katalogen ~/www-pub/intro2 så att de är tillgängliga på webben. Den ena filen är en DTD som används för att definiera vilken struktur en XML-fil ska ha. Den andra filen är XML-filen som innehåller själva informationen.

  1. Skapa en DTD som du ska använda för att i en XML-fil som innehåller information om kurser på det kognitionsvetenskapliga programmet. Spara den i mappen ~/www-pub/intro2/ så att den är tillgänglig på webben. Minst följande information ska höra till en kurs:
    • kurskod (en kurskod per kurs)
    • kursnamn (ett kursnamn per kurs)
    • antal poäng kursen är på
    • kursens kursmål (en kurs ska kunna innehålla flera kursmål)
  2. Skapa en XML-fil som refererar till den DTD:n du precis skapat. Prova att validera XML-filen genom att använda kommandot xmllint i terminalen. Se exempel nedan.
  3. Fyll din XML-fil med kursdata. Validera filen då och då medan du jobbar med den. För att undvika att behöva rätta jättemånga fel på slutet.

Startpunkt

  • Sök efter “dtd tutorial”. Ett tips är att öppna ett antal av sökresultaten i flikar och skumma igenom dem så att du kan se vilka som är bättre och sämre istället för att fastna på den första sidan som kanske inte ens är bra!

Validering av XML-fil

Använd kommandot xmllint för att validera din XML-fil. Nedan valideras filen kurser.xml.

$ xmllint --valid kurser.xml

Frågor att kunna svara på efter del 1

  1. Vad är syftet med att ha en DTD?
  2. Finns det andra sätt att definiera ett XML-formats struktur och innehåll?
  3. Vad är ett element?
  4. Vad är en “tag” i XML? Hur avslutar man en tag?

Del 2: Skapa och publicera en SVG-bild

I del 2 ska du också skapa två filer och göra dem tillgängliga via webben. Dessa filer ska också ligga i ~/www-pub/intro2/. Den första filen du ska skapa är en SVG fil. SVG är ett XML-baserat format som innehåller information som används för att rita upp en bild. Den andra filen är en HTML-fil som används för att visa din SVG-fil som om den vore en vanligt pixelbaserad (rasteriserad) bild som t.ex. en jpg-fil, eller en gif-fil (som ni gjorde i Introuppgift 1 i Tema 1).

  1. Öppna en texteditor och skapa en fil med filändelsen .svg. Spara den filen i katalogen ~/www-pub/intro2
  2. Redigera din SVG-fil så att den uppfyller nedanstående kriterier (du får lägga till flera saker). Du kan titta på bilden genom att öppna den i en webbläsare.
    • bilden ska vara 400x400 pixlar stor
    • bilden ska innehålla något som ser ut som ett hus
    • bilden ska innehålla ett moln
  3. När du skapat bilden öppnar du en ny fil, ~/www-pub/intro2/index.html. I denna fil skriver du HTML-kod som skriver ut en rubrik och sedan visar din SVG-bild under rubriken.

Startpunkt

  • Sök efter “svg tutorial”. Ett tips är att öppna ett antal av sökresultaten i flikar och skumma igenom dem så att du kan se vilka som är bättre och sämre istället för att fastna på den första sidan som kanske inte ens är bra!
  • Kom ihåg att du ska lägga in din SVG-data i en fil som har filändelsen .svg inte bädda in SVG-data i en HTML-fil (vad är skillnaden?). Din SVG-fil ska alltså användas som om den vore t.ex. en vanlig JPG-bild.

Frågor att kunna svara på efter del 2

  1. Var är ett attribut i XML?
  2. Hur specificerar man ett attributs värde?
  3. Hitta tre exempel på XML-baserade format.


Sidansvarig: Jody Foo
Senast uppdaterad: 2017-10-12