| XML schema |
http://dd.eionet.europa.eu/schemas/fgases/FGasesReporting.xsd
|
|---|---|
| Output type | SQL |
| Description | SQL insert |
| XSL file | fgases-sql.xsl (Last modified: 11 Feb 2014 09:17 ) |
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="common.xsl"/>
<xsl:output method="text" />
<xsl:param name="envelopeurl" />
<xsl:param name="isreleased" value="1"/>
<xsl:param name="filename" />
<xsl:param name="releasetime" />
<xsl:variable name="reportid" select="concat($envelopeurl, '/', $filename , '#', $releasetime)"/>
<xsl:template match="FGasesReporting">
<xsl:text></xsl:text>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="GeneralReportData">
<xsl:text>
INSERT INTO data_report VALUES (</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$reportid"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$envelopeurl"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$isreleased"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="datetime"><xsl:with-param name="value" select="$releasetime"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$filename"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="@status"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Company/CompanyId"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Company/CompanyName"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Company/PostalAddress/StreetAddress"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Company/PostalAddress/City"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Company/PostalAddress/Region"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Company/PostalAddress/PostalCode"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Company/Country"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Company/EoriCode"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Company/VatCode"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="SubmissionDate"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="TransactionYear"/></xsl:call-template><xsl:text>,</xsl:text>
<!-- Activities -->
<xsl:call-template name="boolean"><xsl:with-param name="value" select="Company/Activities/Production[@gasGroup='HFC']"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="boolean"><xsl:with-param name="value" select="Company/Activities/Production[@gasGroup='PFC']"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="boolean"><xsl:with-param name="value" select="Company/Activities/Production[@gasGroup='SF6']"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="boolean"><xsl:with-param name="value" select="Company/Activities/Import[@gasGroup='HFC']"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="boolean"><xsl:with-param name="value" select="Company/Activities/Import[@gasGroup='PFC']"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="boolean"><xsl:with-param name="value" select="Company/Activities/Import[@gasGroup='SF6']"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="boolean"><xsl:with-param name="value" select="Company/Activities/Export"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="boolean"><xsl:with-param name="value" select="Company/Activities/NoReporting"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:text>''</xsl:text><!-- comments -->
<xsl:text>);</xsl:text>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="ContactInfo">
<xsl:text>
INSERT INTO data_company_contacts VALUES (</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$reportid"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Telephone"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="FaxNumber"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Email"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="ContactPerson"/></xsl:call-template>
<xsl:text>);</xsl:text>
</xsl:template>
<xsl:template match="Report">
<xsl:variable name="gasGroup" select="../@gasGroup"/>
<xsl:variable name="gas" select="Gas"/>
<xsl:for-each select="Transactions/Transaction">
<xsl:if test="string-length(ValueInTons) > 0 or string-length(Description) > 0">
<xsl:text>
INSERT INTO data_report_values VALUES (</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$reportid"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="../@type"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$gasGroup"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="number"><xsl:with-param name="value" select="$gas/GasId"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$gas/Code"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="boolean"><xsl:with-param name="value" select="$gas/IsBlend"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="boolean"><xsl:with-param name="value" select="$gas/IsNew"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$gas/PreparationComposition"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Name"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="number"><xsl:with-param name="value" select="ValueInTons"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:text>'',</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Description"/></xsl:call-template>
<xsl:text>);</xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="CoProducerReport">
<xsl:variable name="gasGroup" select="../@gasGroup"/>
<xsl:variable name="coProducer" select="CoProducer"/>
<xsl:variable name="reportType" select="concat('CoProducer-',@type)"/>
<xsl:variable name="transactionName">
<xsl:choose>
<xsl:when test="@type='sale'">Co-Producer_Sales_to</xsl:when>
<xsl:otherwise>Co-Producer_Purchases_from</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:for-each select="Transactions/Transaction">
<xsl:if test="string-length(ValueInTons) > 0 and string-length(GasCode) > 0 and string-length($coProducer) > 0">
<xsl:text>
INSERT INTO data_report_values VALUES (</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$reportid"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$reportType"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$gasGroup"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:text>0 ,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="GasCode"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:text>0, 0, '',</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$transactionName"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="number"><xsl:with-param name="value" select="ValueInTons"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$coProducer"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:text>''</xsl:text>
<xsl:text>);</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
<!-- New blends -->
<xsl:template match="Gas">
<xsl:if test="IsNew = 'true' and
count(BlendComponents/Component[string-length(Code) > 0 and string-length(Percentage) > 0]) > 0">
<xsl:variable name="blendName" select="Code" />
<xsl:for-each select="BlendComponents/Component">
<xsl:text>
INSERT INTO data_blend_components VALUES (</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$reportid"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="$blendName"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="number"><xsl:with-param name="value" select="GasId"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="string"><xsl:with-param name="value" select="Code"/></xsl:call-template><xsl:text>,</xsl:text>
<xsl:call-template name="number"><xsl:with-param name="value" select="Percentage"/></xsl:call-template>
<xsl:text>);</xsl:text>
</xsl:for-each>
</xsl:if>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
European Environment Agency
Kgs. Nytorv 6, DK-1050 Copenhagen K, Denmark