Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afArthur Mortensen Redigeret for ca. et år siden
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">
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.