Bonjour,
Voilà, nouvellement entré dans le monde de XML et XSLT, je cherche à transformer des fichiers XML pour qu'ils soient compatibles entre différentes versions d'un logiciel les utilisant.
Je cherche donc à trouver l'attribut "context" dans mon fichier XML (déjà je n'arrive pas à faire ça :/), et je souhaiterais savoir s'il est possible de modifier son nom, que "context" devienne "instance" (la valeur de l'attribut ne changeant pas).
(Je ne peux pas mettre en dur les parents ou le chemin, puisque tous les fichiers que je vais avoir à traiter sont vraiment différents, et j'en ai plusieurs dizaines)
Voici le fichier XML d'exemple (j'en ai plusieurs à traiter bien entendu)
J'ai déjà la recopie du texte dans un nouveau fichier, mais c'est tout. Je n'ai pas réussi à ajouter de traitements supplémentaires pour le moment.
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 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href= "test2.xsl" ?> <NC1_OWNSITREP classification="0" context="$" minorVersion="0" urgencyLevel="0"> <extFunction xmlns="" xmlns:sics="http://atos.net/ns/sics"> <pipo:objectsSection> <NC1_Ground activationStatus="1" context="0" minorVersion="0"> <tacticalData xmlns=""> <symbolCode>AP456--MP---</symbolCode> <referenceUnitId context="null" id="0:60:0"/> </tacticalData> <location xmlns=""> <point> <x>42.80039</x> <y>499.387612</y> <z>21</z> </point> <quality>1</quality> </location> </NC1_Ground> </pipo:objectsSection> </extFunction> </NC1_OWNSITREP>
Je vous remercie d'avance pour votre aide et vos explications,
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 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0"> <xsl:output method="xml" encoding="UTF-8" indent="yes" /> <xsl:template match="/"> <xsl:result-document method="xml" href="resultat/{tokenize(document-uri(.), '/')[last()]}"> <xsl:for-each select="node()" > <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:result-document> </xsl:template> </xsl:stylesheet>
Cordialement,
Tahrky.
Partager