XMLGrundernaValideringÖvningar
[ Hem ] Allmänt ASP XML SQL ADO HTML CSS VB Java Design Karta
Grunderna XSL Dynamiska sidor XML i praktiken

Övningar

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:

  1. En kurs har en lärare
  2. En kurs har flera elever
  3. Lärare, elvere och kurser har alla ett unikt id
  4. En lärare kan ha flera kurser (tyvärr)
  5. 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:

  1. Vilka element på sidan är endast dekorativa (t.ex. bilder och typsnitt). Ringa in dessa på utskrift nummer 1.
  2. 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.
  3. 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...

  Rekursivt dataSom nästa...
Grunderna
XML filer
Mer om XML filer
Datat i XML
Validering
DTD
Studera själv på nätet
Mer om ELEMENT
Mer om ENTITY
Mer om ATTLIST
Rekursivt data
Övningar
Som nästa...


Top
< Rekursivt data Som nästa...>
© Anders Enges, Vörå 2002  | 09.10.01 14:02 Visa asp koden