Supprimer les balises xmlns du résultat

Supprimer les balises xmlns du résultat - XML/XSL - Programmation

Marsh Posté le 29-03-2005 à 12:22:47    

Je souhaiterais transfomer un fichier XML en entrée en un autre fichier XML via une feuille de style XSLT. J'ai fait la feuille de style et elle fonctionne bien, seul problème: dans le fichier de sortie, je retrouve un namespace dont je n'ai pas besoin.
 
Fichier en entrée (c'est du DSML pour ceux qui connaissent):

<?xml version="1.0" encoding="UTF-8"?>
 
<batchRequest
  xmlns="urn:oasis:names:tc:DSML:2:0:core"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
  <modifyRequest dn="...">
    <!-- suite données -->
  </modifyRequest>
 
</batchRequest>


 
Feuille de style:

<?xml version="1.0" encoding="ISO-8859-1"?>
 
<xsl:stylesheet
  version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xalan="http://xml.apache.org/xslt"
  xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
 
<xsl:output
  method="xml"
  indent="yes"
  encoding="ISO-8859-1"
  xalan:indent-amount="2" />
 
<xsl:template match="/">
<export>
  <users>
    <xsl:apply-templates select="dsml:batchRequest"/>
  </users>
</export>
</xsl:template>
 
<xsl:template match="dsml:batchRequest">
  <!-- suite traitement -->
</xsl:template>
 
</xsl:stylesheet>


 
Fichier en sortie:

<?xml version="1.0" encoding="ISO-8859-1"?>
 
<export xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
  <users>
    <!-- suite données -->
  </users>
</export>


 
Dans le fichier de sortie, à la première balise (users), j'ai un xmlns que je ne souhaiterais pas avoir. J'ai essayé de voir du coté des options de l'output, mais sans grand succès.
Y'a-t-il moyen de ne pas avoir de namespace dans mon fichier résultat??
 
Merci d'avance :)


Message édité par electricblue le 29-03-2005 à 12:49:57
Reply

Marsh Posté le 29-03-2005 à 12:22:47   

Reply

Marsh Posté le 30-03-2005 à 15:50:16    

up

Reply

Marsh Posté le 04-04-2005 à 16:01:09    

D'après cet article http://www.xml.com/pub/a/2001/04/04/trxml/index.html tu pourrais essayer l'attribut exclude-result-prefixes dans l'élément xsl:stylesheet...
 
donc un truc du genre :

Code :
  1. <xsl:stylesheet
  2.   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3.   xmlns:xalan="http://xml.apache.org/xslt"
  4.   xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core"
  5.  
  6.   exclude-result-prefixes="dsml"
  7.  
  8.   version="1.0">
  9. ...


 

Reply

Marsh Posté le 11-04-2005 à 11:14:03    

avander a écrit :

D'après cet article http://www.xml.com/pub/a/2001/04/04/trxml/index.html tu pourrais essayer l'attribut exclude-result-prefixes dans l'élément xsl:stylesheet...
 
donc un truc du genre :

Code :
  1. <xsl:stylesheet
  2.   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3.   xmlns:xalan="http://xml.apache.org/xslt"
  4.   xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core"
  5.  
  6.   exclude-result-prefixes="dsml"
  7.  
  8.   version="1.0">
  9. ...



 
Merci beaucoup, cet attribut supprime bien le xmlns du fichier résultat  :jap:  :jap:

Reply

Sujets relatifs:

Leave a Replay

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