XML schema |
https://svn.eionet.europa.eu/repositories/Reportnet/Dataflows/OzoneDepletingSubstances/schema/ODSReporting.xsd
|
---|---|
Output type | HTML |
Description | HTML preview |
XSL file | preview_bdr_test.xsl (Last modified: 09 Mar 2016 15:03 ) |
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0" xmlns:ext="http://exslt.org/common" exclude-result-prefixes="xml"> <xsl:output method="xml" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" omit-xml-declaration="yes"/> <xsl:preserve-space elements="published reasons-specify"/> <!-- variables --> <xsl:variable name="isProducer" select="/ODSReporting/GeneralReportData/Company/Actor/Producer"/> <xsl:variable name="isImporter" select="/ODSReporting/GeneralReportData/Company/Actor/Importer"/> <xsl:variable name="isExporter" select="/ODSReporting/GeneralReportData/Company/Actor/Exporter"/> <xsl:variable name="isPauUser" select="/ODSReporting/GeneralReportData/Company/Actor/ProcessAgent"/> <xsl:variable name="isFdstUser" select="/ODSReporting/GeneralReportData/Company/Actor/Feedstock"/> <xsl:variable name="isDestructor" select="/ODSReporting/GeneralReportData/Company/Actor/Destruction"/> <xsl:variable name="noReporting" select="/ODSReporting/GeneralReportData/Company/Actor/NoReporting"/> <xsl:variable name="referenceYear" select="/ODSReporting/GeneralReportData/TransactionYear"/> <xsl:template match="ODSReporting"> <html> <!--xsl:attribute name="xml:lang"><xsl:value-of select="@xml:lang" /></xsl:attribute--> <head> <title>Factsheet</title> <style type="text/css"><![CDATA[ img { border: 2px solid #ccc; margin: 10px; } h1 { font-family: arial, verdana, sans-serif; font-size: 160%; border-bottom: 1px solid #999999; } h2 { font-size: 120%; padding-bottom: 0.5em; border-bottom: 1px solid #999999; } body { font-size: 80%; font-family: verdana, helvetica, arial, sans-serif; color: #333; } caption { display: none; font-family: vardana, verdana, helvetica, arial, sans-serif; text-align: left; font-size: 150%; } th { background-color:#f6f6f6; text-align:left; vertical-align: top; font-weight: normal; color: black; } table { font-size: 100%; border: 1px solid #bbb; margin: 0 0 2em 0; border-collapse: collapse; } table table { border: 0px solid #bbb; margin: 0; } th, td { font-size: 100%; border: 1px solid #bbb; padding: 2px 2px 2px 2px; } .has_table { border: 0px solid #bbb; padding: 0; } th.header_3 { padding: 0.4em 0; font-size: 120%; font-weight: bold; } th.tlabel { width: 300px; } .header_info { margin: 20px 0px; padding: 5px; font-size: 120%; border: 1px dashed #999999; background-color: #f0f0f0; } .header_info div { margin: 5px; } p.report_end { border-bottom: dashed; border-width: 2px; border-color: #000000; } sup { font-size:75% } .metadata_table tr th:first-child{ width:150px; } .metadata_table td{ width:350px; } .total{ font-weight:bold; color: black; background-color: #bbb; border: 1px solid #fff; } .num_cell{ text-align:right; background-color: #FFFFE0; } .substance_cell{ text-align:center; font-weight:bold; } .row_height{ height: 1em; } .bold{ font-weight:bold; } ]]> </style> </head> <body> <h1>Report on the Ozone depleting substances</h1> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="GeneralReportData"> <table class="metadata_table"> <tr> <th>Report status</th> <td> <span> <xsl:attribute name="style"> <xsl:choose> <xsl:when test="@status='submitted'">color:green</xsl:when> <xsl:when test="@status='confirmed'">color:orange</xsl:when> <xsl:otherwise>color:red</xsl:otherwise> </xsl:choose> ;font-weight:bold </xsl:attribute> <xsl:choose> <xsl:when test="@status='incomplete'">Incomplete</xsl:when> <xsl:when test="@status='confirmed'">In progress</xsl:when> <!-- <xsl:value-of select="concat('Report not certified; Company info: ',@status)"/> --> <xsl:when test="@status='submitted'">Submitted</xsl:when> <xsl:otherwise> <xsl:value-of select="@status"/> </xsl:otherwise> </xsl:choose> </span> </td> </tr> <xsl:if test="@status='submitted'"> <tr> <th>Date of Submission</th> <td> <xsl:value-of select="SubmissionDate"/> </td> </tr> </xsl:if> </table> <xsl:apply-templates mode="general"/> </xsl:template> <xsl:template match="SubmissionDate|TransactionYear" mode="general"/> <xsl:template match="Company" mode="general"> <h2>1. Reporting undertaking</h2> <table class="metadata_table"> <tr> <th>ODS number</th> <td> <xsl:value-of select="CompanyId"/> </td> </tr> <tr> <th>Company Name</th> <td> <xsl:value-of select="CompanyName"/> </td> </tr> <tr> <th>Company Address</th> <td> <xsl:value-of select="PostalAddress/StreetAddress"/> </td> </tr> <tr> <th></th> <td> <xsl:value-of select="PostalAddress/City"/> <xsl:if test="string-length(PostalAddress/Region) > 0">, <xsl:value-of select="PostalAddress/Region"/> </xsl:if> </td> </tr> <tr> <th>Region</th> <td> <xsl:value-of select="PostalAddress/Region"/> </td> </tr> <tr> <th>Postal Code</th> <td> <xsl:value-of select="PostalAddress/PostalCode"/> </td> </tr> <tr> <th>Country</th> <td> <xsl:value-of select="Country"/> </td> </tr> <tr> <th>EORI number</th> <td> <xsl:value-of select="EoriCode"/> </td> </tr> <tr> <th>VAT number</th> <td> <xsl:value-of select="VatCode"/> </td> </tr> <xsl:for-each select="ContactInfo"> <tr> <td colspan="2" class="row_height"/> </tr> <tr> <th class="transactionColum">Contact Person <xsl:if test="count(../ContactInfo) > 1">(<xsl:value-of select="position()"/>) </xsl:if> </th> <td class="generalReportDataColum"> <xsl:value-of select="ContactPerson"/> </td> </tr> <tr> <th class="transactionColum">Phone Number</th> <td class="generalReportDataColum"> <xsl:value-of select="Telephone"/> </td> </tr> <tr> <th class="transactionColum">Fax Number</th> <td class="generalReportDataColum"> <xsl:value-of select="FaxNumber"/> </td> </tr> <tr> <th class="transactionColum">Email Address</th> <td class="generalReportDataColum"> <xsl:value-of select="Email"/> </td> </tr> </xsl:for-each> <tr> <td colspan="2"> <span style="color:red;font-weight:bold"> <xsl:attribute name="style"> <xsl:choose> <xsl:when test="@status='confirmed' or @status='submitted' ">color:green</xsl:when> <xsl:otherwise>color:red</xsl:otherwise> </xsl:choose> ;font-weight:bold </xsl:attribute> <xsl:value-of select="@status"/> </span> </td> </tr> </table> <table class="metadata_table"> <tr> <th>Transaction Year</th> <td> <xsl:value-of select="../TransactionYear"/> </td> </tr> <tr> <th>Activities</th> <td> <xsl:if test="Actor/Producer='true'"> <div>Producer</div> </xsl:if> <xsl:if test="Actor/Importer='true'"> <div>Importer</div> </xsl:if> <xsl:if test="Actor/Exporter='true'"> <div>Exporter</div> </xsl:if> <xsl:if test="Actor/Destruction='true'"> <div>Destruction</div> </xsl:if> <xsl:if test="Actor/ProcessAgent='true'"> <div>Process Agent use</div> </xsl:if> <xsl:if test="Actor/Feedstock='true'"> <div>Feedstock use</div> </xsl:if> <xsl:if test="Actor/NoReporting='true'"> <div>Not obliged to report (NIL report)</div> </xsl:if> </td> </tr> </table> </xsl:template> <xsl:template match="ODSSubstances"> <xsl:if test="$noReporting='false' or count(ODSSubstances/Substance[string-length(Code) > 0]) > 0"> <h2>2. Definition of substances</h2> <table> <xsl:apply-templates/> </table> </xsl:if> </xsl:template> <xsl:template match="Substance"> <tr> <td> <xsl:value-of select="Code"/> </td> </tr> </xsl:template> <xsl:template match="ODSQuantities"> <xsl:apply-templates/> </xsl:template> <xsl:template match="TotalProduction"> <xsl:if test="$isProducer='true' or count(ProductionQuantity//Quantity[string-length(Value) > 0]) > 0"> <h2>3. Total production</h2> <table> <tr> <th align="center" width="200px">Use</th> <xsl:call-template name="SubstancesHeaderCols"/> </tr> <tr> <xsl:apply-templates/> <td style="text-align:right;font-weight:bold;"> <xsl:attribute name="colspan"> <xsl:value-of select="1"/> </xsl:attribute> Total </td> <xsl:for-each select="//ODSSubstances/Substance"> <xsl:variable name="substance"> <xsl:value-of select="Code"/> </xsl:variable> <td align="right" class="total"> <xsl:value-of select="format-number(sum(//ODSQuantities/TotalProduction/ProductionQuantity[ not (Subject/@usetype = 'emissions during production') ]/Quantity/Value[../SubstanceCode=$substance and string-length(.) > 0 and (number(.) > 0 or number(.) <= 0)]),'#')"/> </td> </xsl:for-each> </tr> </table> </xsl:if> </xsl:template> <xsl:template match="ProductionQuantity"> <tr> <xsl:apply-templates select="Subject"/> <xsl:for-each select="Quantity"> <xsl:apply-templates select="Value"/> </xsl:for-each> </tr> </xsl:template> <xsl:template match="CompanyQuantity"> <xsl:if test="Subject/@usetype != ''"> <tr> <xsl:apply-templates select="Company"/> <xsl:apply-templates select="Subject"/> <xsl:for-each select="Quantity"> <xsl:apply-templates select="Value"/> </xsl:for-each> </tr> </xsl:if> </xsl:template> <xsl:template match="Company"> <xsl:variable name="companyName"> <xsl:value-of select="CompanyName"/> <xsl:if test="string-length(CompanyName) > 0">;</xsl:if> </xsl:variable> <xsl:variable name="companyAddress"> <xsl:value-of select="CompanyAddress"/> <xsl:if test="string-length(CompanyAddress) > 0">;</xsl:if> </xsl:variable> <td> <xsl:value-of select="$companyName"/><xsl:value-of select="$companyAddress"/><xsl:value-of select="Country/@desc"/> </td> </xsl:template> <xsl:template match="ImportQuantity"> <tr> <xsl:apply-templates select="Subject"/> <td> <xsl:value-of select="CustomsProcedure"/><xsl:value-of select="Company/Country/@desc"/> </td> <td> <xsl:value-of select="Country/@desc"/> </td> <xsl:for-each select="Quantity"> <xsl:apply-templates select="Value"/> </xsl:for-each> </tr> </xsl:template> <xsl:template match="StockQuantity"> <tr> <td> <xsl:call-template name="DateLabel"> <xsl:with-param name="date"> <xsl:value-of select="./@date"/> </xsl:with-param> </xsl:call-template> <xsl:value-of select="Subject/@usetype"/> </td> <xsl:for-each select="Quantity"> <xsl:apply-templates select="Value"/> </xsl:for-each> </tr> </xsl:template> <xsl:template match="Quantity" mode="comments"> <xsl:if test="string-length(Description) > 0"> <xsl:variable name="datelabel"> <xsl:call-template name="DateLabel"> <xsl:with-param name="date"> <xsl:value-of select="../@date"/> </xsl:with-param> </xsl:call-template> </xsl:variable> <xsl:variable name="uselabel"> <xsl:value-of select="concat($datelabel, ' ', ../Subject/@usetype) "/> </xsl:variable> <tr> <td> <xsl:value-of select="SubstanceCode"/> </td> <td> <xsl:value-of select="$uselabel"/> </td> <td class="num_cell"> <xsl:value-of select="Value"/> </td> <td> <xsl:value-of select="Description"/> </td> </tr> </xsl:if> </xsl:template> <xsl:template match="RecycledReclaimedQuantity"> <tr> <xsl:apply-templates select="Subject"/> <xsl:for-each select="Quantity"> <xsl:apply-templates select="Value"/> </xsl:for-each> </tr> </xsl:template> <xsl:template match="Subject"> <td> <xsl:choose> <!-- <xsl:when test=".!='' and ./@usetype!='other'"> <xsl:value-of select="."/> </xsl:when> --> <xsl:when test="./@usetype='recycled'">Total quantity recycled</xsl:when> <xsl:when test="./@usetype='reclaimed'">Total quantity reclaimed</xsl:when> <xsl:when test=".!=''"> <xsl:value-of select="./@usetype"/>:<xsl:text> </xsl:text><xsl:value-of select="."/> </xsl:when> <xsl:otherwise> <xsl:value-of select="./@usetype"/> </xsl:otherwise> </xsl:choose> </td> </xsl:template> <xsl:template match="ExportQuantity"> <tr> <xsl:apply-templates select="Subject"/> <td> <xsl:value-of select="Country/@desc"/> </td> <xsl:for-each select="Quantity"> <xsl:apply-templates select="Value"/> </xsl:for-each> </tr> </xsl:template> <xsl:template match="SaleEUQuantity"> <tr> <xsl:apply-templates select="Company"/> <xsl:apply-templates select="Subject"/> <xsl:for-each select="Quantity"> <xsl:apply-templates select="Value"/> </xsl:for-each> </tr> </xsl:template> <xsl:template match="IndustrialRationalisation"> <xsl:if test="$isProducer='true' or count(CompanyQuantity//Quantity[string-length(Value) > 0]) > 0"> <h2>4. Production under industrial rationalisation</h2> <table> <tr> <th width="250px">Transferring undertaking</th> <th width="200px">Use</th> <xsl:call-template name="SubstancesHeaderCols"/> </tr> <xsl:apply-templates/> <xsl:call-template name="QuantitySumRow"> <xsl:with-param name="cols">2</xsl:with-param> <xsl:with-param name="tablename"> <xsl:value-of select="name(.)"/> </xsl:with-param> </xsl:call-template> </table> </xsl:if> </xsl:template> <xsl:template match="RecycledReclaimed"> <xsl:if test="$isProducer='true' or count(RecycledReclaimedQuantity//Quantity[string-length(Value) > 0]) > 0"> <h2>5. Recycling and reclamation by producers</h2> <table> <tr> <th width="250px">Recycling and reclamation (for any uses inside or outside EU)</th> <xsl:call-template name="SubstancesHeaderCols"/> </tr> <xsl:apply-templates/> <xsl:call-template name="QuantitySumRow"> <xsl:with-param name="cols">1</xsl:with-param> <xsl:with-param name="tablename"> <xsl:value-of select="name(.)"/> </xsl:with-param> </xsl:call-template> </table> </xsl:if> </xsl:template> <xsl:template match="TotalRecieved"> <xsl:if test="$noReporting='false' or count(CompanyQuantity//Quantity[string-length(Value) > 0]) > 0"> <h2>6. Quantities received from undertakings in the EU (e.g. purchases)</h2> <table> <tr> <th width="250px">Supplier</th> <th width="200px">Use</th> <xsl:call-template name="SubstancesHeaderCols"/> </tr> <xsl:apply-templates/> <xsl:call-template name="QuantitySumRow"> <xsl:with-param name="cols">2</xsl:with-param> <xsl:with-param name="tablename"> <xsl:value-of select="name(.)"/> </xsl:with-param> </xsl:call-template> </table> </xsl:if> </xsl:template> <xsl:template match="TotalImports"> <xsl:if test="$isImporter='true' or count(ImportQuantity//Quantity[string-length(Value) > 0]) > 0"> <h2>7. Total imports from countries or territories outside EU.</h2> <table> <tr> <th width="200px">Use</th> <th width="250px">Customs procedure</th> <th width="150px">Source country</th> <xsl:call-template name="SubstancesHeaderCols"/> </tr> <xsl:apply-templates/> <xsl:call-template name="QuantitySumRow"> <xsl:with-param name="cols">3</xsl:with-param> <xsl:with-param name="tablename"> <xsl:value-of select="name(.)"/> </xsl:with-param> </xsl:call-template> </table> </xsl:if> </xsl:template> <xsl:template match="TotalStocks"> <xsl:if test="$noReporting = 'false' or count(StockQuantity//Quantity[string-length(Value) > 0]) > 0"> <h2>8. Total stocks</h2> <table> <tr> <th width="200px">Total stocks at the beginning / end of reporting year</th> <xsl:call-template name="SubstancesHeaderCols"/> </tr> <xsl:apply-templates select="StockQuantity[@date = '01-01']"/> <xsl:call-template name="QuantitySumRow"> <xsl:with-param name="cols">1</xsl:with-param> <xsl:with-param name="date">01-01</xsl:with-param> <xsl:with-param name="sumtext"> <xsl:call-template name="DateLabel"> <xsl:with-param name="date">01-01</xsl:with-param> </xsl:call-template> Total </xsl:with-param> <xsl:with-param name="tablename"> <xsl:value-of select="name(.)"/> </xsl:with-param> </xsl:call-template> <xsl:apply-templates select="StockQuantity[@date = '12-31']"/> <xsl:call-template name="QuantitySumRow"> <xsl:with-param name="cols">1</xsl:with-param> <xsl:with-param name="date">12-31</xsl:with-param> <xsl:with-param name="sumtext"> <xsl:call-template name="DateLabel"> <xsl:with-param name="date">12-31</xsl:with-param> </xsl:call-template> Total </xsl:with-param> <xsl:with-param name="tablename"> <xsl:value-of select="name(.)"/> </xsl:with-param> </xsl:call-template> <tr> <td align="right;font-weight:bold">Stocks consumed</td> <xsl:for-each select="//ODSSubstances/Substance"> <xsl:variable name="code"> <xsl:value-of select="Code"/> </xsl:variable> <td align="right" class="total"> <xsl:variable name="consumed"> <xsl:value-of select="format-number(sum(//ODSQuantities/TotalStocks/StockQuantity/Quantity/Value[../SubstanceCode=$code and ../../@date = '01-01' and string-length(.) > 0 and (number(.) > 0 or number(.) <= 0)])- sum(//ODSQuantities/TotalStocks/StockQuantity/Quantity/Value[../SubstanceCode=$code and ../../@date = '12-31' and string-length(.) > 0 and (number(.) > 0 or number(.) <= 0)]),'#')"/> </xsl:variable> <xsl:choose> <xsl:when test="$consumed > 0"> <xsl:value-of select="$consumed"/> </xsl:when> <xsl:otherwise>0</xsl:otherwise> </xsl:choose> </td> </xsl:for-each> </tr> </table> <xsl:if test="count(StockQuantity/Quantity[string-length(Description)>0]) > 0"> <span style="font-weight:bold"> <sup>*</sup> Values have related comments that are listed in the table below </span> <h2>Comments with relation to the stocks</h2> <table> <tr> <th>Substance</th> <th>Date Usetype</th> <th>Quantity</th> <th>Comment</th> </tr> <xsl:apply-templates mode="comments"/> </table> </xsl:if> </xsl:if> </xsl:template> <xsl:template match="ProducerStocks"> <xsl:if test="$isImporter='true' or count(StockQuantity//Quantity[string-length(Value) > 0]) > 0"> <h2>9. Stocks for selected uses held by producers</h2> <table> <tr> <th align="center" width="200px">Stocks reported in table 8 resulting from production in the reporting year: </th> <xsl:call-template name="SubstancesHeaderCols"/> </tr> <xsl:apply-templates/> <xsl:call-template name="QuantitySumRow"> <xsl:with-param name="cols">1</xsl:with-param> <xsl:with-param name="date">12-31</xsl:with-param> <xsl:with-param name="sumtext"> <xsl:call-template name="DateLabel"> <xsl:with-param name="date">12-31</xsl:with-param> </xsl:call-template> Total </xsl:with-param> <xsl:with-param name="tablename"> <xsl:value-of select="name(.)"/> </xsl:with-param> </xsl:call-template> </table> </xsl:if> </xsl:template> <xsl:template match="SalesEUMarket"> <xsl:if test="$isImporter='true' or $isProducer='true' or $isExporter='true' or $isPauUser='true' or $isFdstUser='true' or count(SaleEUQuantity//Quantity[string-length(Value) > 0]) > 0"> <h2>10. Placing on the EU market during the reporting year (sales etc.)</h2> <table> <tr> <th align="center">Recipient</th> <th align="center">Use</th> <xsl:call-template name="SubstancesHeaderCols"/> </tr> <xsl:apply-templates/> <xsl:call-template name="QuantitySumRow"> <xsl:with-param name="cols">2</xsl:with-param> <xsl:with-param name="tablename"> <xsl:value-of select="name(.)"/> </xsl:with-param> </xsl:call-template> </table> </xsl:if> </xsl:template> <xsl:template match="ExportFromEU"> <xsl:if test="$isExporter='true' or count(ExportQuantity//Quantity[string-length(Value) > 0]) > 0"> <h2>11. Exports to countries and territories outside EU</h2> <table> <tr> <th align="center">Use</th> <th align="center">Destination country</th> <xsl:call-template name="SubstancesHeaderCols"/> </tr> <xsl:apply-templates/> <xsl:call-template name="QuantitySumRow"> <xsl:with-param name="cols">2</xsl:with-param> <xsl:with-param name="tablename"> <xsl:value-of select="name(.)"/> </xsl:with-param> </xsl:call-template> </table> </xsl:if> </xsl:template> <xsl:template match="PauFdst"> <xsl:if test="$isPauUser='true' or $isFdstUser='true' or count(ProcessQuantity//Quantity[string-length(Value) > 0]) > 0"> <h2>12. Feedstock and process agent use within the reporting undertaking</h2> <table> <tr> <th colspan="2" align="center">Processes</th> <xsl:call-template name="SubstancesHeaderCols"/> </tr> <xsl:apply-templates select="ProcessQuantity"/> <xsl:call-template name="QuantitySumRow"> <xsl:with-param name="cols">2</xsl:with-param> <xsl:with-param name="tablename"> <xsl:value-of select="name(.)"/> </xsl:with-param> <xsl:with-param name="subtable">MakeUp</xsl:with-param> <xsl:with-param name="sumtext">Total Make-up</xsl:with-param> </xsl:call-template> <xsl:call-template name="QuantitySumRow"> <xsl:with-param name="cols">2</xsl:with-param> <xsl:with-param name="tablename"> <xsl:value-of select="name(.)"/> </xsl:with-param> <xsl:with-param name="subtable">Emissions</xsl:with-param> <xsl:with-param name="sumtext">Total Emission</xsl:with-param> </xsl:call-template> </table> <xsl:if test="count(ProcessQuantity/*/Quantity[string-length(Description)>0]) > 0"> <span style="font-weight:bold"> <sup>*</sup> Values have related comments that are listed in the table below </span> <h2>Comments with relation to the use within the company</h2> <table> <tr> <th>Substance</th> <th>Process</th> <th>Usetype</th> <th>Quantity</th> <th>Estimated value</th> </tr> <xsl:for-each select="ProcessQuantity/MakeUp/Quantity"> <xsl:if test="string-length(Description) > 0"> <tr> <td> <xsl:value-of select="SubstanceCode"/> </td> <td> <xsl:value-of select="../../Process"/> </td> <td>Make-up</td> <td class="num_cell"> <xsl:value-of select="Value"/> </td> <td> <xsl:value-of select="EstimatedValue"/> </td> </tr> </xsl:if> </xsl:for-each> <xsl:for-each select="ProcessQuantity/Emissions/Quantity"> <xsl:if test="string-length(Description) > 0"> <tr> <td> <xsl:value-of select="SubstanceCode"/> </td> <td> <xsl:value-of select="../../Process"/> </td> <td>Emission</td> <td class="num_cell"> <xsl:value-of select="Value"/> </td> <td> <xsl:value-of select="EstimatedValue"/> </td> </tr> </xsl:if> </xsl:for-each> </table> </xsl:if> <xsl:apply-templates select="Comments"/> </xsl:if> </xsl:template> <xsl:template match="UseWithinReporting"> <xsl:if test="$noReporting='false'"> <h2>13. Use within the reporting undertaking (no longer applicable)</h2> <table> <tr/> </table> </xsl:if> </xsl:template> <xsl:template match="ReporterUses"> <xsl:if test="$referenceYear < 2015 and ($isImporter='true' or $isProducer='true' or $isExporter='true' or count(UsedQuantity//Quantity[string-length(Value) > 0]) > 0)"> <h2>13. Use within the reporting undertaking</h2> <table> <tr> <th align="center">Use</th> <xsl:call-template name="SubstancesHeaderCols"/> </tr> <xsl:apply-templates/> <xsl:call-template name="QuantitySumRow"> <xsl:with-param name="cols">1</xsl:with-param> <xsl:with-param name="tablename"><xsl:value-of select="name(.)"/></xsl:with-param> </xsl:call-template> </table> </xsl:if> </xsl:template> <xsl:template match="UsedQuantity"> <tr> <xsl:apply-templates select="Subject"/> <xsl:for-each select="Quantity"> <xsl:apply-templates select="Value"/> </xsl:for-each> </tr> </xsl:template> <xsl:template match="Destruction"> <xsl:if test="$isDestructor='true' or count(DestructionQuantity//Quantity[string-length(Value) > 0]) > 0"> <h2>14. Quantities destroyed at your facility</h2> <table> <tr> <th align="center">Destruction technology</th> <xsl:call-template name="SubstancesHeaderCols"/> </tr> <xsl:apply-templates/> <xsl:call-template name="QuantitySumRow"> <xsl:with-param name="cols">1</xsl:with-param> <xsl:with-param name="tablename"> <xsl:value-of select="name(.)"/> </xsl:with-param> </xsl:call-template> </table> </xsl:if> </xsl:template> <xsl:template match="Comments"> <xsl:if test="string-length(.) > 0"> <h2>Comments</h2> <div> <xsl:value-of select="."/> </div> </xsl:if> </xsl:template> <xsl:template match="DestructionQuantity"> <tr> <td> <xsl:value-of select="DestructionTechnology"/> </td> <xsl:for-each select="Quantity"> <xsl:apply-templates select="Value"/> </xsl:for-each> </tr> </xsl:template> <xsl:template match="ProcessQuantity"> <xsl:variable name="process"> <xsl:value-of select="Process"/> </xsl:variable> <xsl:variable name="comment"> <xsl:value-of select="concat(' ' , Process/@comment)"/> </xsl:variable> <xsl:variable name="containment"> <xsl:choose> <xsl:when test="string-length(Process/@containment) > 0"> <xsl:value-of select="concat(' Containment method : ', Process/@containment)"/> </xsl:when> </xsl:choose> </xsl:variable> <tr> <td rowspan="4"> <xsl:value-of select="concat(substring-after($process,' '), $comment, $containment )"/> </td> <td class="bold">Make-up</td> <xsl:for-each select="MakeUp/Quantity"> <xsl:apply-templates select="Value"/> </xsl:for-each> </tr> <td>Estimation next year</td> <xsl:for-each select="MakeUp/Quantity"> <xsl:apply-templates select="EstimatedValue "/> </xsl:for-each> <tr> <td class="bold">Emission</td> <xsl:for-each select="Emissions/Quantity"> <xsl:apply-templates select="Value"/> </xsl:for-each> </tr> <tr> <td>Estimation next year</td> <xsl:for-each select="Emissions/Quantity"> <xsl:apply-templates select="EstimatedValue "/> </xsl:for-each> </tr> </xsl:template> <xsl:template match="Process"> <td rowspan="4"> <xsl:value-of select="."/> </td> </xsl:template> <xsl:template name="QuantitySumRow"> <xsl:param name="tablename"/> <xsl:param name="date"/> <xsl:param name="sumtext"/> <xsl:param name="cols"/> <xsl:param name="subtable"/> <tr> <td style="text-align:right;font-weight:bold;"> <xsl:attribute name="colspan"> <xsl:value-of select="$cols"/> </xsl:attribute> <xsl:choose> <xsl:when test="$sumtext=''">Total</xsl:when> <xsl:otherwise> <xsl:value-of select="$sumtext"/> </xsl:otherwise> </xsl:choose> </td> <xsl:for-each select="//ODSSubstances/Substance"> <xsl:variable name="code"> <xsl:value-of select="Code"/> </xsl:variable> <xsl:call-template name="QuantitySumCol"> <xsl:with-param name="substancecode"> <xsl:value-of select="$code"/> </xsl:with-param> <xsl:with-param name="tablename"> <xsl:value-of select="$tablename"/> </xsl:with-param> <xsl:with-param name="subtable"> <xsl:value-of select="$subtable"/> </xsl:with-param> <xsl:with-param name="date"> <xsl:value-of select="$date"/> </xsl:with-param> </xsl:call-template> </xsl:for-each> </tr> </xsl:template> <xsl:template name="QuantitySumCol"> <xsl:param name="tablename"/> <xsl:param name="substancecode"/> <xsl:param name="subtable"/> <xsl:param name="date"/> <td align="right" class="total"> <xsl:choose> <xsl:when test="$subtable != ''"> <xsl:value-of select="format-number(sum(//ODSQuantities/*[name()=$tablename]/*/*[name()=$subtable]/Quantity/Value[../SubstanceCode=$substancecode and string-length(.) > 0 and (number(.) > 0 or number(.) <= 0)]),'#')"/> </xsl:when> <xsl:when test="$date != ''"> <xsl:value-of select="format-number(sum(//ODSQuantities/*[name()=$tablename]/*/Quantity/Value[../SubstanceCode=$substancecode and (substring(../../@date, 6,5) = $date or ../../@date = $date) and string-length(.) > 0 and (number(.) > 0 or number(.) <= 0)]),'#')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="format-number(sum(//ODSQuantities/*[name()=$tablename]/*/Quantity/Value[../SubstanceCode=$substancecode and string-length(.) > 0 and (number(.) > 0 or number(.) <= 0)]),'#')"/> </xsl:otherwise> </xsl:choose> </td> </xsl:template> <xsl:template name="DateLabel"> <xsl:param name="date"/> <xsl:choose> <xsl:when test="$date = '01-01'"> At 01 January </xsl:when> <xsl:when test="$date = '12-31'"> At 31 December </xsl:when> <xsl:otherwise> At <xsl:value-of select="$date"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="SubstancesHeaderCols"> <xsl:for-each select="//ODSSubstances/Substance"> <th width="100px" class="substance_cell"> <xsl:value-of select="Code"/> </th> </xsl:for-each> </xsl:template> <xsl:template match="Value"> <td class="num_cell"> <xsl:value-of select="."/> </td> </xsl:template> <xsl:template match="EstimatedValue"> <td class="num_cell"> <xsl:value-of select="."/> </td> </xsl:template> <xsl:template match="*"> </xsl:template> </xsl:stylesheet>
European Environment Agency
Kgs. Nytorv 6, DK-1050 Copenhagen K, Denmark