Bonjour,
Lorsque j'applique une transformation XSL à mon fichier XML ( Ce fichier référence un schéma xsd) qui à pour but de supprimer deux types d'élément et de recopier les autres à identiques, j’obtiens mon fichier moins les éléments que je veux supprimer. Par contre si un attribut est définit optionnel dan mon schéma avec une valeur par défaut alors cet attribut est automatiquement crée avec sa valeur par défaut alors qu'il n'existe pas dans mon XML source.
Ma feuille XSL :
J'ai pu voir qu'il exister un attribut 'validation' qui peut être définie sur les balises copy et copy-of par contre après quelques essai aucun changement. J'avoue ne pas trop comprendre les effets des valeurs de cet attribut.
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
20
21
22
23
24 <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" /> <!-- ***************************** --> <!-- Main template --> <!-- ***************************** --> <xsl:template match="/"> <xsl:apply-templates select="*"/> </xsl:template> <!-- **************************************** --> <!-- copy only object for given file --> <!-- **************************************** --> <xsl:template match="*"> <xsl:if test=" name()!='Inputs' and name()!='ClientLN' " > <xsl:copy> <xsl:copy-of select="@*" /> <xsl:apply-templates/> </xsl:copy> </xsl:if> </xsl:template> </xsl:stylesheet>
Merci d'avance pour votre aide
Partager