HUMIT1731 Hypermedier Introduksjon til XSL Transformation (XSLT)

Slides:



Advertisements
Liknende presentasjoner
GoOnline XP publisering Hvordan komme i gang med GoOnline XP. Denne presentasjonen tar deg steg for steg gjennom oppsett av nettsted med bruk av GoOnline.
Advertisements

HVA ER ?.
Tabeller av objekter Klassen ArrayList
Internett for nybegynnere
Ebus Management Center En liten bruksanvisning for de enkleste funksjonene.
Høgskolen i Oslo Webprogrammering Tilstandsbevaring Sessions og cookies.
GoOnline publisering Hvordan komme i gang med GoOnline. Denne presentasjonen tar deg steg for steg gjennom oppsett av nettsted med bruk av GoOnline Proffesional.
HTML og CSS introduksjon Veiledet selvstudium Webpublisering 10. januar 2008 Monica Strand 1Webpublisering – 10. januar 2008.
Slik kommer du til «Personverninnstillinger»: Logg inn på Facebook.
Nyhetsfôring med RSS ALEPH brukermøte 2006
JSP presentasjon Arild Strømhylden NTNU 26 June 2014.
XML EXtensible Markup Language
XMLSchema.  Innledende eksempler: Tove 4. Janni 5. Huskelapp 6. Ikke glem avtalen til helgen 7. Vi har sett DTD’en til dette xml dok. Her kommer.
Hvordan kan arkivplan bli et nyttig verktøy i arkivarbeidet?
RLE uke 4 og 5 Livet og døden.
IS-102 Klassedefinisjoner
HUMIT /39aKåre A. Andersen1 HUMIT1730 Hypermedier Hypertekst-definisjoner Uke 39a.
1 (Helst) alle, men minst 1 i gruppa oppretter følgende: Personlig hjemmeside (indexside) Lenkeside / Generell faglig ressurside (Side med generelle allmennlærerfaglig.
Databasehåndtering med MySQL
© Lars-Erik Kindblad.  Et platformuavhengig verktøy for å automatisere build prosesser.  Støttes og drives av Apache Software Foundation.  Kommer ferdig.
Forside Korteste sti BFS Modifikasjon Dijkstra Eksempel Korrekthet Analyse Øving Spørsmål Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no.
Mars 2008 Ole Husby Nettlesere. Nettlesere finnes På Windows-PC-er på Mac’er på Linux på mobiltelefoner og forskjellige andre steder også.
Sqlite Et lite eksempel på en SQL- database. SQL kan startes på ulike måter Kommandolinjeversjon or Windows –Programmet må innstalleres Hentes fra
XMLSchema.
JAVASCRIPT I NETTLESEREN. Objekter i nettleseren Objekter som er innebygd i språket Egendefinerte objekter Nettleser objekter HTML objekter.
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI UNIVERSITETET I OSLO USIT Side 1 XML - Teori og praktisk bruk Astrid Jenssen
HUMIT1730 Hypermedier Hypertekst-definisjoner Uke 39a.
Koding/merking av tekst Uke 35
Prosjekt og forskningsrapport
Mandag 8. November Powerpoint..
XML.
1 Arrayer og form(ularer) (Kapittel 4). 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen.
Skjema/Forms HTML II IT og læring 2/20 november 2001.
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
Innledning om HTML IT20 oktober Bakgrunn Konseptet WWW ble født i 1983 i CERN, Geneve Opphavsmann: Tim Berners-Lee, MIT Spre informasjon uavhengig.
Dynamiske nettsider PHP Del 1 – variable. PHP  PHP (Personal Home Page)  Fritt tilgjengelig programmeringsspråk  åpen kildekode  Plattformuavhengig.
XSLT The Candy Community. Fiktivt community Godteri-relatert og sukkersøt musikk. To typer metadata: Candy factor Sugar level.
Databasen IV Stemmer og kommentarer. Stemmer Avgis på hvorvidt metadata passer på noden. fitness: Hvor godt et egenskap passer til dataene den beskriver.
Kort om XML Språket om språket. XML: Eksempel Hans Tømmerholt.
Kort om HTML ML meg her og ML meg der..
Oblig 2: The Candy-community. Om XML, XSLT, Sablotron og HTML.
Oppgaveformatet. Oversikt XML-format, spesifisert gjennom et XML Schema. Består av et sett lovlige elementer og attributter og hvordan de kan ordnes i.
Forskningsrapporten: Sjekkliste (empirisk rapport)
Presentasjon e2b Basis Profil. Faktura Forum Bakgrunn Arbeidet med e2b-fakturaen var et samarbeid mellom flere aktører fra ulike bransjer i det private.
VOD. VOD- Vegobjektdialog Åpne eksisterende vegobjekt Nytt vegobjekt.
Om Internett, World Wide Web, egen hjemmeside Ole Christian Rynning
Meta- og grunnopplysninger Dag Wiese Schartum. Utgangspunkter “Infrastruktur” betegner et nett av ressurser for felles bruk i et samfunn Når ressursene.
Skjemaendringer i systemer bestående av XML-data i relasjonsdatabaser Høgskolen i Gjøvik Master i Medieteknikk, Marianne Brattrud.
Formalisering av B2B applikasjoner
De 222 mest brukte ordene i det norske språket..
Harald Kaasa Hammer: Manual til redigering av nettstedet Først forklares hva de ulike elementene på nettsidene betyr. Så ser vi på mappene.
HUMIT1731 Hypermedier XHTML II Uke 36b. HUMIT1731 uke36b Kåre A. Andersen 2 Noen hovedlinjer… Som tidligere sagt: Disse innledende forelesningene vil.
BATEK Prosessmodellering i Visio. BATEK Bruk av Vité mal i Visio n Start Vité fra program menyen n Velg New Project n Gi navn på prosjekt.
En formel er gyldig hviss den sann i alle tolkninger Utsagnslogikk Tolkning = linje i sannhetsverditabell Altså: En formel er gyldig hviss den har T i.
Kontekstfri grammatikk Endelig mengde T av terminal(symbol)er Endelig mengde V av ikke-terminal(symbol)er Startsymbol S Endelig mengde P av produksjoner.
Kap. 5 del 2 – SLR(1), LR(1) og LALR(1) – grammatikker INF5110 – v2005 Arne Maus, Ifi UiO.
HUMIT1730 Koding/merking av tekst Uke 34b. HUMIT1730MN uke34b Kåre A. Andersen 2 Tekstkoding Representasjon av info. om visse aspekter ved tekster, så.
Konventionel tekstformatering: Her har vi en overskrift fulgt af normal tekst Deskriptiv tekstformatering: Her har vi en overskrift fulgt af normal tekst.
Intro til (x)html Del 1. HUMIT1731 uke35b Kåre A. Andersen 2 En mal … Dette er en mal for DTD XHTML 1.0 Transitional Her kommer.
HUMIT1731 Hypermedier Introduksjon til Extensible Markup Language (XML)
HUMIT1731 Hypermedier Eksamen folk.uio.no/kaarean/humit1731/oppgaver/Humit1731_h08.doc.
XML og JDOM Helge Furuseth XML  XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language  HTML =
Mer avansert kryptering Mål: Kode et dokument slik at det blir uleselig for de som ikke har kodenøkkelen.
HUMIT1731 Hypermedier Introduksjon til CSS Uke 37.
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 14.9 Ulike måter for å lese inn og skrive ut data. Kap. 3.5 mer om if – setninger Ferdige.
Se hvordan jeg smart bruker Outlook 2010
Se side 8-9. Kapittel 1: HTML5 og CSS Hyper Text Markup Language 1990-årene: Tim Berners-Lee ville strukturere tekster og lage klikkbare henvisninger på.
Setningsanalyse og tekstsammenbindere
INF5110 – 5. og 7. mai 2015 Stein Krogdahl, Ifi, UiO
Intro til WWW, HTML5 og CSS
Utskrift av presentasjonen:

HUMIT1731 Hypermedier Introduksjon til XSL Transformation (XSLT)

HUMIT1731 uke43 Kåre A. Andersen 2 Utgangspunkt i XML Vi har tidligere sett på hovedprinsippene ved XML: definere egne element Document Type Definition (DTD) element attributt velformet dokument gyldig dokument

HUMIT1731 uke43 Kåre A. Andersen 3 XSL Transformation (XSLT) eXtensible Stylesheet Language (XSL) er ikke tema/pensum i Humit1731, men siden vi har brukt en del tid på å introdusere XML, kan det være nyttig å bl.a. se litt på hva et XML-dokument kan være utgangspunkt for… Ofte brukes XSL til å transformere (omforme) et XML-dokument til et annet XML-dokument. Et XSLT-dokument er et stilsett bestående av såkalte malregler (template rules). En malregel beskriver hvordan en XML-elementnode konverteres til en XSL-elementnode. Både XML- og XSLT-dokumentet må være velformet. Et XSLT-dokument er altså selv et XML-dokument. Ofte vil det være snakk om å transformere et XML-dokument til et HTML- dokument, og det er det vi i første omgang skal konsentrere oss om her. Vi har også valgt å bruke en nettleser som XSLT-prosessor. Både omforming og vising vil skje i nettleseren. ( -elementet gir muligheter for andre resultatformat, men det tar vi ikke opp her)

HUMIT1731 uke43 Kåre A. Andersen 4 Eksempel 4.1 Eksempel 4.1: Et XML-dokument med et "tomt" XSLT - stilark (eks4_1.xsl) Aasen, Ivar Millom bakkar og berg I utval ved Magne Myhren DnB 1980 Oslo I eksempel 4.1 har vi satt opp vårt gjennomgangseksempel for transformering vha. stilsettet som ligger på en ekstern fil (eks4_1.xsl). Eksempeldokumentet er utvidet med et nytt rot-element for å rydde plass for en base bestående av flere bøker. Her har vi sløyfet DTD'en - det er nok at input-dokumentet er velformet. For å få nettleseren til å hente inn XSLT- dokumentet, kan vi bruke prosesseringsinstruksjonen. (Her er stilsettets type oppgitt til "text/xsl", mens det normalt bør være "application/xsl". Grunnen til vårt oppsett er at enkelte versjoner av IE krever en slik type-angivelse.)

HUMIT1731 uke43 Kåre A. Andersen 5 En enkel transformasjon I første omgang setter vi opp et minimalt/"tomt" stilsett: Eksempel 4.2: Et "tomt" XSLT -stilark (tenkt brukt på eks4_1.xml ) Som vi ser har vi også i stilsettet brukt XML-deklarasjon. Dette er ikke nødvendig, men anbefalt. Dokumentet må imidlertid være velformet. Stilsettets rot-element er enten stylesheet eller transform - de er ekvivalente. I tillegg til elementnavnet og et versjonsattributt, må vi oppgi navnerommet (namespace), nøyaktig slik: xmlns:xsl=" Det minste avvik vil resultere i feil.

HUMIT1731 uke43 Kåre A. Andersen 6 Eksempel 4.1 Ved å hente XML-dokumentet i eksempel 4.1 inn i nettleseren, får vi rett og slett ut innholdet av XML-elementene uten noen form for formatering:eksempel 4.1

HUMIT1731 uke43 Kåre A. Andersen 7 Malregler Eksempel 4.3: Et XSLT -stilark som erstatter input-dokumentet med en HTML-side Transformasjon til et enkelt HTML-dokument Hele input-dokumentet blir transformert til dette HTML-dokumentet. Ikke særlig interessant.... Malregelen, som begynner med, sier at vi skal finne rot-elementet (i match="/" betyr tegnet / rot-elementet) og erstatte dette med innholdet i regelen, dvs det som står mellom regelens start-tagg og slutt-tagg. Kjør eksempel.Kjør eksempel Selv om dette eksemplet ikke er særlig interessant, viser det likefullt en transformasjon:

HUMIT1731 uke43 Kåre A. Andersen 8 Resultat av transformasjonen

HUMIT1731 uke43 Kåre A. Andersen 9 Elementet: xsl:apply-templates Eksempel 4.4: Et XSLT -stilark som åpner for behandling av nodebarn Transformasjon til et enkelt HTML-dokument Nå ser vi at vi først ønsker å matche rot- elementet gjennom dets navn: bokbase. Dette erstattes med et HTML-dokument - og etter hvert innholdet i de ulike nodebarna. Elementet indikerer hvor vi ønsker at transformasjonen av eventuelle nodebarn skal opptre. Vi må imidlertid beskrive slike regler for seg, f.eks. slik: Her kommer data for en bok...

HUMIT1731 uke43 Kåre A. Andersen 10 Eksempel 4.5 Plassert inn i eksempel 4.4, får vi: Eksempel 4.5: Et XSLT -stilark som illustrere bruk av xsl:apply-templates Transformasjon til et enkelt HTML-dokument Her kommer data for en bok...

HUMIT1731 uke43 Kåre A. Andersen 11 Resultat: Vi har nå lagt inn en ekstra post i input-dokumentet (til sammen to bøker), og ved å anvende stilsettet over, vil vi rett og slett bare få skrevet ut setningen "Her kommer data for en bok..." to ganger:. Kjør eksempel. Kjør eksempel.

HUMIT1731 uke43 Kåre A. Andersen 12 Hente ut verdier: xsl:value-of I eksemplene over har vi laget en struktur som gjør det enkelt å legge inn de konstruksjonene som skal til for å hente ut opplysninger om de enkelte bøkene. For eksempel får vi tak i en boktittel ved:. Select-attributtet virker omtrent som match, men med enda flere muligheter - som vi skal se senere. Med disse endringene vil utskriften bli: Millom bakkar og berg Med livet foran seg

HUMIT1731 uke43 Kåre A. Andersen 13 Valg av flere elementer med samme navn: xsl:for-each Vi har et problem fordi første bok egentlig har to titler. Select henter bare fram første tittel-element. For å hente ut flere elementer med samme elementnavn, kan vi bruke løkkekonstruksjonen: xsl:for-each, slik Her legger vi inn et avsnitt for hver bok, men bare et linjeskift mellom flere titler for samme bok. Punktumet står for aktuell node.

HUMIT1731 uke43 Kåre A. Andersen 14 Resultat (eksempel 4.6) Kjør eksempel

HUMIT1731 uke43 Kåre A. Andersen 15 Oppsummering Vi skal avslutte med et eksempel som repeterer det meste av xsl + flere såkalte xpath-funksjoner. Utgangspunktet er en xml-fil som inneholder bøker, og som vi ønsker å presentere som en ”vanlig” oppsatt litteraturliste (se nedenfor).xml-fil Her ligger en stegvis utvikling av litteraturlista, mens utsnitt av det endelige resultat følger her: Her

HUMIT1731 uke43 Kåre A. Andersen 16