IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 1 IV1023 ht2013 Avancerad Datahantering med XML XSLT nikos dimitrakas 08-7904460 Rum 8522 Läsanvisningar.

Slides:



Advertisements
Liknande presentationer
Talföljder formler och summor
Advertisements

Relationsdatabasdesign
G RUNDLÄGGANDE XML OCH CSS Mikael Gunnarsson och Helena Francke TLS, HyrData, Stockholm mars 2003.
XML och frågespråk nikos dimitrakas Rum 6626
FTP, HTTP, HTML, XML och XHTML
Programmering B PHP Lektion 1
Funktioner och programorganisation
1 Listor En sekvens värden av samma typ Nr 5. 2 Listor Sekvens av värden, element Variabelt antal Alla med samma typ Bara första elementet direkt åtkomligt.
2D1311 Programmeringsteknik med PBL
Sökning och sortering Linda Mannila
Textkodning: XML ”Having trouble de-coding the text, Albert?”
1 Ingenjörsmetodik IT & ME 2009 Föreläsare Dr. Gunnar Malm.
Programmeringteknik Webbdelen. HTML H yper T ext M arkup L anguage Märker upp sidans innehåll så att webbläsaren kan avgöra hur innehållet ska visas.
Datastrukturer och algoritmer Föreläsning 11. Datastrukturer och algoritmer VT08 Innehåll  Mängd  Lexikon  Heap  Kapitel , , 14.4.
Metoder i java Det finns två typer av metoder i java
Föreläsning 4 Python: mera om funktioner och parametrar
Föreläsning 12 Matlab J-uppgiften.
Välkommen Vahid Mosavat
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
Stilark: CSS Digitalisering av text April 2005 Mats Dahlström.
Textkodning: XML ”What’s the matter, Albert? Having trouble decoding the text? ”
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
i olika programmeringsspråk
Föreläsning 13 Polymorfism, Paket och JAR-filer. Polymorfism Ordet härstammar från grekiskan Poly – många Morf – form Polymorf – många former Någonting.
XSLT – en introduktion Digitalisering av kulturarvet.
Programmering B PHP Lektion 2
Föreläsning 11 Arrayer.
1 Funktioner Nr 3 Funktionstyper, högre ordningens funktioner och polymorfism.
Pekare och speciell programstruktur i inbyggda system
Programmering B PHP Lektion 1 Mahmud Al Hakim Folkuniversitetet
Programmering B PHP Lektion 2
Programmering B PHP Lektion 3
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
XSLT – en introduktion Elektronisk publicering.
TÄNK PÅ ETT HELTAL MELLAN 1-50
DATABASHANTERING för programmerare Lektion 4 Mahmud Al Hakim
Föreläsning 3 Programmeringsteknik och Matlab DD1312
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Listor En lista är en föränderlig ordnad samling objekt.
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 8: Underprogram Underprogram Räckvidd Parameteröverföring.
Programspråk Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande program och kompilerande program. Python är ett interpreterande.
Funktioner, styrstrukturer, manipulering av matriser
1 Föreläsning 3 programmeringsteknik och Matlab 2D1312/ 2D1305 Matlab fortsättning Funkioner, styrstrukturer, manipulering av matriser.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
FRÅGEUTVECKLING INOM MSSQL Marcus Medina. Dagens visdomsord ” Det är inte vad som händer dig som räknas – utan hur du reagerar på det. ” - Epiktetos.
Nikos dimitrakas Rum 8522 IV1023 ht2013 Avancerad Datahantering med XML Introduktion till kursen Semistrukturerade data och XML.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
EXtensible Markup Language Digitalisering av kulturarvet
Namnrum, räckvidd och rekursion Linda Mannila
XHTML & CSS Introduktion Erik Nahkala
Föreläsning 8 Programmeringsteknik och Matlab DD1312 Klassmetoder Egen modul, Self Metoderna: __str__, __lt__,… Meddelande Arv, Överlagring av metoder,
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 2 ( ) INNEHÅLL: -Variabler och datatyper -Tilldelning av variabler -Aritmetiska.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Informationsteknologi - Lektion 2 Trådlöst nätverk (WLAN) Trådlöst nätverk (WLAN) Filarkivet: Filarkivet:
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
XSLT 2 Digitalisering av kulturarvet.
BVForum - en genomgång för revisorer Sören Thuresson.
DATABASHANTERING för programmerare Lektion 6 Mahmud Al Hakim
XSLT 1 Digitalisering av kulturarvet.
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 1 IV1023 ht2013 Avancerad Datahantering med XML Frågespråk för SSD och XML nikos dimitrakas
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
Anders Sjögren Programmering i ANSI-C Ett första program för att se vart vi ska...
KPP053, HT2015 MATLAB, Föreläsning 4
Databaser, avancerade frågor
Presentationens avskrift:

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 1 IV1023 ht2013 Avancerad Datahantering med XML XSLT nikos dimitrakas Rum 8522 Läsanvisningar Kapitel i kursboken Kapitel 15 i XML 1.1 Bible Kompendiet "Introduction to XSLT"

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 2 XSLT XSL Transformations –XSL: eXtensible Stylesheet Language Transformationer –Från XML –Till XML, HTML, text, etc. XSLT är ett XML-språk –Ett XSLT-dokument är ett XML-dokument –Har ofta filändelsen.xsl Liknar programmeringsspråk –Rekursion –Iteration –Flödeskontroll –Variabler

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 3 XSLT-versioner XSLT 1 –Bygger på XPath 1 –Stöds i webbläsare som Internet Explorer, Safari, Chrome, FireFox, Netscape, Opera XSLT 2 –Bygger på XPath 2 –Utökade konstruktioner för bl a grupperingar –Flera output-format –Stöds inte i någon webbläsare ännu, men det finns server-side moduler Nästa version XSLT 3 –tillsammans med XPath 3 och XQuery 3

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 4 XSLT-dokument Rotelement –xsl:transform eller xsl:stylesheet (synonymer) –attributet "version" i rotelementet styr XSLT-version Namespace – –Rekommenderat prefix: xsl Länkning till/från XML-dokument – –eller dynamiskt i applikationen

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 5 Top Level-element Element direkt under rotelementet –"Deklarationer" XSLT 1 –import, include, strip-space, preserve-space, output, key, decimal- formal, namespace-alias, attribute-set, variable, param, template –Elementet template är där jobbet görs –Resten är konfigurationer XSLT 2 (utöver det ovan) –character-set, function, import-schema

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 6 XSLT-instruktioner Element inuti elementet template XSLT 1 –Skapa noder: element, attribute, comment, processing-instruction, value-of, text, copy, copy-of –Flödeskontroll, iteration: if, choose (och when, otherwise), for-each –Variabler: variable, param –Template-anrop: apply-templates, call-template, apply-imports –Andra specialiserade instruktioner som t ex message och number XSLT 2 (utöver det ovan) –for-each-group, next-match, sequence, namespace

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 7 Exempeldata Enligt följande DTD: <!ATTLIST Book Title CDATA #REQUIRED Language CDATA #REQUIRED Year CDATA #REQUIRED Publisher CDATA "N/A" Genre CDATA "N/A"> <!ATTLIST Author Name CDATA #REQUIRED YearOfBirth CDATA #REQUIRED Country CDATA #REQUIRED>

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 8 Exempeldata

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 9 Deklaration output Används för att specificera resultatets format Har flera attribut –method: xml, html, text (och xhtml i XSLT 2) –encoding –flera attribut för XML-deklarationer och konfigurationer Exempel

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 10 Deklaration variable Används för att deklarera variabler och tilldela dem värden Attribut –name: variabelns namn –select: variabelns värde (kan vara ett XPath uttryck vars resultat blir variabelns värde) Exempel Variabler kan sedan användas i XPath-uttryck med prefix $

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 11 Deklaration template Används för att bearbeta input och konstruera output Namngivna template har attributet name Regel-template har attributet match som innehåller ett mönsteruttryck (en specifik typ av XPath-uttryck) som styr när det exekveras Exempel

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 12 Anropa templates Default template –match="/" –drar igång exekveringen Anropa namngivna templates – Anropa regel-templates – –attributet select innehåller ett XPath-uttryck som styr vilka noder som templates skall appliceras på –om attributet select saknas är det alla barnnoder som gäller

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 13 Skapande instruktioner element –Skapar element –Elementets namn anges i attributet name –Elementets innehåll konstrueras i innehållet – innehållet attribute –Skapar attribut för elementet –Attributets namn anges i attributet name –Attributets värde anges i attributet select (XSLT 2) eller som innehållet – värdet comment –Skapar kommentarer –Kommentaren anges i attributet select (XSLT 2) eller som innehållet – kommentartexten

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 14 Skapande instruktioner processing-instruction –Skapar XML processing instructions –Dock inte XML-deklarationen som skapas med XSL:output –PI-namnet anges i attributet name –PI-värdet anges i attributet select (XSLT 2) eller som elementets innehåll – namespace (XSLT 2) –Skapar namespace-noder (xmlns-attribut) –Namespace-namnet anges i attributet name –Namespace-värdet anges i attributet select eller som innehållet – text –Skapar textnoder – hej

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 15 Skapande instruktioner value-of –Skapar en textnod från ett XPath-uttryck –XPath-uttrycket anges i attributet select – copy –Skapar en kopia av den aktuella noden – copy-of –Skapar en djup kopia av noden/noderna som är resultatet av uttrycket i attributet select –

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 16 Skapa noder utan instruktioner Skriv xml-kod direkt – –Samma som Attribut – –Samma som Kalle Dynamiska attribut värden? –

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 17 Attribute value templates För attributvärden som hämtas dynamiskt från andra noder – Obs! Fungerar endast för attributvärden. Följande är alltså ogiltigt: –

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 18 Flödeskontroll if –Innehållet utförs endast om villkoret är sant –villkoret anges i attributet test – … choose –Har ett eller flera when och eventuellt ett otherwise –Varje when har ett villkor som anges i attributet test –Endast det första matchande when exekveras, om inget when matchar, exekveras otherwise – En Ingen Många

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 19 Iteration for-each –Loopar igenom noderna i sekvensen som är resultatet av XPath- uttrycket i attributet select – … for-each-group (XSLT 2) –Grupperar noderna i resultatet av XPath-uttrycket i attributet select enligt uttrycket i attributet group-by (eller group-adjacent, eller group- starting-with, eller group-ending-with) och loopar igenom grupperna –Funktionen current-group() kan användas för att komma åt sekvensen med alla noder som tillhör den aktuella gruppen – …

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 20 Sortering sort –Kan användas i alla sorters loopar (for-each, apply-templates, for- each-group) –Sorterar loopens varv enligt uttrycket i attributet select –Sorterar på en sak, men man kan ha flera xsl:sort –Ordningen kan vara ascending (default) eller descending och anges i attributet order –Attributet data-type styr sorteringen Giltiga värden: text (default), number –

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 21 Viktiga funktioner current() –returnerar den aktuella noden position() –aktuell plats i sekvensen last() –antalet noder i sekvensen doc() –öppnar en XML-fil not() –negerar parameterns booleanska värde

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 22 Exempel - iteration med for each Alla titlar

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 23 Exempel - templates Alla titlar

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 24 Mer information XSLT 1- och XSLT 2-specifikationerna Kompendiet "Introduction to XSLT" Kapitel 15 i XML 1.1 Bible

IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 25 Fortsättning Quiz om XSLT Labb om XSLT (kompendiet "Introduction to XSLT") Lektionsuppgifter Seminarieuppgifter (Inlupp 1) Inlupp 3