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:
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
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>
J'ai fait des tests avec un fichier xml beaucoup plus simple, et j'y arrive.
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>
Pour information j'utilise XslTransform.exe (fourni avec Sandcastle) pour appliquer la transformation via un batch de la manière qui suit:
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part xsltransform /xsl:transform.xsl file.xml
Partager