<?xml version="1.0" 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:n="http://www.minefi.gouv.fr/cp/helios/pes_v2/erar/r0/restit"
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 xmlns:added="http://projets.admisource.gouv.fr/xemelios/namespaces#added"
 xmlns:ano="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally"
 exclude-result-prefixes="java" version="2.0">

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

 <xsl:output encoding="ISO-8859-1"/>
 <xsl:output version="1.0"/>
 
 <xsl:param name="language" select="'fr'"/>
 
 <xsl:variable name="nomenclature">
  <CatTiers>
   <desc code="01">Personne physique</desc>
   <desc code="02">Personne morale de droit privé</desc>
   <desc code="03">Personne morale de droit public</desc>
   <desc code="04">Inconnu</desc>
  </CatTiers>
  <NatJur>
   <desc code="00">Inconnue</desc>
   <desc code="01">Particulier</desc>
   <desc code="02">Artisan comm. agric.</desc>
   <desc code="03">Société</desc>
   <desc code="04">Caisse assur. mal.</desc>
   <desc code="05">Caisse complém.</desc>
   <desc code="06">Association</desc>
   <desc code="07">État ou org. état</desc>
   <desc code="08">Etab. public nat.</desc>
   <desc code="09">Collect. territor.</desc>
   <desc code="10">Autres Etab. Pub, Etat étr.,am</desc>
   <desc code="11">Caisse alloc. fam.</desc>
  </NatJur>
  <EtatEtape>
   <!--desc code="00">Avis Somme à payer</desc>
   <desc code="01">Lettre rappel</desc>
   <desc code="02">Commandement</desc>
   <desc code="03">Mise en demeure</desc>
   <desc code="04">Saisie attribution</desc>
   <desc code="05">Saisie attribution CAF</desc>
   <desc code="06">Saisie vente</desc>
   <desc code="07">Saisie rémunération</desc>
   <desc code="08">Vente</desc>
   <desc code="09">Poursuite extérieure</desc>
   <desc code="10">Saisie des coffres-forts</desc>
   <desc code="11">Saisie des véhicules à moteur</desc>
   <desc code="12">Saisie des valeurs mobilières de placement et autres biens d'associés</desc>
   <desc code="13">Autorisation Commandement</desc>
   <desc code="14">Autorisation saisie</desc>
   <desc code="15">Avis avant état de poursuite extérieure</desc-->
   <desc code="0">Rien</desc>
   <desc code="1">Courante</desc>
   <desc code="3">Passée</desc>
   <desc code="4">Possible</desc>
   <desc code="5">A faire</desc>
   <desc code="6">Annulée</desc>
  </EtatEtape>
  <EtatValidation>
   <desc code="0">Rien</desc>
   <desc code="1">Proposition validation</desc>
   <desc code="2">Valide</desc>
   <desc code="3">Aucun</desc>
  </EtatValidation>
  <OrigineEtape>
   <desc code="1">Automate</desc>
   <desc code="2">Validation</desc>
   <desc code="3">Action individuelle</desc>
  </OrigineEtape>
  <CodeActu>
   <desc code="01">Acte édité</desc>
   <desc code="02">Acte notifié</desc>
   <desc code="03">Acte signifié par huissier, agent de poursuites</desc>
   <desc code="04">Acte retourné</desc>
   <desc code="05">Acte interrompu</desc>
   <desc code="06">Acte exécuté</desc>
   <desc code="07">Acte transmis pour autorisation de poursuites</desc>
   <desc code="08">Autorisation de poursuites accordée</desc>
   <desc code="09">Autorisation de poursuites refusée</desc>
   <desc code="10">Acte soumis au visa ordonnateur</desc>
   <desc code="11">Acte soldé</desc>
  </CodeActu>
  <TypTiers>
   <desc code="01">Débiteur principal</desc>
   <desc code="02">Débiteur appliquant des règles particulières et pouvant assumer la totalité des frais de séjour</desc>
   <desc code="03">Débiteur solidaire</desc>
   <desc code="04">Co-débiteur</desc>
   <desc code="05">Employeur</desc>
   <desc code="06">Malade</desc>
   <desc code="07">Assuré</desc>
  </TypTiers>
  <NatIdTiers>
   <desc code="01">Siret</desc>
   <desc code="02">Siren</desc>
   <desc code="03">Finess</desc>
   <desc code="04">NIR</desc>
  </NatIdTiers>
  <TypeRef>
   <desc code="00">Bordereau</desc>
   <desc code="01">Rôle</desc>
  </TypeRef>
  <TypAdr>
   <desc code="0">Non précisé</desc>
   <desc code="1">Principale</desc>
   <desc code="2">Secondaire</desc>
  </TypAdr>
  <NatEtape>
   <desc code="00">Avis somme à payer</desc>
   <desc code="02">CDT</desc>
   <desc code="01">Lettre de rappel</desc>
   <desc code="03">Mise en demeurre</desc>
   <desc code="04">Saisie attribution</desc>
   <desc code="05">Saisie attribution CAF</desc>
   <desc code="06">Saisie vente</desc>
   <desc code="07">Saisie rémunération</desc>
   <desc code="08">Vente</desc>
   <desc code="09">Poursuites extérieures</desc>
   <desc code="10">Saisie des coffres-forts</desc>
   <desc code="11">Saisie des véhicules à moteur</desc>
   <desc code="12">Saisie des valeurs mobilières de placement et autres biens d'associés</desc>
   <desc code="13">Autorisation commandement</desc>
   <desc code="14">Autorisation saisie</desc>
   <desc code="15">Avis avant état de poursuites extérieures</desc>
   <desc code="16">Phase comminatoire</desc>
   <desc code="17">OTD Employeur</desc>
   <desc code="17">OTD Bancaire</desc>
   <desc code="17">OTD Autres tiers</desc>
  </NatEtape>
 </xsl:variable>

 <xsl:template match="/*[position()=1]">
  <xsl:choose>
   <xsl:when test="local-name(.) = 'PES_Restit'">
    <n:PES_Restit
     xmlns:n="http://www.minefi.gouv.fr/cp/helios/pes_v2/erar/r0/restit"
     xmlns="http://www.minefi.gouv.fr/cp/helios/pes_v2/erar/r0/restit"
     xmlns:added="http://projets.admisource.gouv.fr/xemelios/namespaces#added"
     xmlns:ano="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally">
     <xsl:for-each select="./*">
      <xsl:call-template name="writeElement">
       <xsl:with-param name="el" select="."/>
      </xsl:call-template>
     </xsl:for-each>
    </n:PES_Restit>
   </xsl:when>
  </xsl:choose>
 </xsl:template>

 <!--xsl:template match="/n:DocumentPaye">
  <DocumentPaye
   xmlns="http://www.minefi.gouv.fr/cp/helios/pes_v2/paye_1_1"
   xmlns:n="http://www.minefi.gouv.fr/cp/helios/pes_v2/paye_1_1"
   xmlns:added="http://projets.admisource.gouv.fr/xemelios/namespaces#added"
   xmlns:ano="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally">
   <xsl:variable name="annee_glb" select="Annee/@V"/>
   <xsl:variable name="mois_glb" select="Mois/@V"/>
   <xsl:for-each select="./*">
    <xsl:call-template name="writeElement">
     <xsl:with-param name="el" select="."/>
     <xsl:with-param name="annee" select="$annee_glb"/>
     <xsl:with-param name="mois" select="$mois_glb"/>
    </xsl:call-template>
   </xsl:for-each>
  </DocumentPaye>
 </xsl:template-->

 <xsl:template name="writeElement">
  <xsl:param name="el"/>
  <xsl:element name="{name($el)}" namespace="http://www.minefi.gouv.fr/cp/helios/pes_v2/erar/r0/restit">
   <xsl:for-each select="$el/@*">
    <xsl:attribute name="{name(.)}">
     <xsl:value-of select="."/>
    </xsl:attribute>
   </xsl:for-each>
   <xsl:choose>
    <xsl:when
     test="contains('|Empechement|Etape|',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>
   <xsl:if test="contains('|CatTiers|NatJur|EtatEtape|CodeActu|TypTiers|NatIdTiers|TypeRef|TypAdr|EtatEtape|EtatValidation|OrigineEtape|NatEtape|',concat('|',local-name($el),'|'))">
    <xsl:attribute name="libelle" namespace="http://projets.admisource.gouv.fr/xemelios/namespaces#added"><xsl:call-template name="getLibelle">
      <xsl:with-param name="type" select="local-name($el)"/>
      <xsl:with-param name="code" select="$el/@V"/>
     </xsl:call-template> (<xsl:value-of select="$el/@V"/>)</xsl:attribute>
   </xsl:if>
   <xsl:if test="contains('|NPAI|',concat('|',local-name($el),'|'))">
    <xsl:attribute name="normalized" namespace="http://projets.admisource.gouv.fr/xemelios/namespaces#added">
     <xsl:choose>
      <xsl:when test="$el/@V='true'">1</xsl:when>
      <xsl:when test="$el/@V='yes'">1</xsl:when>
      <xsl:when test="$el/@V='1'">1</xsl:when>
      <xsl:otherwise>0</xsl:otherwise>
     </xsl:choose>
    </xsl:attribute>
   </xsl:if>
      <xsl:if test="contains('|LigneERAR|',concat('|',local-name($el),'|'))">
          <xsl:element name="RarTotal" namespace="http://www.minefi.gouv.fr/cp/helios/pes_v2/erar/r0/restit">
              <xsl:attribute name="V"><xsl:value-of select="RarPrinc/@V + RarFrais/@V"/></xsl:attribute>
          </xsl:element>
          <xsl:if test="not(exists(DatePrescription))">
              <xsl:element name="DatePrescription" namespace="http://www.minefi.gouv.fr/cp/helios/pes_v2/erar/r0/restit">
                  <xsl:attribute name="V">2299-12-31</xsl:attribute>
              </xsl:element>
          </xsl:if>
      </xsl:if>
      <xsl:choose>
          <xsl:when test="contains('|Empechement|',concat('|',local-name($el),'|'))">
              <xsl:if test="not(exists(DateDebutEmp))">
                  <xsl:element name="DateDebutEmp" namespace="http://www.minefi.gouv.fr/cp/helios/pes_v2/erar/r0/restit">
                      <xsl:attribute name="V">1900-01-01</xsl:attribute>
                  </xsl:element>
              </xsl:if>
              <xsl:if test="not(exists(DateFinEmp))">
                  <xsl:element name="DateFinEmp" namespace="http://www.minefi.gouv.fr/cp/helios/pes_v2/erar/r0/restit">
                      <xsl:attribute name="V">2299-12-31</xsl:attribute>
                  </xsl:element>
              </xsl:if>
          </xsl:when>
      </xsl:choose>
      
      <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:template>

 <xsl:template name="getLibelle">
  <xsl:param name="type" as="xs:string"/>
  <xsl:param name="code" as="xs:string"/>
  <xsl:value-of select="$nomenclature/child::node()[local-name()=$type]/desc[@code=$code]/text()"/>
 </xsl:template>

</xsl:stylesheet>
