XSL qui ne fonctionne pas en Java mais fonctionne ailleurs
Bonjour,
Tout est dans le titre.
Mon Xsl :
Code:
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> |
Mon XML :
Code:
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 code Java :
Code:
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));
}
} |
Le resultat que j'obtiens:
Code:
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"/> |
J'ai testé en java 6 et 7.
Un idée de ce qui cloche?