--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY nbsp " ">
+<!ENTITY egrave "è">
+<!ENTITY euro "€">
+<!ENTITY agrave "à">
+<!ENTITY eacute "é">
+]>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.xemelios.org/namespaces#cg-1.0" xmlns:n="http://www.xemelios.org/namespaces#cg-1.0" xmlns:fn="http://www.xemelios.org/namespaces#functions" xmlns:added="http://projets.admisource.gouv.fr/xemelios/namespaces#added" version="2.0">
+ <xsl:template name="footer">
+ <xsl:param name="num.page"/>
+ <xsl:param name="tracabilite"/>
+ <div id="footer-numpage" style="text-align: center; v-align: middle;">
+ <center><xsl:call-template name="numPage"/></center>
+ </div>
+ <div id="footer-tracabilite" width="100%"><!-- text-align: center; v-align: middle; -->
+ <xsl:if test="$tracabilite/n:Tracabilite">
+ <table width="100%">
+ <colgroup>
+ <col width="50%"/>
+ <col width="50%"/>
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <b>PDF généré depuis l'archive</b> 
+ <xsl:choose>
+ <xsl:when test="exists($tracabilite/n:Tracabilite/@added:ArchiveVersion) and string-length($tracabilite/n:Tracabilite/@added:ArchiveVersion) > 0"><xsl:value-of select="$tracabilite/n:Tracabilite/@added:ArchiveVersion"/></xsl:when>
+ <xsl:otherwise>NC</xsl:otherwise>
+ </xsl:choose>
+  <b>le</b> 
+ <xsl:choose>
+ <xsl:when test="contains($tracabilite/n:Tracabilite/@added:DateProduction,'T')">
+ <xsl:call-template name="iso-date-footer">
+ <xsl:with-param name="datebrute" select="substring-before($tracabilite/n:Tracabilite/@added:DateProduction,'T')"/>
+ </xsl:call-template> <b>à</b> <xsl:value-of select="substring-after($tracabilite/n:Tracabilite/@added:DateProduction,'T')"/>
+ </xsl:when>
+ <xsl:when test="contains($tracabilite/n:Tracabilite/@added:DateProduction,' ')">
+ <xsl:call-template name="iso-date-footer">
+ <xsl:with-param name="datebrute" select="substring-before($tracabilite/n:Tracabilite/@added:DateProduction,' ')"/>
+ </xsl:call-template> <b>à</b> <xsl:value-of select="substring-after($tracabilite/n:Tracabilite/@added:DateProduction,' ')"/>
+ </xsl:when>
+ <xsl:otherwise><xsl:value-of select="$tracabilite/n:Tracabilite/@added:DateProduction"/></xsl:otherwise>
+ </xsl:choose>
+ </td>
+ <td class="right"><xsl:call-template name="numPage"/></td>
+ </tr>
+ </tbody>
+ </table>
+ <!--table width="100%">
+ <colgroup>
+ <col width="25%"/>
+ <col width="25%"/>
+ <col width="25%"/>
+ <col width="25%"/>
+ </colgroup>
+ <tbody>
+ <tr>
+ <td class="center">
+ <b>Archive produite le</b> 
+ <xsl:choose>
+ <xsl:when test="contains($tracabilite/n:Tracabilite/@added:DateProduction,'T')">
+ <xsl:call-template name="iso-date-footer">
+ <xsl:with-param name="datebrute" select="substring-before($tracabilite/n:Tracabilite/@added:DateProduction,'T')"/>
+ </xsl:call-template> <b>à</b> <xsl:value-of select="substring-after($tracabilite/n:Tracabilite/@added:DateProduction,'T')"/>
+ </xsl:when>
+ <xsl:when test="contains($tracabilite/n:Tracabilite/@added:DateProduction,' ')">
+ <xsl:call-template name="iso-date-footer">
+ <xsl:with-param name="datebrute" select="substring-before($tracabilite/n:Tracabilite/@added:DateProduction,' ')"/>
+ </xsl:call-template> <b>à</b> <xsl:value-of select="substring-after($tracabilite/n:Tracabilite/@added:DateProduction,' ')"/>
+ </xsl:when>
+ <xsl:otherwise><xsl:value-of select="$tracabilite/n:Tracabilite/@added:DateProduction"/></xsl:otherwise>
+ </xsl:choose>
+ </td>
+ <td class="center">
+ <b>Version</b> 
+ <xsl:choose>
+ <xsl:when test="exists($tracabilite/n:Tracabilite/@added:ArchiveVersion) and string-length($tracabilite/n:Tracabilite/@added:ArchiveVersion) > 0"><xsl:value-of select="$tracabilite/n:Tracabilite/@added:ArchiveVersion"/></xsl:when>
+ <xsl:otherwise>NC</xsl:otherwise>
+ </xsl:choose>
+ </td>
+ <td class="center">
+ <b>Archive validée le</b> 
+ <xsl:choose>
+ <xsl:when test="string-length($tracabilite/n:Tracabilite/@added:DateValidation) eq 0">NC</xsl:when>
+ <xsl:otherwise><xsl:call-template name="iso-date-footer"><xsl:with-param name="datebrute" select="substring-before($tracabilite/n:Tracabilite/@added:DateValidation,'T')"/></xsl:call-template> <b>à</b> <xsl:value-of select="substring-after($tracabilite/n:Tracabilite/@added:DateValidation,'T')"/></xsl:otherwise>
+ </xsl:choose>
+ </td>
+ <td class="center">
+ <b>Archive validée par</b> 
+ <xsl:choose>
+ <xsl:when test="string-length($tracabilite/n:Tracabilite/@added:NomValideur) eq 0">NC</xsl:when>
+ <xsl:otherwise><xsl:value-of select="$tracabilite/n:Tracabilite/@added:NomValideur"/></xsl:otherwise>
+ </xsl:choose>
+ </td>
+ </tr>
+ </tbody>
+ </table-->
+ </xsl:if>
+ </div>
+ </xsl:template>
+
+ <xsl:template name="numPage">
+ <xsl:variable name="node.page"><xsl:copy-of select="/n:CompteGestion//descendant::node()[starts-with(name(),'Page')]"/></xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="fn:is.etat.special($node.page) eq '1'">
+ <xsl:choose>
+ <xsl:when test="//n:Pied/@Num2emePage">
+ Page <xsl:choose><xsl:when test="//@added:LastPageEtat"><xsl:value-of select="//n:Pied/@NumPage"/>-<xsl:value-of select="//n:Pied/@Num2emePage"/> / <xsl:value-of select="@added:LastPageEtat"/></xsl:when><xsl:otherwise>- <xsl:value-of select="//n:Pied/@NumPage"/>-<xsl:value-of select="//n:Pied/@Num2emePage"/></xsl:otherwise></xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ Page <xsl:choose><xsl:when test="//@added:LastPageEtat"><xsl:value-of select="//n:Pied/@NumPage"/> / <xsl:value-of select="//@added:LastPageEtat"/></xsl:when><xsl:otherwise>- <xsl:value-of select="//n:Pied/@NumPage"/></xsl:otherwise></xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="//n:Pied/@Num2emePage">
+ Page <xsl:choose><xsl:when test="//n:LastPageCG"><xsl:value-of select="//n:Pied/@NumPage"/>-<xsl:value-of select="//n:Pied/@Num2emePage"/> / <xsl:value-of select="//n:LastPageCG/@V"/></xsl:when><xsl:otherwise>- <xsl:value-of select="//n:Pied/@NumPage"/>-<xsl:value-of select="//n:Pied/@Num2emePage"/></xsl:otherwise></xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ Page <xsl:choose><xsl:when test="//n:LastPageCG"><xsl:value-of select="//n:Pied/@NumPage"/> / <xsl:value-of select="//n:LastPageCG/@V"/></xsl:when><xsl:otherwise>- <xsl:value-of select="//n:Pied/@NumPage"/></xsl:otherwise></xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:function name="fn:is.etat.special">
+ <xsl:param name="node"/>
+ <xsl:choose>
+ <xsl:when test="string(node-name($node/child::node()))='Solde' or contains(string(node-name($node/child::node())),'DeveloppementSoldes') or contains(string(node-name($node/child::node())),'FichesBudgetaires') or contains(string(node-name($node/child::node())),'LivreAuxiliaire')">1</xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:function>
+
+ <xsl:template name="iso-date-footer">
+ <xsl:param name="datebrute"/>
+ <xsl:choose>
+ <xsl:when test="string-length($datebrute)>0 and not(contains($datebrute,'..'))">
+ <xsl:value-of select="substring($datebrute, 9, 2)"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="substring($datebrute,6,2)"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="substring($datebrute, 1, 4)"/>
+ </xsl:when>
+ <xsl:when test="string-length($datebrute)>0 and contains($datebrute,'..')">
+ <xsl:value-of select="$datebrute"/>
+ </xsl:when>
+ <xsl:otherwise>-</xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+</xsl:stylesheet>
\ No newline at end of file