<?xml version="1.1" encoding="ISO-8859-1"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp "&#160;">
]>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:java="xalan://xml.apache.org/xalan/java"
    xmlns="http://www.xemelios.org/namespaces#FEN0071A"
    xmlns:n="http://www.xemelios.org/namespaces#FEN0071A"
    xmlns:added="http://projets.admisource.gouv.fr/xemelios/namespaces#added"
    xmlns:ano="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally"
    xmlns:txt2xml="http://www.xemelios.org/namespaces#txt2xml" exclude-result-prefixes="java"
    version="2.0">

    <xsl:output standalone="yes" method="xml" indent="yes"/>

    <!--xsl:output encoding="##output-encoding##"/-->
    <!--xsl:output version="##xml-version##"/-->
    <xsl:output version="1.0"/>

    <xsl:param name="language" select="'fr'"/>

    <xsl:param name="CodeBudget"/>
    <xsl:param name="LibelleBudget"/>
    <xsl:param name="CodeCollectivite"/>
    <xsl:param name="LibelleCollectivite"/>

    <xsl:template match="/*[position()=1]">
        <xsl:choose>
            <xsl:when test="local-name(.) = 'DocSortiesDirectesStock'">
                <DocSortiesDirectesStock xmlns="http://www.xemelios.org/namespaces#FEN0071A"
                    xmlns:n="http://www.xemelios.org/namespaces#FEN0071A"
                    xmlns:added="http://projets.admisource.gouv.fr/xemelios/namespaces#added"
                    xmlns:ano="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally"
                    xmlns:txt2xml="http://www.xemelios.org/namespaces#txt2xml">
                    <!--xsl:element name="Collectivite" namespace="http://www.xemelios.org/namespaces#FEN0029A">
                        <xsl:element name="Siret" namespace="http://www.xemelios.org/namespaces#FEN0029A">
                            <xsl:attribute name="V" select="$CodeCollectivite"/>                            
                        </xsl:element>
                        <xsl:element name="Libelle" namespace="http://www.xemelios.org/namespaces#FEN0029A">
                            <xsl:attribute name="V" select="$LibelleCollectivite"/>                            
                        </xsl:element>
                    </xsl:element>
                    <xsl:element name="Budget" namespace="http://www.xemelios.org/namespaces#FEN0029A">
                        <xsl:element name="Code" namespace="http://www.xemelios.org/namespaces#FEN0029A">
                            <xsl:attribute name="V" select="$CodeBudget"/>                            
                        </xsl:element>
                        <xsl:element name="Libelle" namespace="http://www.xemelios.org/namespaces#FEN0029A">
                            <xsl:attribute name="V" select="$LibelleBudget"/>                            
                        </xsl:element>
                        </xsl:element-->
                    <xsl:for-each select="./*">
                        <xsl:call-template name="writeElement">
                            <xsl:with-param name="el" select="."/>
                        </xsl:call-template>
                    </xsl:for-each>
                </DocSortiesDirectesStock>
            </xsl:when>
        </xsl:choose>
    </xsl:template>

    <xsl:template name="writeElement">
        <xsl:param name="el"/>
        <xsl:choose>
            <xsl:when
                test="namespace-uri($el) = 'http://projets.admisource.gouv.fr/xemelios/namespaces#anomally'">
                <xsl:element name="{name($el)}"
                    namespace="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally">
                    <xsl:for-each select="$el/@*">
                        <xsl:attribute name="{name(.)}" namespace="{namespace-uri(.)}">
                            <xsl:value-of select="."/>
                        </xsl:attribute>
                    </xsl:for-each>
                    <xsl:value-of select="text()" disable-output-escaping="yes"/>
                    <xsl:for-each select="$el/*">
                        <xsl:call-template name="writeElement">
                            <xsl:with-param name="el" select="."/>
                        </xsl:call-template>
                    </xsl:for-each>
                </xsl:element>
            </xsl:when>
            <xsl:otherwise>
                <xsl:element name="{name($el)}">
                    <!--xsl:if test="$el/text() and name($el/parent::node()/parent::node())='DP_DIRECTE'">
                        <xsl:attribute name="V" select="$el/text()"/>
                        </xsl:if-->
                    <xsl:for-each select="$el/@*">
                        <xsl:attribute name="{name(.)}">
                            <xsl:value-of select="."/>
                        </xsl:attribute>
                    </xsl:for-each>
                    <!-- ajouts Attributs -->
                    <xsl:choose>
                        <xsl:when
                            test="contains('|SDS|POSTE|',concat('|',name($el),'|'))">
                            <xsl:attribute name="generated-id" namespace="http://projets.admisource.gouv.fr/xemelios/namespaces#added">
                                <xsl:value-of select="generate-id()"/>
                            </xsl:attribute>
                        </xsl:when>
                    </xsl:choose>
                    <!-- recursion -->
                    <xsl:for-each select="$el/*">
                        <xsl:call-template name="writeElement">
                            <xsl:with-param name="el" select="."/>
                        </xsl:call-template>
                    </xsl:for-each>
                    <xsl:value-of select="$el/text()"/>
                </xsl:element>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

</xsl:stylesheet>
