Vi prego potete darmi una mano?

1)Ho un file year.xml che ha una struttura molto semplice:
<el>
<pubblicazione anno="2001" url="....">
<titolo></titolo>
<descrizione></descrizione>
</pubblicazione>
...
</el>

Di pubblicazioni possono essercene all'infinito ma la struttura è fissa. In sostanza dovrebbe accadere questo: ho una pagina .html
con i seguenti link:

2003
2002
2001...etc.

puntano tutti allo stesso file year.xml ma gli passano un parametro in questo modo:

.../year.xml?ANNO=2002

Il file prova.xsl collegato dovrebbe prima testare il parametro passato e poi semplicemente stampare a video il contenuto di <TITOLO>
e <DESCRIZIONE>.

Il file prova.xsl (che non funziona...perchè?)
è questo:
codice:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:h="http://www.w3.org/HTML/1998/html4" xmlns:xlink="http://www.w3.org/1999/xlink">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl: param name="YEAR"/>
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;"/>
<LINK href="../stylesheet/main.css" rel="stylesheet" type="text/css"/>
</head>
<body bgcolor="#ffffff">

<xsl:if test="$YEAR=2003">
<xsl:for-each select="//pubblicazione/@YEAR='2003'">
<xsl:apply-templates select="pubblicazione">
</xsl:for-each>
</xsl:if>
							
<xsl:if test="$YEAR=2002">
<xsl:for-each select="//pubblicazione/@YEAR=2002">
<xsl:apply-templates select="pubblicazione">
</xsl:for-each>
</xsl:if>
							
(tanti if per quanti sono gli anni...)

</body>
</html>
</xsl:template>

<xsl:template match="pubblicazione">
<xsl:value-of select="titolo">
<xsl:value-of select="descrizione">
</xsl:template>

</xsl:stylesheet>
ma non mi visualizza nulla perchè?..
qualcuno può aiutarmi please???