<!ENTITY nbsp " ">
]>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally"
- xmlns:n="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally"
- xmlns:added="http://projets.admisource.gouv.fr/xemelios/namespaces#added"
- xmlns:ano="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally"
- xmlns:conf="http://projets.admisource.gouv.fr/xemelios/namespaces#config"
- xmlns:datetime="http://exslt.org/dates-and-times"
- version="2.0"
- >
- <xsl:param name="encoding" select="iso-8859-1"/>
- <xsl:output method="xhtml" indent="yes"/>
- <xsl:output encoding="iso-8859-1"/>
-
- <xsl:template match="*">
- </xsl:template>
-
- <xsl:param name="language" select="'fr'"/>
- <xsl:param name="affichage" select="''"/>
- <xsl:param name="affichageParam" select="''"/>
- <xsl:param name="ancre" select="''"/>
- <xsl:param name="elementId" select="''"/>
- <xsl:param name="idControle" select="''"/>
- <xsl:param name="config" select="document(.)"/>
-
- <xsl:template match="/n:DocumentRapport">
- <xsl:variable name="messageRapport" select="./n:Message/text()"/>
- <xsl:variable name="docid" select="./n:DocId/@n:V"/>
- <xsl:variable name="collectivite" select="./n:Collectivite/n:Siret/@n:V"/>
- <xsl:variable name="budget" select="./n:Budget/n:Code/@n:V"/>
- <xsl:variable name="version.component.controle" select="./n:VersionComponentControle/@n:V"/>
- <xsl:variable name="idrapport" select="./n:DonneesRapport/n:Rapport/n:Id/@n:V"/>
- <html>
- <head>
- <style type="text/css" media="all">
- body { font-family: verdana, sans-serif; font-size: 14px; width: 29cm; }
-
- h1 { text-align: center; font-size: 18px; font-weight:bold; }
-
- #cache {display: none;}
-
- tr td { border: solid 1px #000000;}
-
- :link { color: #00c; background: transparent }
- :visited { color: #609; background: transparent }
- a:active { color: #c00; background: transparent }
- a:link img, a:visited img { border-style: none }
- .red { color: red; background: transparent }
- .warning { font-weight: bold; text-decoration: underline; }
- </style>
- <style type="text/css" media="print">
- @page {
- size: 297mm 210mm;
- margins: 10mm 10mm 10mm 10mm;
- }
- tr { page-break-inside: avoid; }
- </style>
- <title>Rapport d'analyse<xsl:if test="string-length($version.component.controle) > 0"> - <xsl:value-of select="$version.component.controle"/></xsl:if></title>
- </head>
- <body>
- <!--div>
- <p>
- <ul>
- <li><b>language: </b><xsl:value-of select="$language"/></li>
- <li><b>affichage: </b><xsl:value-of select="$affichage"/></li>
- <li><b>affichageParam: </b><xsl:value-of select="$affichageParam"/></li>
- <li><b>ancre: </b><xsl:value-of select="$ancre"/></li>
- <li><b>elementId: </b><xsl:value-of select="$elementId"/></li>
- <li><b>idControle: </b><xsl:value-of select="$idControle"/></li>
- <li><b>config: </b><xsl:value-of select="$config"/></li>
- </ul>
- </p>
- </div-->
- <!--div style="width: 100%;"-->
-
- <table>
- <tr>
- <td style="border: 0px;"><h1>Rapport d'analyse</h1><xsl:if test="string-length($version.component.controle) > 0"><h2><xsl:value-of select="$version.component.controle"/></h2></xsl:if></td>
- </tr>
- <br/>
- <xsl:if test="./n:TropAnos/@n:V='true'"><h2 style="color: red; ">ATTENTION !<br/>Comme le flux comporte trop d'anomalies, toutes les anomalies ne figurent pas dans ce rapport.</h2></xsl:if>
- <br/>
- <h2><xsl:value-of select="./n:Message/text()"/></h2>
- <br/>
- <xsl:if test="n:AllAnos/@n:V='true'"><tr><td style="border: 0px;" class="red"><b>Toutes les anomalies ne figurent pas dans le rapport car elles sont trop nombreuses.</b></td></tr></xsl:if>
- <tr>
- <td style="border: 0px;"><b>Fichier analysé :
- <xsl:choose>
- <xsl:when test="exists(n:NomFichier/@n:host)"><a><xsl:attribute name="href">xemelios:/showSrc?host=<xsl:value-of select="n:NomFichier/@n:host"/>&url=<xsl:value-of select="n:NomFichier/@n:fullPath"/></xsl:attribute><xsl:value-of select="n:NomFichier/@n:V"/></a></xsl:when>
- <xsl:otherwise><xsl:value-of select="n:NomFichier/@n:V"/></xsl:otherwise>
- </xsl:choose>
- </b></td>
- </tr>
- <tr>
- <td style="border: 0px;"><b>Domaine(s) analysé(s) :
- <!--xsl:for-each select="./n:Domaines/n:Domaine">
- <xsl:variable name="domaineId" select="./@n:V"/>
- <xsl:value-of select="$config/conf:documents/conf:document[@id=$docid]/conf:etat[@id=$domaineId]/@libelle"/>, 
- </xsl:for-each-->
- <xsl:value-of select="n:Domaines/n:Domaine/@n:V"/>
- </b></td>
- </tr>
- </table>
- <br/>
-
- <xsl:choose>
- <xsl:when test="$affichageParam = ''">
- <xsl:element name="a">
- <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[n:Id/@n:V='<xsl:value-of select="$idrapport"/>']&xsl:param=(affichage,<xsl:value-of select="$affichage"/>)&xsl:param=(idControle,<xsl:value-of select="$idControle"/>)&xsl:param=(ancre,<xsl:value-of select="$ancre"/>)<xsl:choose><xsl:when test="$affichageParam = ''">&xsl:param=(affichageParam,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageParam,)</xsl:otherwise></xsl:choose><xsl:if test="$ancre != ''">#<xsl:value-of select="$ancre"/></xsl:if></xsl:attribute>
- <h3>Paramètres <![CDATA[<]]></h3>
- </xsl:element>
- <table>
- <xsl:for-each select="./n:Params/n:Param">
- <tr>
- <td style="border: 0px;">
- <b><xsl:value-of select="./@n:Name"/></b>
- </td>
- <td width="60%" style="border: 0px;">
- <xsl:value-of select="./@n:Value"/>
- </td>
- </tr>
- </xsl:for-each>
- </table>
- <br/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:element name="a">
- <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[n:Id/@n:V='<xsl:value-of select="$idrapport"/>']&xsl:param=(affichage,<xsl:value-of select="$affichage"/>)&xsl:param=(idControle,<xsl:value-of select="$idControle"/>)&xsl:param=(ancre,<xsl:value-of select="$ancre"/>)<xsl:choose><xsl:when test="$affichageParam = ''">&xsl:param=(affichageParam,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageParam,)</xsl:otherwise></xsl:choose><xsl:if test="$ancre != ''">#<xsl:value-of select="$ancre"/></xsl:if></xsl:attribute>
- <h3>Paramètres <![CDATA[>]]></h3>
- </xsl:element>
- </xsl:otherwise>
- </xsl:choose>
-
- <hr/>
- <br/><br/>
- <b>Validation Technique :
- <xsl:choose>
- <xsl:when test="count(n:DonneesRapport/n:Rapport/n:Anomalie[starts-with(n:IdCtrl/@n:V,'TECH')]) > 0">KO<br/>Validation fonctionnelle : non contrôlée</xsl:when>
- <xsl:otherwise>
- OK<br/><br/>
- <xsl:choose>
- <xsl:when test="count(./n:DonneesRapport/n:Rapport/n:Anomalie)!=0">
- Validation Fonctionnelle : KO<br/>
- </xsl:when>
- <xsl:otherwise>
- Validation Fonctionnelle : OK<br/>
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:otherwise>
- </xsl:choose>
- <br/><hr/>
- </b>
- <br/>
- <br/>
- <xsl:if test="count(./n:DonneesRapport/n:Rapport/n:Anomalie)!=0">
- <xsl:apply-templates>
- <xsl:with-param name="docid" select="$docid"/>
- <xsl:with-param name="collectivite" select="$collectivite"/>
- <xsl:with-param name="budget" select="$budget"/>
- </xsl:apply-templates>
- </xsl:if>
- <!--/div-->
- </body>
- </html>
- </xsl:template>
-
- <xsl:template match="n:DonneesRapport">
- <xsl:param name="docid"/>
- <xsl:param name="collectivite"/>
- <xsl:param name="budget"/>
- <xsl:apply-templates>
- <xsl:with-param name="docid" select="$docid"/>
- <xsl:with-param name="collectivite" select="$collectivite"/>
- <xsl:with-param name="budget" select="$budget"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="n:Rapport">
- <xsl:param name="docid"/>
- <xsl:param name="collectivite"/>
- <xsl:param name="budget"/>
- <xsl:variable name="idRapport" select="./n:Id/@n:V"/>
- <table><tr>
- <td style="border: 0px;" width="100%">
- <!-- Affichage <xsl:if test="$affichage!='2'">par Contrôle Unitaire</xsl:if><xsl:if test="$affichage='2'">par Bordereau</xsl:if><br/>-->
- <xsl:choose><xsl:when test="starts-with(./n:Anomalie[1]/n:IdCtrl/@n:V,'TECH')"></xsl:when><xsl:otherwise><xsl:element name="a"><xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[n:Id/@n:V='<xsl:value-of select="./n:Id/@n:V"/>']&xsl:param=(affichage,<xsl:if test="$affichage!='2'">2</xsl:if><xsl:if test="$affichage='2'"></xsl:if>)&xsl:param=(affichageParam,<xsl:value-of select="$affichageParam"/>)</xsl:attribute><xsl:if test="$affichage!='2'">Trier par <!--xsl:value-of select="./n:Anomalie[1]/n:ElementImportable/@n:V"/-->élément</xsl:if><xsl:if test="$affichage='2'">Trier par contrôle</xsl:if></xsl:element></xsl:otherwise></xsl:choose>
- </td>
- </tr>
- </table>
-
- <table style="text-align: left; width: 99%;" border="0">
+ xmlns="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally"
+ xmlns:n="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally"
+ xmlns:added="http://projets.admisource.gouv.fr/xemelios/namespaces#added"
+ xmlns:ano="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally"
+ xmlns:conf="http://projets.admisource.gouv.fr/xemelios/namespaces#config"
+ xmlns:datetime="http://exslt.org/dates-and-times" version="2.0">
+ <xsl:param name="encoding" select="'ISO-8859-1'" />
+ <xsl:output method="xhtml" indent="yes" />
+ <xsl:output encoding="ISO-8859-1" />
+
+ <xsl:template match="*" />
+
+ <!-- ICONES : http://www.softicons.com/free-icons/web-icons/blue-gradient-toolbar-icons-by-axialis-team/warning-icon -->
+
+ <xsl:param name="language" select="'fr'" />
+ <xsl:param name="affichage" select="''" />
+ <xsl:param name="affichageParam" select="''" />
+ <xsl:param name="ancre" select="''" />
+ <xsl:param name="elementId" select="''" />
+ <xsl:param name="idControle" select="''" />
+ <xsl:param name="config" select="document(.)" />
+ <xsl:param name="affichageSynthese" select="''" />
+ <xsl:param name="affichageDepense" select="''" />
+ <xsl:param name="affichageRecette" select="''" />
+ <xsl:param name="affichageCommun" select="''" />
+ <xsl:param name="affichageTiers" select="''" />
+ <xsl:param name="affichagePJ" select="''" />
+ <xsl:param name="affichageSignature" select="''" />
+
+ <xsl:variable name="infoDemat"
+ select="/n:DocumentRapport/n:DonneesFlux/n:InfoDematerialisee/@n:V" />
+ <xsl:variable name="message.rapport" select="/n:DocumentRapport/n:Message/text()" />
+ <xsl:variable name="trop.anomalies" select="/n:DonneesRapport/n:TropAnos/@n:V" />
+ <!--xsl:variable name="toutes.anomalies" select="/n:DonneesRapport/n:AllAnos/@n:V"/ -->
+ <xsl:variable name="document.id" select="/n:DocumentRapport/n:DocId/@n:V" />
+ <xsl:variable name="siret"
+ select="/n:DocumentRapport/n:Collectivite/n:Siret/@n:V" />
+ <xsl:variable name="budget.code"
+ select="/n:DocumentRapport/n:Budget/n:Code/@n:V" />
+ <xsl:variable name="version.component.controle"
+ select="/n:DocumentRapport/n:VersionComponentControle/@n:V" />
+ <xsl:variable name="rapport.id"
+ select="/n:DocumentRapport/n:DonneesRapport/n:Rapport/n:Id/@n:V" />
+ <xsl:variable name="anomalies">
+ <xsl:copy-of
+ select="/n:DocumentRapport/n:DonneesRapport/n:Rapport/n:Anomalie" />
+ </xsl:variable>
+
+ <xsl:variable name="statut.colors">
+ <statuts>
+ <statut Code="OK" Couleur="#82E09E" />
+ <statut Code="KO" Couleur="#FF4949" />
+ <statut Code="INOPERANT" Couleur="#C9C9C9" />
+ </statuts>
+ </xsl:variable>
+
+ <xsl:template match="/n:DocumentRapport">
+ <xsl:choose>
+ <xsl:when test="$document.id eq 'pes-aller'">
+ <html>
+ <head>
+ <xsl:call-template name="style" />
+ <xsl:call-template name="titre" />
+ </head>
+ <body>
+
+ <xsl:if test="count($anomalies//n:Anomalie) > 0">
+ <xsl:apply-templates>
+ <xsl:with-param name="docid" select="$document.id" />
+ <xsl:with-param name="collectivite" select="$siret" />
+ <xsl:with-param name="budget" select="$budget.code" />
+ </xsl:apply-templates>
+ </xsl:if>
+
+ <xsl:call-template name="entete" />
+ <br />
+ <br />
+ <hr />
+ <xsl:call-template name="parametres" />
+ <xsl:call-template name="warning" />
+ <xsl:call-template name="signature" />
+ <hr />
+ <xsl:call-template name="analyse_synthetique" />
+ <hr />
+ <br />
+ <center>
+ <xsl:call-template name="synthese" />
+ </center>
+
+ <br />
+ <br />
+ <xsl:value-of select="count($anomalies//n:Anomalie)" />anomalies détectées
+ <xsl:call-template name="analyse.detaillee"/>
+
+ </body>
+ </html>
+ </xsl:when>
+ <xsl:otherwise>
+
+ <xsl:call-template name="rapport.ancienne.version"/>
+
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:template>
+
+ <xsl:template name="titre">
+ <title>
+ Restitution d'analyse
+ <xsl:if test="string-length($version.component.controle) > 0">
+ -
+ <xsl:value-of select="$version.component.controle" />
+ </xsl:if>
+ </title>
+ </xsl:template>
+
+ <xsl:template name="entete">
+ <table class="entete">
+ <tr>
+ <td class="center">
+ <span class="h1">RESTITUTION D'ANALYSE</span>
+ </td>
+ </tr>
+ <br />
+ <br />
+ <tr>
+ <td>
+ <span class="h3">
+ <b>Fichier
+ analysé :
+ </b>
+ <xsl:value-of select="n:NomFichier/@n:V" />
+ </span>
+ </td>
+
+ </tr>
+ <xsl:if test="string-length($message.rapport) > 0">
+ <tr>
+ <td>
+ <span class="h2">
+ <xsl:value-of select="$message.rapport" />
+ </span>
+ </td>
+ </tr>
+ </xsl:if>
+ </table>
+ <br />
+ <table class="entete2">
+ <tr>
+ <td>
+ <a>
+ <xsl:attribute name="href">xemelios:/showSrc?host=<xsl:value-of
+ select="n:NomFichier/@n:host" />&url=<xsl:value-of
+ select="n:NomFichier/@n:fullPath" /></xsl:attribute>
+ <img src="xemelios:/resource?rapport_tech.png" title="Visualiser le flux" />
+ </a>
+ </td>
+ <td>
+ <a>
+ <xsl:attribute name="href">xemelios:/savePdf?host=<xsl:value-of
+ select="n:NomFichier/@n:host" />&url=<xsl:value-of
+ select="n:NomFichier/@n:fullPath" /></xsl:attribute>
+ <img src="xemelios:/resource?rapport_save.png" title="Enregistrer au format PDF" />
+ </a>
+ </td>
+ <td>
+ </td>
+ </tr>
+ </table>
+ </xsl:template>
+
+ <xsl:template name="warning">
+ <xsl:if test="$trop.anomalies eq 'true'">
+ <hr />
+ <table class="warning">
+ <colgroup>
+ <col />
+ <col width="1px" />
+ <col />
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <img src="xemelios:/resource?rapport_warning.png" />
+ <span class="warning">Comme le flux comporte trop d'anomalies, toutes
+ les anomalies ne figurent pas dans ce rapport.</span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="parametres">
+ <xsl:variable name="parametres">
+ <xsl:copy-of select="/n:DocumentRapport/n:Params/n:Param" />
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$affichageParam = ''">
+ <a title="Plier">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)<xsl:choose><xsl:when test="$affichageParam = ''">&xsl:param=(affichageParam,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageParam,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <span class="h2">
+ Paramètres <![CDATA[<]]></span>
+ </a>
+ <br />
+ <br />
+ <table class="parametres">
+ <colgroup>
+ <col width="20%" />
+ <col width="1px" />
+ <col width="29%" />
+ <col width="2%" />
+ <col width="20%" />
+ <col width="1px" />
+ <col width="29%" />
+ </colgroup>
+ <tbody>
+ <xsl:for-each select="$parametres//n:Param">
+ <xsl:variable name="pos" select="position()" />
+ <xsl:choose>
+ <xsl:when test="($pos mod 2) > 0">
+ <tr>
+ <td class="top">
+ <b>
+ <xsl:value-of select="$parametres/n:Param[$pos]/@n:Name" />
+ </b>
+ </td>
+ <td> </td>
+ <td>
+ <xsl:value-of select="$parametres/n:Param[$pos]/@n:Value" />
+ </td>
+ <td> </td>
+ <td class="top">
+ <b>
+ <xsl:value-of select="$parametres/n:Param[$pos + 1]/@n:Name" />
+ </b>
+ </td>
+ <td> </td>
+ <td>
+ <xsl:value-of select="$parametres/n:Param[$pos + 1]/@n:Value" />
+ </td>
+ </tr>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:for-each>
+ </tbody>
+ </table>
+ <br />
+ </xsl:when>
+ <xsl:otherwise>
+ <a title="Déplier">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)<xsl:choose><xsl:when test="$affichageParam = ''">&xsl:param=(affichageParam,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageParam,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <span class="h2">
+ Paramètres <![CDATA[>]]></span>
+ </a>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:template>
+
+ <xsl:template name="signature">
+ <xsl:if test="$infoDemat = '1' or $infoDemat = 'true'">
+ <hr />
+ <table class="warning">
+ <colgroup>
+ <col />
+ <col width="1px" />
+ <col />
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <img src="xemelios:/resource?rapport_warning.png" />
+ <span class="warning">
+ Le fichier
+ <xsl:value-of select="n:NomFichier/@n:V" />
+ comporte une signature électronique.
+ <br />
+ Hors la présentation des informations se rapportant au
+ signataire, cette analyse ne constitue pas une validation des
+ paramètres de cryptage la constituant.
+ Seul le module
+ <i>Vérification de Signatures PES</i>
+ de l'outil XéMèLios permet de s'assurer de la validité de la
+ signature électronique.
+ </span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="analyse_synthetique">
+ <table class="synthese">
+ <colgroup>
+ <col width="8%" />
+ <col width="27%" />
+ <col />
+ <col width="35%" />
+ </colgroup>
+ <tbody>
+ <tr>
+ <td>
+ <xsl:choose>
+ <xsl:when
+ test="count($anomalies//n:Anomalie[starts-with(n:IdCtrl/@n:V,'TECH')]) > 0">
+ <img src="xemelios:/resource?rapport_KO.png" />
+ </xsl:when>
+ <xsl:otherwise>
+ <img src="xemelios:/resource?rapport_OK.png" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ <td>
+ <b>Validation technique</b>
+ </td>
+ </tr>
+ <tr>
+ <xsl:choose>
+ <xsl:when
+ test="count($anomalies//n:Anomalie[starts-with(n:IdCtrl/@n:V,'TECH')]) > 0">
+ <td>
+ <img src="xemelios:/resource?rapport_nul.png" />
+ </td>
+ <td colspan="3"><b>Validation fonctionnelle non contrôlée</b></td>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="not(count($anomalies//n:Anomalie) eq 0)">
+ <td>
+ <img src="xemelios:/resource?rapport_KO.png" />
+ </td>
+ <td>
+ <b>Validation fonctionnelle</b>
+ </td>
+
+ <xsl:choose>
+ <xsl:when test="$affichageSynthese = ''">
+ <td class="center">
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)<xsl:choose><xsl:when
+ test="$affichageSynthese = ''">&xsl:param=(affichageSynthese,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageSynthese,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_bas.png"
+ title="Montrer la liste des contrôles" />
+ </xsl:element>
+ </td>
+ </xsl:when>
+ <xsl:otherwise>
+ <td class="center">
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)<xsl:choose><xsl:when
+ test="$affichageSynthese = ''">&xsl:param=(affichageSynthese,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageSynthese,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_haut.png"
+ title="Cacher la liste des contrôles" />
+ </xsl:element>
+ </td>
+ </xsl:otherwise>
+ </xsl:choose>
+ <td></td>
+ </xsl:when>
+ <xsl:otherwise>
+ <td>
+ <img src="xemelios:/resource?rapport_OK.png" />
+ </td>
+ <td>
+ <b>Validation fonctionnelle</b>
+ </td>
+ <xsl:choose>
+ <xsl:when test="$affichageSynthese = ''">
+ <td class="center">
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)<xsl:choose><xsl:when
+ test="$affichageSynthese = ''">&xsl:param=(affichageSynthese,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageSynthese,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_bas.png"
+ title="Montrer la liste des contrôles" />
+ </xsl:element>
+ </td>
+ </xsl:when>
+ <xsl:otherwise>
+ <td class="center">
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)<xsl:choose><xsl:when
+ test="$affichageSynthese = ''">&xsl:param=(affichageSynthese,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageSynthese,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_haut.png"
+ title="Cacher la liste des contrôles" />
+ </xsl:element>
+ </td>
+ </xsl:otherwise>
+ </xsl:choose>
+ <td></td>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </tr>
+ </tbody>
+ </table>
+
+ </xsl:template>
+
+ <xsl:template name="synthese">
+ <xsl:variable name="controles">
+ <xsl:copy-of select="/n:DocumentRapport/n:Controls" />
+ </xsl:variable>
+
+ <xsl:if test="$affichageSynthese = '1'">
+ <table class="synthese">
+ <colgroup>
+ <col width="35%" />
+ <col />
+ <col width="35%" />
+
+ </colgroup>
+ <tr>
+ <td></td>
+ <td class="center">
+
+ <table class="synthese2">
+ <colgroup>
+ <col width="15%" />
+ <col width="35%" />
+ <col width="50%" />
+ </colgroup>
+ <tbody>
+
+ <xsl:choose>
+ <xsl:when test="$affichageDepense = ''">
+ <tr class="titre">
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)&xsl:param=(affichageSynthese,1)<xsl:choose><xsl:when
+ test="$affichageDepense = ''">&xsl:param=(affichageDepense,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageDepense,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_bas2.png"
+ title="Déplier" class="petit" />
+ </xsl:element>
+ </td>
+ <td colspan="2">DEPENSE</td>
+ </tr>
+ </xsl:when>
+ <xsl:otherwise>
+ <tr class="titre">
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)&xsl:param=(affichageSynthese,1)<xsl:choose><xsl:when
+ test="$affichageDepense = ''">&xsl:param=(affichageDepense,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageDepense,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_haut2.png"
+ title="Plier" class="petit" />
+ </xsl:element>
+ </td>
+ <td colspan="2">DEPENSE</td>
+ </tr>
+ <xsl:for-each select="$controles//n:Depense/n:Control">
+ <xsl:sort select="@n:Name" data-type="text" order="ascending" />
+ <xsl:call-template name="afficher.controles" />
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="$affichageRecette = ''">
+ <tr class="titre">
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)&xsl:param=(affichageSynthese,1)<xsl:choose><xsl:when
+ test="$affichageRecette = ''">&xsl:param=(affichageRecette,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageRecette,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_bas2.png"
+ title="Déplier" class="petit" />
+ </xsl:element>
+ </td>
+ <td colspan="2">RECETTE</td>
+ </tr>
+ </xsl:when>
+ <xsl:otherwise>
+ <tr class="titre">
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)&xsl:param=(affichageSynthese,1)<xsl:choose><xsl:when
+ test="$affichageRecette = ''">&xsl:param=(affichageRecette,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageRecette,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_haut2.png"
+ title="Plier" class="petit" />
+ </xsl:element>
+ </td>
+ <td colspan="2">RECETTE</td>
+ </tr>
+ <xsl:for-each select="$controles//n:Recette/n:Control">
+ <xsl:sort select="@n:Name" data-type="text" order="ascending" />
+ <xsl:call-template name="afficher.controles" />
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="$affichageCommun = ''">
+ <tr class="titre">
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)&xsl:param=(affichageSynthese,1)<xsl:choose><xsl:when
+ test="$affichageCommun = ''">&xsl:param=(affichageCommun,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageCommun,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_bas2.png"
+ title="Déplier" class="petit" />
+ </xsl:element>
+ </td>
+ <td colspan="2">COMMUN</td>
+ </tr>
+ </xsl:when>
+ <xsl:otherwise>
+ <tr class="titre">
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)&xsl:param=(affichageSynthese,1)<xsl:choose><xsl:when
+ test="$affichageCommun = ''">&xsl:param=(affichageCommun,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageCommun,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_haut2.png"
+ title="Plier" class="petit" />
+ </xsl:element>
+ </td>
+ <td colspan="2">COMMUN</td>
+ </tr>
+ <xsl:for-each select="$controles//n:Commun/n:Control">
+ <xsl:sort select="@n:Name" data-type="text" order="ascending" />
+ <xsl:call-template name="afficher.controles" />
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="$affichageTiers = ''">
+ <tr class="titre">
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)&xsl:param=(affichageSynthese,1)<xsl:choose><xsl:when
+ test="$affichageTiers = ''">&xsl:param=(affichageTiers,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageTiers,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_bas2.png"
+ title="Déplier" class="petit" />
+ </xsl:element>
+ </td>
+ <td colspan="2">TIERS</td>
+ </tr>
+ </xsl:when>
+ <xsl:otherwise>
+ <tr class="titre">
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)&xsl:param=(affichageSynthese,1)<xsl:choose><xsl:when
+ test="$affichageTiers = ''">&xsl:param=(affichageTiers,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageTiers,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_haut2.png"
+ title="Plier" class="petit" />
+ </xsl:element>
+ </td>
+ <td colspan="2">TIERS</td>
+ </tr>
+ <xsl:for-each select="$controles//n:Tiers/n:Control">
+ <xsl:sort select="@n:Name" data-type="text" order="ascending" />
+ <xsl:call-template name="afficher.controles" />
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="$affichagePJ = ''">
+ <tr class="titre">
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)&xsl:param=(affichageSynthese,1)<xsl:choose><xsl:when
+ test="$affichagePJ = ''">&xsl:param=(affichagePJ,1)</xsl:when><xsl:otherwise>&xsl:param=(affichagePJ,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_bas2.png"
+ title="Déplier" class="petit" />
+ </xsl:element>
+ </td>
+ <td colspan="2">PJ</td>
+ </tr>
+ </xsl:when>
+ <xsl:otherwise>
+ <tr class="titre">
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)&xsl:param=(affichageSynthese,1)<xsl:choose><xsl:when
+ test="$affichagePJ = ''">&xsl:param=(affichagePJ,1)</xsl:when><xsl:otherwise>&xsl:param=(affichagePJ,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_haut2.png"
+ title="Plier" class="petit" />
+ </xsl:element>
+ </td>
+ <td colspan="2">PJ</td>
+ </tr>
+ <xsl:for-each select="$controles//n:PJ/n:Control">
+ <xsl:sort select="@n:Name" data-type="text" order="ascending" />
+ <xsl:call-template name="afficher.controles" />
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="$affichageSignature = ''">
+ <tr class="titre">
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)&xsl:param=(affichageSynthese,1)<xsl:choose><xsl:when
+ test="$affichageSignature = ''">&xsl:param=(affichageSignature,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageSignature,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_bas2.png"
+ title="Déplier" class="petit" />
+ </xsl:element>
+ </td>
+ <td colspan="2">SIGNATURE</td>
+ </tr>
+ </xsl:when>
+ <xsl:otherwise>
+ <tr class="titre">
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of
+ select="$siret" />&budget=<xsl:value-of
+ select="$budget.code" />&path=[n:Id/@n:V='<xsl:value-of
+ select="$rapport.id" />']&xsl:param=(affichage,<xsl:value-of
+ select="$affichage" />)&xsl:param=(idControle,<xsl:value-of
+ select="$idControle" />)&xsl:param=(ancre,<xsl:value-of
+ select="$ancre" />)&xsl:param=(affichageSynthese,1)<xsl:choose><xsl:when
+ test="$affichageSignature = ''">&xsl:param=(affichageSignature,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageSignature,)</xsl:otherwise></xsl:choose><xsl:if
+ test="$ancre != ''">#<xsl:value-of select="$ancre" /></xsl:if></xsl:attribute>
+ <img src="xemelios:/resource?rapport_fleche_haut2.png"
+ title="Plier" class="petit" />
+ </xsl:element>
+ </td>
+ <td colspan="2">SIGNATURE</td>
+ </tr>
+ <xsl:for-each select="$controles//n:Signature/n:Control">
+ <xsl:sort select="@n:Name" data-type="text" order="ascending" />
+ <xsl:call-template name="afficher.controles" />
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </tbody>
+ </table>
+
+ </td>
+ <td></td>
+ </tr>
+ </table>
+ <br />
+ <hr />
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="afficher.controles">
+ <xsl:variable name="valeur" select="@n:Value" />
+ <xsl:variable name="statut.color"
+ select="$statut.colors//n:statut[@Code= $valeur]/@Couleur" />
+ <tr>
+ <td colspan="2">
+ <xsl:value-of select="@n:Name" />
+ </td>
+ <td>
+ <xsl:attribute name="style">background-color: <xsl:value-of
+ select="$statut.color" />;</xsl:attribute>
+ <xsl:value-of select="@n:Value" />
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template name="analyse.detaillee">
+ <table style="text-align: left; width: 99%;" border="0">
<!-- Affichage par Contrôle -->
<xsl:if test="$affichage!='2'">
<br/><br/>
<xsl:element name="a">
<!--xsl:attribute name="name" select="$ctrl"/-->
<xsl:attribute name="name" select="$idCtrlBis"/>
- <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[n:Id/@n:V='<xsl:value-of select="$idRapport"/>']&xsl:param=(affichage,1)&xsl:param=(affichageParam,<xsl:value-of select="$affichageParam"/>)<xsl:choose><xsl:when test="$idControle!=$idCtrlBis">&xsl:param=(ancre,<xsl:value-of select="$idCtrlBis"/>)&xsl:param=(idControle,<xsl:value-of select="$idCtrlBis"/>)#<xsl:value-of select="$idCtrlBis"/></xsl:when><xsl:otherwise>&xsl:param=(ancre,)&xsl:param=(idControle,)</xsl:otherwise></xsl:choose></xsl:attribute>
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of select="$siret"/>&budget=<xsl:value-of select="$budget.code"/>&path=[n:Id/@n:V='<xsl:value-of select="$rapport.id"/>']&xsl:param=(affichage,1)&xsl:param=(affichageParam,<xsl:value-of select="$affichageParam"/>)<xsl:choose><xsl:when test="$idControle!=$idCtrlBis">&xsl:param=(ancre,<xsl:value-of select="$idCtrlBis"/>)&xsl:param=(idControle,<xsl:value-of select="$idCtrlBis"/>)#<xsl:value-of select="$idCtrlBis"/></xsl:when><xsl:otherwise>&xsl:param=(ancre,)&xsl:param=(idControle,)</xsl:otherwise></xsl:choose></xsl:attribute>
<xsl:value-of select="$ctrl"/> (<xsl:value-of select="distinct-values($idCtrlBis)"/>)<xsl:choose><xsl:when test="$idControle!=$ctrl"> ></xsl:when><xsl:otherwise> <![CDATA[<]]></xsl:otherwise></xsl:choose></xsl:element></b>
- <xsl:value-of select="count($idCtrl)"/> erreur(s)<!-- - Sévérité <xsl:value-of select="distinct-values($idCtrl/n:Severity/@n:V)"/-->
<!--br/><br/>
</xsl:when>
<xsl:otherwise>
<br/> <xsl:element name="a">
- <xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$docid"/>&etatId=<xsl:value-of select="./n:EtatId/@n:V"/>&elementId=<xsl:value-of select="./n:ElementImportable/@n:V"/>&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[<xsl:value-of select="./n:XPath/@n:V"/>]<xsl:for-each select="./n:XslParam">&xsl:param=(<xsl:value-of select="./n:Key/@n:V"/>,<xsl:value-of select="./n:Value/@n:V"/>)</xsl:for-each><xsl:if test="$docid='DocEtatsFrais'">&xsl:param=(siret,<xsl:value-of select="//ano:Collectivite/ano:Siret/@ano:V"/>)</xsl:if><xsl:if test="$docid='DocEtatsFrais'">&xsl:param=(budg,<xsl:value-of select="//ano:Budget/ano:Code/@ano:V"/>)</xsl:if><!--#AnoId_<xsl:value-of select="./n:XslParam[n:Key/@n:V='anoId']/n:Value/@n:V"/--></xsl:attribute>
+ <xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$document.id"/>&etatId=<xsl:value-of select="./n:EtatId/@n:V"/>&elementId=<xsl:value-of select="./n:ElementImportable/@n:V"/>&collectivite=<xsl:value-of select="$siret"/>&budget=<xsl:value-of select="$budget.code"/>&path=[<xsl:value-of select="./n:XPath/@n:V"/>]<xsl:for-each select="./n:XslParam">&xsl:param=(<xsl:value-of select="./n:Key/@n:V"/>,<xsl:value-of select="./n:Value/@n:V"/>)</xsl:for-each><xsl:if test="$document.id='DocEtatsFrais'">&xsl:param=(siret,<xsl:value-of select="//ano:Collectivite/ano:Siret/@ano:V"/>)</xsl:if><xsl:if test="$document.id='DocEtatsFrais'">&xsl:param=(budg,<xsl:value-of select="//ano:Budget/ano:Code/@ano:V"/>)</xsl:if><!--#AnoId_<xsl:value-of select="./n:XslParam[n:Key/@n:V='anoId']/n:Value/@n:V"/--></xsl:attribute>
<xsl:value-of select="./n:Message/text()" disable-output-escaping="yes"/> - (<xsl:value-of select="./n:Severity/@n:V"/>)</xsl:element>
</xsl:otherwise>
</xsl:choose>
<td><b>
<xsl:element name="a">
<xsl:attribute name="name" select="$id"/>
- <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[n:Id/@n:V='<xsl:value-of select="$idRapport"/>']&xsl:param=(affichage,2)&xsl:param=(affichageParam,<xsl:value-of select="$affichageParam"/>)<xsl:choose><xsl:when test="$elementId!=$id">&xsl:param=(ancre,<xsl:value-of select="$id"/>)&xsl:param=(elementId,<xsl:value-of select="$id"/>)#<xsl:value-of select="$id"/></xsl:when><xsl:otherwise>&xsl:param=(ancre,)&xsl:param=($elementId,)</xsl:otherwise></xsl:choose></xsl:attribute>
- <xsl:value-of select="$config/conf:documents/conf:document[@id=$docid]/conf:etat[@id=$etatId]/conf:element[@id=$elmImport]/@libelle"/> n° <xsl:value-of select="$id" disable-output-escaping="yes"/><xsl:choose><xsl:when test="$elementId!=$id"> ></xsl:when><xsl:otherwise> <![CDATA[<]]></xsl:otherwise></xsl:choose>
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of select="$siret"/>&budget=<xsl:value-of select="$budget.code"/>&path=[n:Id/@n:V='<xsl:value-of select="$rapport.id"/>']&xsl:param=(affichage,2)&xsl:param=(affichageParam,<xsl:value-of select="$affichageParam"/>)<xsl:choose><xsl:when test="$elementId!=$id">&xsl:param=(ancre,<xsl:value-of select="$id"/>)&xsl:param=(elementId,<xsl:value-of select="$id"/>)#<xsl:value-of select="$id"/></xsl:when><xsl:otherwise>&xsl:param=(ancre,)&xsl:param=($elementId,)</xsl:otherwise></xsl:choose></xsl:attribute>
+ <xsl:value-of select="$config/conf:documents/conf:document[@id=$document.id]/conf:etat[@id=$etatId]/conf:element[@id=$elmImport]/@libelle"/> n° <xsl:value-of select="$id" disable-output-escaping="yes"/><xsl:choose><xsl:when test="$elementId!=$id"> ></xsl:when><xsl:otherwise> <![CDATA[<]]></xsl:otherwise></xsl:choose>
</xsl:element></b> - <xsl:value-of select="count($anos/n:IdElementImportable[@n:V=$id])"/> anomalie(s)
</td>
</tr><br/>
<xsl:choose>
<xsl:when test="string-length($thisAno/n:EtatId/@n:V) > 0">
<xsl:element name="a">
- <xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$docid"/>&etatId=<xsl:value-of select="$thisAno/n:EtatId/@n:V"/>&elementId=<xsl:value-of select="$thisAno/n:ElementImportable/@n:V"/>&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[<xsl:value-of select="$thisAno/n:XPath/@n:V"/>]<xsl:for-each select="$thisAno/n:XslParam">&xsl:param=(<xsl:value-of select="./n:Key/@n:V"/>,<xsl:value-of select="./n:Value/@n:V"/>)</xsl:for-each></xsl:attribute>
+ <xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$document.id"/>&etatId=<xsl:value-of select="$thisAno/n:EtatId/@n:V"/>&elementId=<xsl:value-of select="$thisAno/n:ElementImportable/@n:V"/>&collectivite=<xsl:value-of select="$siret"/>&budget=<xsl:value-of select="$budget.code"/>&path=[<xsl:value-of select="$thisAno/n:XPath/@n:V"/>]<xsl:for-each select="$thisAno/n:XslParam">&xsl:param=(<xsl:value-of select="./n:Key/@n:V"/>,<xsl:value-of select="./n:Value/@n:V"/>)</xsl:for-each></xsl:attribute>
<xsl:value-of select="$thisAno/n:Message/text()" disable-output-escaping="yes"/>
</xsl:element>
</xsl:when>
</xsl:for-each>
</xsl:if>
</table>
- </xsl:template>
+
+
+ </xsl:template>
+
+ <xsl:template name="rapport.ancienne.version">
+
+
+
+ </xsl:template>
+
+ <xsl:template name="style">
+ <style type="text/css" media="all">
+ body{
+ font-family:verdana, sans-serif;
+ font-size:12px;
+ width:100%;
+ }
+
+ .h1{
+ text-align:center;
+ font-size:19px;
+ font-weight:bold;
+ }
+
+ .h2{
+ text-align:left;
+ font-size:14px;
+ font-weight:bold;
+ }
+ .h3{
+ text-align:left;
+ font-size:14px;
+ font-weight:normal;
+ }
+
+ #cache{
+ display:none;
+ }
+
+ tr{
+ height:18px;
+ }
+ tr td{
+ border:none 1px #000000;
+ }
+
+ td.top {
+ vertical-align:top;
+ }
+ td.right {
+ text-align:right;
+ padding-right:5px;
+ }
+ td.left {
+ text-align:left;
+ padding-left:5px;
+ }
+ td.center {
+ text-align:center;
+ }
+ tr.titre{
+ font-weight:bold;
+ }
+
+ a {
+ position: relative;
+ }
+ a:link{
+ color:#00c;
+ background:transparent;
+ text-decoration: none;
+ }
+ a:visited{
+ color:#609;
+ background:transparent;
+ text-decoration: none;
+ }
+ a:active{
+ color:#c00;
+ background:transparent;
+ text-decoration: none;
+ }
+ a:link img,
+ a:visited img{
+ border-style:none;
+ text-decoration: none;
+ }
+
+ table.entete,
+ table.warning,
+ table.parametres {
+ width:100%;
+ border-collapse: collapse;
+ }
+
+ table.synthese,
+ table.synthese2 {
+ width:100%;
+ border-collapse: collapse;
+ }
+
+ table.entete2 {
+ width:20%;
+ border-collapse: collapse;
+ }
+
+ table.entete2 > tr td{
+ text-align: center;
+ }
+
+ table.synthese2 tbody tr td{
+ border:solid 1px #000000;
+ }
+
+ .red {
+ color:red;
+ background:transparent;
+ }
+ .warning {
+ font-weight:bold;
+ color:red;
+ font-size:14px;
+ }
+
+ .petit {
+ height: 20px;
+ weight: 20px;
+ }
+
+ .bold {
+ font-weight:bold;
+ }
+ .bordureBas {
+ border-bottom: solid 1px #000000;
+ }
+ .bordureDroite {
+ border-right: solid 1px #000000;
+ }
+ </style>
+ <style type="text/css" media="print">
+ @page {
+ size:297mm 210mm;
+ margins:10mm 10mm 10mm 10mm;
+ }
+ tr{
+ page-break-inside:avoid;
+ }
+ </style>
+ </xsl:template>
</xsl:stylesheet>
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY nbsp " ">
+]>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally"
+ xmlns:n="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally"
+ xmlns:added="http://projets.admisource.gouv.fr/xemelios/namespaces#added"
+ xmlns:ano="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally"
+ xmlns:conf="http://projets.admisource.gouv.fr/xemelios/namespaces#config"
+ xmlns:datetime="http://exslt.org/dates-and-times"
+ version="2.0"
+ >
+ <xsl:param name="encoding" select="iso-8859-1"/>
+ <xsl:output method="xhtml" indent="yes"/>
+ <xsl:output encoding="iso-8859-1"/>
+
+ <xsl:template match="*">
+ </xsl:template>
+
+ <xsl:param name="language" select="'fr'"/>
+ <xsl:param name="affichage" select="''"/>
+ <xsl:param name="affichageParam" select="''"/>
+ <xsl:param name="ancre" select="''"/>
+ <xsl:param name="elementId" select="''"/>
+ <xsl:param name="idControle" select="''"/>
+ <xsl:param name="config" select="document(.)"/>
+
+ <xsl:template match="/n:DocumentRapport">
+ <xsl:variable name="messageRapport" select="./n:Message/text()"/>
+ <xsl:variable name="docid" select="./n:DocId/@n:V"/>
+ <xsl:variable name="collectivite" select="./n:Collectivite/n:Siret/@n:V"/>
+ <xsl:variable name="budget" select="./n:Budget/n:Code/@n:V"/>
+ <xsl:variable name="version.component.controle" select="./n:VersionComponentControle/@n:V"/>
+ <xsl:variable name="idrapport" select="./n:DonneesRapport/n:Rapport/n:Id/@n:V"/>
+ <html>
+ <head>
+ <style type="text/css" media="all">
+ body { font-family: verdana, sans-serif; font-size: 14px; width: 29cm; }
+
+ h1 { text-align: center; font-size: 18px; font-weight:bold; }
+
+ #cache {display: none;}
+
+ tr td { border: solid 1px #000000;}
+
+ :link { color: #00c; background: transparent }
+ :visited { color: #609; background: transparent }
+ a:active { color: #c00; background: transparent }
+ a:link img, a:visited img { border-style: none }
+ .red { color: red; background: transparent }
+ .warning { font-weight: bold; text-decoration: underline; }
+ </style>
+ <style type="text/css" media="print">
+ @page {
+ size: 297mm 210mm;
+ margins: 10mm 10mm 10mm 10mm;
+ }
+ tr { page-break-inside: avoid; }
+ </style>
+ <title>Rapport d'analyse<xsl:if test="string-length($version.component.controle) > 0"> - <xsl:value-of select="$version.component.controle"/></xsl:if></title>
+ </head>
+ <body>
+ <!--div>
+ <p>
+ <ul>
+ <li><b>language: </b><xsl:value-of select="$language"/></li>
+ <li><b>affichage: </b><xsl:value-of select="$affichage"/></li>
+ <li><b>affichageParam: </b><xsl:value-of select="$affichageParam"/></li>
+ <li><b>ancre: </b><xsl:value-of select="$ancre"/></li>
+ <li><b>elementId: </b><xsl:value-of select="$elementId"/></li>
+ <li><b>idControle: </b><xsl:value-of select="$idControle"/></li>
+ <li><b>config: </b><xsl:value-of select="$config"/></li>
+ </ul>
+ </p>
+ </div-->
+ <!--div style="width: 100%;"-->
+
+ <table>
+ <tr>
+ <td style="border: 0px;"><h1>Rapport d'analyse</h1><xsl:if test="string-length($version.component.controle) > 0"><h2><xsl:value-of select="$version.component.controle"/></h2></xsl:if></td>
+ </tr>
+ <br/>
+ <xsl:if test="./n:TropAnos/@n:V='true'"><h2 style="color: red; ">ATTENTION !<br/>Comme le flux comporte trop d'anomalies, toutes les anomalies ne figurent pas dans ce rapport.</h2></xsl:if>
+ <br/>
+ <h2><xsl:value-of select="./n:Message/text()"/></h2>
+ <br/>
+ <xsl:if test="n:AllAnos/@n:V='true'"><tr><td style="border: 0px;" class="red"><b>Toutes les anomalies ne figurent pas dans le rapport car elles sont trop nombreuses.</b></td></tr></xsl:if>
+ <tr>
+ <td style="border: 0px;"><b>Fichier analysé :
+ <xsl:choose>
+ <xsl:when test="exists(n:NomFichier/@n:host)"><a><xsl:attribute name="href">xemelios:/showSrc?host=<xsl:value-of select="n:NomFichier/@n:host"/>&url=<xsl:value-of select="n:NomFichier/@n:fullPath"/></xsl:attribute><xsl:value-of select="n:NomFichier/@n:V"/></a></xsl:when>
+ <xsl:otherwise><xsl:value-of select="n:NomFichier/@n:V"/></xsl:otherwise>
+ </xsl:choose>
+ </b></td>
+ </tr>
+ <tr>
+ <td style="border: 0px;"><b>Domaine(s) analysé(s) :
+ <!--xsl:for-each select="./n:Domaines/n:Domaine">
+ <xsl:variable name="domaineId" select="./@n:V"/>
+ <xsl:value-of select="$config/conf:documents/conf:document[@id=$docid]/conf:etat[@id=$domaineId]/@libelle"/>, 
+ </xsl:for-each-->
+ <xsl:value-of select="n:Domaines/n:Domaine/@n:V"/>
+ </b></td>
+ </tr>
+ </table>
+ <br/>
+
+ <xsl:choose>
+ <xsl:when test="$affichageParam = ''">
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[n:Id/@n:V='<xsl:value-of select="$idrapport"/>']&xsl:param=(affichage,<xsl:value-of select="$affichage"/>)&xsl:param=(idControle,<xsl:value-of select="$idControle"/>)&xsl:param=(ancre,<xsl:value-of select="$ancre"/>)<xsl:choose><xsl:when test="$affichageParam = ''">&xsl:param=(affichageParam,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageParam,)</xsl:otherwise></xsl:choose><xsl:if test="$ancre != ''">#<xsl:value-of select="$ancre"/></xsl:if></xsl:attribute>
+ <h3>Paramètres <![CDATA[<]]></h3>
+ </xsl:element>
+ <table>
+ <xsl:for-each select="./n:Params/n:Param">
+ <tr>
+ <td style="border: 0px;">
+ <b><xsl:value-of select="./@n:Name"/></b>
+ </td>
+ <td width="60%" style="border: 0px;">
+ <xsl:value-of select="./@n:Value"/>
+ </td>
+ </tr>
+ </xsl:for-each>
+ </table>
+ <br/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[n:Id/@n:V='<xsl:value-of select="$idrapport"/>']&xsl:param=(affichage,<xsl:value-of select="$affichage"/>)&xsl:param=(idControle,<xsl:value-of select="$idControle"/>)&xsl:param=(ancre,<xsl:value-of select="$ancre"/>)<xsl:choose><xsl:when test="$affichageParam = ''">&xsl:param=(affichageParam,1)</xsl:when><xsl:otherwise>&xsl:param=(affichageParam,)</xsl:otherwise></xsl:choose><xsl:if test="$ancre != ''">#<xsl:value-of select="$ancre"/></xsl:if></xsl:attribute>
+ <h3>Paramètres <![CDATA[>]]></h3>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <hr/>
+ <br/><br/>
+ <b>Validation Technique :
+ <xsl:choose>
+ <xsl:when test="count(n:DonneesRapport/n:Rapport/n:Anomalie[starts-with(n:IdCtrl/@n:V,'TECH')]) > 0">KO<br/>Validation fonctionnelle : non contrôlée</xsl:when>
+ <xsl:otherwise>
+ OK<br/><br/>
+ <xsl:choose>
+ <xsl:when test="count(./n:DonneesRapport/n:Rapport/n:Anomalie)!=0">
+ Validation Fonctionnelle : KO<br/>
+ </xsl:when>
+ <xsl:otherwise>
+ Validation Fonctionnelle : OK<br/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:otherwise>
+ </xsl:choose>
+ <br/><hr/>
+ </b>
+ <br/>
+ <br/>
+ <xsl:if test="count(./n:DonneesRapport/n:Rapport/n:Anomalie)!=0">
+ <xsl:apply-templates>
+ <xsl:with-param name="docid" select="$docid"/>
+ <xsl:with-param name="collectivite" select="$collectivite"/>
+ <xsl:with-param name="budget" select="$budget"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <!--/div-->
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="n:DonneesRapport">
+ <xsl:param name="docid"/>
+ <xsl:param name="collectivite"/>
+ <xsl:param name="budget"/>
+ <xsl:apply-templates>
+ <xsl:with-param name="docid" select="$docid"/>
+ <xsl:with-param name="collectivite" select="$collectivite"/>
+ <xsl:with-param name="budget" select="$budget"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <xsl:template match="n:Rapport">
+ <xsl:param name="docid"/>
+ <xsl:param name="collectivite"/>
+ <xsl:param name="budget"/>
+ <xsl:variable name="idRapport" select="./n:Id/@n:V"/>
+ <table><tr>
+ <td style="border: 0px;" width="100%">
+ <!-- Affichage <xsl:if test="$affichage!='2'">par Contrôle Unitaire</xsl:if><xsl:if test="$affichage='2'">par Bordereau</xsl:if><br/>-->
+ <xsl:choose><xsl:when test="starts-with(./n:Anomalie[1]/n:IdCtrl/@n:V,'TECH')"></xsl:when><xsl:otherwise><xsl:element name="a"><xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[n:Id/@n:V='<xsl:value-of select="./n:Id/@n:V"/>']&xsl:param=(affichage,<xsl:if test="$affichage!='2'">2</xsl:if><xsl:if test="$affichage='2'"></xsl:if>)&xsl:param=(affichageParam,<xsl:value-of select="$affichageParam"/>)</xsl:attribute><xsl:if test="$affichage!='2'">Trier par <!--xsl:value-of select="./n:Anomalie[1]/n:ElementImportable/@n:V"/-->élément</xsl:if><xsl:if test="$affichage='2'">Trier par contrôle</xsl:if></xsl:element></xsl:otherwise></xsl:choose>
+ </td>
+ </tr>
+ </table>
+
+ <table style="text-align: left; width: 99%;" border="0">
+ <!-- Affichage par Contrôle -->
+ <xsl:if test="$affichage!='2'">
+ <br/><br/>
+ <u>Anomalies Rencontrées :</u>
+ <br/>
+ <br/>
+ <xsl:variable name="anos" select="./*" />
+
+ <xsl:for-each select="distinct-values(./n:Anomalie/n:IdCtrl/@n:V)">
+ <br/><br/>
+ <xsl:variable name="ctrlId" select="."/>
+ <xsl:variable name="ctrl" select="distinct-values($anos[n:IdCtrl/@n:V=$ctrlId]/n:LibelleCtrl/@n:V)"/>
+ <xsl:variable name="idCtrl" select="$anos[n:IdCtrl/@n:V=$ctrlId]"/>
+ <xsl:variable name="idCtrlBis" select="distinct-values($idCtrl/n:IdCtrl/@n:V)"/>
+ <tr>
+ <td><b>
+ <xsl:element name="a">
+ <!--xsl:attribute name="name" select="$ctrl"/-->
+ <xsl:attribute name="name" select="$idCtrlBis"/>
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[n:Id/@n:V='<xsl:value-of select="$idRapport"/>']&xsl:param=(affichage,1)&xsl:param=(affichageParam,<xsl:value-of select="$affichageParam"/>)<xsl:choose><xsl:when test="$idControle!=$idCtrlBis">&xsl:param=(ancre,<xsl:value-of select="$idCtrlBis"/>)&xsl:param=(idControle,<xsl:value-of select="$idCtrlBis"/>)#<xsl:value-of select="$idCtrlBis"/></xsl:when><xsl:otherwise>&xsl:param=(ancre,)&xsl:param=(idControle,)</xsl:otherwise></xsl:choose></xsl:attribute>
+ <xsl:value-of select="$ctrl"/> (<xsl:value-of select="distinct-values($idCtrlBis)"/>)<xsl:choose><xsl:when test="$idControle!=$ctrl"> ></xsl:when><xsl:otherwise> <![CDATA[<]]></xsl:otherwise></xsl:choose></xsl:element></b>
+ - <xsl:value-of select="count($idCtrl)"/> erreur(s)<!-- - Sévérité <xsl:value-of select="distinct-values($idCtrl/n:Severity/@n:V)"/-->
+ <!--br/><br/>
+ <xsl:value-of select="$idCtrl[1]/n:Regle/text()" disable-output-escaping="yes"/-->
+ </td>
+ </tr>
+ <xsl:if test="$idControle=$idCtrlBis">
+ <xsl:for-each select="$idCtrl">
+ <xsl:sort select="n:IdCtrl/@n:V" order="ascending"/>
+ <tr><td style="border: 0px;">
+ <xsl:choose>
+ <xsl:when test="starts-with(./n:IdCtrl/@n:V,'TECH') or not(./n:XPath) or string-length(./n:XPath/@n:V)=0">
+ <xsl:value-of select="./n:Message/text()" disable-output-escaping="yes"/><br/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="string-length(./n:EtatId/@n:V) eq 0 or upper-case(./n:EtatId/@n:V) = 'PES_ALLER' or upper-case(./n:EtatId/@n:V) = 'SIGNATURE'">
+ <br/> <xsl:value-of select="./n:Message/text()" disable-output-escaping="yes"/> - (<xsl:value-of select="./n:Severity/@n:V"/>)
+ </xsl:when>
+ <xsl:otherwise>
+ <br/> <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$docid"/>&etatId=<xsl:value-of select="./n:EtatId/@n:V"/>&elementId=<xsl:value-of select="./n:ElementImportable/@n:V"/>&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[<xsl:value-of select="./n:XPath/@n:V"/>]<xsl:for-each select="./n:XslParam">&xsl:param=(<xsl:value-of select="./n:Key/@n:V"/>,<xsl:value-of select="./n:Value/@n:V"/>)</xsl:for-each><xsl:if test="$docid='DocEtatsFrais'">&xsl:param=(siret,<xsl:value-of select="//ano:Collectivite/ano:Siret/@ano:V"/>)</xsl:if><xsl:if test="$docid='DocEtatsFrais'">&xsl:param=(budg,<xsl:value-of select="//ano:Budget/ano:Code/@ano:V"/>)</xsl:if><!--#AnoId_<xsl:value-of select="./n:XslParam[n:Key/@n:V='anoId']/n:Value/@n:V"/--></xsl:attribute>
+ <xsl:value-of select="./n:Message/text()" disable-output-escaping="yes"/> - (<xsl:value-of select="./n:Severity/@n:V"/>)</xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td></tr>
+ </xsl:for-each>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:if>
+
+ <!-- Affichage par Element en anomalie -->
+ <xsl:if test="$affichage='2'">
+ <br/><br/>
+ <u>Elements en anomalie :</u>
+ <br/><br/>
+ <xsl:variable name="anos" select="./*"/>
+ <xsl:variable name="elmImport" select="distinct-values($anos/n:ElementImportable/@n:V)"/>
+ <xsl:for-each select="distinct-values(./n:Anomalie/n:IdElementImportable/@n:V)">
+ <xsl:variable name="id" select="."/>
+ <xsl:variable name="etatId" select="$anos[n:IdElementImportable/@n:V=$id][1]/n:EtatId/@n:V"/>
+ <tr>
+ <td><b>
+ <xsl:element name="a">
+ <xsl:attribute name="name" select="$id"/>
+ <xsl:attribute name="href">xemelios:/query?docId=rapport&etatId=DonneesRapport&elementId=Rapport&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[n:Id/@n:V='<xsl:value-of select="$idRapport"/>']&xsl:param=(affichage,2)&xsl:param=(affichageParam,<xsl:value-of select="$affichageParam"/>)<xsl:choose><xsl:when test="$elementId!=$id">&xsl:param=(ancre,<xsl:value-of select="$id"/>)&xsl:param=(elementId,<xsl:value-of select="$id"/>)#<xsl:value-of select="$id"/></xsl:when><xsl:otherwise>&xsl:param=(ancre,)&xsl:param=($elementId,)</xsl:otherwise></xsl:choose></xsl:attribute>
+ <xsl:value-of select="$config/conf:documents/conf:document[@id=$docid]/conf:etat[@id=$etatId]/conf:element[@id=$elmImport]/@libelle"/> n° <xsl:value-of select="$id" disable-output-escaping="yes"/><xsl:choose><xsl:when test="$elementId!=$id"> ></xsl:when><xsl:otherwise> <![CDATA[<]]></xsl:otherwise></xsl:choose>
+ </xsl:element></b> - <xsl:value-of select="count($anos/n:IdElementImportable[@n:V=$id])"/> anomalie(s)
+ </td>
+ </tr><br/>
+ <xsl:if test="$elementId=$id">
+ <xsl:for-each select="distinct-values($anos/n:LibelleCtrl/@n:V)">
+ <xsl:variable name="thisCtrl" select="."/>
+ <xsl:variable name="anosForThisId" select="$anos[n:IdElementImportable/@n:V=$id]"/>
+ <xsl:variable name="anosForThisCtrl" select="$anosForThisId[n:LibelleCtrl/@n:V=$thisCtrl]"/>
+ <xsl:if test="distinct-values($anosForThisCtrl/n:LibelleCtrl/@n:V)!=''">
+ <tr><td><b> <xsl:value-of select="distinct-values($anosForThisCtrl/n:LibelleCtrl/@n:V)"/> (<xsl:value-of select="distinct-values($anosForThisCtrl/n:IdCtrl/@n:V)"/>) - Sévérité <xsl:value-of select="distinct-values($anosForThisCtrl/n:Severity/@n:V)"/></b><br/>
+ <xsl:value-of select="distinct-values($anosForThisCtrl/n:Regle/text())" disable-output-escaping="yes"/>
+ </td></tr>
+ </xsl:if>
+ <xsl:for-each select="$anosForThisCtrl">
+ <xsl:variable name="thisAno" select="."/>
+ <xsl:if test="./n:IdElementImportable/@n:V=$elementId">
+ <xsl:if test="$thisAno/n:LibelleCtrl/@n:V=$thisCtrl">
+ <tr>
+ <td style="border: 0px;">
+ <xsl:choose>
+ <xsl:when test="string-length($thisAno/n:EtatId/@n:V) > 0">
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$docid"/>&etatId=<xsl:value-of select="$thisAno/n:EtatId/@n:V"/>&elementId=<xsl:value-of select="$thisAno/n:ElementImportable/@n:V"/>&collectivite=<xsl:value-of select="$collectivite"/>&budget=<xsl:value-of select="$budget"/>&path=[<xsl:value-of select="$thisAno/n:XPath/@n:V"/>]<xsl:for-each select="$thisAno/n:XslParam">&xsl:param=(<xsl:value-of select="./n:Key/@n:V"/>,<xsl:value-of select="./n:Value/@n:V"/>)</xsl:for-each></xsl:attribute>
+ <xsl:value-of select="$thisAno/n:Message/text()" disable-output-escaping="yes"/>
+ </xsl:element>
+ </xsl:when>
+ <xsl:otherwise><xsl:value-of select="$thisAno/n:Message/text()" disable-output-escaping="yes"/></xsl:otherwise>
+ </xsl:choose>
+ </td>
+ </tr>
+ <br/>
+ </xsl:if>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:for-each>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:if>
+ </table>
+ </xsl:template>
+</xsl:stylesheet>