source: proto/gml2svg/Java/gml2svgJ/res/generate_duplicates.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: 2.3 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fps="http://www.galdosinc.com/fps" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:van="http://www.galdosinc.com/vancouver" xmlns:wfs="http://www.opengis.net/wfs" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
3  <xsl:output indent="yes" 
4    encoding="UTF-8" 
5    method="xml" 
6    omit-xml-declaration="yes" 
7    version="1.0"/>
8 
9  <xsl:param name="duplicates">1</xsl:param>
10 
11  <xsl:template match="/">
12    <xsl:element name="wfs:FeatureCollection">
13      <xsl:namespace name="fps">http://www.galdosinc.com/fps</xsl:namespace>
14      <xsl:namespace name="gml">http://www.opengis.net/gml</xsl:namespace>
15      <xsl:namespace name="ogc">http://www.opengis.net/ogc</xsl:namespace>
16      <xsl:namespace name="van">http://www.galdosinc.com/vancouver</xsl:namespace>
17      <xsl:namespace name="wfs">http://www.opengis.net/wfs</xsl:namespace>
18      <xsl:namespace name="xlink">http://www.w3.org/1999/xlink</xsl:namespace>       
19      <xsl:namespace name="xsi">http://www.w3.org/2001/XMLSchema-instance</xsl:namespace>       
20      <xsl:copy-of select="wfs:FeatureCollection/gml:boundedBy" copy-namespaces="no"/>
21      <xsl:apply-templates select="wfs:FeatureCollection/gml:featureMember"/>
22    </xsl:element>     
23  </xsl:template>
24 
25  <xsl:template match="wfs:FeatureCollection/gml:featureMember">
26    <xsl:call-template name="duplicate">
27      <xsl:with-param name="count" select="number($duplicates)"/>
28    </xsl:call-template>
29  </xsl:template>
30 
31  <xsl:template name="duplicate">
32    <xsl:param name="count"/>
33    <xsl:if test="$count > 0">
34      <xsl:element name="gml:featureMember" namespace="http://www.opengis.net/gml">
35        <xsl:element name="{name(child::*[1])}">
36          <xsl:attribute name="gml:id" select="concat(child::*[1]/@gml:id,'-',$count)"/>
37          <xsl:copy-of select="child::*[1]/child::*" copy-namespaces="no"/>
38        </xsl:element>
39      </xsl:element>
40      <xsl:call-template name="duplicate">
41        <xsl:with-param name="count" select="$count - 1"/>
42      </xsl:call-template>
43    </xsl:if>
44  </xsl:template>
45 
46</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.