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

Relevanta dokument
CSS- Cascading Stylesheets

Vad är XSLT XSLT extensible Stylesheet Language Transformations

XML. Extensible Markup Language


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

ORDLISTA WEBBDESIGN 100P

Inför prov 1 i webbdesign

Internet A. HTML Grunder Maximilien Chiang 1

XSLT. Extensible Stylesheet Language Transformations

Lektion 2 - CSS. CSS - Fortsätt så här

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

Kompletterande exempel till XSLT

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

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

12/9/2010 REGLER WEBBPRODUKTION WEBBDESIGN CASCADING STYLE SHEETS CSS LOKALA STILMALLAR GLOBALA STILMALLAR. Selektor. Deklaration

Förkunskaper: Tim Berners Lees vision webbläsarkriget W3C strukturtagg <h1> layout-tagg <font size="6">

Tillämpningsanvisningar

F07 Stilmallar Dagens agenda

Cascading Style Sheets (CSS) An Introduction. Nayeb Maleki

Vad är XML Schemas. XML Schemas. Varför XML Schmas. Namespace

/*formatering för html och body elementen - elementens höjd sträcker sig över hela webbläsarfönstrets höjd*/ html, body { height: 100%; }

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

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

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

21/01/2016. Stilmallar. styra utseendet av webbplatsen DEL 1. Karin Fahlquist. index.html. recept.html frukt.html grönsaker.html

Lektion 3 HTML, CSS och JavaScript

DP7 Kompletterande information

Labora&on 5 CSS och layout samt fråga E övningar/uppgi>er

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

Lektion 2 Del 1 Kapitel 6

<Webbutvecklare lektion="02"> Kursledare: Mahmud Al Hakim

En stiligare portal Laboration 3

Carl-Oscar Hermansson WEBB DESIGN

Labora&on 2 HTML och validering övningar/uppgi:er

E-pliktleverans via RSS-feeds

Introduktion till XSLT

Hantera informationspaket i system för bevarande

Informationsmodellering och e-infrastrukturer

Föreläsning 4. CSS Stilmallar för webben

Schematransformation SLU

Laboration 1 XML, XPath, XSLT och JSON

Strukturering med XML och DTD

Labora&on 8 Formulär övningar/uppgi6er

Övning 1 Vi börjar med en vanlig html-fil där html används för både innehåll och utseende:

Bilder. Bilder och bildformat

CSS-övningar. 1. Grunder

Tabeller. Lektion 7. en tabellrubrikcell som centrerad och i fetstil.

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

Övnings hemtentamen med förslag till lösning, webbprogrammering

Web (html+xhtml), CSS. Dagens föreläsning. Web - grundprinciper. Syfte Ge er grunderna för att skapa och publicera websidor.

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

En grundkurs i hemsidor och hur de är uppbyggda

Introduktion till programmering

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

I den här labben ska vi använda oss av en trevlig nyhet i HTML5: Local Storage, för att implementera en sorts lokal gästbok.

Repetition. Hypertext. Internet HTTP. Server och klient Text försedd med länkar till andra texter. Många sammankopplade nät

Repetition. Hypertext. Internet HTTP. Server och klient Föreläsning 2. Text försedd med länkar till andra texter. Många sammankopplade nät

TDDD52 CSS. Färger. Färger 1/3/13

Leverans-API för nedladdning av geodata v1.0 - teknisk beskrivning

Språk för webben introduk4on 4ll HTML

Metaspråket XML Mika Suonvieri

Konstruktion av datorspråk

Webbstandarder för fler än en plattform

Råd gällande beständiga länkar

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

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

JAVASCRIPT. Beteende

Labora&on 6 CSS och responsiv webbdesign övningar/uppgi:er

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

XML. XML is a method for putting structured data in a text file

E07 "Greased Lightning"

Internet och WWW Laboration 3 VT10 Högskolan Dalarna Hans Rosendahl. Laboration 3 CSS del 2. 1 av 20

Förvaltningsgemensam specifikation för leverans av enstaka publikationer till Kungliga biblioteket (FGS-PUBL)

Instruktionen gäller Windows 10 med Word 2016.

Lektion 8 Del 1 XML, Kapitel 20

CSS-WORKSHOP. Nätverksträff för it-bibliotekarier, 7 mars 2013 Sara Britta Jadelius Trollhättans Stadsbibliotek

Skapa en webbplats med WordPress

Sophia Prosell DREAM WEAVER SKAPA OCH PUBLICERA EFFEKTIVA WEBBSIDOR

F02 En första sida. Dagens agenda

Dokumentschema förpackning av externa objekt. Version: 1.0 Status: Standard Datum:

Utveckla den moderna släktboken vidare

Styla med CSS3. Översikt. Lektion 1: Styla text med CSS3

WEBBUTVECKLING Kursplanering

Introducerande övningar i HTML

Frågor och svar - Diagnostisk prov ht14 - Webbutveckling 1

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

Användarmanual för. 1(1)

Webbdesign vt Innehållsförteckning

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

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

CSS. Cascading Style Sheets

Guide för Innehållsleverantörer

CSS. TNMK30 - Elektronisk publicering

Kursledare och övriga föreläsare och övningsassistenter. Antal undervisningstimmar uppdelat på föreläsningar, övningar och andra undervisningsformer

TDDC74 Programmering: Abstraktion och modellering Tenta, kl 14 18, 11 juni 2014

ÖrebroCupen. Institutionen för Ekonomi, Statistik och Informatik, ESI Informatik, Klientprogrammering för webbsystem, 5 poäng

Laboration 2. Webbproduktion En stiligare webbsida HT2015

Nätet. Uppgiften. Nivå

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

IT-avdelningen. Författare Funktion Telefon Datum Version Sid Karin Bredenberg SoU (10)

Transkript:

Vad är XLink XLink/XPointer/XSLT-FO XMLs motsvarighet till HTMLs <a>-länkar fast med mycket större funktionalitet. Simple Links motsvarar ungefär vanliga länkar Extended links kan länka till grupper av resurser 2D1525 Programmering för interaktiva medier http://www.nada.kth.se/kurser/kth/2d1525/ 2001-10-02 Björn Hedin, NADA/KTH 2001 1 2001-10-02 Björn Hedin, NADA/KTH 2001 2 Namespace Simple Links Namespacen för Xlink är http://www.w3.org/1999/xlink Prefixet som oftast används är xlink: Xlink består av ett antal attribut som kan kopplas till vilket egendefinierat element som helst i en DTD eller motsvarande. Precis som vanligt kan bindningen av ett prefix till dess namespace ske i elementet där det först används eller något av dess förfäder-element. En simple link motsvarar ungefär en <a>-länk i html fast med fler möjligheter. En envägsförbindelse mellan två resurser. Käll-resursen måste vara ett XML-element, mål-resursen en URI (t.ex. något annat än en fil). Exempel på Simple Link <foo xmlns:xlink= http://www.w3.org/1999/xlink xlink:type= simple xlink:href= http://www.kth.se/ > <bar/> <foobar xlink:type= simple xlink:href= urn:isbn:0-596-00058-8 /> </foo> 2001-10-02 Björn Hedin, NADA/KTH 2001 3 2001-10-02 Björn Hedin, NADA/KTH 2001 4

URI/URL/URN URL URI = Uniform Resource Identifier. Samlingsnamnet för URL + URN + eventuella framtida URxxx URL = Uniform Resource Locator. URN = Uniform Resource Name. URL URI URN URL är det man oftast stöter på i internetsammanhang. En URLs scheme är lika med dess primära åtkomstsätt, t.ex. http, ftp, file Ett scheme är, enkelt uttryckt, det före kolon i en uri. http://www.kth.se/ file:///a.txt ftp://ftp.kth.se/ Scheme för en URL 2001-10-02 Björn Hedin, NADA/KTH 2001 5 2001-10-02 Björn Hedin, NADA/KTH 2001 6 URN xlink:show URN används än så länge sällan i internetsammanhang. Pekar inte på någon fysisk resurs som en URL gör, utan kan peka på mer abstrakta resurser. Typexemplet är ISBNnummer. 8 URN-namespaces är officiellt registrerade, otaliga inofficiella. urn:isbn:0-777-222-3 isbn är en av de 8 idag registrerade namespaces som finns för URN Scheme för en URN är just strängen urn Det som hittills beskrivits är inget nytt jämfört med vanliga html-länkar Xlink:show är ett attribut som kan läggas till en xlink för att ge en browser vägledning om vad som ska hända när en länk träffas på xlink:show= replace - Ersätter nuvarande innehåll med resursen på målsidan. Jfr <a href= xlink:show= embed - Bäddar in målresursen i dokumentet. Jfr <img src= xlink:show= new - Öppnar ett nytt fönster med målresursen. Jfr <a href= _BLANK xlink:show= other - Gör något annat än replace, embed och new. Bestäms förmodligen på något annat sätt. xlink:show= none - Inget beteende. 2001-10-02 Björn Hedin, NADA/KTH 2001 7 2001-10-02 Björn Hedin, NADA/KTH 2001 8

xlink:actuate xlink:title Xlink:actuate ger vägledning om när en länk ska aktiveras. xlink:actuate= onload - Länken aktiveras så fort dokumentet länken befinner sig i laddas. Jfr onload i javascript. xlink:actuate= onrequest - Länken aktiveras när någon aktivt begär länken, t.ex. genom att klicka på den. xlink:title kan ges ett värde som med fritext beskriver resursen som länken pekar på. <foo xlink= simple href= http://www.kth.se title= The main KTH-page /> xlink:actuate= other - Något annat aktiveringskriterium. xlink:actuate= none - Inget beteende, t.ex. när det inte finns någon meningsfull tolkning av vad som ska hända vid en aktivering (t.ex. en länk till ett isbnnummer). 2001-10-02 Björn Hedin, NADA/KTH 2001 9 2001-10-02 Björn Hedin, NADA/KTH 2001 10 xlink:role Extended Links xlink:role är ungefär som xlink:title fast istället för att ha ett fritextinnehåll har attributet en uri-referens som pekar på en djupare beskrivning av objektet. <foo xlink= simple href= http://www.kth.se title= The main KTH-page role= http://www.foo.org/ > En extended link kan till skillnad från en simple link beskriva en riktad graf, där dokumenten är noder och där länkarna mellan noderna utgörs av något som kallas arcs. Svårare att hitta en enkel metafor för vad en extended link betyder än för en simple link. 2001-10-02 Björn Hedin, NADA/KTH 2001 11 2001-10-02 Björn Hedin, NADA/KTH 2001 12

Lokala vs externa resurser En extern resurs anges med en xlink med attributet xlink:type= locator, xlink:href= någon-uri och xlink:label= en-id. En intern resurs anges med en xlink med attributet xlink:type= resource och en xlink:label= en-id. Dessa resurser kan sedan bindas ihop med arcs där de labels som valts för resurserna används som identifierare. Arcs Arcs används i extended links för att göra en riktad länk mellan två resurser (interna eller externa). En arc är en ett element med attributen xlink:type= arc, xlink:from= from-label och xlink:to= to-label. From-label och to-label är två labels som tidigare getts externa eller interna resurser. En arc kan även ha ett attribut xlink:arcrole som fungerar som xlink:role fast för en arc. 2001-10-02 Björn Hedin, NADA/KTH 2001 13 2001-10-02 Björn Hedin, NADA/KTH 2001 14 Extended link:exempel Exempel på Extended Link för kursplanering <?xml version= 1.0?> <courseplan xmlns:xlink= http://www.w3.org/1999/xlink xlink:type= extended > Extended links:specialfall Om en arc saknar xlink:from eller xlink:to så antar det attributet värdet samtliga resources i extended-elementet. Om flera resurser har samma label är arcs som pekar på denna label pekande på samtliga dessa resurser. <course xlink:type= resource xlink:label= Course2D1525 /> <course xlink:type= resource xlink:label= Course2D1522 /> <course xlink:type= locator xlink:label= Course2D1010 xlink:href= http://www.nada.kth.se/kurser/kth/2d1010/ /> <prerequisite xlink:type= arc xlink:from= Course2D1010 xlink:to= Course2D1522 /> <prerequisite xlink:type= arc xlink:from= Course2D1522 xlink:to= Course2D1525 /> </courseplan> 2001-10-02 Björn Hedin, NADA/KTH 2001 15 2001-10-02 Björn Hedin, NADA/KTH 2001 16

XPointer XPointer: exempel Xpointer är ett sätt att lokalisera punkter eller mängder i xmldokument. Kan kopplas till en URI i en Xlink genom att lägga till en Xpointer på slutet av URIn Inte XML-baserad men opererar på XML-strukturer. Till stora delar samma som Xpath men med vissa utvidgningar Xpointers är i princip Xpathuttryck inneslutna i xpointer() Exempel på XPointer xpointer(/) Xpointer(//PERSONAE/PERSONA) Xpointer(//teacher[@email= bjornh@kth.se]) URI + Xpointer http://www.kth.se/test.xml#xpointer(//name[ position()=1]) 2001-10-02 Björn Hedin, NADA/KTH 2001 17 2001-10-02 Björn Hedin, NADA/KTH 2001 18 Implementationer XLink/XPointer Få implementationer finns av Xlink/Xpointer. Stöd för simple-links i Mozilla och Amaya (webbläsare). Mer komplett stöd i ett programpaket av Fujitsu som kan hittas på http://www.labs.fujitsu.com/free/xlip/en/index.html And now for something completely different: XSL-FO XSL-FO är en XML-vokabulär för att på detaljnivå kunna skapa sid-layout, idag främst för papper men på sikt även för bildskärmar. Till skillnad från CSS är XSL-FO helt XML-baserat. Kan göra samma saker som CSS + mycket till. W3C proposed recommendation sedan 2001-08-28 2001-10-02 Björn Hedin, NADA/KTH 2001 19 2001-10-02 Björn Hedin, NADA/KTH 2001 20

Implementationer XML+XSLT ->XSL-FO Idag finns ett fåtal implementationer av delar av XSL-FO-specifikationen, t.ex. FOP från Apaches Cocoonprojekt. Inga program kan idag rendrera XSL-FO-dokument direkt. Istället sker en transformation till något annat format såsom pdf. XSL-FO FOP pdf Vanligtvis skapar man inte XSL-FO-dokument direkt. Istället transformeras vanligen en XML-struktur till XSL-FO via XSLT-transformer. XML XSLT XSLTprocessor XSL-FO FOP pdf 2001-10-02 Björn Hedin, NADA/KTH 2001 21 2001-10-02 Björn Hedin, NADA/KTH 2001 22 XSL-FO:Syntax Namespacen för XSL-FO är http://www.w3.org/1999/x SL/Format Prefixet brukar vara fo: Root-elementet är <fo:root> <fo:root> innehåller två underelement; <fo:layoutmaster-set> och <fo:pagesequence> Exempel på XSL-FO <?xml version= 1.0?> <fo:root xmlns:fo= http://www.w3.org/1999/format > <!-- info om marginaler, sidformat etc--> </fo:layout-master-set> <fo:page-sequence> <!-- Själva innehållet --> </fo:page-sequence> </fo:root> innehåller information ett eller flera element <fo:simple-page-master> Dessa innehåller information om sidstorlek och marginaler, samt har ett attribut mastername för att kunna refereras till. fo:layout-master-set <fo:simple-page-master> margin-right= 3cm margin-left= 3cm margin-bottom= 4cm margin-top= 2cm page-width= 20cm page-height= 27.7cm master-name= foobar </fo:simple-page-master> </fo:layout-master-set> 2001-10-02 Björn Hedin, NADA/KTH 2001 23 2001-10-02 Björn Hedin, NADA/KTH 2001 24

Det finns dessutom 5 regioner: before, after, start, end och body. Alla utom body kan tilldelas ett attribut extent Regioner fo:layout-master-set <fo:simple-page-master master-name= foo > <fo:region-before extent= 1cm /> <fo:region-before extent= 1cm /> <fo:region-after extent= 1cm /> <fo:region-start extent= 1cm /> <fo:region-end extent= 1cm /> <fo:region-body/> </fo:simple-page-master> </fo:layout-master-set> 2001-10-02 Björn Hedin, NADA/KTH 2001 25 Marginaler, region-before etc relaterar till den färdiga sidan enligt figuren till höger. Observera att detta gäller för västerländskt skrivsätt från vänster till höger. För exempelvis hebreiska byter region-start och region-end plats. Sidmodell margin-left region-start region-body region-after margin-bottom margin-top margin-right region-before region-end Macbeth... When shall we three meet again In thunder, lightning or in rain... 2001-10-02 Björn Hedin, NADA/KTH 2001 26 1. Att flöda innehåll på en sida Properties I en <fo:page-sequence> stoppas själva innehållet. En <fo:page-sequence> binds till en simple-page-master via attributet master-name <fo:page-sequence> innehåller ett element <fo:flow> som i sin tur kan innehålla ett antal <fo:block> där slutligen innehållet finns. Sidflöde <fo:page-sequence master-name= banan > <fo:flow> <fo:block> En banan </fo:block> <fo:block> En tomat </fo:block> </fo:flow> </fo:page-sequence> De flesta properties som kan sättas i CSS kan även sättas på ungefär motsvarande sätt i XSL-FO. Exempel sid 217 CSS dish { display:block; font-family: Helvetica, Arial, sans-serif; font-size: 20pt; font-weight: bold; text-align: center } XSL-FO <xsl:template match= dish > <fo:block font-family= Helvetica, Arial, sans-serif font-size= 20pt fontweight= bold text-align= center > <xsl:apply-templates/> </fo:block> </xsl:template> 2001-10-02 Björn Hedin, NADA/KTH 2001 27 2001-10-02 Björn Hedin, NADA/KTH 2001 28

Listor Tabeller Vissa properties från CSS matchas mot element istället för attribut, t.ex. listor. Listor <fo:list-block> <fo:list-item> <fo:list-item-label> </fo:list-item-label> <fo:list-item-body> En banan </fo:list-item-body> </fo:list-item> </fo:list-block> Tabeller liknar htmltabeller Tabeller <fo:table> <fo:table-column column-width= 120pt /> <fo:table-column column-width= 90pt /> <fo:table-body> <fo:table-row> <fo:table-cell> <fo:block>hej</fo:block> </fo:table-cell> <fo:table-cell> <fo:block>hopp</fo:block> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> 2001-10-02 Björn Hedin, NADA/KTH 2001 29 2001-10-02 Björn Hedin, NADA/KTH 2001 30 Ofta vill man ha olika sidlayout på högersidor, vänstersidor och förstasidor. Detta kan lösas genom elemetet fo:sequencespecification som är ett barnelement till fo:pagesequence Olika sidlayouter Ett dokument, olika sidlayouter <fo:page-sequence> <fo:sequence-specification> <fo:sequence-specifier-alternating page-master-first= banan page-master-first= tomat page-master-first= gurka /> </fo:sequence-specification> </fo:page-sequence> Där banan, tomat och gurka tidigare har specificerats som fo:simple-page-master Exempel xslt->xsl-fo Fo-exempel.xsl <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:fo="http://www.w3.org/1999/xsl/format"> <xsl:template match="/"> <fo:root> <fo:simple-page-master margin-right="1in" master-name="first"> <fo:region-body/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-name="first"> <fo:flow><xsl:apply-templates/></fo:flow> </fo:page-sequence> </fo:root> </xsl:template> <!-- m.fl. templates som genererar XSL-FO-märkning --> </xsl:stylesheet> 2001-10-02 Björn Hedin, NADA/KTH 2001 31 2001-10-02 Björn Hedin, NADA/KTH 2001 32

Mer information XSL-FO är en omfattande specifikation, av vilken vi bara skummat på ytan. Specifikationen finns på http://www.w3.org/style/xsl/ Kapitlet om XSL-FO från XML Bible finns på http://www.ibiblio.org/xml/books/bible2/chapters/ch18.html En trevlig tutorial med exempel finns på http://www.ibiblio.org/xml/books/bible2/chapters/ch18.html 2001-10-02 Björn Hedin, NADA/KTH 2001 33