Bonjour,

J'ai un document XML sur lequel, sur une balise particulière, je veux ajouter un compteur pour assurer de l'unicité du champ.

De base mon doc xml est contenu dans des balises Document :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</Document>
Ma transformation xsl ci-dessous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml"  xmlns:ns0="http://ws.powernet.ch/webservices">
<xsl:template match="node()">
    <xsl:copy>
        <xsl:copy-of select="@*"/>
        <xsl:apply-templates/>
    </xsl:copy>
</xsl:template>
<xsl:template match="PmtInfId">
    <xsl:copy>
        <xsl:copy-of select="@*"/><xsl:apply-templates/>
        <xsl:variable name="test">
          <xsl:number level="any" count="PmtInfId" format="1"  />
        </xsl:variable>
        <xsl:value-of select="$test+1"/>
    </xsl:copy>
</xsl:template>
</xsl:stylesheet>
Ne fonctionne que quand je supprime les attributs de ma balise Document (Que je supprime donc les références au schéma : comme ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
<Document>
</Document>)
Si je supprime les références au schéma dans Document que je transforme mon xml et que je les rajoute après la transformation, mon document valide pourtant toujours le schéma.

Pouvez-vous me dire ce que j'ai manqué et comme puis-je le faire marcher sans toucher a priori au fichier XML?

Merci d'avance.