Bonjour,

Je suis en train d'essayer de transformer un fichier xml en un autre. Ma feuille de style semble fonctionner puisque j'obtiens le bon resultat en utilisant le processeur xslt inclus dans Firefox. J'ai essayer d'utiliser un processeur xslt JDOM avec le code suivant:

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
void outputXSLT(org.jdom.Document doc,String fichierXSL)
	{

		org.jdom.Document resultat = new org.jdom.Document();

		try
		{
			XSLTransformer transformer = new XSLTransformer(fichierXSL);

			resultat = transformer.transform(doc);
			
			XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
			outputter.output(resultat, new FileOutputStream("resultat.xml"));
		}
		catch(Exception e){
			System.out.println(e);
		}
	}
Je me retrouve avec l'exception suivante générée par la ligne en rouge

ERROR: 'A DocType cannot be added after the root element'
org.jdom.transform.XSLTransformException: Could not perform transformation: org.jdom.IllegalAddException: A DocType cannot be added after the root element

Ma feuille de style xslt est la suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="ISO-8859-1"?>
 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
  <xsl:output method="xml" encoding="ISO-8859-1" doctype-system="Toto.dtd" omit-xml-declaration = "no" indent="yes" />
 
 <xsl:template match="Tutu">
    <Titi>
 
    </Titi>
  </xsl:template>
Lorsque j'enleve doctype-system="Toto.dtd" la transormation fonctionne correctement.

Quelqu'un saurait-il comment faire apparaitre <!DOCTYPE Toto SYSTEM "Toto.dtd"> au debut du document de sortie ?

Merci