[XSL] <x:copy> sur les attributs "namespacé"

<x:copy> sur les attributs "namespacé" [XSL] - XML/XSL - Programmation

Marsh Posté le 26-12-2005 à 13:31:45    

Salut,
 
j'ai quelques problemes avec les transformations xsl d'un fichier xml, quand j'utilise le tag <x:copy>.
Je sais pas si c'est un bug connu ou si j'ai loupé quelquechose.
Pour info j'ai essayé avec le processeur XSL de Xalan mais aussi avec la transformation sous IE6...
 
Donc je narrive pas a recopier un attribut xml qui a un namespace (<a b:c="dd" /> )
 
le xml File
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet href="xsl.xsl" type="text/xsl"?>
  3. <tag xmlns:test1="namespace" test2="noNamespace" />


 
 
 
le xsl File (xsl.xsl)
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:template match="/tag">
  4. <xsl:copy>
  5.     namespaced attribute : <xsl:apply-templates select="@xmlns:test1"/>
  6. </xsl:copy>
  7. |||
  8. <xsl:copy>
  9.     normal attribute : <xsl:apply-templates select="@test2"/>
  10. </xsl:copy>
  11. </xsl:template>
  12. </xsl:stylesheet>


 
 
 
Resultat dans le browser
 

Code :
  1. namespaced attribute : ||| normal attribute : noNamespace


 
personne ne peut m'aider ??
 
 
Merci d'avance.
 
Fabrice.

Reply

Marsh Posté le 26-12-2005 à 13:31:45   

Reply

Marsh Posté le 02-01-2006 à 15:01:13    

Au risque de dire une bêtise... ça me semble bizarre d'avoir des attributs avec un namespace... pour moi un namespace s'applique sur un élément, l'attribut étant toujours dans le ns de l'élément auquel il appartient.
 
J'ai du mal à imaginer ton exemple avec un attribut dans un namespace puis l'autre dans ls ns par défaut...  

Reply

Marsh Posté le 02-01-2006 à 16:38:08    

Je ne suis pas expert en XSLT  
mais si, je pense  qu'un attribut peut appartenir a un autre namespace que celui de l'élément auquel il appartient
 
puis dans ce cas "xmlns:xxx" est une déclaration de namespace il me semble.
 
Mon xml de départ m'est fournir par un tier donc je pense qu'il est correct.
 
Regarde cette exemple courant de balise xml, il ressemble bcp au mien
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed