I denna uppgift ska du skapa en innehållsmässig struktur med språken XML och DTD. Följande ska göras:
- Skapa en innehållsmässig struktur för någon upprepande information.
- Definiera strukturen med DTD.
- Använda strukuren, genom att strukturera någon information med XML.
- Validera XML-koden mot DTD-koden.
9 min.
Beskrivning och uppgifter
Skapa en struktur för filmer, böcker, spel eller annat valfritt innehåll (dock inte de områden som förekommer kursens exempel). Det ska vara något som upprepas, så att du har flera förekomster av det du valt, t.ex. flera filmer. Det måste också gå att kategorisera informationen. Du ska skapa ett par XML-dokument med varsin kategori. Väljer du filmer kan de kategoriseras som thriller, drama, komedi, etc. eller så väljer du en indelning i svenska filmer, engelska filmer, etc. eller något annat. Du väljer själv innehåll och kategorisering.
Genomför uppgiften i följande ordning:
a. Innehållsanalys och DTD-dokument
- Analysera vilket innehåll du har, vilka delar det består av och hur dessa hänger ihop. Beskriv en struktur, där du namnger de delar som finns i informationen. Beskriv också om och i så fall hur de olika delarna kan upprepas.
- Se kravlistan längre ner, så att du får med alla detaljer som krävs.
- Översätt strukturen till en DTD-kod.
- Definiera alltså alla element med
ELEMENT-taggar och, om du har attribut, alla attribut medATTLIST-taggar. Skriv in dessa i en DTD-fil.
b. Första XML-dokumentet
- Skapa en XML-fil och skriv en XML-kod där du strukturerar något innehåll enligt den struktur du skapat.
- Lägg redan från början in en DOCTYPE-tagg med en referens till DTD-filen, så får du stöd och validering direkt medan du skriver XML-koden (under förutsättning att du installerat tillägget i VSC för detta).
- Tillägget i VSC gör ju kontroll av koden och ger felmeddelanden, om koden har fel. Som ett ytterligare test bör du även kontrollera strukturen i webbläsaren. Öppna XML-filen i webbläsaren Firefox, för att kontrollera att koden är "well-formed", dvs att den följer XML:s grundläggande syntaxregler. Gör den det visas XML-koden i webbläsaren, annars visas ett felmeddelande.
c. Validera
- Validera din fil, dvs kontrollera om XML-koden stämmer med din DTD.
- Har du installerat XML-tillägget i VSC, görs valideringen samtidigt som du skriver koden. Men gör också en kontroll med en extern validator, då du skrivit klart din XML-kod, se nästa punkt.
- Som en extra kontroll ska du också validera din kod med en extern validator. Länkar till validatorer finns i rutan för XML och DTD på Länksidan. Använd den andra validatorn, där du kan ha XML- och DTD-koden i separata filer.
d. Andra XML-dokumentet
- Skapa ännu ett XML-dokument med samma struktur, fast annat innehåll. I de båda XML-dokumenten ska du ha var sin "kategori" av din valda information. Strukturen ska vara densamma, så samma DTD ska användas i båda fallen.
- Validera även detta nya XML-dokument.
Publicera dina filer
- Publicera dina filer på Netlify enligt den struktur som finns på sidan med allmän information om uppgifterna.
- På den gemensamma ingångssidan ska du ha länkar till de båda XML-filerna samt DTD-filen. Alltså totalt tre länkar.
- Testa att länkarna fungerar på den publicerade sidan samt att XML-filerna visas med sin kod i webbläsaren. DTD-filen visas dock inte, utan där ger webbläsaren ett fönster för nedladdning av filen.
Krav
Kraven på det du skapar i denna uppgift är följande.
Godkänt
Följande krav måste vara uppfyllda, för att du ska bli godkänd.
- Informationen ska ges en innehållsmässig struktur.
- Namn på element och attribut ska beskriva deras innehåll och vara på engelska.
- För G krävs endast användning av element, men för extrameriten måste du också ha attribut.
- Ingen onödig information ska förekomma, utan endast informationens "väsentliga innehåll" ska finnas med.
- Det ska finnas med "länkar", dvs referenser med en url i informationen.
- Strukturen ska vara minst tre nivåer djup (inklusive rotelementet, som är första nivån).
- Se beskrivning i rutan om djup i sidospalten.
- Namn på element och attribut ska beskriva deras innehåll och vara på engelska.
- DTD-koden
- DTD-koden ska beskriva elementen och attributen (om du har sådana) som används i XML-strukturen.
- DTD-koden ska ligga i en separat fil.
- Det ska endast vara en DTD-fil som används till samtliga XML-filer.
- XML-koden
- XML-koden ska vara validerad med DTD-koden.
- Det ska vara minst två XML-filer. En fil för varsin kategori av informationen.
- I varje XML-fil ska det finnas med flera olika förekomster av det du strukturerar.
- Om du t.ex. strukturerar filmer räcker det alltså inte med endast en film, utan ta med några olika filmer.
Extramerit
Följande är inte obligatoriskt för att bli godkänd, men kan ge en extra förtjänst som tas med i bedömning av kursens slutbetyg. En del av det har du kanske redan fått med, då du utvecklat din struktur och kod.
- Se till att du har med följande i din DTD- och XML-kod:
- Både element och attribut.
- Tomt element, dvs element som ej har någon sluttagg.
- Attribut där innehållet definieras med en lista av möjliga värden.