View stylesheet

XML schemas http://waste.eionet.europa.eu/schemas/packagingwaste/schema.xsd
Output type HTML
Description Factsheet (Waste Directive 94/62)
XSL file dir9462factsheet.xsl (Last modified: 07 Apr 2008 10:19 )
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
	<xsl:output 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:param name="xml_folder_uri"/>

	<xsl:variable name="labels" select="document(concat($xml_folder_uri,'dir9462_labels.xml'))/labels/itemset[@id='9462' and @xml:lang='en']"/>

	<xsl:template match="Questionnaire">
		<html>
			<head>
					<title><xsl:copy-of select="$labels/item[@id='h1']/text()"/></title>
			</head>
			<body>
				<h1><xsl:copy-of select="$labels/item[@id='h1']/text()"/></h1>
				<table border="1">
					<tr>
						<th colspan="2">
							<xsl:value-of select="$labels/item[@id='I-h2']/text()"/>
						</th>
					</tr>
					<xsl:apply-templates select="*[starts-with(local-name(.),'Quest9462-I-')]"/>
				</table>
				<table border="1">
					<tr>
						<th colspan="2">
							<xsl:value-of select="$labels/item[@id='II-h2']/text()"/>
						</th>
					</tr>
					<xsl:apply-templates select="*[starts-with(local-name(.),'Quest9462-II-')]"/>
				</table>
			</body>
		</html>
	</xsl:template>
	<xsl:template match="Quest9462-I-1a">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="true()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-I-1b-IfNo">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-I-2a">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="true()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-I-2b-IfYes">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="true()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-I-2c-IfYes">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-I-3a">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="true()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-I-3b-IfNo">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-1a">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="true()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-1b-IfNo">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-1c">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-2a">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="true()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-2b-IfYes">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-3a">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="true()"/>
		</xsl:call-template>

	</xsl:template>
	<xsl:template match="Quest9462-II-3b-IfNo">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-3c">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-5">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-5a">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="true()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-5b-IfYes">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-6">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-7">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-8a">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="true()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-8b-IfYes">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="true()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-8c-IfNo">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-9a">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="true()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-9b-IfNo">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-10a">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="true()"/>
		</xsl:call-template>
	</xsl:template>
	<xsl:template match="Quest9462-II-10b-IfYes">
		<xsl:call-template name="buildTR">
			<xsl:with-param name="yesno" select="false()"/>
		</xsl:call-template>
	</xsl:template>



	<!-- build table TR -->
	<xsl:template name="buildTR">
		<xsl:param name="yesno"/>
		<xsl:param name="label_id" select="substring(local-name(.),11)"/>

		<tr>
			<th>
				<xsl:copy-of select="$labels/item[@id=$label_id]/text()"/>
			</th>
			<td>
				<xsl:choose>
					<xsl:when test="$yesno=true()">
						<xsl:call-template name="YesNoUnknown">
							<xsl:with-param name="Param" select="."/>
						</xsl:call-template>
					</xsl:when>
					<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
				</xsl:choose>
			</td>
		</tr>
	</xsl:template>
	<!-- YesNoUnknown implementation -->
	<xsl:template name="YesNoUnknown">
		<xsl:param name="Param"/>
		<xsl:choose>
			<xsl:when test="$Param = '1' or $Param = 'true'">Yes</xsl:when>
			<xsl:when test="$Param = '0' or $Param = 'false'">No</xsl:when>
			<xsl:when test="$Param = ''">Unanswered</xsl:when>
		</xsl:choose>
	</xsl:template>
	<xsl:template match="*"/>
</xsl:stylesheet>