Extensible Stylesheet Language Transformations (XSLT) och XML Path Language (XPath)

Relevanta dokument
En mötesplats i centrum

Inbjudan till professor Nome Neskens installation

Rubriktexten. Tilläggsrubrik. Upphovsperson Avdelning 2012

Detta är en dokumentmall för examensarbeten. Dokumentmallen har följande egenskaper:

Frågan om typsnitt för HT sönderfaller

brandbook blågrön innovation

kontorsmaterial/visitkort

Grafisk manual. En grafisk guide till vår identitet.

Grafisk manual för Göteborgs rättighetscenter. Regler och ramar för användande av logotyp, färger, typsnitt m.m både inom webb och tryck.

GRAFISK MANUAL Visuell identitet, logotyp och riktlinjer NOVEMBER 2013

ÄDELFORS FOLKHÖGSKOLA GRAFISK MANUAL. Ädelfors Folkhögskolas nya grafiska manual gäller fr.o.m. den 1 januari 2015

Innehåll. Inledning... 3 Typsnitt & färg... 4 Logotyp... 5 Visitkort... 6 Brevpapper... 7 Kuvert... 8 Produkter... 9 Hemsida... 10

Vår grafiska profil. Antagen av direktionen

GRÄNSÄLVSGYMNASIET. Samhällskunskap 1b. Vårterminen Baksidan av media. En studie om bullar och bakverk i tidningen.

Wireframes Arla - Naturens egen sportdryck Christoffer Du Rietz GreatWorks

Regular expressions. "regexps" "grep" Jan Erik Moström,

Personas och scenarios i webbutveckling - möjligheter och fallgropar. Rósa Guðjónsdóttir - PinkPuffin

Grafisk profil. Rapporter. uppdaterad

Välkomna! till e-butik.se

Utvärdering av Turistbyrå

Titel. kurs uppgift. Författare A & Författare B cid@student.chalmers.se

Grafisk manual 2010/2011 1

LOGOTYP GO WITH THE FLOW

Välkomna till SJÖLOG 2017! Denna blankett är till för er som skall medverka på SJÖLOG 2017 och som skall presenteras i dess katalog.

Grafiska riktlinjer 1.2

Grafisk Profil. Northai

Årsräkning/Sluträkning Period:

Läs Mig Först Med fak

Valutec Grafisk manual

GRAFISK MANUAL LATHUND

Årsräkning/Sluträkning Period:

F02 En första sida. Dagens agenda

GRAFISK M A N U A L SVAB

REGLER FÖR ANVÄNDNING AV LOGOTYPER, DEKORFÄRGER OCH TYPSNITT

Denna fil innehåller några förklaringar till mallarna för Spikblad, Titelblad (Inlaga) samt Pärm.

Godkänd av stadsstyrelsen xx.xx.2010

Innehållsförteckning. Energiservice Skellefteå Grundläggande grafisk manual

Modern Demokratisk Trygg

Logotyp. Så här kan pilen användas i en punktlist. Frizon för logotyp. Minsta tillåtna bredd är 15 mm

KAMPANJPLATS XX Projektplan

Innehåll. 3. Utskrift under arbetets gång...11

Avhandlingens titel med plats för undertitel

F10 Mer CSS Dagens agenda

Färgkodning: Turism & Evenemang. Näringsliv. Kommun & Samhälle. Nya Gällivare

1. Om GNS-mallen. 1.1 Om mallen. 1.2 Viktiga skillnader

SALTSTÄNK. Nummer: 6 Icke RS/TS-kontrollerat medlemsorgan för Göteborgs Sjöscoutkår Årgång: 61

Grafisk manual Förbundet Sveriges Arbetsterapeuter. För förtroendevalda

Som man sår får man skörda...

Innehåll. 3. Utskrift under arbetets gång...11

VISUELL IDENTITET FÖR TELTEK

Valutec Grafisk manual. Grafisk manual

Kocktävlingen Äkta Rök E-post

F02 HTML. Föreläsning 2, HT2013 HTML. Kurser: Klientbaserad Webbutveckling 1DV435. Johan Leitet

Dagstidningsannonsering med logga mindre än 42 mm. Dagstidningsannonsering med logga större än A5 samt magasin. Vid svartvita annonser.

Korpen. Grafisk manual. Version Korpen

Vad är XSLT XSLT extensible Stylesheet Language Transformations

Riktlinjer och inspiration till dig som gör annonser

FoU primärvård Fyrbodal FoUU-centrum Fyrbodal Lathund för hur man skriver en rapport för en litteraturstudie

Det här är en start- och kapitelsida

SÅ HÄR SPRIDER VI BILDEN AV HEMSLÖJDEN.

Profilmanual Version

Vår grafiska profil en viktig del i hur vi uppfattas.

Kerstin gillar mössor, köttbullar är också gott

Visuell identitet garant

Anvisningar för litteraturstudie kurs Vetenskapligt Förhållningssätt ST-arbete

Grafisk manual för Karlskoga kommun

XSLT. Extensible Stylesheet Language Transformations

Vetenskapligt Förhållningssätt

Innehållsförteckning. Innehåll

Designprocessen Användarcentrerad design

Grafisk manual

VÄRDENS NYHETER MÖT LEENA. Kundtjänst hjälper dig, sid 8-9 Var med och påverka, sid 3 Så blir nya Telegrafen 12, sid 6-7 LÖVLUNDSVÄGEN SID 4-5

Logotype Logotypen skall så långt det är möjligt användas i sitt originalutförande (Gulgrön + Svart) med tillhörande branschtext, i undantagsfall kan

GRAFISKA ANVISNINGAR BUSSPOOLEN - VÄSTERBOTTEN

Grafisk manual

GRAFISK PROFIL FÖR KUNGÄLVS KOMMUN

Chefer och Ledare grafisk manual

Sara Berlekom Metallvägen Garphyttan Webbplats: Portfolio

F13 HTML5 Dagens agenda

GRAFISK PROFIL Innehåll

Koncept och (lite) gränssnittsdesign Ove Jansson Baserad på tidigare föreläsningar av Jody Foo och Mattias Arvola

Visuell identitet P4. sveriges radio VER

Walking Dinner i Göteborg!

RIKSUTSTÄLLNINGARS BARN- & UNGDOMSSTRATEGI

Grafisk profil RIKTLINJER OCH STÖD I VÅRT KOMMUNIKATIONSARBETE. osthammar.se

Profilmanual. Övergripande regler och riktlinjer Reviderad:

Kooperativet OLJA Oberoende Liv Jönköping Assistans

Grafisk Profil Manual

Manual Manual 1 Senaste uppdatering: 2015/03/26 Olsson & Gerthel

Västervik Framåt. Grafisk profil 1.0

Del 2 Grafisk profil

GRAFISK PROFILMANUAL

Grafiska anvisningar. Evangelisk-lutherska kyrkan i Finland och dess församlingar EV.LUTH. KYRKAN I FINLAND

Grafiska regler för jubileumssymbolen

Version Grafisk manual

Krav på lösenordet? Inloggning i communityt Formulär för att registrera sig. ABFs community. Registrera dig som medlem i ABFs community

BROMÖLLAKOMMUN VARUMÄRKET VARUMÄRKESMANUAL FÖR BROMÖLLA KOMMUN

Utgivningsdatum: Utgivare: Falkenbergs kommun Produktion:

BRA. Nytt flygbolag, nya möjligheter. Destinationer. Resenären. Fakta. Mediakanaler. Redaktionell produktion & Projektledning.

Version Grafisk manual

Transkript:

Extensible Stylesheet Language Transformations (XSLT) och XML Path Language (XPath) Daniel Bosk Institutionen för informationsteknologi och medier (ITM), Mittuniversitetet, Sundsvall. transform.tex 332 2012-10-11 12:34:55Z danbos

Översikt 1 Introduktion Extensible Stylesheet Language Transformations (XSLT) XML Path Language (XPath) 2 Att skapa en tentamen En frågedatabas En tentamen Användning och validering

Översikt 1 Introduktion Extensible Stylesheet Language Transformations (XSLT) XML Path Language (XPath) 2 Att skapa en tentamen En frågedatabas En tentamen Användning och validering

Extensible Stylesheet Language Transformations (XSLT) Är ett XML-baserat språk för att omvandla XML-dokument. Kan ändra struktur på dokumentet. Kan kombinera flera dokument. Kan omvandla till XML, XHTML eller HTML. Finns i olika versioner, 1.0 [W3C99b] är mest förekommande implementationen.

Extensible Stylesheet Language Transformations (XSLT) XML schema finns på URL: http://www.w3.org/2007/schema-for-xslt20.xsd Kan användas på följande sätt: 1 $ xmllint -- noout -- schema http: // www.w3.org /2007/ schema -for - xslt20. xsd file. xsl

XML Path Language (XPath) Är ett språk för att navigera i XML-strukturer. Används i både XSLT och XSD. /axel::rotnod/.../axel::elementnod[filter] Har en hel del funktioner. Version 1.0 [W3C99a] är den som används.

Översikt 1 Introduktion Extensible Stylesheet Language Transformations (XSLT) XML Path Language (XPath) 2 Att skapa en tentamen En frågedatabas En tentamen Användning och validering

En frågedatabas I questions.xml xmlns:xsi =" http: // www.w3.org /2001/ XMLSchema - instanc 1 <? xml version =" 1.0 "?> 2 3 <! -- rotelement, lä nka ä ven in XML - schemat --> 4 < questions 5 xsi:nonamespaceschemalocation =" questions. xsd "> 6 < question > 7 < author > Daniel Bosk </ author > 8 < points >1</ points > 9 <text > 10 Vem? 11 <! -- ha en lång fråga för att kontrollera hanteringen av 12 paragrafbrytningar -- > 13 Lorem ipsum dolor sit amet, consectetur adipiscing elit.

En frågedatabas II questions.xml 14 Pellentesque semper hendrerit lorem in accumsan. Suspendisse 15 potenti. Suspendisse purus sapien, fringilla et vestibulum nec, 16 tincidunt dignissim erat. Aliquam erat volutpat. Pellentesque non 17 ipsum ac lacus tincidunt tincidunt. Duis non ante orci. Quisque 18 ullamcorper tempor nisi, eu eleifend tellus varius eget. Sed 19 euismod, ante quis tincidunt fringilla, diam nunc consequat eros, 20 sit amet posuere nibh sapien vitae dolor. Sed arcu sapien, pretium 21 eget lobortis auctor, congue eget urna. Fusce aliquet molestie

0 En frågedatabas III questions.xml 22 lectus, vitae vestibulum nunc hendrerit ut. Class aptent taciti 23 sociosqu ad litora torquent per conubia nostra, per inceptos 24 himenaeos. Duis neque eros, suscipit at lobortis vel, aliquam sed 25 tortor. Praesent vitae ante vitae massa tempus ultrices eu nec 26 libero. 27 </ text > 28 < answer > 29 Ingen. 30 </ answer > 31 </ question > 32 < question > 33 < author >Daniel Bosk </ author > 34 < points >1</ points >

1 En frågedatabas IV questions.xml 35 <text > 36 Varf ör? 37 </ text > 38 < answer > 39 Därför. 40 </ answer > 41 </ question > 42 < question > 43 < author >Daniel Bosk </ author > 44 < points >1</ points > 45 <text > 46 Hur? 47 </ text > 48 < answer > 49 Sådär. 50 </ answer > 51 </ question >

2 En frågedatabas V questions.xml 52 < question > 53 < author >Daniel Bosk </ author > 54 < points >1</ points > 55 <text > 56 Vilken? 57 </ text > 58 < answer > 59 Den. 60 </ answer > 61 </ question > 62 </ questions >

3 En frågedatabas I questions.xsd 1 <? xml version =" 1.0 "?> 2 3 < xs: schema attributeformdefault =" unqualified " elementformdefault =" qualified " 4 xmlns:xs =" http: // www.w3.org /2001/ XMLSchema "> 5 6 <! -- vårt rotelement --> 7 < xs:element name =" questions "> 8 <! -- det är av komplex typ... --> 9 < xs: complextype > 10 < xs:sequence > 11 <! --... som kan inneh å lla oä ndligt må nga frågor, 12 som har den globalt definierade QuestionType -- >

4 En frågedatabas II questions.xsd 13 < xs: element maxoccurs =" unbounded " name =" question " 14 type =" QuestionType " /> 15 </ xs: sequence > 16 </ xs: complextype > 17 </ xs:element > 18 19 <! -- globalt definierad komplex typ f ö r frågor --> 20 < xs: complextype name =" QuestionType " > 21 < xs:sequence > 22 <! -- som specificerade m å ste en fr å ga ha: --> 23 <! -- en fö rfattar --> 24 < xs:element name =" author " type =" xs:string " maxoccurs =" unbounded " />

5 En frågedatabas III questions.xsd 25 <! -- antal poäng den är värd --> 26 < xs:element name =" points " type =" xs:decimal " /> 27 <! -- en frå getext --> 28 < xs:element name =" text " type =" xs:string " /> 29 <! -- och obegr ä nsat antal svar ( eftersom att en fr å ga kan ha 30 må nga svar ) --> 31 < xs:element name =" answer " type =" xs:string " 32 maxoccurs =" unbounded " /> 33 </ xs: sequence > 34 </ xs: complextype > 35 36 </ xs:schema >

6 En tentamen I exam.xml 1 <? xml version =" 1.0 " encoding ="utf -8"?> 2 <?xml - stylesheet type =" text / xsl " href =" exam. xsl "?> 3 4 <! DOCTYPE exam [ 5 <! ELEMENT exam ( courseid, course, date, instructions ) > 6 <! ELEMENT courseid (# PCDATA ) > 7 <! ELEMENT course (# PCDATA ) > 8 <! ELEMENT date (# PCDATA ) > 9 <! ELEMENT instructions (# PCDATA ) > 10 ]> 11 12 <exam > 13 < courseid >DT074G </ courseid > 14 < course >XML </ course >

7 En tentamen II exam.xml 15 <date >2012 01 13 </ date > 16 < instructions > Besvara fr å gorna. </ instructions > 17 </ exam >

8 En tentamen I exam.xsl 1 <? xml version =" 1.0 "?> 2 < xsl:stylesheet version =" 1.0 " 3 xmlns:xsl =" http: // www.w3.org /1999/ XSL / Transform "> 4 5 < xsl:output method =" xml " version =" 1.0 " encoding ="utf -8" 6 standalone ="no" indent =" yes " /> 7 8 < xsl:template match ="/"> 9 < xsl: processing - instruction name ="xml - stylesheet "> 10 type =" text / css " href =" exam. css " 11 </ xsl: processing - instruction > 12 <exam > 13 <title > 14 < examtype >Exam </ examtype >

9 En tentamen II exam.xsl 15 < coursetitle > 16 <xsl:value -of select ="/ exam / courseid " /> 17 < xsl:text > </ xsl:text > 18 <xsl:value -of select ="/ exam / course " /> 19 </ coursetitle > 20 < authors > 21 <xsl:for - each 22 select =" document ( questions.xml )/ question 23 24 < xsl:choose > 25 < xsl:when test =" position () = last ()"> 26 < xsl:text > och </ xsl:text > 27 </ xsl:when > 28 < xsl:when test =" position () > 1">

0 En tentamen III exam.xsl 29 < xsl:text >, </ xsl:text > 30 </ xsl:when > 31 </ xsl:choose > 32 <xsl:value -of select ="." /> 33 </ xsl:for - each > 34 </ authors > 35 <date > 36 <xsl:value -of select ="/ exam / date " /> 37 </ date > 38 </ title > 39 40 < document > 41 < heading > Instructions </ heading > 42 < instructions > 43 <xsl:value -of select ="/ exam / instructions " /> 44 </ instructions >

1 En tentamen IV exam.xsl 45 46 < heading > Exercises </ heading > 47 < exercises > 48 < xsl: apply - templates 49 select =" document ( questions.xml )/ question /> 50 </ exercises > 51 </ document > 52 </ exam > 53 </ xsl: template > 54 55 < xsl:template match =" questions "> 56 <xsl:for - each select =" question "> 57 < exercise > 58 <points >(<xsl:value -of select =" points " />p)</ points >

2 En tentamen V exam.xsl 59 <number ><xsl:value -of select =" position ()" />.</ number > 60 <text ><xsl:value -of select =" text " /></ text > 61 </ exercise > 62 <! -- h ä r skriver vi inte ut answer -- > 63 </ xsl:for - each > 64 </ xsl: template > 65 66 </ xsl: stylesheet >

3 En tentamen I exam.xsd 1 <? xml version =" 1.0 " encoding ="utf -8"?> 2 < xs: schema attributeformdefault =" unqualified " elementformdefault =" qualified " 3 xmlns:xs =" http: // www.w3.org /2001/ XMLSchema "> 4 5 <! -- vi vill ha ett rotelement exam -- > 6 < xs:element name =" exam "> 7 < xs: complextype > 8 < xs:sequence > 9 <! -- exam ä r av komplex typ kr ä ver tv å element: title f ö ljt av 10 document. dessa m å ste f ö rekomma endast en g å ng, eftersom detta 11 ä r default beh ö ver vi inte ä ndra min - och maxoccurs. -- >

4 En tentamen II exam.xsd 12 < xs:element name =" title " type =" TitleType " /> 13 < xs:element name =" document " type =" DocumentType " /> 14 </ xs: sequence > 15 </ xs: complextype > 16 </ xs:element > 17 18 <! -- globalt definierad komplex typ f ö r titel - elementet --> 19 < xs:complextype name =" TitleType "> 20 < xs:sequence > 21 < xs:element name =" examtype " type =" xs:string " /> 22 < xs: element name =" coursetitle " type =" xs:string " />

5 En tentamen III exam.xsd 23 < xs:element name =" authors " type =" xs:string " /> 24 < xs:element name =" date " type =" xs:string " /> 25 </ xs: sequence > 26 </ xs: complextype > 27 28 <! -- globalt definierad komplex typ f ö r document - elementet -- > 29 < xs: complextype name =" DocumentType " > 30 < xs:sequence > 31 <! -- må ste inledas med en heading... --> 32 < xs:element name =" heading " type =" xs:string " /> 33 <! --... fö ljt av instructions. --> 34 < xs: element name =" instructions " type =" xs:string " />

6 En tentamen IV exam.xsd 35 <! -- dä refter en ny heading... --> 36 < xs:element name =" heading " type =" xs:string " /> 37 <! --... som fö ljs av uppgifterna. --> 38 < xs:element name =" exercises "> 39 < xs: complextype > 40 <! -- detta ä r en komplex typ med en sekvens av element som 41 får upprepas obegr ä nsat --> 42 < xs: sequence maxoccurs =" unbounded " > 43 <! -- sekvensen ska vara en fr å ga av typen ExerciseType 44... --> 45 < xs:element name =" exercise " type =" ExerciseType " /> 46 <! --... fö ljt av ett svar. det beh ö ver inte finnas

7 En tentamen V exam.xsd 47 ett svar, men det f å r ocks å finnas obegr ä nsat av dem --> 48 < xs:element name =" answer " type =" xs:string " 49 minoccurs ="0" maxoccurs =" unbounded " /> 50 </ xs: sequence > 51 </ xs: complextype > 52 </ xs:element > 53 </ xs: sequence > 54 </ xs: complextype > 55 56 < xs: complextype name =" ExerciseType " > 57 < xs:sequence > 58 <! -- varje fråga må ste best å av poäng, fr å genummer och fr å getexten, 59 i just den ordningen. -- >

8 En tentamen VI exam.xsd 60 < xs:element name =" points " type =" xs:string " /> 61 < xs:element name =" number " type =" xs:string " /> 62 < xs:element name =" text " type =" xs:string " /> 63 </ xs: sequence > 64 </ xs: complextype > 65 66 </ xs:schema >

9 En tentamen I exam.css 1 exam { 2 display: block ; 3 background - color: white ; 4 /* width + padding = 210 mm, vilket ä r bredden för ett A4 - papper. */ 5 width: 190 mm; 6 padding: 20 mm; 7 /* margin är utanf ör " papperet ". */ 8 margin: 10 mm auto auto auto ; 9 /* dra en linje f ö r att kunna se " papperets " kant. */ 10 border - style: solid ; 11 border - width: 1pt; 12 } 13 14 title {

0 En tentamen II exam.css 15 /* all text i titeln ska vara centrerad, l å t barnelement ä rva 16 * det hä rifr ån. */ 17 text - align: center ; 18 /* titeltexten ska inte kunna bli lika bred som resten av dokumentet ( bara 19 * f ö r att det ä r snyggare, men det ä r upp till var och en), dä remot må ste 20 * man ha ett st ö rre avst å nd i bottom f ö r att f å ett lagomt avst å nd till 21 * " dokumentets inneh åll" ( detta kan naturligtvis g ö ras p å andra st ä llen 22 * ocks å). */ 23 margin: 30 mm 30 mm 50 mm 30 mm; 24 } 25

1 En tentamen III exam.css 26 /* st ä ll in teckenstorlek och lagomt avst å nd mellan de olika delarna av 27 * titeln. vi vill visa dem med block eftersom att de ska vara p å olika 28 * rader. */ 29 examtype { 30 display: block ; 31 margin: 5 mm; 32 font - size: 16 pt; 33 } 34 35 coursetitle { 36 display: block ; 37 margin: 5 mm; 38 font - size: 20 pt; 39 } 40

2 En tentamen IV exam.css 41 authors { 42 display: block ; 43 margin: 10 mm; 44 font - size: 14 pt; 45 } 46 47 date { 48 display: block ; 49 margin: 5 mm; 50 font - size: 14 pt; 51 } 52 53 /* förä lderelementet för " dokumentets inneh åll" */ 54 document { 55 display: block ; 56 }

3 En tentamen V exam.css 57 58 heading { 59 display: block ; 60 /* vi vill ha lagomt avst å nd till f ö reg å ende paragraf, tre rader med 12 pt 61 * blir bra ( allts å 36 pt). */ 62 margin - top: 36 pt; 63 /* vi vill ä ven ha lite utrymme till f ö rsta paragrafen under denna rubrik, 64 * tv å rader om 12 pt blir bra ( allts å 24 pt). */ 65 margin - bottom: 24 pt; 66 /* fet stil och lite st ö rre (14 pt) ä n vanlig text (12 pt) */ 67 font - weight: bold ; 68 font - size: 14 pt; 69 }

4 En tentamen VI exam.css 70 71 instructions { 72 display: block ; 73 /* 12 pt eftersom att detta r ä knas som vanlig text */ 74 font - size: 12 pt; 75 } 76 77 /* förä lder till frågorna, beh ö ver inte göra med ä n att tala om att den ska 78 * visas som block */ 79 exercises { 80 display: block ; 81 } 82 83 exercise { 84 display: block ;

5 En tentamen VII exam.css 85 /* en blankrad efter varje fr å ga blir lagomt avst ånd */ 86 margin - bottom: 12 pt; 87 } 88 89 /* eftersom att points, number och text ska vara p å samma rad ska de visas som 90 * inline */ 91 points { 92 display: inline ; 93 /* eftersom att po ä ngen ska st å i marginalen anv ä nder vi en fö rflyttning, 94 * som ä r relativ points ursprungliga position, p å 12 mm till v ä nster 95 * ( -12 mm). */ 96 position: relative ; 97 left: -12 mm;

6 En tentamen VIII exam.css 98 } 99 100 number { 101 display: inline ; 102 /* eftersom att points flyttades m å ste number flyttas efter, dock inte lika 103 * mycket. */ 104 position: relative ; 105 left: -6 mm; 106 } 107 108 text { 109 /* anv ä nd inline - block f ö r att f å ett block av texten. */ 110 display: inline - block ; 111 /* bredden blir lagom med 175 mm */ 112 width: 175 mm;

7 En tentamen IX exam.css 113 /* vi m å ste ocks å specificera att den ska ha top - alignment f ö r att texten i 114 * frågan ska " forts ä tta ned åt". */ 115 vertical - align: top ; 116 /* marginaljustering anv ä nds p å tentan */ 117 text - align: justify ; 118 } 119 120 /* answer f å r utformas helt enligt eget tycke */ 121 answer { 122 display: block ; 123 /* det blir tydligt utm ä rkande vad som ä r svar om vi har en border runt */ 124 border - style: solid ; 125 border - width: 1pt; 126 /* l ä gg till padding f ö r att inte bordern ska ligga för nära texten */

8 En tentamen X exam.css 127 padding: 6 pt; 128 /* vi vill ha lite utrymme efter svaren innan nä sta fråga kommer */ 129 margin - bottom: 24 pt; 130 }

9 Användning och validering 1 $ xmllint -- noout -- schema questions. xsd questions. xml 2 $ xsltproc - o resultat. xml exam. xsl exam. xml 3 $ xmllint -- noout -- schema exam. xsd resultat. xml 4 $ firefox resultat. xml 5 $

0 Användning och validering I resultat.xml 1 <? xml version =" 1.0 " encoding ="utf -8" standalone ="no"?> 2 <? xml - stylesheet 3 type =" text / css " href =" exam. css " 4?><exam > 5 <title > 6 < examtype >Exam </ examtype > 7 < coursetitle > DT074G XML </ coursetitle > 8 < authors > Daniel Bosk, Daniel Bosk, Daniel Bosk och Daniel Bosk </ authors > 9 <date >2012 01 13 </ date > 10 </ title > 11 < document > 12 < heading > Instructions </ heading > 13 < instructions > Besvara frå gorna.</ instructions >

1 Användning och validering II resultat.xml 14 < heading > Exercises </ heading > 15 < exercises > 16 < exercise > 17 <points >(1p)</ points > 18 <number >1. </ number > 19 <text > 20 Vem? 21 22 Lorem ipsum dolor sit amet, consectetur adipiscing elit. 23 Pellentesque semper hendrerit lorem in accumsan. Suspendisse 24 potenti. Suspendisse purus sapien, fringilla et vestibulum nec, 25 tincidunt dignissim erat. Aliquam erat volutpat. Pellentesque non

2 Användning och validering III resultat.xml 26 ipsum ac lacus tincidunt tincidunt. Duis non ante orci. Quisque 27 ullamcorper tempor nisi, eu eleifend tellus varius eget. Sed 28 euismod, ante quis tincidunt fringilla, diam nunc consequat eros, 29 sit amet posuere nibh sapien vitae dolor. Sed arcu sapien, pretium 30 eget lobortis auctor, congue eget urna. Fusce aliquet molestie 31 lectus, vitae vestibulum nunc hendrerit ut. Class aptent taciti 32 sociosqu ad litora torquent per conubia nostra, per inceptos 33 himenaeos. Duis neque eros, suscipit at lobortis vel, aliquam sed

3 Användning och validering IV resultat.xml 34 tortor. Praesent vitae ante vitae massa tempus ultrices eu nec 35 libero. 36 </ text > 37 </ exercise > 38 < exercise > 39 <points >(1p)</ points > 40 <number >2. </ number > 41 <text > 42 Varf ör? 43 </ text > 44 </ exercise > 45 < exercise > 46 <points >(1p)</ points > 47 <number >3. </ number > 48 <text > 49 Hur?

4 Användning och validering V resultat.xml 50 </ text > 51 </ exercise > 52 < exercise > 53 <points >(1p)</ points > 54 <number >4. </ number > 55 <text > 56 Vilken? 57 </ text > 58 </ exercise > 59 </ exercises > 60 </ document > 61 </ exam >

5 Användning och validering Firefox Figur : En skärmdump av resultatet i Firefox.

6 Referenser [W3C99a] W3C. XML Path Language (XPath): Version 1.0, nov 1999. [W3C99b] W3C. XSL Transformations (XSLT): Version 1.0, nov 1999.