Bonjour,

Petite question de débutant...
J'ai un fichier XML en entrée contenant des balises avec namespace et des balises sans namespace (en fait, c'est un fichier xml pur auquel on a appliqué des feuilles de transformation pour avoir un fichier WordML).
extrait du fichier XML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
...
<w:body>
<CONTRACTANTS>
<w:p>
<w:pPr>
<w:pStyle w:val="R-Para"/>
</w:pPr>
<w:rPr/>
</w:p>
</CONTRACTANTS>
...
Je souhaiterais appliquer une transformation sur ma balise : <CONTRACTANTS ID="TOTO"> pour afficher l'attribut ID

J'ai donc entre autre écrit dans ma feuille XSL :
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
<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:fo="http://www.w3.org/1999/XSL/Format" 
xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns:fn="http://www.w3.org/2004/07/xpath-functions" 
xmlns:xdt="http://www.w3.org/2004/07/xpath-datatypes"  
xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml">
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="CONTRACTANTS">
<xsl:variable name="ID" select="@ID"/>
<xsl:value-of select="$ID"/>
</xsl:variable
</xsl:stylesheet>
Le problème, c'est que je ne rentre pas dans mon template match="CONTRACTANTS"... Par contre, si je lui mets un préfixe w:CONTRACTANT dans mon fichier XML et dans mon template, cela fonctionne.
J'ai donc un problème de namespace mais n'y connaissant pas grand chose, je voudrais savoir comment appliquer un template sur un élément sans préfixe.

Merci d'avance.