bonjour
Ma transformation XSLT nécessite la prise en compte des namespaces.
je génère mon Document XML dynamiquement.
Après je crée un Transformer associé à une feuille de style
j'applique la feuille de style
mais les namespaces ne sont pas pris en compte, bien que j'ai créé mon Document à partir d'un builder les prenant en compte.
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 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); // Create the document // doc = factory.newDocumentBuilder().newDocument(); // Creation elements, etc... // doc.createElement("page"); //... DOMSource xmlSource = new DOMSource(doc); // Create a transformer // //... Transformer transformer = templates.newTransformer(); // Transform input XML doc in HTML stream // transformer.transform(xmlSource, new StreamResult(htmlStreamResult));
par contre, si je serialise le Document dans un fichier en dur sur le disque & qu'après je le parse avec le meme builder, là ça marche ! Faisant une application web (WAR), je ne peux pas générer des fichiers xml en dur.
je ne vois pas la subtilité, avez vous déjà eu à faire à ce problème ?
existe t il une solution pour prendre en charge les namespaces dans ce cas là ?
je suis parti sur la piste suivante : j'ai voulu (meme si ce n'est pas très élégant) parser le Document sans le créer en dur mais je ne vois pas comment passer du type Document aux types nécessaires à la méthode parse().
vous voyez par où prendre le problème ?
http://java.sun.com/j2se/1.4.2/docs/...ntBuilder.html
http://java.sun.com/j2se/1.4.2/docs/.../Document.html
merci d'avance
Partager