<?xml version="1.0" encoding="windows-1251" ?>

<xsl:stylesheet version="1.0"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

        <xsl:output method="xml" indent="yes" encoding="windows-1251" />

        <xsl:template name="norm">
                <xsl:param name="text"/>
                <xsl:value-of select="normalize-space(translate($text,'|',' '))"></xsl:value-of>
        </xsl:template>

        <xsl:template match="*">
                <xsl:element name="{local-name()}">
                        <xsl:for-each select="@*">
                                <xsl:attribute name="{name()}">
                                        <xsl:call-template name="norm"><xsl:with-param name="text"><xsl:value-of select="."/></xsl:with-param></xsl:call-template>

                        </xsl:attribute>
                        </xsl:for-each>
                        <xsl:apply-templates />
                </xsl:element>
        </xsl:template>

        <xsl:template match="text()">
                                        <xsl:call-template name="norm"><xsl:with-param name="text"><xsl:value-of select="."/></xsl:with-param></xsl:call-template>              
        </xsl:template>
</xsl:stylesheet>


