Bonjour à tous,

j'en viens à vous écrire car je ne suis pas un expert du XSL et j'ai beaucoup de mal à effectuer une opération qui parait simple. En fait j'ai trouvé des exemples sur le net que je n'arrive pas à appliquer à mon fichier xml.

L'opération est simple: enlever un noeud et tout ce qu'il contient d'un fichier xml généré par une application externe.

Voila donc le fichier xml en question:
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
25
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <assemblyIdentity name="xxx.app" version="1.0.0.0" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="x86" xmlns="urn:schemas-microsoft-com:asm.v1" />
  <description asmv2:publisher="xxx" asmv2:product="xxx" xmlns="urn:schemas-microsoft-com:asm.v1" />
  <deployment install="true">
    <subscription>
      <update>
        <expiration maximumAge="0" unit="days" />
      </update>
    </subscription>
    <deploymentProvider codebase="\\xxx" />
  </deployment>
  <dependency>
    <dependentAssembly dependencyType="install" codebase="xxx.manifest" size="55442">
      <assemblyIdentity name="xxx.exe" version="1.0.0.0" publicKeyToken="450d8c50b1fa6ae7" language="neutral" processorArchitecture="x86" type="win32" />
      <hash>
        <dsig:Transforms>
          <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
        </dsig:Transforms>
        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <dsig:DigestValue>Ujd6b30jvATCS8xLkdS4p+GHmZk=</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>
</asmv1:assembly>
et voici le fichier xsl que j'essaye d'appliquer:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
  <xsl:template match="subscription">
  </xsl:template>
 
  <!-- Copy all the attributes and other nodes -->
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
 
</xsl:stylesheet>
J'ai fait des tests avec un fichier xml beaucoup plus simple, et j'y arrive.
Pour information j'utilise XslTransform.exe (fourni avec Sandcastle) pour appliquer la transformation via un batch de la manière qui suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
xsltransform /xsl:transform.xsl file.xml
Merci d'avance pour votre aide.