<?xml version= "1.0"?> 

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" indent="yes"/>

<xsl:template match="/">
	<xsl:apply-templates select=".//*[@class='catalog']"/>
</xsl:template>

<xsl:template match="*[@class='catalog']"> 
	<catalog>
		<xsl:apply-templates select=".//*[@class='item']"/>
	</catalog>
</xsl:template>

<xsl:template match="*[@class='item']">
	<item>
		<xsl:apply-templates select=".//*[@class='product-number']"/>
		<xsl:apply-templates select=".//*[@class='description']"/>
		<xsl:apply-templates select=".//*[@class='price']"/>
	</item>
</xsl:template>

<xsl:template match="*[@class='product-number']">
	<product-number><xsl:value-of select="."/></product-number>
</xsl:template>

<xsl:template match="*[@class='description']">
	<description><xsl:value-of select="."/></description>
</xsl:template>

<xsl:template match="*[@class='price']">
	<price><xsl:value-of select="."/></price>
</xsl:template>

</xsl:stylesheet>