HØGSKOLEN I SØR-TRØNDELAG



Like dokumenter
HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

~ hsgskolen i oslo. Demissie Aleda I Marl Mehlcn

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

1. XML Grunnlag

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

XSLT 2. David Massey MBIB

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

2. Beskrivelse av mulige prosjektoppgaver

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

1. Lage og vise et enkelt XML-dokument

HØGSKOLEN I SØR-TRØNDELAG

KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET ER FULLSTENDIG

HØGSKOLEN I SØR-TRØNDELAG

XML. Figur Et eksempel på et XML-dokument

HØGSKOLEN I SØR-TRØNDELAG

Antall oppgaver: 6. Alle trykte og skrevne hjelpemidler

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

XSLT 1. David Massey MBIB

"Dette skjer når jeg trykker på denne knappen" "Når jeg skriver i dette feltet, ser jeg at det andre forandrer seg"

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

Oblig 2: Prototype. Oblig 2: Mulig sekvens. Oblig 2: Grovstruktur. Oblig 2: The Candy-community. Begrenset prototype Teste teknologi:

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

Læringsmål XML. Markering av tekst. SGML-familien. Forstå prinsippene bak XML og XHTML. Forstå hva XML kan brukes til og hvordan.

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

Brukerdokumentasjon. Webservices og webklient for kodeverk/ kodeverdi verifisering

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

1. XHTML. Innhold Innledning

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid:

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

EKSAMEN. Elektronisk publisering. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. Objektorientert programmering

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring -

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

lfæ~~~~:::j~~:~l -.~=:~-t::-d I Alle trykte og håndskrevne EKSAMENSOPPGA VE Side l av 5 Eksamenstid:

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. EMNEANSVARLIG: Terje Bokalrud og Hans Petter Hornæs. TILLATTE HJELPEMIDLER: Kalkulator og alle trykte og skrevne hjelpemidler.

HØGSKOLEN I SØR-TRØNDELAG

Forsvunnet katt webside

EKSAMEN Webpublisering

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HTML-del. 1. <!-- ikke slett min kode, vær så snill --> er a) en HTML stil-tag b) en CSS stil-tag c) en HTML kommentar-tag d) en CSS kommentar-tag

Eksamen i Internetteknologi Fagkode: ITE1526

Markeringsspråk og XML Nettsider og XHTML

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Eksamensoppgave i IFUD1025 Programmering i Java

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Eksamen i Internetteknologi Fagkode: IVA1379

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

Løsningsforslag. Oppgavesettet består av 9 oppgaver med i alt 20 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

HØGSKOLEN I SØR-TRØNDELAG

~ Gruppe(r): 2EA$ 2EC rdato:24.02.æ

Kursdokumentasjon for Dreamweaver

MOD 250 Avansert programvareteknologi Extensible Markup Language, XML

HØGSKOLEN I SØR-TRØNDELAG

1. Mer om oppbyning av XML-dokument

INF1040 Oppgavesett 5: XML

EKSAMEN. Oppgavesettet består av 9 oppgaver med i alt 20 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

UNIVERSITETET I OSLO

EKSAMEN / 6101N WebPublisering

Transkript:

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidat nr: DELVIS LØSNINGSFORSLAG (ikke fullstendig) Eksamensdato: 12. desember 2005 Varighet: 3 timer (9:00 12:00) Fagnummer: LO515D Fagnavn: Klasser: NETT2005H Studiepoeng: 6 Faglærer: Tore Mallaug tlf 73 55 93 37 (mobil : 99 23 82 32) Hjelpemidler: Alle trykte og skrevne hjelpemidler, samt godkjent kalkulator Oppgavesettet består av: 3 oppgaver og 6 sider (medregnet denne forsiden og vedlegg) Vedlegg består av: 1 side Merknad: Oppgaveteksten kan beholdes av studenter som sitter eksamenstiden ut. NB! Les hele oppgaveteksten før du setter i gang, og planlegg tiden. Dersom noe virker uklart i denne oppgaven, må du selv gjøre antagelser og få med disse antagelsene i besvarelsen. Det er ført opp vektlegging for hver oppgave. Merk at det kan være ulik vektlegging for de ulike deloppgavene. Lykke til!

HiST - Avdeling for informatikk og e-læring Side 2 av 10 I vedlegg A ligger XML-skjemaet beskjeder.xsd som viser lovlige elementer for data i et enkelt beskjedsystem til studenter som tar et FU-fag. Hvert fag har et XML-dokument i henhold til XML-skjemaet. Eksempler på hvordan beskjedene kan se ut i en nettleser er vist i Oppgave 1. Oppgave 1 XML-dokument, stilark og presentasjon ( 40 % ) Merk deg: Alle deloppgave i denne oppgaven henger sammen, så det kan lønne seg å lese igjennom hele oppgaven før du løser den! a) Lag et lovlig (validerbart) XML-dokument ut fra beskjeder.xsd i vedlegg A. Bruk eksempeldataene i figuren under (dvs. dokumentet skal inneholde en tittel og 3 beskjeder). <?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet type="text/xsl" href="beskjeder.xsl"?> <beskjeder> <spraak>norsk</spraak> <tittel> <emnekode>lo515d</emnekode><semester>høst</semester><aar>2005</aar> <brukernavn>faglærer</brukernavn> </tittel> <beskjed> <dag>1</dag><mnd>11</mnd><aar>2005</aar> <fritekst>husk å delta på diskusjonsforumet i faget.</fritekst> </beskjed> <beskjed> <dag>20</dag><mnd>11</mnd><aar>2005</aar> <fritekst>siste frist for å levere øvinger er torsdag 1. desember.</fritekst> </beskjed> <beskjed> <dag>1</dag><mnd>12</mnd><aar>2005</aar> <fritekst>nå er det for sent å levere øvinger.</fritekst> <fritekst> Løsningsforslag til alle øvinger blir lagt ut på Its Learning i løpet av dagen.</fritekst> </beskjed> </beskjeder> b) Lag et stilark slik at dataene fra XML-dokumentet i Oppgave a) blir seende omtrent ut som på figuren under (i en nettleser). Hvis du i denne deloppgavene forutsetter bruk av en bestemt nettleser, må du beskrive hvilken du velger.

HiST - Avdeling for informatikk og e-læring Side 3 av 10 Løsn.forslaget under bruker XSLT, men her godtas også CSS (selv om CSS ikke gir like godt svar her): <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="/"> <html> <head> <title>beskjeder</title> </head> <body> <h2> Beskjeder ( <xsl:value-of select="beskjeder/tittel/emnekode" /> - <xsl:value-of select="beskjeder/tittel/semester" /> <xsl:value-of select="beskjeder/tittel/aar" /> ) </h2> <xsl:apply-templates select="beskjeder/beskjed" /> </body> </html> <xsl:template match="beskjed"> <p> <b>dato:</b> <xsl:value-of select="dag" />. <xsl:value-of select="mnd" />. <xsl:value-of select="aar" /> </p> <xsl:apply-templates select="fritekst" /> </xsl:stylesheet>

HiST - Avdeling for informatikk og e-læring Side 4 av 10 c) Lag en presentasjon over beskjedene i XML-dokumentet i Oppgave a) som vist på figuren under. I denne presentasjonen skal: Beskjedene vises i en tabell. Månedsnavn skrives ut i stedet for nummeret til måneden. MERK: Vi begrenser oss til beskjeder for høstsemesteret som går fra august til desember hvert år. Hvis måned ikke er innenfor denne perioden, skriver presentasjonen ut tegnene?? i stedet for månedsnavn. Antall beskjeder skrives ut under tabellen slik som i figuren. Teksten Antall beskjeder vises med fet skrift. <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="/"> <html> <head> <title>beskjeder</title> </head> <body> <h2> Beskjeder ( <xsl:value-of select="beskjeder/tittel/emnekode" /> - <xsl:value-of select="beskjeder/tittel/semester" /> <xsl:value-of select="beskjeder/tittel/aar" /> ) </h2> <table border="1" cellpadding="4" cellspacing="3"> <tr>

HiST - Avdeling for informatikk og e-læring Side 5 av 10 <th>dato</th> <th>beskjed</th> </tr> <xsl:apply-templates select="beskjeder/beskjed"> <xsl:sort select="aar" data-type="number" order="ascending" /> <xsl:sort select="mnd" data-type="number" order="ascending" /> <xsl:sort select="dag" data-type="number" order="ascending" /> </xsl:apply-templates> </table> <p> <b>antall beskjeder:</b> <xsl:value-of select="count(beskjeder/beskjed)" /> </p> </body> </html> <xsl:template match="beskjed"> <tr> <td> <xsl:value-of select="dag" />. <xsl:choose> <xsl:when test="mnd = 7">juli</xsl:when> <xsl:when test="mnd = 8">august</xsl:when> <xsl:when test="mnd = 9">september</xsl:when> <xsl:when test="mnd = 10">oktober</xsl:when> <xsl:when test="mnd = 11">november</xsl:when> <xsl:when test="mnd = 12">desember</xsl:when> <xsl:otherwise>??</xsl:otherwise> </xsl:choose> <xsl:value-of select="aar" /> </td> <td> <xsl:apply-templates select="fritekst" /> </td> </tr> </xsl:stylesheet> d) Vis hvordan XSLT kan brukes til å transformere datoelementene i XML-dokumentet i Oppgave a) til et nytt datoelement dato vist under (datoen under er et eksempel): <dato>1.november 2005</dato> MERK DEG: Du skal ikke skrive hele XSLT-dokumentet i denne oppgaven, kun koden for å endre datoformatet. <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:output method="xml" encoding="iso-8859-1" /> <xsl:template match="/"> <xsl:element name="dato"> <xsl:apply-templates select="beskjeder/beskjed" />

HiST - Avdeling for informatikk og e-læring Side 6 av 10 </xsl:element> <xsl:template match="beskjed"> <xsl:value-of select="dag" />. <xsl:choose> <xsl:when test="mnd = 7">juli</xsl:when> <xsl:when test="mnd = 8">august</xsl:when> <xsl:when test="mnd = 9">september</xsl:when> <xsl:when test="mnd = 10">oktober</xsl:when> <xsl:when test="mnd = 11">november</xsl:when> <xsl:when test="mnd = 12">desember</xsl:when> <xsl:otherwise>??</xsl:otherwise> </xsl:choose> <xsl:value-of select="aar" /> </xsl:stylesheet> Oppgave 2 XML-skjema ( 35 % ) I XML-skjemaet i Vedlegg A er beskjed-delen representert som ustrukturert fritekst. Vi ønsker å utvide strukturen til beskjeder slik at vi kan si noe mer om hva slags type beskjeder som er lagret i XML-dokumentene. Følgende nye krav til en beskjed settes: En beskjed skal knyttes opp mot et læringsobjekt. Et læringsobjekt er enten en leksjon, ei øving, et løsningsforslag eller faginfo (samlebetegnelse for div. info. om faggjennomføringen). En beskjed skal videre knyttes opp mot en hendelse. Eksempler på en hendelse er feil, forsinkelse eller opplysning. I friteksten til beskjeden ønsker vi å kunne ha referanser. Foreløpig sier vi at en referanse i teksten har en referansetekst og eventuelt en webadresse (URL). Men ikke alle referanser trenger å være en URL vi kan tenke oss at i fremtiden kan også en beskjed inneholde referanser til andre objekter, f.eks. andre XML-dokumenter. Under vises to eksempler på beskjeder etter den nye spesifikasjonen. Dato: 01.09.2005 Beskjedtype: Leksjon feil Beskjedtekst: Det var dessverre noen småfeil i pdf-utgaven av leksjon 2. Dette er nå rettet. Dato: 01.11.2005 Beskjedtype: Faginfo opplysning Beskjedtekst: Minner om at eksamen i faget er mandag 12. desember. Referanser er understreket over - i dette eksemplet er referansen pdf-utgaven av leksjon 2 knyttet til webadressen http://www.aitel.hist.no/fag/xml/lek02/xml-ls-xml2.pdf, mens referansen eksamen er ikke knyttet til noen webadresse.

HiST - Avdeling for informatikk og e-læring Side 7 av 10 a) Endre fritekst-elementet i XML-skjema i Vedlegg A, slik at skjemaet kan brukes til å verifisere beskjeder etter den nye spesifikasjonen. MERK DEG! Du skal ikke ha med den delen av XML-skjemaet som ikke endres fra Vedlegg A i svaret ditt. Viser ikke XML-skjemaet her. Viser kun en kompleks type kalt Fritekst (erstatter fritekstelementet i Vedlegg A) som inneholder elementene Læringsobjekt, hendelse, og beskjedsteksten (med fritekst og referanser). For selve beskjedsteksten kan en i skjema bruke mixed= true (se eksempel læreboka s. 333 Mixed Content ): <xsd:complextype name= Fritekst > <xsd:sequence> <xsd:element name = laeringsobjekt type = LaeringsObjektType /> <xsd:element name = hendelse > <xsd:complextype> <xsd:choice> <xsd:element name= standard type = HendelseType /> <xsd:element name= annen type = xsd:string /> </xsd:choice> </xsd:element> <xsd:element name= beskjedtekst > <xsd:complextype mixed= true > <xsd:choice maxoccurs = unbounded > <xsd:element name = fritekst type= xsd:string /> <xsd:element name = referanse type = ReferanseType /> </xsd:choice> </xsd:element> </xsd:sequence> Det er en unødvendig begrensing her å si at det kan være kun en referanse pr. beskjed. En slik begrensingen er ikke nødvendig hvis en bruker løsningen over. Det er mulig å bruke restriction for å få med mulige lovlige verdier for læringsobjekt og hendelser (jf. læreboka s.349 Enumeration ). For hendelse er bruken av de bestemte (standard-) verdiene valgfritt (har derfor sagt at hendelse er enten string eller HendelseType over): <xsd:simpletype name= LaeringsObjektType > <xsd:restriction base = xsd:string > <xsd:enumeration value= Leksjon /> <xsd:enumeration value= Øving /> <xsd:enumeration value= Løsningsforslag /> <xsd:enumeration value= Faginfo /> </xsd:restriction> </xsd:simpletype>

HiST - Avdeling for informatikk og e-læring Side 8 av 10 <xsd:simpletype name= HendelseType > <xsd:restriction base = xsd:string > <xsd:enumeration value= Feil /> <xsd:enumeration value= Forsinkelse /> <xsd:enumeration value= Opplysning /> </xsd:restriction> </xsd:simpletype> Oppgave 3 Diverse ( 25 % ) a) Forklar kort forskjellen mellom stilark, dokument og skjema i XML? Hva er fordelen med å skille disse fra hverandre? b) Nevn tre fordeler ved å bruke XML-dokumenter fremfor andre dokumentformater. Begrunn svaret. c) Finnes det tilfeller hvor det ikke er hensiktsmessig å bruke XML? Begrunn svaret. d) Vis hvordan XPath kan brukes til å plukke ut beskjeder fra desember 2005 fra XMLdokumenter validert av XML-skjemaet i Vedlegg A. Skriv også templaten som plukker ut beskjedene i XSLT. XPath-uttrykket: //beskjed[mnd= 12 AND aar= 2005 ] Kan f.eks. brukes i en template slik: <xsl:template match= beskjed > <xsl:for-each select= //beskjed[mnd= 12 AND aar= 2005 ] />

HiST - Avdeling for informatikk og e-læring Side 9 av 10 e) Lag SVG-kode for figuren under. Figuren skal ha et gult hode (slik som smiley ), to svarte øyne, en liten blå nese og en rød munn. Mulig kode: <?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/tr/2001/rec-svg-20010904/dtd/svg10.dtd"> <svg width="200px" height="200px" viewbox="0 0 400 400" xmlns="http://www.w3.org/2000/svg"> <desc>en smiley</desc> <g transform="translate(200,200)"> <circle cx="0" cy="0" r="100" fill="yellow"/> <circle cx="40" cy="-40" r="20" fill="black"/> <circle cx="-40" cy="-40" r="20" fill="black"/> <line x1="30" y1="40" x2="-30" y2="40" fill="none" stroke-width="10" stroke="red"/> <ellipse cx="0" cy="0" rx="20" ry="10" fill="blue"/> </g> </svg>

HiST - Avdeling for informatikk og e-læring Side 10 av 10 Vedlegg A filen beskjeder.xsd <?xml version="1.0" encoding="iso-8859-1"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema"> <xsd:annotation> <xsd:documentation>beskjeder for et fag</xsd:documentation> </xsd:annotation> <xsd:element name="beskjeder" type="beskjeder" /> <xsd:complextype name="beskjeder"> <xsd:sequence> <xsd:element name="spraak" type="xsd:string" /> <xsd:element name="tittel" type="tittel" /> <xsd:element name="beskjed" type="beskjed" minoccurs="0" maxoccurs="unbounded" /> </xsd:sequence> <xsd:complextype name="tittel"> <xsd:sequence> <xsd:element name="emnekode" type="xsd:string" /> <xsd:element name="semester" type="xsd:string" /> <xsd:element name="aar" type="xsd:string" /> <xsd:element name="brukernavn" type="xsd:string" /> </xsd:sequence> <xsd:complextype name="beskjed"> <xsd:sequence> <xsd:element name="dag" type="xsd:string" /> <xsd:element name="mnd" type="xsd:string" /> <xsd:element name="aar" type="xsd:string" /> <xsd:element name="fritekst" type="xsd:string" maxoccurs="unbounded" /> </xsd:sequence> </xsd:schema>