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 :
Je souhaiterais appliquer une transformation sur ma balise : <CONTRACTANTS ID="TOTO"> pour afficher l'attribut ID
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> ...
J'ai donc entre autre écrit dans ma feuille XSL :
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.
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>
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.
Partager