Bonjour,
Tout est dans le titre.
Mon Xsl :
Mon XML :
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
30
31 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02 pain.008.001.02.xsd"> <xsl:apply-templates select="PayementSepa"/> </Document> </xsl:template> <xsl:template match="PayementSepa"> <CstmrDrctDbtInitn> <GrpHdr> <MsgId>??</MsgId> <CreDtTm>??</CreDtTm> <NbOfTxs>??</NbOfTxs> <CtrlSum>??</CtrlSum> <InitgPty> <Nm>FDI</Nm> </InitgPty> </GrpHdr> </CstmrDrctDbtInitn> </xsl:template> <xsl:template match="text()"> </xsl:template> </xsl:stylesheet>
Le code Java :
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"?> <PayementSepa> <id>1</id> <payements> <null/> <PayementDetail> <id>1</id> <transactions> ... </transactions> <crediteur> <id>1</id> <banque> <id>2</id> <nom>Banque2</nom> <bic>222222222222222222</bic> <adresses/> </banque> <pays/> </crediteur> </PayementDetail> </payements> </PayementSepa>
Le resultat que j'obtiens:
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
30
31
32
33
34
35 package com.fdilogbox.sepa.transformer; import java.io.InputStream; import java.io.OutputStream; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; /** * * @author kuntz */ public class SepaTransformer implements ISepaTransformer { private final Transformer transformer; public SepaTransformer(final InputStream xslInput) throws TransformerConfigurationException { TransformerFactory tFactory = TransformerFactory.newInstance(); transformer = tFactory.newTransformer(new StreamSource(xslInput)); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty(OutputKeys.ENCODING, "UTF8"); transformer.setOutputProperty(OutputKeys.METHOD, "xml"); } @Override public void transforme(final InputStream xmlInput, final OutputStream output) throws TransformerException { transformer.transform(new StreamSource(xmlInput), new StreamResult(output)); } }
J'ai testé en java 6 et 7.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <?xml version="1.0" encoding="UTF-8"?> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02 pain.008.001.02.xsd"/>
Un idée de ce qui cloche?
Partager