source: proto/gml2svg/lib/stylesheets/xslt_opt_intel/Lake.xslt @ 1703

Last change on this file since 1703 was 1703, checked in by ksherdy, 8 years ago

Added gml2svg prototypes.

  • Property svn:executable set to *
File size: 6.6 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsl:transform xmlns="http://www.w3.org/2000/svg" xmlns:van="http://www.galdosinc.com/vancouver"
3               xmlns:gml="http://www.opengis.net/gml"
4               xmlns:ogc="http://www.opengis.net/ogc"
5               xmlns:sld="http://www.opengis.net/sld"
6               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
7               xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
8               xmlns:Extfun="/org.opengis.gml.StyleExt"
9               version="2.0"
10               exclude-result-prefixes="van gml ogc sld xsi xsl Extfun">
11   <xsl:output indent="no" method="xml" encoding="UTF-8" omit-xml-declaration="yes"/>
12   <strip-space elements="*"/>
13   <xsl:param name="height" select="800"/>
14   <xsl:param name="width" select="800"/>
15   <xsl:param name="bbox"/>
16   <!--Root Node  ==================================================================-->
17    <xsl:template match="/">
18      <svg width="{$width}" height="{$height}">
19         <g transform="scale({format-number($scaleX,&#34;#.#################&#34;)},{format-number(-1 * $scaleY,&#34;#.#################&#34;)}) translate({format-number(-1*$x1,&#34;######.000000&#34;)},{format-number(-1*$y2,&#34;######.000000&#34;)})"
20            style="fill:rgb(0,102,204);fill-opacity:1.0;">
21            <xsl:apply-templates select="//van:Lake/gml:extentOf"/>
22         </g>
23      </svg>
24   </xsl:template>
25   <!--Layer  ==================================================================-->
26    <xsl:template match="van:Lake/gml:extentOf">
27      <xsl:call-template name="Polygon"/>
28   </xsl:template>
29   <!--Polygon ==================================================================-->
30    <xsl:template name="Polygon">
31      <xsl:variable name="id" select="../@gml:id"/>
32      <xsl:variable name="d">
33         <xsl:choose>
34            <xsl:when test=".//gml:posList">
35               <xsl:apply-templates mode="Path" select=".//gml:posList"/>
36            </xsl:when>
37            <xsl:otherwise>
38               <xsl:apply-templates mode="Path" select=".//gml:coordinates"/>
39            </xsl:otherwise>
40         </xsl:choose>
41      </xsl:variable>
42      <path id="{$id}" d="{$d}" onmouseover="showTooltip(evt)"
43            onmouseout="hideTooltip(evt)"/>
44   </xsl:template>
45   <!--Line ==================================================================-->
46    <xsl:template name="Line">
47      <xsl:variable name="id" select="../@gml:id"/>
48      <xsl:variable name="d">
49         <xsl:choose>
50            <xsl:when test=".//gml:posList">
51               <xsl:apply-templates mode="Path" select=".//gml:posList"/>
52            </xsl:when>
53            <xsl:otherwise>
54               <xsl:apply-templates mode="Path" select=".//gml:coordinates"/>
55            </xsl:otherwise>
56         </xsl:choose>
57      </xsl:variable>
58      <path id="{$id}" d="{$d}" onmouseover="showTooltip(evt)"
59            onmouseout="hideTooltip(evt)"/>
60   </xsl:template>
61   <!--Point ==================================================================-->
62    <xsl:template name="Point"><!--TODO - Implement Optimized Point geometry types.--></xsl:template>
63   <!--Variable Definitions ==================================================================-->
64    <xsl:variable name="boundingBox">
65      <xsl:value-of select="string($bbox)"/>
66   </xsl:variable>
67   <!--==================================================================-->
68    <xsl:variable name="sumY">
69      <xsl:value-of select="Extfun:getSumY(string($boundingBox), string(@decimal), string(@cs), string(@ts))"/>
70   </xsl:variable>
71   <!--==================================================================-->
72    <xsl:variable name="scaleX">
73      <xsl:value-of select="Extfun:getScaleX(string($width), string($boundingBox), string(@decimal), string(@cs), string(@ts))"/>
74   </xsl:variable>
75   <!--==================================================================-->
76    <xsl:variable name="scaleY">
77      <xsl:value-of select="Extfun:getScaleY(string($width), string($boundingBox), string(@decimal), string(@cs), string(@ts))"/>
78   </xsl:variable>
79   <!--==================================================================-->
80    <xsl:variable name="x1">
81      <xsl:value-of select="Extfun:getX1(string($boundingBox), string(@decimal), string(@cs), string(@ts))"/>
82   </xsl:variable>
83   <!--==================================================================-->
84    <xsl:variable name="y1">
85      <xsl:value-of select="Extfun:getY1(string($boundingBox), string(@decimal), string(@cs), string(@ts))"/>
86   </xsl:variable>
87   <!--==================================================================-->
88    <xsl:variable name="y2">
89      <xsl:value-of select="Extfun:getY2(string($boundingBox), string(@decimal), string(@cs),  string(@ts))"/>
90   </xsl:variable>
91   <!--==================================================================-->
92    <xsl:template match="gml:pos" mode="PointX">
93      <xsl:value-of select="Extfun:getPointX(string($scaleX), string($x1), string(text()), string(@decimal), ' ')"/>
94   </xsl:template>
95   <!--==================================================================-->
96    <xsl:template match="gml:pos" mode="PointY">
97      <xsl:value-of select="Extfun:getPointY(string($sumY), string($scaleY), string($y1), string(text()), string(@decimal), ' ')"/>
98   </xsl:template>
99   <!--==================================================================-->
100    <xsl:template match="gml:posList" mode="Path"><!--TODO--></xsl:template>
101   <!--==================================================================-->
102    <xsl:template match="gml:coordinates" mode="PointX">
103      <xsl:value-of select="Extfun:getPointX(string($scaleX), string($x1), string(text()), string(@decimal), string(@cs))"/>
104   </xsl:template>
105   <!--==================================================================-->
106    <xsl:template match="gml:coordinates" mode="PointY">
107      <xsl:value-of select="Extfun:getPointY(string($sumY), string($scaleY), string($y1), string(text()), string(@decimal), string(@cs))"/>
108   </xsl:template>
109   <!--==================================================================-->
110    <xsl:template match="gml:coordinates" mode="Path">
111      <xsl:variable name="svg-path"/>
112      <xsl:variable name="svg-prefix" select="substring-before(string(text()),' ')"/>
113      <xsl:variable name="svg-suffix" select="substring-after(string(text()),' ')"/>
114      <xsl:choose>
115         <xsl:when test="string-length($svg-suffix) &gt; 0">
116            <xsl:value-of select="concat('M',$svg-prefix,' L',$svg-suffix)"/>
117         </xsl:when>
118         <xsl:otherwise>
119            <xsl:value-of select="''"/>
120         </xsl:otherwise>
121      </xsl:choose>
122   </xsl:template>
123</xsl:transform>
Note: See TracBrowser for help on using the repository browser.