Några ord till mina studerande
Alla övningar skall utföras. Se till att spara dessa på t.ex.
en diskett. Om det inte framgår annat skall nedladdade filer bibehålla
det namn de hade på nätet. Ni behöver inte sända dem åt
mig (ännu), men var beredd på att jag vill se era lösningar...
Övning 1
Nedan är en (enkel) DTD:
test.dtd
<!ELEMENT db (person*)>
<!ELEMENT person (name, age, email)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT email (#PCDATA)>
Nedanstående uppgifter skall in i en XML fil som skall gå att validera
mot ovanstående DTD. Skriv XML filen. Kalla filen ovn1.xml
| name |
age |
email |
| Putte Ek |
19 |
putte@home.com |
| Eva Björk |
32 |
eva.bjork@nowhere.com |
| Kalle & Ada |
|
goteborgare@sweden.nu |
| Lisa Lassedotter |
12 |
lillan@vad.nu |
Övning 2
I kapitlen
XML filer
och
Mer om XML filer
fanns en hel del XML filer. Eftersom jag då ännu inte tagit upp
validering och DTD, så är de inte valideringsbara. Ladda ner filerna
till egen dator, genom att högerklicka på länken "Om du
har IE..." och välj Save Target As...
Se sedan till att de får en giltig DTD. För enkelhetens skull vill
jag att du sätter INTERN DTD direkt i XML filen. Observera även att
alla filer inte är korrekta, och kanske inte går att validera ens
med en DTD. Efersom jag (ännu) inte tagit upp namespaces, kan du bli tvungen
att döpa om något element för att undvika namnkonflikt.
Övning 3
Nedan är en XML fil som använder sig av ENTITIES. Tyvärr har
den som gjort dessa filer glömt att specificera dessa
xml12_1.xml
<?xml version="1.0"?>
<!DOCTYPE news [
<!ELEMENT news (source, title, body_text, author)>
<!ELEMENT source (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT body_text (#PCDATA)>
<!ELEMENT author (#PCDATA)>
]>
<news>
&newsagent;
<title>Vörå tar över Vasa</title>
<body_text>
Enligt helt obekräftade källor kanske
det kan förekomma ett rykte om att det finns
en potentiell möjlighet att Vörå eventuellt
har lagt ett bud på att köpa Vasa, eller
&maybe; Vöråstan...
</body_text>
<author>Myt O. Man</author>
</news>
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Meningen var att entityn &newsagent; borde ha expanderats till kommunbladet
och &maybe; till eventuellt mot förmodan. Dessutom finns det
ett till alvarligt fel på sidan som gör att det kan vara svårt
att se denna. Vilket? Fixa problemet...
Övning 4
Nedan är en till fil på samma tema som den tidigare. Tyvärr
är den inte riktigt kompetent utförd så IE vägrar visa
den. Ladda ner den och red upp problemen. (Obs. Det finns ett lurigt fel inbyggd
i denna fil - tag en titt på sidan
Datat i XML
och filen xml4_2.xml om nu inte kommer vidare med denna fil)
xml12_2.xml
<?xml version="1.0"?>
<!DOCTYPE body [
<!ELEMENT news (Title, body text, author)>
<!ELEMENT source (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT body text (#PCDATA)>
<!ELEMENT Author (#PCDATA)>
]>
<news>
<title>Vörå tar över Vasa</title>
<body text>
Enligt helt obekräftade källor kanske
det kan förekomma ett rykte om att det finns
en potentiell möjlighet att Vörå eventuellt
har lagt ett bud på att köpa Vasa, eller
åtminstone Vöråstan...
</body text>
<author>Myt O. Man</author>
</news>
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Övning 5
En skola består - enkelt uttryckt -av lärare, kurser och studerande.
Skapa en XML fil som innehåller lärare, kurser och elever. Observera
följande relationer som skall finnas i filen:
- En kurs har en lärare
- En kurs har flera elever
- Lärare, elvere och kurser har alla ett unikt id
- En lärare kan ha flera kurser (tyvärr)
- En elev kan ha flera kurser (he,he)
Skapa en xml fil som innehåller så mycket data som behövs
för att få in dessa relationer. Använd ID, IDREF och IDREFS.
Övning 6
På sidan
Grunderna
fanns ett kort e-mail. Konvertera detta till XML med DTD validering. Spara som
email.xml
Övning 7
Far ut på nätet och sök fram en sida som innehåller någon
form av information. (Inte någon av mina, således). Skriv ut denna
sida i tre exemplar, det räcker med sida ett om det är en längre
websida. Numrera sidorna med en 1:a, 2:a och en 3:a. Titta igenom utskrifterna
och fundera på följande:
- Vilka element på sidan är endast dekorativa (t.ex. bilder och
typsnitt). Ringa in dessa på utskrift nummer 1.
- Vilka element är både dekorativa men även informativa. Detta
kan t.ex. vara att fetstil på sidan utmärker en viss typ av information.
Ringa in dessa på utskrift nummer 2.
- Vilka delar av sidan innehåller viktig information som inte utmärkts
på något speciellt sett. Ringa in dessa på utskrift 3
På sidan
Mer om ELEMENT
beskrivs Mixed Mode XML. Om websidan du analyserat skulle varit gjord i XML,
skulle de troligtvist ha märkt ut de viktiga punkterna med hjälp av
speciella tags.
Skriv ett förslag till en mixed mode DTD som skulle kunna användas
för den sida du analyserat för att säkerställa att den viktiga
informationen skulle komma fram bättre. Bry dig inte om visuella aspekter,
betona den informativa...
Spara som betterweb.dtd
OBS. Detta kommer jag att samla in av er...