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:
Je me retrouve avec l'exception suivante générée par la ligne en rouge
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); } }
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 :
Lorsque j'enleve doctype-system="Toto.dtd" la transormation fonctionne correctement.
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>
Quelqu'un saurait-il comment faire apparaitre <!DOCTYPE Toto SYSTEM "Toto.dtd"> au debut du document de sortie ?
Merci
Partager