XML, problème de DOCTYPE non standard
Bonjour,
j'ai un soucis avec le DOCYTPE d'un document que je parse avec DOM.
Ca fait plusieurs jours que je cherche une solution, mais rien ne correspond à mon problème qui semble être assez spécifique...
J'ai un fichier xml avec l'entête suivante :
<!DOCTYPE Nomquelconque>
Je le parse avec DOM, en faisant des modifications à l'intérieur (un simple remplacement d'une valeur d'un élément bien précis).
Tout marche sans problème sauf que lorsque j'écris le résultat (avec Transformer), j'obtiens un document qui ne contient pas EXACTEMENT le même DOCTYPE.
Voici le code que j'utilise :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Source source = new DOMSource(doc);
// Prepare the output file
File file = new File(filename);
Result result = new StreamResult(file);
// Write the DOM document to the file
Transformer xformer = TransformerFactory.newInstance().newTransformer();
xformer.setOutputProperty(OutputKeys.INDENT, "yes");
xformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
xformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "Test"); |
Le problème, c'est que j'obtiens
Citation:
<!DOCTYPE Nomquelconque SYSTEM "Test">
alors qu'il me faut impérativement
Citation:
<!DOCTYPE Nomquelconque>
Y a-t-il un moyen propre d'arriver au résultat que je souhaite ?
Merci mille fois d'avance pour votre aide, parce que là j'ai l'impression d'avoir tout essayé...
dondamiano