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