XSLT FOR
INSPIRE
TRANSFORMATION
In ESDIN by Kadaster
KEN - Paris - Oct 8, 2013
About Me
Independent Open Source Geospatial Professional
Secretary OSGeo Dutch Local Chapter
Member of the Dutch OpenGeoGr...
OPEN SOURCE
FOR INSPIRE
MAKES SENSE
Picture from: http://cameronshorter.blogspot.com
3. COMMUNITY
ENABLER
INSPIRE Projects
2009-2011 Dutch Kadaster - Kademo Lab - EURADIN and ESDIN
inspire.kademo.nl - Ebrahim Hemmatnia - Ko van ...
Talk 1
XSLT - what, how
ESDIN - INSPIRE transformation Kadaster
Talk 2
formalizing approach from Talk 1
using Stetl framew...
EXTENSIBLE STYLESHEET
LANGUAGE (XSL)
Origins : SGML+DSSSL ==> XSL for XML documents
W3C XSL Working Group
First called “XS...
PRINCIPLE
The XSLT processor takes one or more
XML source documents, plus one or more
XSLT stylesheet modules, and process...
EXAMPLE
http://en.wikipedia.org/wiki/XSLT
Input XML Document
EXAMPLE
http://en.wikipedia.org/wiki/XSLT
XSLT Stylesheet Document
EXAMPLE
http://en.wikipedia.org/wiki/XSLT
XML Result Document
EXAMPLE
http://en.wikipedia.org/wiki/XSLT
HTML Generation with
Alternative XSLT Stylesheet
EXAMPLE
http://en.wikipedia.org/wiki/XSLT
(X)HTML Result Document
(alternative Stylesheet)
XSLT PRINCIPLES
Basically Tree Transformation
Input: well-formed XML document
Output: XML document or anything “text” (SQL...
XSLT PRO’S
Well-established (sinds 1999)
stable standards
huge amount of knowledge on the web
Optimized XSLT tools in any ...
XSLT PRO’S CONT.
TEXT
IN THE BEGINNING...
"In the Beginning
was the Command Line"
By Neal Stephenson
http://www.cryptonomicon.com/beginning.html
XSLT CONS
Complex
intellectual challenge: thinking declarative/functional
poorly understood, often messy stylesheets
Poor ...
IMPLEMENTATION
INSPIRE - WHAT
WFS
WMS
CSW
WPS
.
.Local
Data
INSPIRE
Data
Web
Services
INSPIRE - DATA THEMES
INSPIRE - TRANSFORMATIONS
source: Geonovum.nl
KADASTER - PHASE 1
COMBINED TRANSFORMATION
On-the-fly TransformationOffline Transformation
National Data
(Oracle)
Extract
Tr...
OSGeo - Bolsena - 2010
KADASTER - PHASE II
OFFLINE TRANSFORM + DEEGREE
INSPIRE
View Service
(WMS)
Extract
Transform
Load (ETL)
INSPIRE
Feature St...
KADASTER - PHASE II
REUSABLE ETL + SERVICES
INSPIRE
View Service
(WMS)
Extract
Transform
Load (ETL)
INSPIRE
Feature Store
...
KADASTER - PHASE II
ETL CHAIN
ETL CHAIN - TOOLS
• Extract
• internal tools: e.g. Oracle to Shapefile or XML
• Transform
• GDAL/OGR - Coordinate and creat...
SOFTWARE STACK
Architecture
PostGIS
WFS
deegree
Local
Data
Scripts
GDAL
XSLT
Unix shell
ETL
INSPIRE Download/View Services...
XSLT STRUCTURE
Local CP GML
to
INSPIRE SpatialDataset
Local CP GML
to
INSPIRE GML
Generate
CP INSPIRE GML
Reusable
XSLT Sc...
XSLT - 3 MAIN STEPS/SCRIPTS
1.Generate Spatial Dataset GML Container (specific)
2.Extract data values from local OGR simple...
XSLT - STEP 1
XSLT - STEP 2
XSLT - STEP 3
XSLT - REUSE
THE “GUI”
validated file
contentproject files
commands
run deegree
CONCLUSIONS
1.XSLT for INSPIRE (Model) transformations ?YES
2.XSLT shines in combination with OGR and PostGIS
3.Don’t Deve...
GETTING
INVOLVED
INSPIRE @ OSGEO
http://lists.osgeo.org/mailman/listinfo/inspire-data
http://wiki.osgeo.org/wiki/INSPIRE_data_experiments
M...
LINKS
STETL
PROJECT SITE
DOCU DEMOS AND INFO
http://inspire.kademo.nl
http://inspire-foss.org
http://stetl.org
XSLT for INSPIRE Transformation by Dutch Kadaster in ESDIN
XSLT for INSPIRE Transformation by Dutch Kadaster in ESDIN
Upcoming SlideShare
Loading in …5
×

XSLT for INSPIRE Transformation by Dutch Kadaster in ESDIN

1,603 views

Published on

Slides of presentation given at EuroGeographics KEN workshop on INSPIRE Data Harmonization, Paris oct 8-9, 2013: http://www.eurogeographics.org/event/inspire-ken-schema-transformation-workshop. Describes the XSLT-based INSPIRE Transformation technique used by Dutch Kadaster in EuroGeographics ESDIN INSPIRE project (2009-2011).

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,603
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

XSLT for INSPIRE Transformation by Dutch Kadaster in ESDIN

  1. 1. XSLT FOR INSPIRE TRANSFORMATION In ESDIN by Kadaster KEN - Paris - Oct 8, 2013
  2. 2. About Me Independent Open Source Geospatial Professional Secretary OSGeo Dutch Local Chapter Member of the Dutch OpenGeoGroep Just van den Broecke just@justobjects.nl www.justobjects.nl
  3. 3. OPEN SOURCE FOR INSPIRE MAKES SENSE Picture from: http://cameronshorter.blogspot.com
  4. 4. 3. COMMUNITY ENABLER
  5. 5. INSPIRE Projects 2009-2011 Dutch Kadaster - Kademo Lab - EURADIN and ESDIN inspire.kademo.nl - Ebrahim Hemmatnia - Ko van Raamsdonk - Haico van derVegt 2011 Kadaster - INSPIRE Transformations Key Registries Data CP,AD,TN,GN,HY inspire.kademo.nl 2011-2013 PDOK - National GeoPortal with INSPIRE www.pdok.nl 2010-now - cooperation deegree community - Lat/lon, Occam Labs www.deegree.org
  6. 6. Talk 1 XSLT - what, how ESDIN - INSPIRE transformation Kadaster Talk 2 formalizing approach from Talk 1 using Stetl framework for INSPIRE AGENDA
  7. 7. EXTENSIBLE STYLESHEET LANGUAGE (XSL) Origins : SGML+DSSSL ==> XSL for XML documents W3C XSL Working Group First called “XSL”, then split into three standards 1.XSL Transformations (XSLT) 2.XSL Formatting Objects “FOP” 3.XPath - XML Navigation/Query Language
  8. 8. PRINCIPLE The XSLT processor takes one or more XML source documents, plus one or more XSLT stylesheet modules, and processes them to produce an output document. The XSLT stylesheet contains a collection of template rules: instructions and other directives that guide the processor in the production of the output document. http://en.wikipedia.org/wiki/XSLT
  9. 9. EXAMPLE http://en.wikipedia.org/wiki/XSLT Input XML Document
  10. 10. EXAMPLE http://en.wikipedia.org/wiki/XSLT XSLT Stylesheet Document
  11. 11. EXAMPLE http://en.wikipedia.org/wiki/XSLT XML Result Document
  12. 12. EXAMPLE http://en.wikipedia.org/wiki/XSLT HTML Generation with Alternative XSLT Stylesheet
  13. 13. EXAMPLE http://en.wikipedia.org/wiki/XSLT (X)HTML Result Document (alternative Stylesheet)
  14. 14. XSLT PRINCIPLES Basically Tree Transformation Input: well-formed XML document Output: XML document or anything “text” (SQL!) Declarative, rule-based, functional, recursive But also: Structured and Procedural (named templates)
  15. 15. XSLT PRO’S Well-established (sinds 1999) stable standards huge amount of knowledge on the web Optimized XSLT tools in any programming language XML-based, same base language as source/target docs Compact, reusable stylesheets (ala subroutines) Extension points for custom code
  16. 16. XSLT PRO’S CONT. TEXT
  17. 17. IN THE BEGINNING... "In the Beginning was the Command Line" By Neal Stephenson http://www.cryptonomicon.com/beginning.html
  18. 18. XSLT CONS Complex intellectual challenge: thinking declarative/functional poorly understood, often messy stylesheets Poor scalability with large documents No GUI INSPIRE: only model transform (no coordinate transform)
  19. 19. IMPLEMENTATION
  20. 20. INSPIRE - WHAT WFS WMS CSW WPS . .Local Data INSPIRE Data Web Services
  21. 21. INSPIRE - DATA THEMES
  22. 22. INSPIRE - TRANSFORMATIONS source: Geonovum.nl
  23. 23. KADASTER - PHASE 1 COMBINED TRANSFORMATION On-the-fly TransformationOffline Transformation National Data (Oracle) Extract Transform Load (ETL) INSPIRE Data (PostGIS) Web Feature Service (WFS) INSPIRE GML
  24. 24. OSGeo - Bolsena - 2010
  25. 25. KADASTER - PHASE II OFFLINE TRANSFORM + DEEGREE INSPIRE View Service (WMS) Extract Transform Load (ETL) INSPIRE Feature Store (BLOB or Hybrid) INSPIRE Download Service (WFS) deegree 3 INSPIRE Publish 1) WFS-T 2) deegree loader Configuration Data - INSPIRE Data Themes (XSD) - Data Mappings (XML) - WMS Styling (SLD) Kadaster Data (Oracle)
  26. 26. KADASTER - PHASE II REUSABLE ETL + SERVICES INSPIRE View Service (WMS) Extract Transform Load (ETL) INSPIRE Feature Store (BLOB or Hybrid) INSPIRE Download Service (WFS) deegree 3 INSPIRE Publish 1) WFS-T 2) deegree loader Configuration Data - INSPIRE Data Themes (XSD) - Data Mappings (XML) - WMS Styling (SLD) Kadaster Data (Oracle) ReusableSpecific
  27. 27. KADASTER - PHASE II ETL CHAIN
  28. 28. ETL CHAIN - TOOLS • Extract • internal tools: e.g. Oracle to Shapefile or XML • Transform • GDAL/OGR - Coordinate and create Simple Features (GML) • XSLT - Model Transformation • Load • directly in PostGIS database • via deegree FeatureStore Loader • via WFS-T
  29. 29. SOFTWARE STACK Architecture PostGIS WFS deegree Local Data Scripts GDAL XSLT Unix shell ETL INSPIRE Download/View Services Tomcat Java J2EE Server Heron Mapping Client WFS-TFSLoad WMS SLD data flow API (web service) API storage ESDIN Test Framework Now Stetl!
  30. 30. XSLT STRUCTURE Local CP GML to INSPIRE SpatialDataset Local CP GML to INSPIRE GML Generate CP INSPIRE GML Reusable XSLT ScriptsReusable XSLT Scripts Theme CP Local AU GML to INSPIRE SpatialDataset Local AU GML to INSPIRE GML Generate AU INSPIRE GML Theme AU Local GN GML to INSPIRE SpatialDataset Local GN GML to INSPIRE GML Generate GN INSPIRE GML Theme GN Called by All Locally Specific XSL Generic XSL XSLT Template Call
  31. 31. XSLT - 3 MAIN STEPS/SCRIPTS 1.Generate Spatial Dataset GML Container (specific) 2.Extract data values from local OGR simple feature data (specific) 3. Call XSLT template per Theme Feature type (generic)
  32. 32. XSLT - STEP 1
  33. 33. XSLT - STEP 2
  34. 34. XSLT - STEP 3
  35. 35. XSLT - REUSE
  36. 36. THE “GUI” validated file contentproject files commands run deegree
  37. 37. CONCLUSIONS 1.XSLT for INSPIRE (Model) transformations ?YES 2.XSLT shines in combination with OGR and PostGIS 3.Don’t Develop INSPIRE Transforms in isolation but in context of your global INSPIRE SDI Architecture 4. Kadaster overall approach in ESDIN worked well
  38. 38. GETTING INVOLVED
  39. 39. INSPIRE @ OSGEO http://lists.osgeo.org/mailman/listinfo/inspire-data http://wiki.osgeo.org/wiki/INSPIRE_data_experiments MAILING LIST WIKI
  40. 40. LINKS STETL PROJECT SITE DOCU DEMOS AND INFO http://inspire.kademo.nl http://inspire-foss.org http://stetl.org

×