| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?xml version="1.0" encoding="UTF-8"?>
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:Types__x3A__wfs="https://biuro.biall-net.pl/wfs/default_db/Types/wfs.xsd"
- xmlns:gml="http://www.opengis.net/gml"
- exclude-result-prefixes="xs"
- version="2.0">
- <!-- @2016-11 styl do stworzenia transakcji do WFS na bazie obiektu XML bindera -->
-
- <xsl:output indent="yes"/>
- <xsl:strip-space elements="*"/>
-
- <xsl:param name="Types__x3A__wfs:table_to_insert" required="yes"/>
- <xsl:param name="Types__x3A__wfs:xmlns_table_to_insert" required="yes"/>
- <xsl:template match="*" mode="Types__x3A__wfs:MakeTransactionInsert" > <!--mode="Types__x3A__wfs:prepare_transaction" -->
- <xsl:param name="Types__x3A__wfs:table_to_insert" select="$Types__x3A__wfs:table_to_insert"/> <!-- MK_BIALE_PLAMY -->
- <xsl:param name="Types__x3A__wfs:xmlns_table_to_insert" select="$Types__x3A__wfs:xmlns_table_to_insert"/><!-- https://biuro.biall-net.pl/wfs/default_db/MK_BIALE_PLAMY-->
- <xsl:param name="Types__x3A__wfs:element_lon" select="'lng'"/>
- <xsl:param name="Types__x3A__wfs:element_lat" select="'lat'"/>
- <xsl:param name="Types__x3A__wfs:element_the_geom" select="'the_geom'"/>
- <xsl:param name="gml:srsName" select="'EPSG:4326'"/>
- <xsl:param name="gml:element_type" select="'Point'"/>
- <Transaction
- xmlns="http://www.opengis.net/wfs"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- version="1.0.0"
- service="WFS"
- xmlns:p5_default_db="https://biuro.biall-net.pl/wfs/default_db"
- xmlns:gml="http://www.opengis.net/gml">
- <xsl:for-each select="row">
- <Insert namespace="http://www.opengis.net/wfs" >
- <xsl:element name="{$Types__x3A__wfs:table_to_insert}" namespace="{$Types__x3A__wfs:xmlns_table_to_insert}" inherit-namespaces="no">
- <xsl:for-each select="./*">
- <xsl:choose>
- <xsl:when test="name()=$Types__x3A__wfs:element_lat or name()=$Types__x3A__wfs:element_lon"/>
- <xsl:otherwise>
- <xsl:element name="{name()}" namespace="{$Types__x3A__wfs:xmlns_table_to_insert}" inherit-namespaces="no" >
- <xsl:value-of select="text()"/>
- </xsl:element>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- <xsl:if test="./node()/name()=$Types__x3A__wfs:element_lon and ./node()/name()=$Types__x3A__wfs:element_lat">
- <xsl:element name="{$Types__x3A__wfs:element_the_geom}" namespace="{$Types__x3A__wfs:xmlns_table_to_insert}">
- <xsl:element name="gml:Point" exclude-result-prefixes="#all" xmlns:gml="http://www.opengis.net/gml">
- <xsl:attribute name="srsName" select="$gml:srsName"/><!-- cs="," ts=" " -->
- <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs=" " ts=","><xsl:value-of select="./node()[name()=$Types__x3A__wfs:element_lon]/text()"/><xsl:value-of select="' '"/><xsl:value-of select="./node()[name()=$Types__x3A__wfs:element_lat]/text()"/></gml:coordinates>
- </xsl:element>
- </xsl:element>
- </xsl:if>
- </xsl:element>
- </Insert>
- </xsl:for-each>
- </Transaction>
- </xsl:template>
- </xsl:stylesheet>
|