Kompletterande exempel till XSLT

Relevanta dokument
Vad är XSLT XSLT extensible Stylesheet Language Transformations

<sid nr="1" av="2" /> Stackenföreläsning: XML & XSLT: Intro. XML och XSLT

Workshop 3 Omvandling av bibliografiska data med XSLT

Informationsmodellering och e-infrastrukturer

XSLT. Extensible Stylesheet Language Transformations

» RSS - Bygg din egen RSS!

Projektuppgift: Kalender Martin Hultman marhu002 Patrik Karlsson patka843

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

XML. Extensible Markup Language

Laboration 1 XML, XPath, XSLT och JSON

Strukturering med XML och DTD

HTML och CSS. Eric Elfving Institutionen för datavetenskap. 18 augusti 2015

E-pliktleverans via RSS-feeds

Genom alternativet Utsökning kan du ta fram och exportera listor och förteckningar av publikationer i DiVA utifrån person, organisation, ämne m.m.

Nätet. Uppgiften. Nivå


Laboration 3 HTML och struktur samt frågorna A - C övningar/uppgifter

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

HTML och CSS. Eric Elfving Institutionen för Datavetenskap (IDA)

Introduk+on +ll programmering i JavaScript

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Content Management System. Publiceringssystem

Xhtml och CSS.Tillämpad fysik och elektronik Per Kvarnbrink (redigering Ulf Holmgren 2011)

Vad är XLink. XLink/XPointer/XSLT-FO. Namespace. Simple Links

Introduktion till XSLT

Mittuniversitetet ITM Telefon RSS. Laborationskompendium för syndikering på Internet. Detta exemplar tillhör:

NetBeans 5.5. Avsikt. Projektfönster

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Programmeringteknik. Planering MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

Guide för Innehållsleverantörer

WEBBUTVECKLING Kursplanering

Karusell med länkade omslagsbilder

extensible Markup Language

Content Management System. Publiceringssystem

ITK:P2 F1. Hemsidor med HTML HTML. FTP, HTTP, HTML, XML och XHTML

Webbutveckling med AngularJS

NetBeans 7. Avsikt. Projektfönster

<script src= "

Hyperlänkar. I HTML skapar man en hyperlänk med taggen <a> </a>, som är en förkortning av ordet ankare, på (engelska anchor).

Övning (X)HTML 2. Sidan 1 av

JAVASCRIPT. Beteende

Föreläsning 3 i kursen: Monica Langerth Zetterman Uppsala universitet. Extensible Style Language (XSL) är en språkfamilj

Föreläsning 18 Filer och avbildningar

Webbplats analys emreemir.com

Föreläsning 2. Operativsystem och programmering

Metaspråket XML Mika Suonvieri

Vad är XML XML. Exempel - SMIL. Exempel - XHTML. extensible Markup Language

Introduktion till programmering

INFORMATION FRÅN VITEC. Objektlista XML

SKÖRDNING AV LOKALA DATAKÄLLOR I XML. Marika Lundqvist Umeå universitetsbibliotek

Multiröstning och enkäter via Outlook eller Google Dokument

Webbplats analys akcp-shop.de

Användarhandledning Version 1.2

Manual för Typo3 Site-Admins version 4.04

Beskrivning av xml-produkten FirmagranskningSokord(F34) version 2.00

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

JavaScript in SharePoint and not just for Apps. Wictor Wilén

CSS- Cascading Stylesheets

DI Studio nyheter

KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09

Tentamen i Algoritmer & Datastrukturer i Java

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap

XML. Dagens föreläsning. Vad är XML extencible Markup Language. Exempel - XHTML

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

Arrayer (fält)

API:er/Mashup. Föreläsning 4 API:er och Mashups. Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

Dagens föreläsning. Vad är XML. Exempel - XHTML. extencible Markup Language

Lathund Evenemangskalender

Del 1 och 2 HTML/CSS. Webbutveckling Laboration 1 Nicklas Bostedt

Heldag om FGS FGS:er och deras tekniska regelverk. Karin Bredenberg, FGS funktionen. Standarder. FGS:er och deras tekniska regelverk 1

Major Release 3.1. Vad innebär Major Release 3.1 för svenska användare?

Labb LABB 15. XML användande i praktiken. Plushögskolan Frågeutveckling inom MSSQL - SU14

LUVIT LMS Quick Guide LUVIT Composer

Introduktion HTML och PHP 732G16 Databaser design och programmering

Nyheter i version 3.2. Landlord. Global Snabbsök utökad funktion

Content Management System. Publiceringssystem

Konstruktion av datorspråk

Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java.

Materialspecifikationer

En snabb titt på XML LEKTION 6

DynaPahlm är användbart på många olika typer av webbplatser. Denna handbok ger dig tips och vägledning till hur du bäst använder DynaPahlm

Webbplats analys webstatinfo.com

NyA-webben Nyheter och planerad vidareutveckling

Sida 1 av 13. Standardwebben. Användarguide för standardwebben. Limepark AB Telefon (växel)

Styrelsebloggens bruksanvisning

Inlämningsuppgift 2. DA156A - Introduktion till webbutveckling Teknik och samhälle, Malmö högskola Oktober 2012

TNM065 Johan Eliasson johel964 Dokumentstrukturer Kristina Engström krien026

Diabetes.se CMS guide för föreningar. Senast uppdaterad:

Carl-Oscar Hermansson WEBB DESIGN

Att börja blogga på Folkets Parlament

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap

En grundkurs i hemsidor och hur de är uppbyggda

PROV. 13 JSP Standard Tag Library

JavaScript. JavaScript Ramverk (Bibliotek) jquery + jquery UI

Transaktionsfil och transaktionsfilstöd

Hur man använder modulen Extended Calendar

Webbens grundbegrepp. Introduktion till programmering. Ytterligare exempel. Exempel på webbsida. Föreläsning 5

Delrapport DP3. FGS för paketstruktur för e-arkiv Bilaga 1 METS

TENTAMEN: Design och konstruktion av grafiska gränssnitt DAT215

Malmö högskola 2007/2008 Teknik och samhälle

Transkript:

UMEÅ UNIVERSITET Institutionen för informatik Andreas Lund alund@informatik.umu.se Kompletterande exempel till XSLT Inledning Denna text är avsett som komplement till det bokkapitel i kompendiet som behandlar XSLT. Framförallt behandlas det iteration och användingen av NetBeans som XSLTprocessor. Exemplena använder sig av ett XML-dokument i form av ett RSS-dokument (version 2.0) och omvandlar det till HTML på olika sätt. NetBeans som XSLT-processor För att kunna göra omvandlingar av XML-dokument med hjälp av XSLT måste man ha en XSLT-processor. Det finns färdiga klasser att använda för detta ändamål och det är inte särskilt komplicerat att inkorporera sådan XSLT-funktionalitet i egenutvecklade Java-program. Ett gott råd är att försöka göra en klass som hanterar transformation av DOM-träd till en String eller kanske direkt till fil. En startpunkt är The Quintessential Program That Transforms an XML File with XSL i The Java Developer Almanac (www.javalmanac.com). NetBeans har dock färdig funktionalitet för att göra denna typ av omvandlingar. Så här går du tillväga. Skapa eller öppna din XSLT-mall. Om du ska skapa en ny mall kan du göra det genom att välja XSL Stylesheet från XML-kategorin bland alla de templates som finns tillgängliga i NetBeans.

Öppna det XML-dokument som du vill omvandla. Högerklicka i textredigeringsdelen av NetBeans och välj XSL Transformation.Du kommer då att få nedanstående dialog presenterad: XSLT Script avser själva XSLT-mallen som bestämmer hur omvandlingen ska gå till.det finns lite olika typer av Output-alternativ. Med ovanstående inställningar kommer resultatet av omvandlingen att öppnas i en separat webläsare. Iteration med XSLT Som nämns i XSLT-materialet i kompendiet finns det möjlighet till iteration med XSLT, men det behandlas dock inte närmare än så. Nedanstående exempel visar hur detta kan gå till. Tanken är att resultatet av omvandlingen av ett RSS-dokument ska ge ett resultat som ser ut som i bilden efter nedanstående XSLT-kod. <html> <p><xsl:value-of select="link"/></p>

De femarkerade raderna utgör själva iteration och innebörden kan beskrivas som att XSLT-processorn för varje item-element som finns i den aktuella kontexten (/rss/channel) skriver ut värdet av tre olika element (title, description och link), samt bäddar in dessa värden i html-taggar. Det finns dessutommöjlighet att sortera i samband med iteration. För att åstadkomma en sortering med avseende på varje nyhets titel kan koden förändras på följande sätt:

<html> <xsl:sort select="title"/> <p><xsl:value-of select="link"/></p> Genom XSL-elementet <xsl:sort select="title"/> instruerar jag XSLT-processorn att inte bara iterera igenom samtliga item-element, utan att också göra det i en speciell ordning, nämligen i stigande bokstavsordning med avseende på title-elemented som ingår i item. Attributvärdesmallar I utdraget från XML in a Nutshell finns ett avsnitt om det som kallas attribute value templates (sidan 159). Det som beskrivs där kan bli särskilt relevant om vi vill skapa HTML-dokumet med länkar vars länkreferens inte kan hårdkodas in i XSLTmallen. Låt säga att vi vill att länken i varje item-element ska bli klickbar så att användaren har möjlighet att gå till den långa versionen av nyheten. Syntaxen för länkar i html kan illustreras på följande sätt: <a href= http://www.informatik.umu.se/ >Institutionen för informatik</a> Om vi vill skapa denna typ av länkar med XSLT kan man göra på följande sätt: <html> <xsl:sort select="title"/> <p><a href="{link}"><xsl:value-of select="link" /></a></p>