Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

XSLT – visualisering af data fra Kortforsyningen® XSLT (eXtensible Stylesheet Language Transformation) – transformation imellem sprog Julian Hollingbery,

Lignende præsentationer


Præsentationer af emnet: "XSLT – visualisering af data fra Kortforsyningen® XSLT (eXtensible Stylesheet Language Transformation) – transformation imellem sprog Julian Hollingbery,"— Præsentationens transcript:

1 XSLT – visualisering af data fra Kortforsyningen® XSLT (eXtensible Stylesheet Language Transformation) – transformation imellem sprog Julian Hollingbery, NGB

2 At sælge XSLT En applikation som bygger på geodata fra Kortforsyningen: 1. Indhentning af data 2. Validering af data 3. Præsentation af data XSLT er en effektiv, overskuelig og genanvendelig metode til at implementere del 1 og 2, og i mange tilfælde også 3. XSLT kan også danne et godt grundlag for en underopgave i et projekt: ”Lav en XSLT der transformerer disse XML-input til dette output”. XSLT er anvendeligt i alle væsentlige programmeringsmiljøer. Dette er med til at øge genanvendeligheden på tværs af projekter.

3 Fremgangsmåde

4 XSLT.asp <% 'indsamling af div. URL dim URLxmlRoot: URLxmlRoot = "http://kmswwwudv1.kms.dk/kpnf-udv/" dim URLxslRoot: URLxslRoot = "http://kmswww3.kms.dk/kortpaanettet/" URLxml = URLxmlRoot & "kort10_01.xml” 'XML dokument som ønskes transformeret URLxsl = URLxslRoot & "css/Legend2.xsl” 'XSL dokument dim oXML: set oXML = Server.CreateObject( "MSXML2.DOMDocument" ) 'Hent XML oXML.async = False oXML.setProperty "ServerHTTPRequest", true oXML.load( urlXML ) dim xslDoc 'Hent XSL set xslDoc = Server.CreateObject("Msxml2.DomDocument") xslDoc.async = false xslDoc.setProperty "ServerHTTPRequest", true xslDoc.load( urlXSL ) dim sHtml: sHtml = objXML.transformNode( xslDoc ) 'Transformer! set xslDoc = nothing Response.Write( sHtml ) 'Skriv det transformerede data set oXML = nothing %>

5 Min første XSLT – koordinattransformation med Kortforsyningen® Fejlen kunne se sådan ud: Transformation mislykkedes. 2: Transformationen mislykkedes. Et succesfuldt svar har denne struktur: - utm32_euref89 460180 6308691 0 s34j 333572,25 278678,67 0,00

6 Min første XSLT Det komplette XSLT-dokument består af 14 linier XML: ;

7 Transformer XML til HTML – vejnavnedata som XML For eksempel ser resultatet af en vejnavnesøgning måske sådan ud: - 1 - 9485 Violvej 217 Helsingør Kommune

8 Transformer XML til HTML – Lad os lave en dropdownliste med vejnavne Først sætter vi os i roden og kigger efter fejlmeddelelser: Derefter sætter vi os i rodens barn (hvis det eksisterer) og kigger efter data. Data skal indplaceres i HTML-elementet. <select onchange="vaelgVej(this.options[this.selectedIndex].text);" name="kommunevej" id="kommunevej" style="width:164px;height:80px">

9 Transformer XML til HTML – Findes vejen ikke? Returnerer søgningen ingen forekomster, vil man gerne præsentere det lidt mere brugervenligt end ved en tom liste: Ingen resultater

10 Transformer XML til HTML – For hver vej… For hver indsættes HTML-elementet : Vi vil gerne indsætte resultatet af søgningen (dvs. ”vejkode;kommunekode”) som værdien af attributten ”value”: ; Teksten som hører til -elementet, dvs. den tekst som brugeren skal vælge, skal være ”vejnavn (kommunenavn)”: ( )

11 Transformer XML til HTML – Afslut XSLT-en Men så er vi sådan set færdige:

12 Simpelt spørgsmål – kompliceret svar. Hvad kan XSLT tilføre en WMS? XSLT leverer en enkel måde at hente små stykker specifik data ud af komplicerede XML-dokumenter, for eksempel svaret på en GetCapabilities forespørgsel Det følgende XSL-dokument kan bruges til at lave en signaturforklaring til en given samling af lag fra Kortforsyningen®s tjeneste ”kms_vector_basic_01”

13 Simpelt spørgsmål – kompliceret svar. Signaturforklaring fra WMS GetCapabilities <xsl:stylesheet version="1.0” xmlns:xsl="http:// www.w3.org/1999/XSL/Transform"> www.w3.org/1999/XSL/Transform xmlns:xlink="http://www.w3.org/1999/xlink"> Signaturforklaring for matrikelkortet <xsl:for-each select = "WMT_MS_Capabilities/Capability/Layer/Layer[ Name='MAT_LAND' or Name='PKT_VEJ' or Name='FRSKOV_L' or Name='MAT_NR' or Name='VEJNAVN' or Name='MAT_REG' or Name='FRSKOV_P' ]">

14 <xsl:for-each select="Style/LegendURL/OnlineResource">


Download ppt "XSLT – visualisering af data fra Kortforsyningen® XSLT (eXtensible Stylesheet Language Transformation) – transformation imellem sprog Julian Hollingbery,"

Lignende præsentationer


Annoncer fra Google