XSLT 2. David Massey MBIB

Like dokumenter
XSLT 1. David Massey MBIB

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

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

XML Schema. David Massey MBIB

Semistrukturerte data og XML

DATAUTFORSKNING I EG, EG 7.1 OG EGENDEFINERTE FUNKSJONER SAS FANS I STAVANGER 4. MARS 2014, MARIT FISKAAEN

1. XHTML. Innhold Innledning

NCE TOURISM FJORD NORWAY. FJORDNETT INTERNETTFORUM 2012 Bergen, 12./13. juni 2012

MMT105 Internettprogrammering Uke 44, høst 2007

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

HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt:

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

MOD 250 Avansert programvareteknologi Extensible Markup Language, XML

1. Lage og vise et enkelt XML-dokument

Grunnleggende om websider og HTML-kode

Kursdokumentasjon for Dreamweaver

EKSAMEN Web-publisering

Datastrukturer. Kevin Thon. 25 april 2017

Vanlige spørsmål om EndNote

INF1040 Oppgavesett 5: XML

EKSAMEN Webpublisering

Gruppe prosjekt del 3. INFO134 Klientprogrammering Vår 2017 Kandidatnummer: 304, 298

XML. Figur Et eksempel på et XML-dokument

Oppgavesett for NVivo 9

XML enabled database. support for XML in Microsoft SQL Server 2000 & Martin Malý

CSS-formatering: stilark med kommentarer

INF1040 Oppgavesett 2: Nettsider og XHTML

Vanlige spørsmål om EndNote (mars 2015)

Nettsider og XHTML. SGML-familien. Hvordan lage et nettsted

Oppgavesamling til Webutvikling < >

Vanlige spørsmål om EndNote

case forts. Alternativ 1 Alternativer Sammensetning Objekt-interaktor med valg

Hvordan få oversikt over utbetalt tilskudd fra Funkis.

Brukerdokumentasjon. Webservices og webklient for kodeverk/ kodeverdi verifisering

Databases 1. Extended Relational Algebra

9. ASP med databasekopling, del II

Vanlige spørsmål om EndNote (april 2013)

Vanlige spørsmål om EndNote (september 2015)

Jara NetBusiness. Ny release 11. mai 2015

Workshop 2: Med fokus på forvaltning av grunndata i M3

Den europeiske byggenæringen blir digital. hva skjer i Europa? Steen Sunesen Oslo,

Noen ArcGIS-operasjoner

Oppgavesett for NVivo 10

HØGSKOLEN I SØR-TRØNDELAG

<HTML Koder> Enkle HTML koder for bruk til bl.a cachebeskrivelser. Ver. 2.01

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

KursAdmin. Veileder Rapportverktøy. Musikkens Studieforbund

HØGSKOLEN I SØR-TRØNDELAG

Presentasjon. Implementasjon av. Prosjektsdeltager 5E Lars Christian Tangen E - Lars Christian Tangen 1

Databaser kort intro. Tom Heine Nätt

Vanlige spørsmål om EndNote

Rutinebeskrivelse tidtaking tirsdagsløp

QuickGuide Oppdateres fortløpende ved nye funksjoner

Håkon Tolsby Håkon Tolsby

Administrering av SafariSøk

html - minikurs ved Sverre Andreas Fekjan webforum

Et flerspråklig datamodelleringsverktøy. med XML som modellrepresentasjon. Eirik Meland. vedlegg til hovedfagsoppgave

Oppgavesett for NVivo 10

Markeringsspråk og XML

1. Mer om oppbyning av XML-dokument

HØGSKOLEN I SØR-TRØNDELAG

file:///c:/users/michaelp/sites/dkdm/dw5/dreamweaver5_1.html

file:///c:/users/michaelp/sites/dkdm/dw4/dreamweaver4o.html

og XML Where is the Life we have lost in living? Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information?

Radix en enkel innføring

Publiseringsveiledning for

Hjemmesidemanual. Pa logging. Innholdsfortegnelse

Datastrukturer. Kevin Thon. 25 april 2017

Agenda. Data og grenser Kontekster XSS XSS og kompliserende kontekster Injection attacks Beskyttelse OWASP

Flerveis søketrær og B-trær

Hvordan redigere sider i Joomla 3.x

HTML: Del inn nettsiden

file://c:\etext\document\dlftools.xsl

Læringsmål og pensum. Hvordan virker webteknologi? (klient-tjener arkitektur) HTML - virkemåte. Nettleser: Firefox, Opera, Safari

Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP.

Hvorfor ikke bruke Word?

NKKN typeforslag versjon Definisjon av grunntypene

ShareCat Bruker Manual

the web Introduksjon Lesson

EndNote referansehåndteringsprogram. HiVe biblioteket

FAQ for Transformer TF201

AUTOCAD Artikkelserie. Tabeller

GraphQL. Hva, hvorfor, hvordan

Brukerveiledning BASIL Rapportportal

AMS-case forts. Eksemplifisering av modellbasert. tilnærming til design av brukergrensesnitt

Kunnskapsorganisasjon og gjenfinning sider (inklusive forside og vedlegg)

Hvem jeg er Lars Marius Garshol Hovedfag informatikk på Blindern Jobbet et par år med XML i STEP Infotek, før jeg og noen andre startet Ontopia Har sk

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Brukerveiledning for PMP Kvalitet V2 med video veiledning V

Er arketype-metodikken aktuell å benytte på nasjonalt plan i Norge? Jostein Ven, seniorrådgiver, Helsedirektoratet

En beskrivelse av API for innhenting av informasjon fra registeret for sentralt godkjente foretak Direktoratet for byggkvalitet

Lagring av EndNote stil fra EndNotes hjemmeside når du bruker Mac

Vanlige spørsmål om EndNote (april 2016)

Forside slutteksamen

Spesifikasjon av filformater Transaksjonsspesifikasjon

Hjemmesidemanual. Innholdsfortegnelse. Notater: - 1 -

Konvertering av kommunale organisasjonsdata

En bedre verden med AJAX

Transkript:

XSLT 2 David Massey MBIB4140 21-9-2017

Demo html.xsl mondial.xsl

<mondial> <country> <name>albania</name> <population measured="est." year="1950">1214489</population> <population measured="est." year="1960">1618829</population> <city id="cty-albania-tirane" country="al"> <name>tirana</name> <name>tirane</name> <latitude>41.33</latitude> <longitude>19.82</longitude> <elevation>110</elevation> <population year="1987">192000</population> <population year="1990" measured="estimate">244153</population> <population year="2011" measured="census">418495</population> </city> </country> </mondial>

Attributter Skriv ut navn og ID for hver storby <xsl:template match="/"> <xsl:for-each select="mondial/country/city"> <xsl:text>navn: </xsl:text><xsl:value-of select="name" /> <xsl:text> Id: </xsl:text><xsl:value-of select="@id" /> <xsl:text> </xsl:text> </xsl:for-each>

Prøv selv Opprett mondial2.xsl Koble XSLT-stilarket til mondial-europe-small.xml Legg inn reglene fra forrige lysarket Endre stilarket slik at listen sorteres alfabetisk etter storbyens navn

Attributter Legg til befolkningstallet fra 2011 <xsl:template match="/"> <xsl:for-each select="mondial/country/city"> <xsl:text>navn: </xsl:text><xsl:value-of select="name" /> <xsl:text> Id: </xsl:text><xsl:value-of select="@id" /> <xsl:text> Befolkningstall: </xsl:text><xsl:value-of select="population[@year = '2011']" /> <xsl:text> </xsl:text> </xsl:for-each>

Prøv selv Legg til oppdateringen fra forrige lysarket i mondial2.xsl Endre listen slik at den sorteres etter befolkningstall fra 2011

Templates "A rule in a XSLT stylesheet that defines how part of an XML document should be transformed." Tidwell, s. 940

Templates <xsl:template match="/"> <xsl:for-each select="mondial/country/city"> <xsl:text>navn: </xsl:text><xsl:value-of select="name" /> <xsl:text> </xsl:text> </xsl:for-each>

<xsl:apply-templates /> "Instructs the XSLT processor to apply the appropriate templates to a node-set or sequence. [...] Select (Optional attribute): Contains an XPath expression that selects nodes to which templates should be applied." Tidwell, s. 372

<xsl:apply-templates /> <xsl:template match="/"> <xsl:apply-templates /> <xsl:template match="country"> <xsl:value-of select="name" /> <xsl:template match="/"> <xsl:apply-templates select="mondial/country" /> <xsl:template match="country"> <xsl:value-of select="name" />

Prøv selv Opprett mondrial3.xsl Prøv begge metoder fra forrige lysarket

Prøv selv Hva skjer hvis du endrer mondial3.xsl til disse? Igjen, prøv begge metoder. <xsl:template match="/"> <xsl:apply-templates /> <xsl:template match= city"> <xsl:value-of select="name" /> <xsl:template match="/"> <xsl:apply-templates select="mondial/country/city" /> <xsl:template match= city"> <xsl:value-of select="name" />

Flere templates <xsl:template match="/"> <xsl:apply-templates select="mondial/country" /> <xsl:apply-templates select="mondial/country/city" /> <xsl:template match="country"> <xsl:text> </xsl:text> <xsl:template match="city"> <xsl:text> </xsl:text> <xsl:template match="/"> <xsl:apply-templates select="mondial/country" /> <xsl:template match="country"> <xsl:text> </xsl:text> <xsl:apply-templates select="city" /> <xsl:template match="city"> <xsl:text> </xsl:text>

Flere templates <xsl:template match="/"> <xsl:apply-templates select="mondial/country" /> <xsl:apply-templates select="mondial/country/city" /> <xsl:template match="country"> <xsl:text> </xsl:text> <xsl:template match="city"> <xsl:text> </xsl:text>

Flere templates <xsl:template match="/"> <xsl:apply-templates select="mondial/country" /> <xsl:template match="country"> <xsl:text> </xsl:text> <xsl:apply-templates select="city" /> <xsl:template match="city"> <xsl:text> </xsl:text>

Prøv selv Inspirert av forrige lysarket oppdater mondial3.xsl Stilarket skal skrive ut alle storbyene som tilhører et land i hver sin HTML-tabell. Se skjermdumpet til høyre Tabellene skal inneholder to kolonner navn og befolkningstall. Bruk befolkningstallet fra 2011.

Sortere etter navn på land <xsl:template match="/"> <html> <h1>storbyene</h1> <xsl:apply-templates select="mondial/country"> <xsl:sort select="name" /> </xsl:apply-templates> </html>

Prøv selv Endre mondial3.xsl slik at landene sorteres alfabetisk etter navn. Se forrige lysarket

Endre formatet på befolkningstallet <xsl:template match="city"> <tr> <td><xsl:value-of select="name" /></td> <td><xsl:value-of select="format-number(population[@year = '2011'], '###,###')" /></td> </tr> Mer info: https://www.w3schools.com/xml/func_formatnumber.asp

Prøv selv Endre mondial3.xsl slik at befolkningstallet formateres. Se forrige lysarket

Fjern tomme tabeller <xsl:template match="country"> <h2><xsl:value-of select="name" /></h2> <xsl:if test="count(city) > 0"> <table> <xsl:apply-templates select="city" /> </table> </xsl:if>

Mer XPath position() last() <xsl:for-each select="mondial/country/city"> <xsl:text>{ "type":"feature", "geometry": { "type":"point", "coordinates": [</xsl:text> <xsl:value-of select="longitude" /> <xsl:text>, </xsl:text> <xsl:value-of select="latitude" /> <xsl:text>] </xsl:text> <xsl:text>}, "properties": { "name": "</xsl:text> <xsl:value-of select="name" /> <xsl:text>" }</xsl:text> <xsl:if test="position()!= last()"> <xsl:text>,</xsl:text> </xsl:if> </xsl:for-each>

Prøv selv <xsl:template match="city"> <xsl:choose> <xsl:when test="position() mod 2 = 1"> <tr bgcolor="#ffe4c4"> <td><xsl:value-of select="name" /></td> <td><xsl:value-of select="format-number(population[@year = '2011'], '###,###')" /></td> </tr> </xsl:when> <xsl:otherwise> <tr> <td><xsl:value-of select="name" /></td> <td><xsl:value-of select="format-number(population[@year = '2011'], '###,###')" /></td> </tr> </xsl:otherwise> </xsl:choose> Endre city-template i mondial3.xsl Flere fargekoder: https://www.w3schools.com/colors/colors_names.asp

Prøv selv Oppgaven tar utgangspunkt i Deichmanske bibliotekets anbefalingstjenesten: http://anbefalinger.deichman.no/ Les mer om tjenesten her: http://digital.deichman.no/blog/2013/07/10/bokanbefalinger-er-idrift-bli-med-du-ogsa/ Jeg har hentet noen anmeldelser vha av tjenestens API: http://anbefalinger.deichman.no/api/reviews?limit=5 Resultatet er data i JSON-formatet Hent resultatet (bokanbefalinger.json) fra: http://edu.hioa.no/mbib4140/h17/ressurser/json/ Forts.

Prøv selv Gjør om JSON til XML vha av tjenesten: http://www.utilitiesonline.info/xmltojson/ Kopier resultatet inn i XML Copy Editor og lagre dokumentet som bokanbefalinger.xml Resultatet av konvertering er ikke en velformet XML-dokument. Gjør de nødvendige endringer slik at bokanbefalinger.xml er velformet Opprett bokanbefalinger.xsl som gjør om bokanbefalinger.xml til bokanbefalinger.html Her er det ingen fasit. Bruk XSLT for å presenterere dataene i en nettleser på best mulig måte for sluttbrukerne Forts.

Prøv selv Hjelp til markeringsspråket HTML finnes her: https://www.w3schools.com/html/default.asp F.eks.: oversfrifter (h1- h6), lister (ol, ul, li), avsnitt (p), tabeller (table, tr, th, td), osv. bokanbefalinger.xml inneholder nettadressen til forsidebilder i cover_url-elementet. Dette bør være en del av presentasjonen. HTML elementet for bilder er img. Les mer her: https://www.w3schools.com/html/html_images.asp <xsl:attribute> brukes for å legge til attributter til en element i XSLT. Se eksempler 2 og 3 for inspirasjon: https://www.w3schools.com/xml/ref_xsl_el_attribute.asp

Neste gang Tirsdag 26. september. Rom: P35 PI458 XML workshop XML, XSD, XPath, XQuery og XSLT