Bonjour,
Au départ, j'ai un fichier XML avec mes données mais sans namespace/espace de nom et sans préfixe :Au début du fichier XML, on voit une définition on-ne-peut-plus-simple.
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"?> <LRFacturasEmitidas> <RegistroLRFacturasEmitidas> <Periodo> <Ejercicio>2017</Ejercicio> <Periodo>01</Periodo> </Periodo> <FacturaExpedida> <TipoFactura>T1</TipoFactura> <Regimen>R1</Regimen> <ImporteTotal>383.81</ImporteTotal> </FacturaExpedida> </RegistroLRFacturasEmitidas> <RegistroLRFacturasEmitidas> <Periodo> <Ejercicio>2017</Ejercicio> <Periodo>01</Periodo> </Periodo> <FacturaExpedida> <TipoFactura>T1</TipoFactura> <Regimen>R1</Regimen> <ImporteTotal>177.14</ImporteTotal> </FacturaExpedida> </RegistroLRFacturasEmitidas> </LRFacturasEmitidas>
à l'arrivée, je voudrais obtenir ceci où il y a deux namespaces et chaque élément fait référence à l'un ou l'autre namespace sii ou siiLR :Comme vous voyez, certains noeuds ont le préfixe siiLR et certains noeuds fils ont un préfixe sii.
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
26
27
28
29 <?xml version="1.0"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:siiLR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd" xmlns:sii="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd"> <siiLR:LRFacturasEmitidas> <siiLR:RegistroLRFacturasEmitidas> <sii:Periodo> <sii:Ejercicio>2017</sii:Ejercicio> <sii:Periodo>01</sii:Periodo> </sii:Periodo> <siiLR:FacturaExpedida> <sii:TipoFactura>T1</sii:TipoFactura> <sii:Regimen>R1</sii:Regimen> <sii:ImporteTotal>383.81</sii:ImporteTotal> </siiLR:FacturaExpedida> </siiLR:RegistroLRFacturasEmitidas> <siiLR:RegistroLRFacturasEmitidas> <sii:Periodo> <sii:Ejercicio>2017</sii:Ejercicio> <sii:Periodo>01</sii:Periodo> </sii:Periodo> <siiLR:FacturaExpedida> <sii:TipoFactura>T1</sii:TipoFactura> <sii:Regimen>R1</sii:Regimen> <sii:ImporteTotal>177.14</sii:ImporteTotal> </siiLR:FacturaExpedida> </siiLR:RegistroLRFacturasEmitidas> </siiLR:LRFacturasEmitidas> </soapenv:Envelope>
Je suis parvenu à écrire une transformation xslt pour avoir les deux définitions en début de XML et pour avoir tous les noeuds avec le préfixe sii LR ou tous les noeuds avec sii mais je ne parviens pas à avoir les deux en même temps.
Comment dois-je m'y prendre pour aboutir à
- une définition contenant la référence aux 2 namespaces
- les noeuds principaux avec le préfixe siiLR
- les noeuds secondaires avec le préfixe sii
Merci pour votre aide.
Partager